百科解釋
一,IP網絡數(shù)據傳輸方式
組播技術是IP網絡數(shù)據傳輸三種方式之一,在介紹IP組播技術之前,先對IP網絡數(shù)據傳輸?shù)膯尾ァ⒔M播和廣播方式做一個簡單的介紹:
單播(Unicast)傳輸:在發(fā)送者和每一接收者之間實現(xiàn)點對點網絡連接。如果一臺發(fā)送者同時給多個的接收者傳輸相同的數(shù)據,也必須相應的復制多份的相同數(shù)據包。如果有大量主機希望獲得數(shù)據包的同一份拷貝時,將導致發(fā)送者負擔沉重、延遲長、網絡擁塞;為保證一定的服務質量需增加硬件和帶寬。
組播(Multicast)傳輸:在發(fā)送者和每一接收者之間實現(xiàn)點對多點網絡連接。如果一臺發(fā)送者同時給多個的接收者傳輸相同的數(shù)據,也只需復制一份的相同數(shù)據包。它提高了數(shù)據傳送效率。減少了骨干網絡出現(xiàn)擁塞的可能性。
廣播(Broadcast)傳輸:是指在IP子網內廣播數(shù)據包,所有在子網內部的主機都將收到這些數(shù)據包。廣播意味著網絡向子網每一個主機都投遞一份數(shù)據包,不論這些主機是否樂于接收該數(shù)據包。所以廣播的使用范圍非常小,只在本地子網內有效,通過路由器和交換機網絡設備控制廣播傳輸。
二、組播技術
1、 IP組播技術體系結構
組播協(xié)議分為主機-路由器之間的組成員關系協(xié)議和路由器-路由器之間的組播路由協(xié)議。組成員關系協(xié)議包括IGMP(互連網組管理協(xié)議)。組播路由協(xié)議分為域內組播路由協(xié)議及域間組播路由協(xié)議。域內組播路由協(xié)議包括PIM-SM、PIM-DM、DVMRP等協(xié)議,域間組播路由協(xié)議包括MBGP、MSDP等協(xié)議。同時為了有效抑制組播數(shù)據在鏈路層的擴散,引入了IGMP Snooping、CGMP等二層組播協(xié)議。
IGMP建立并且維護路由器直聯(lián)網段的組成員關系信息。域內組播路由協(xié)議根據IGMP維護的這些組播組成員關系信息,運用一定的組播路由算法構造組播分發(fā)樹進行組播數(shù)據包轉發(fā)。域間組播路由協(xié)議在各自治域間發(fā)布具有組播能力的路由信息以及組播源信息,以使組播數(shù)據在域間進行轉發(fā)。
2、 組播IP地址
組播IP地址用于標識一個IP組播組。IANA把D類地址空間分配給IP組播,其范圍是從224.0.0.0到239.255.255.255。如下圖所示(二進制表示),IP組播地址前四位均為1110。
八位組(1) 八位組(2) 八位組(3) 八位組(4)
1110XXXX XXXXXXXX XXXXXXXX XXXXXXXX
3、 組成員關系協(xié)議 (IGMP)
IGMP協(xié)議運行于主機和與主機直接相連的組播路由器之間,主機通過此協(xié)議告訴本地路由器希望加入并接受某個特定組播組的信息,同時路由器通過此協(xié)議周期性地查詢局域網內某個已知組的成員是否處于活動狀態(tài)(即該網段是否仍有屬于某個組播組的成員),實現(xiàn)所連網絡組成員關系的收集與維護。
IGMP有三個版本,IGMPv1由RFC1112定義,目前通用的是IGMPv2,由RFC2236定義。IGMPv3目前仍然是一個草案。IGMPv1中定義了基本的組成員查詢和報告過程,IGMPv2在此基礎上添加了組成員快速離開的機制,IGMPv3中增加的主要功能是成員可以指定接收或指定不接收某些組播源的報文。這里著重介紹IGMPv2協(xié)議的功能。
IGMPv2通過查詢器選舉機制為所連網段選舉唯一的查詢器。查詢器周期性的發(fā)送普遍組查詢消息進行成員關系查詢;主機發(fā)送報告消息來應答查詢。當要加入組播組時,主機不必等待查詢消息,主動發(fā)送報告消息。當要離開組播組時,主機發(fā)送離開組消息;收到離開組消息后,查詢器發(fā)送特定組查詢消息來確定是否所有組成員都已離開。
通過上述IGMP機制,在組播路由器里建立起一張表,其中包含路由器的各個端口以及在端口所對應的子網上都有哪些組的成員。當路由器接收到某個組G的數(shù)據報文后,只向那些有G的成員的端口上轉發(fā)數(shù)據報文。至于數(shù)據報文在路由器之間如何轉發(fā)則由路由協(xié)議決定,IGMP協(xié)議并不負責。
4、 網絡二層組播相關協(xié)議
網絡二層組播相關協(xié)議包括IGMP Snooping ,IGMP Proxy和CGMP協(xié)議。
IGMP Snooping的實現(xiàn)機理是:交換機通過偵聽主機發(fā)向路由器的IGMP成員報告消息的方式,形成組成員和交換機接口的對應關系;交換機根據該對應關系將收到組播數(shù)據包只轉給具有組成員的接口。
IGMP Proxy與IGMP Snooping實現(xiàn)功能相同但機理相異:IGMP snooping只是通過偵聽IGMP的消息來獲取有關信息,而IGMP Proxy則攔截了終端用戶的IGMP請求并進行相關處理后,再將它轉發(fā)給上層路由器。
CGMP(Cisco Group Management Protocol)是Cisco基于客戶機/服務器模型開發(fā)的私有協(xié)議,在CGMP的支持下,組播路由器能夠根據接收到的IGMP數(shù)據包通知交換機哪些主機何時加入和脫離組播組,交換機利用由這些信息所構建的轉發(fā)表來確定將組播數(shù)據包向哪些接口轉發(fā)。GMRP是主機到以太網交換機的標準協(xié)議,它使組播用戶可以在第二層交換機上對組播成員進行注冊。
5、 組播路由協(xié)議 (PIM-SM)
眾多的組播路由協(xié)議中,目前應用最多的協(xié)議是 PIM-SM稀疏模式協(xié)議無關組播。
在PIM-SM域中,運行PIM-SM協(xié)議的路由器周期性的發(fā)送Hello消息,用以發(fā)現(xiàn)鄰接的PIM路由器,并且負責在多路訪問網絡中進行指定路由器(DR)的選舉。這里,DR負責為其直連組成員朝著組播分發(fā)樹根節(jié)點的方向發(fā)送"加入/剪枝"消息,或是將直連組播源的數(shù)據發(fā)向組播分發(fā)樹。
編址
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包轉發(fā)基于目的ip地址。D類(組播地址)包轉發(fā)基于源地址。
組播地址的分類:
保留——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).
逆向路徑轉發(fā):
設備在接口上收到組播報文后,如果去往組播源的單播路由也是從該接口學到的,則轉發(fā)組播數(shù)據,否則丟棄。