考系統架構設計師必看–組播

來源:互聯網
上載者:User
一,IP網路資料轉送方式

  組播技術是IP網路資料轉送三種方式之一,在介紹IP組播技術之前,先對IP網路資料轉送的單播、組播和廣播方式做一個簡單的介紹:

  

組播

單播(Unicast)傳輸:在寄件者和每一接收者之間實現點對點網路連接。如果一台寄件者同時給多個的接收者傳輸相同的資料,也必須相應的複製多份的相同資料包。如果有大量主機希望獲得資料包的同一份拷貝時,將導致寄件者負擔沉重、延遲長、網路擁塞;為保證一定的服務品質需增加硬體和頻寬。

  組播(Multicast)傳輸:在寄件者和每一接收者之間實現點對多點網路連接。如果一台寄件者同時給多個的接收者傳輸相同的資料,也只需複製一份的相同資料包。它提高了資料傳送效率。減少了骨幹網路出現擁塞的可能性。

  廣播(Broadcast)傳輸:是指在IP子網內廣播資料包,所有在子網內部的主機都將收到這些資料包。廣播意味著網路向子網每一個主機都投遞一份資料包,不論這些主機是否樂於接收該資料包。所以廣播的使用範圍非常小,只在本地子網內有效,通過路由器和交換器網路裝置控制廣播傳輸。

相關技術

  二、組播技術

1、 IP組播技術體繫結構

  組播協議分為主機-路由器之間的群組成員關係協議和路由器-路由器之間的組播路由協議。群組成員關係協議包括IGMP(互連網組管理協議)。組播路由協議分為域內組播路由協議及域間組播路由協議。域內組播

  

組播

路由協議包括PIM-SM(Protocol Independent Multicast-Sparse Mode)、PIM-DM(Protocol Independent Multicast-Dense Mode)、DVMRP(Distance Vector Multicast Routing Protocol)等協議,域間組播路由協議包括MBGP(Multiprotocol BGP)、MSDP(Multicast Source Discovery Protocol)等協議。同時為了有效抑制組播資料在鏈路層的擴散,引入了IGMP Snooping、CGMP等二層組播協議。

  IGMP建立並且維護路由器直連網段的群組成員關係資訊。域內組播路由協議根據IGMP維護的這些組播群組成員關係資訊,運用一定的組播路由演算法構造組播分發樹進行組播資料包轉寄。域間組播路由協議在各自治域間發布具有組播能力的路由資訊以及組播源資訊,以使組播資料在域間進行轉寄。

2、 組播IP地址

  組播IP地址用於標識一個IP組播組。IANA(internet assigned number authority)把D類地址空間分配給IP組播,其範圍是從224.0.0.0到239.255.255.255。如所示(二進位表示),IP組播地址前四位均為1110。

  八位組(1) 八位組(2) 八位組(3) 八位組(4)

  1110XXXX XXXXXXXX XXXXXXXX XXXXXXXX

  組播組可以是永久的也可以是臨時的。組播組地址中,有一部分由官方分配的,稱為永久組播組。永久組播組保持不變的是它的ip地址,組中的成員構成可以發生變化。永久組播組中成員的數量都可以是任意的,甚至可以為零。那些沒有保留下來供永久組播組使用的ip組播地址,可以被臨時組播組利用。

  224.0.0.0~224.0.0.255為預留的組播地址(永久組地址),地址224.0.0.0保留不做分配,其它地址供路由協議使用; 224.0.1.0~238.255.255.255為使用者可用的組播地址(臨時組地址),全網範圍內有效;239.0.0.0~239.255.255.255為本地管理組播地址,僅在特定的本地範圍內有效。常用的預留組播地址清單如下:

  224.0.0.0 基準地址(保留) 224.0.0.1 所有主機的地址 224.0.0.2 所有組播路由器的地址

  224.0.0.3 不分配 224.0.0.4 dvmrp 路由器 224.0.0.5 ospf 路由器

  224.0.0.6 ospf dr 224.0.0.7 st 路由器 224.0.0.8 st 主機

  224.0.0.9 rip-2 路由器 224.0.0.10 Eigrp 路由器 224.0.0.11 活動代理

  224.0.0.12 dhcp 伺服器/中繼代理 224.0.0.13 所有pim 路由器

  224.0.0.14 rsvp 封裝 224.0.0.15 所有cbt 路由器 224.0.0.16 指定sbm

  224.0.0.17 所有sbms 224.0.0.18 vrrp

3、 群組成員關係協議 (IGMP)

  IGMP協議運行於主機和與主機直接相連的組播路由器之間,主機通過此協議告訴本地路由器希望加入並接受某個特定組播組的資訊,同時路由器通過此協議周期性地查詢區域網路內某個已知組的成員是否處於活動狀態(即該網段是否仍有屬於某個組播組的成員),實現所連網路群組成員關係的收集與維護。

  IGMP有三個版本,IGMPv1由RFC1112定義,目前通用的是IGMPv2,由RFC2236定義。IGMPv3目前仍然是一個草案。IGMPv1中定義了基本的群組成員查詢和報告過程,IGMPv2在此基礎上添加了群組成員快速離開的機制,IGMPv3中增加的主要功能是成員可以指定接收或指定不接收某些組播源的報文。這裡著重介紹IGMPv2協議的功能。

  IGMPv2通過查詢器選舉機製為所連網段選舉唯一的查詢器。查詢器周期性的發送普遍組查詢訊息進行成員關係查詢;主機發送報告訊息來應答查詢。當要加入組播組時,主機不必等待查詢訊息,主動發送報告訊息。當要離開組播組時,主機發送離開組訊息;收到離開組訊息後,查詢器發送特定組查詢訊息來確定是否所有群組成員都已離開。

  通過上述IGMP機制,在組播路由器裡建立起一張表,其中包含路由器的各個連接埠以及在連接埠所對應的子網上都有哪些組的成員。當路由器接收到某個組G的資料報文後,只向那些有G的成員的連接埠上轉寄資料報文。至於資料報文在路由器之間如何轉寄則由路由協議決定,IGMP協議並不負責。

4、 網路二層組播相關協議

  網路二層組播相關協議包括IGMP Snooping ,IGMP Proxy和CGMP協議。

  IGMP Snooping的實現機理是:交換器通過偵聽主機發向路由器的IGMP成員報告訊息的方式,形成群組成員和交換器介面的對應關係;交換器根據該對應關係將收到組播資料包只轉給具有群組成員的介面。

  IGMP Proxy與IGMP Snooping實現功能相同但機理相異:IGMP snooping只是通過偵聽IGMP的訊息來擷取有關資訊,而IGMP Proxy則攔截了終端使用者的IGMP請求並進行相關處理後,再將它轉寄給上層路由器。

  CGMP(Cisco Group Management Protocol)是Cisco基於客戶機/伺服器模型開發的私人協議,在CGMP的支援下,組播路由器能夠根據接收到的IGMP資料包通知交換器哪些主機何時加入和脫離組播組,交換器利用由這些資訊所構建的轉寄表來確定將組播資料包向哪些介面轉寄。GMRP是主機到乙太網路交換器的標準協議,它使組播使用者可以在第二層交換器上對組播成員進行註冊。

5、 組播路由協議 (PIM-SM)

  眾多的組播路由協議中,目前應用最多的協議是 PIM-SM稀疏模式協議無關組播。

  在PIM-SM域中,運行PIM-SM協議的路由器周期性的發送Hello訊息,用以發現鄰接的PIM路由器,並且負責在多路訪問網路中進行指定路由器(DR)的選舉。這裡,DR負責為其直連群組成員朝著組播分發樹根節點的方向發送"加入/剪枝"訊息,或是將直連組播源的資料發向組播分發樹。

編址

  A類 0.0.0.0 - 127.255.255.255

  B類 128.0.0.0 - 191.255.255.255

  C類 192.0.0.0 - 223.255.255.255

  D類 224.0.0.0 - 239.255.255.255

  A,B,C類ip包轉寄基於目的ip地址。D類(組播地址)包轉寄基於源地址。

組播地址的分類:

  保留——224.0.0.0 - 224.0.0.255

  使用者組播地址——224.0.1.0 - 238.255.255.255

  本地管理組——239.0.0.0 - 239.255.255.255 (用於私人組播領域,類似私人IP地址)

  RPF:

  a multicast packet received on an interface will be accepted if received on the interface that would be used to send a unicast ip packet back to the source;this is called reverse path forwarding(RPF).

  逆向路徑轉寄:

  裝置在介面上收到組播報文後,如果去往組播源的單播路由也是從該介面學到的,則轉寄組播資料,否則丟棄。

組播技術待解決的問題:

  目前組播技術還有許多未解決的問題,例如:組播安全、組播擁塞控制、組播狀態聚集、組播流量計費等等。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.