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