IP組播與組播協議

IP組播與組播協議

2008-4-27來源:不詳 作者:佚名 點擊:

  在Internet上,多媒體業務諸如:流媒體,視頻會議和視頻點播等,正在成為信息傳送的重要組成部分。點對點傳輸的單播方式不能適應這一類業務傳輸特性--單點發送多點接收,因為服務器必須為每一個接收者提供一個相同內容的IP報文拷貝,同時網絡上也重復地傳輸相同內容的報文,占用了大量資源。如圖1.1所示。雖然IP廣播允許一個主機把一個IP報文發送給同一個網絡的所有主機,但是由于不是所有的主機都需要這些報文,因而浪費了網絡資源。在這種情況下組播(multicast)應運而生,它的出現解決了一個主機向特定的多個接收者發送消息的方法。1989年,IETF通過RFC1112,定義了Internet上的組播方式。
   

  圖1.1
  
  1. IP組播
    IP組播是指一個IP報文向一個“主機組”的傳送,這個包含零個或多個主機的主機組由一個單獨的IP地址標識。主機組地址也稱為“組播地址”,或者D類地址。除了目的地址部分,組播報文與普通報文沒有區別,網絡盡力傳送組播報文但是并不保證一定送達。
  
    主機組的成員可以動態變化,主機有權選擇加入或者退出某個主機組。主機可以加入多個主機組,也可以向自己沒有加入的主機組發送數據。主機組有兩種:永久組和臨時組。永久組的IP地址是周知的,由Internet管理機構分配,是保留地址。臨時組的地址則使用除永久組地址外的非保留D類地址。
  
    IP組播分組在互聯網上的轉發由支持組播的路由器來處理。主機發出的IP組播分組在本子網內被所有主機組成員接收,同時與該子網直接相連的組播路由器會把組播報文轉發到所有包含該主機組成員的網絡上。組播報文傳遞的范圍由報文的生存期值(TTL, Time-to-Live)決定,如果TTL值等于或者小于設置的路由器端口TTL門限值(TTL Threshold),路由器將不再轉發該報文。
  
  2. 組播地址
    IP組播地址,或稱為主機組地址,由D類IP地址標記。D類IP地址的最高四位為“1110”,起范圍從224.0.0.0到239.255.255.255。如前所述,部分D類地址被保留,用作永久組的地址,這段地址從224.0.0.0-224.0.0.255。比較重要的地址有:
  
    224.0.0.1 - 網段中所有支持組播的主機
    224.0.0.2 - 網段中所有支持組播的路由器
    224.0.0.4 - 網段中所有的DVMRP路由器
    224.0.0.5 - 所有的OSPF路由器
    224.0.0.6 - 所有的OSPF指派路由器
    224.0.0.9 - 所有RIPv2路由器
    224.0.0.13 -所有PIM路由器
  
    臨時主機組的組播地址由網絡管理員選擇,他需要保證這個地址在一定的范圍內沒有其他的主機組在使用這個組播地址。
  
    第2層的組播地址(組播MAC地址)可以從IP組播地址中衍生。計算方法是把IP地址的最后23位拷貝到MAC地址的最后23位,然后把這23位前面的那一位置為0。MAC地址的前24位必須為0x01-00-5E。例如:組播IP地址224.0.1.128,16進制表示為0xE0-00-01-10,最低的23位為0x00-01-10,計算得出的MAC地址為:0x01-00-5E-00-01-10。
  
  3.Internet組管理協議(IGMP)
    IGMP協議由主機成員關系協議發展而來,目前有兩個版本:IGMPv1(RFC1112),IGMPv2 (RFC2326)。主機使用IGMP消息通告本地的組播路由器它想接收組播流量的主機組地址。如果主機支持IGMPv2,它還可以通告組播路由器它退出某主機組。組播路由器通過IGMP協議為其每個端口都維護一張主機組成員表,并定期的探詢表中的主機組的成員,以確定該主機組是否存活。
  IGMP消息被置于IP報文中傳送。IGMPv1的報文如圖1.2所示。IGMPv1中定義了兩種消息類型:主機成員詢問和主機成員報告。當某主機想要介紹某個組播流量時,它向本地的組播路由器發送"主機成員報告"消息,告知欲接收的組播地址。組播路由器收到"主機成員報告"消息后把該主機加入指定的主機組,并在設定的周期內向組播地址224.0.0.1(代表所有支持組播的主機) 發送"主機成員詢問"消息。主機如果還想繼續接收組播流量,必須發送"主機成員報告"消息。
   
  IGMPv2的報文如圖1.3所示。與IGMPv1不同的是它將版本字段和消息類型字段融合,把未使用字段作了"最大響應時間"字段。IGMPv2報文的消息類型字段定義了四種消息類型:
  ?
  圖1.3
  
    0x11 - 成員詢問
    0x12 - IGMPv1 成員報告
    0x16 - IGMPv2 成員報告
    0x17 - 退出主機組
    IGMPv2向前兼容IGMPv1協議, IGMPv1的設備可以接收處理IGMPv2的消息報文。 IGMPv2中允許路由器對指定的主機組地址做"成員詢問",非該組的主機不必響應。如果某主機想退出,它可以主動向路由器發送"推出主機組"消息,而不必像IGMPv1中那樣只能被動退出。
  
  4. CGMP協議
    在交換網絡中,2層交換機可能即不了解哪個端口有哪些組播組,也不能在其源MAC地址表中找到組播MAC地址的表項。從而,交換機只能簡單地把組播報文向所有端口轉發,組播的優勢將大大削弱。因此,Cisco提出CGMP協議,讓組播路由器來配置交換機的組播轉發表,從而徹底解決交換網絡中的組播問題。
  
    CGMP ( Cisco Group management protocol)全稱Cisco組管理協議,采用CGMP的路由器將主機加入或者退出組播組的IGMP消息通知交換機,交換機則根據該消息將該主機所在端口從組播轉發表中加入或者刪除。通過CGMP協議的使用,2層交換機可以掌握接收組播的主機的情況,從而提高整個網絡的性能和利用率。
  
  5. 分布樹(Distribution Tree)
    在傳送組播分組時,指派路由器需要構造一個連接所有組播組成員的樹。根據這個樹,路由器得出轉發分組的一條唯一路徑。這個樹就稱為分布樹。由于成員可以動態的加入和退出,分布樹也必須動態更新。
  
    根據構造方法的不同,分布樹分為源分布樹(Source Distribution Tree)和共享分布樹(Shared Distribution Tree)。源分布樹以組播源為根節點構造到所有組播組成員的生成樹,通常也稱為最短路徑樹(SPT)。共享分布樹,也稱為RP樹或基于核心的樹(CBT, Core_based Tree)。它的構造方法是以網絡中的某一個指定的路由器為根節點,該路由器稱為集合點或中心點,由此節點生成包含所有組成員的樹。使用共享分布樹時,組播源需要首先把組播分組發送給集合點路由器,再由這個路由器轉發給其他的組成員。
  
  6. 組播路由協議
    組播路由協議的主要任務就是構造組播的分布樹,使組播分組能夠傳送到相應的組播組成員。根據對網絡中的組播成員的分布和使用的不同,組播路由協議分為兩類:密集模式路由協議(DM)和稀疏模式路由協議(SM)。
  
    DM路由協議通常用于組播成員較為集中、數量較多-網絡的大部分用戶、并且有足夠帶寬的網路環境,比如公司或園區的局域網。因此,DM路由協議用定期廣播組播報文的方法維護組播分布樹。DM協議只使用源分布樹(SPT),組播流量被廣播到網絡中所有的組播路由器。DM路由協議有:
  
  DVMRP:距離向量組播路由協議。這是一種基于距離向量算法的組播路由協議。目前已基本上被PIM和MOSPF所取代。
  MOSPF:組播OSPF協議。
  PIM-DM:協議無關組播協議-密集模式。它不需要單獨的組播協議,利用路由器上單播路由協議的路由表作反向路徑轉發檢查,由此獲得組播分布樹。相比另兩種協議,PIM-DM的開銷要小很多,它用于組播源和目的非常靠近、接收者數量大于發送者數量并且組播流量比較大的環境中效果很好。
    在網路中稀疏分布、網絡也沒有充足帶寬的情況,如廣域網環境,可以使用SM路由協議。因此,SM路由協議采用選擇性的建立和維護分布樹的方式,由空樹開始,僅當成員顯式的請求加入分布樹才做出修改。SM路由協議有:
  
  CBT:基于中心的分布樹協議(RFC 2201)。協議由以一個中心的路由器為根構造一個共享分布樹,所有的組播流量都經由這個中心路由器轉發。
  PIM-SM:協議無關組播協議-稀疏模式。工作原理與PIM-DM類似,但專門針對稀疏環境優化。適用于組播組中接收者較少、間歇性組播流量的情況。不同于PIM-DM的廣播方式,PIM-SM定義了一個集合點(RP),所有的接收者在RP注冊,組播分組由RP轉發給接收者。
  7.總結
    單個數據流可以發送到多個客戶端的組播能力已成為大多數多媒體應用的傳輸手段。組播技術利用一個IP地址使IP數據報文發送到用戶組。IP組播采用了特殊定義的目的IP地址和目的MAC地址。IGMP為客戶端提供加入和離開組播組的方式。CGMP使路由器為交換機配置組播轉發表,并告訴交換機當前的組播成員。指派路由器根據對網絡中的組播成員的分布和使用的不同采用密集模式DM或稀疏模式SM組播路由協議來構造組播的分布樹,而這個分布樹將在源子網和組播組之間確定一條唯一路徑以提高數據傳輸效率。

組播地址:
(1)每個組播群組對應一個唯一的D類地址
(2)地址沒有結構,也沒有管理信息
?(3)組播地址只能用作目的地址
(4)不生成關于組播數據報的ICMP報文
(5)地址分為兩類:
??? a、永久分配;b臨時分配
永久地址:用于Internet的主要服務和基礎設施的維護,
?如:224.0.0.1~224.0.0.255專用與組播路由協議和群組維護協議
臨時分配:在需要時創建,當組成員為0時丟棄。

Internet群組管理協議IGMP
1、作用:在主機和路由器之間使用,負責報告動態組播組成員的信息。包括成員??
?? 的加入與退出,成員查詢

2、IGMP是IP層的一部分


本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/254234.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/254234.shtml
英文地址,請注明出處:http://en.pswp.cn/news/254234.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Spring Cloud的應用程序—上下文服務

2019獨角獸企業重金招聘Python工程師標準>>> Spring Boot對于如何使用Spring構建應用程序有一個看法:例如它具有常規配置文件的常規位置,以及用于常見管理和監視任務的端點。Spring Cloud建立在此之上,并添加了一些可能系統中所有…

Xtreme8.0 - Kabloom dp

Xtreme8.0 - Kabloom題目連接: https://www.hackerrank.com/contests/ieeextreme-challenges/challenges/kabloom Description The card game Kabloom is played with multiple decks of playing cards. Players are dealt 2 n cards, face up and arranged in two …

視頻編碼中封裝格式RMVB,AVI,264

常規理解 封裝格式(也叫容器),就是將已經編碼壓縮好的視頻軌和音頻軌按照一定的格式放到一個文件中,也就是說僅僅是一個外殼,或者大家把它當成一個放視頻軌和音頻軌的文件夾也可以。說得通俗點,視頻軌相當…

halcon圓環完整度檢測

文章目錄處理要求程序源碼處理結果博主寫作不容易,孩子需要您鼓勵 萬水千山總是情 , 先點個贊行不行 處理要求 查找好的圓環,檢測圓環不良 程序源碼 read_image (Image, F:/HALCON/圓環完整性檢測/6.bmp) rgb1_to_gray (Image, GrayImage) v…

《SAS編程與數據挖掘商業案例》學習筆記之十五

繼續《SAS編程與數據挖掘商業案例》讀書筆記,本次重點:輸出控制 主要內容包含:log窗體輸出控制、output窗體輸出控制、ods輸出控制 1.log窗體輸出控制 將日志輸出到外部文件 proc printto log "f:\data_model\book_data\chapt9\newlog.t…

[轉載]MATLAB?movie?函數動態繪圖

原文地址:MATLAB movie 函數動態繪圖作者:小霖cheeronMATLAB movie 函數動態繪圖 電影動畫的好處就是,運行一次可以多次播放,甚至可以直接生成avi文件,直接獨立與Matlab環境播放。這是其它三種動畫制作方法所不具備的。…

圓環劃痕檢測halcon

文章目錄處理要求處理源碼處理效果博主寫作不容易,孩子需要您鼓勵 萬水千山總是情 , 先點個贊行不行 處理要求 查找圓環缺陷 處理源碼 read_image (Image, F:/HALCON/圓環劃痕處理/10_33221_ba4582f0e88ec79.bmp) rgb3_to_gray (Image, Image, Image, Image…

多播(組播)原理分析

為什么要使用多播:網 卡從網絡上接收到目標物理地址對應的所有bit位都為1的數據報時,會收到這條消息并將其上傳給驅動程序,網卡的這種工作模式稱為廣播模式,網卡的缺省工作模式包含直接模式和廣播模式。利用這一特性,UDP&#xff…

iftop

在類Unix系統中可以使用top查看系統資源、進程、內存占用等信息。查看網絡狀態可以使用netstat、nmap等工具。若要查看實時的網絡流量,監控TCP/IP連接等,則可以使用iftop。一、iftop是什么?iftop是類似于top的實時流量監控工具。官方網站&…

sql 日記

--4.選擇雇用時間在1998-02-01到1998-05-01之間的員工姓名,job_id和雇用時間select last_name,job_id,hire_datefrom employeeswhere to_char(hire_date,yyyy-mm-dd) between 1998-02-01 and 1998-05-01 --5.選擇在20或50號部門工作的員工姓名和部門號select last_n…

CSS3中的變形處理

變形分類 縮放 使用scale方法來實現文字或圖像的縮放,在參數中指定縮放倍率。例如“scale(0.5)”,表示縮小50 傾斜 使用skew方法來實現文字或圖像的縮放,在參數中指定水平方向的傾斜角度與垂直方向的傾斜角度&#xf…

linux基本知識學習

LINUX黑洞 /dev/null 這是一個虛設的設備,俗稱“LINUX 黑洞”,任何對/dev/null的寫入都會成功, 但是數據會消失得無影無蹤,沒有任何反饋。所以經常把不想在屏幕 顯示的信息全部送到/dev/null,在shell腳本中用得較多。 …

日志OLAP:在SQL中使用UDF, lambda函數使用案例

場景 日志服務內置了20類SQL函數。面對用戶復雜的業務場景,例如使用json來沉淀業務數據,普通的SQL函數可能就無法滿足需求,需要一些用戶自定義處理邏輯。為了處理json類的業務數據,我們可以采用把json展開成多行的形式進行統計分析…

瓶子個數計數halcon

文章目錄處理要求處理方法一源碼效果方法二源碼效果博主寫作不容易,孩子需要您鼓勵 萬水千山總是情 , 先點個贊行不行 處理要求 查找紙箱內瓶子個數 處理方法一 源碼 dev_clear_window () dev_open_window (0, 0, 640*1.5, 512*1.5, black, WindowHandle…

lightoj1060_組合數學

http://lightoj.com/volume_showproblem.php?problem1060 有一些用尼康托展開http://blog.csdn.net/niushuai666/article/details/6611131,簡單的尼康托,每個字母多個數的還不會 組合數學解看起來比較簡單 給定一個字符串和k,求字符串第k大字…

幾個so經常使用Function

SD_WF_ORDER_REJECT SO拒絕 RV_ORDER_FLOW_INFORMATION 獲得憑證流,支持OBD,SO等 call function RV_ORDER_FLOW_INFORMATION exporting aufbereitung 2 belegtyp C comwa l_comwa…

LIVE555建立RTSP服務記錄

在官網上面 http://www.live555.com/liveMedia/#config-unix下載最新源碼,并進行編譯,同時官網上面告訴了你怎么樣編譯已經不同平臺對應需要修改的內容 一、arm_linux_g下面編譯視頻文件LIVE555 【config.armlinux】 CROSS_COMPILE arm-none…

halcon自動對焦算法

1、介紹 圖像清晰度是衡量圖像質量的一個重要指標,對于相機來說,其一般工作在無參考圖像的模式下,所以在拍照時需要進行對焦的控制。對焦不準確,圖像就會變得比較模糊不清晰。相機對焦時通過一些清晰度評判指標,控制鏡…

HTML學習筆記06-連接

HTML超鏈接 HTML使用標簽<a>來設置文本超鏈接。 超鏈接可以是文字&#xff0c;也可以是圖片&#xff0c;點擊這些內容跳轉到新的文檔或當前文檔的某個部分 代碼類似這樣&#xff1a; <a href"url">連接文本</a> 實例&#xff1a; <!DOCTYPE HTM…

在Xcode中使用Git進行源碼版本控制

在Xcode中使用Git進行源碼版本控制 在應用程序開發過程中&#xff0c;很重要的一部分工作就是如何進行源碼的版本控制。當代碼出現問題時&#xff0c;我們就需要將代碼恢復到原先正常的版本。如果是多個人共同開發一個項目&#xff0c;那么代碼的控制就會非常復雜。幸運的是&am…