一、引言
1、組播技術(shù)引入的必要性
隨著(zhù)寬帶多媒體網(wǎng)絡(luò )的不斷發(fā)展,各種寬帶網(wǎng)絡(luò )應用層出不窮。IP TV、視頻會(huì )議、數據和資料分發(fā)、網(wǎng)絡(luò )音頻應用、網(wǎng)絡(luò )視頻應用、多媒體遠程教育等寬帶應用都對現有寬帶多媒體網(wǎng)絡(luò )的承載能力提出了挑戰。采用單播技術(shù)構建的傳統網(wǎng)絡(luò )已經(jīng)無(wú)法滿(mǎn)足新興寬帶網(wǎng)絡(luò )應用在帶寬和網(wǎng)絡(luò )服務(wù)質(zhì)量方面的要求,隨之而來(lái)的是網(wǎng)絡(luò )延時(shí)、數據丟失等等問(wèn)題。此時(shí)通過(guò)引入IP組播技術(shù),有助于解決以上問(wèn)題。組播網(wǎng)絡(luò )中,即使組播用戶(hù)數量成倍增長(cháng),骨干網(wǎng)絡(luò )中網(wǎng)絡(luò )帶寬也無(wú)需增加。簡(jiǎn)單來(lái)說(shuō),成百上千的組播應用用戶(hù)和一個(gè)組播應用用戶(hù)消耗的骨干網(wǎng)帶寬是一樣的,從而最大限度的解決目前寬帶應用對帶寬和網(wǎng)絡(luò )服務(wù)質(zhì)量的要求。
2、IP網(wǎng)絡(luò )數據傳輸方式
組播技術(shù)是IP網(wǎng)絡(luò )數據傳輸三種方式之一,在介紹IP組播技術(shù)之前,先對IP網(wǎng)絡(luò )數據傳輸的單播、組播和廣播方式做一個(gè)簡(jiǎn)單的介紹:
單播(Unicast)傳輸:在發(fā)送者和每一接收者之間實(shí)現點(diǎn)對點(diǎn)網(wǎng)絡(luò )連接。如果一臺發(fā)送者同時(shí)給多個(gè)的接收者傳輸相同的數據,也必須相應的復制多份的相同數據包。如果有大量主機希望獲得數據包的同一份拷貝時(shí),將導致發(fā)送者負擔沉重、延遲長(cháng)、網(wǎng)絡(luò )擁塞;為保證一定的服務(wù)質(zhì)量需增加硬件和帶寬。
組播(Multicast)傳輸:在發(fā)送者和每一接收者之間實(shí)現點(diǎn)對多點(diǎn)網(wǎng)絡(luò )連接。如果一臺發(fā)送者同時(shí)給多個(gè)的接收者傳輸相同的數據,也只需復制一份的相同數據包。它提高了數據傳送效率。減少了骨干網(wǎng)絡(luò )出現擁塞的可能性。
廣播(Broadcast)傳輸:是指在IP子網(wǎng)內廣播數據包,所有在子網(wǎng)內部的主機都將收到這些數據包。廣播意味著(zhù)網(wǎng)絡(luò )向子網(wǎng)每一個(gè)主機都投遞一份數據包,不論這些主機是否樂(lè )于接收該數據包。所以廣播的使用范圍非常小,只在本地子網(wǎng)內有效,通過(guò)路由器和交換機網(wǎng)絡(luò )設備控制廣播傳輸。
二、組播技術(shù)
1、 IP組播技術(shù)體系結構
組播協(xié)議分為主機-路由器之間的組成員關(guān)系協(xié)議和路由器-路由器之間的組播路由協(xié)議。組成員關(guān)系協(xié)議包括IGMP(互連網(wǎng)組管理協(xié)議)。組播路由協(xié)議分為域內組播路由協(xié)議及域間組播路由協(xié)議。域內組播路由協(xié)議包括PIM-SM、PIM-DM、DVMRP等協(xié)議,域間組播路由協(xié)議包括MBGP、MSDP等協(xié)議。同時(shí)為了有效抑制組播數據在鏈路層的擴散,引入了IGMP Snooping、CGMP等二層組播協(xié)議。
IGMP建立并且維護路由器直聯(lián)網(wǎng)段的組成員關(guān)系信息。域內組播路由協(xié)議根據IGMP維護的這些組播組成員關(guān)系信息,運用一定的組播路由算法構造組播分發(fā)樹(shù)進(jìn)行組播數據包轉發(fā)。域間組播路由協(xié)議在各自治域間發(fā)布具有組播能力的路由信息以及組播源信息,以使組播數據在域間進(jìn)行轉發(fā)。
2、 組播IP地址
組播IP地址用于標識一個(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é)議運行于主機和與主機直接相連的組播路由器之間,主機通過(guò)此協(xié)議告訴本地路由器希望加入并接受某個(gè)特定組播組的信息,同時(shí)路由器通過(guò)此協(xié)議周期性地查詢(xún)局域網(wǎng)內某個(gè)已知組的成員是否處于活動(dòng)狀態(tài)(即該網(wǎng)段是否仍有屬于某個(gè)組播組的成員),實(shí)現所連網(wǎng)絡(luò )組成員關(guān)系的收集與維護。
IGMP有三個(gè)版本,IGMPv1由RFC1112定義,目前通用的是IGMPv2,由RFC2236定義。IGMPv3目前仍然是一個(gè)草案。IGMPv1中定義了基本的組成員查詢(xún)和報告過(guò)程,IGMPv2在此基礎上添加了組成員快速離開(kāi)的機制,IGMPv3中增加的主要功能是成員可以指定接收或指定不接收某些組播源的報文。這里著(zhù)重介紹IGMPv2協(xié)議的功能。
IGMPv2通過(guò)查詢(xún)器選舉機制為所連網(wǎng)段選舉唯一的查詢(xún)器。查詢(xún)器周期性的發(fā)送普遍組查詢(xún)消息進(jìn)行成員關(guān)系查詢(xún);主機發(fā)送報告消息來(lái)應答查詢(xún)。當要加入組播組時(shí),主機不必等待查詢(xún)消息,主動(dòng)發(fā)送報告消息。當要離開(kāi)組播組時(shí),主機發(fā)送離開(kāi)組消息;收到離開(kāi)組消息后,查詢(xún)器發(fā)送特定組查詢(xún)消息來(lái)確定是否所有組成員都已離開(kāi)。
通過(guò)上述IGMP機制,在組播路由器里建立起一張表,其中包含路由器的各個(gè)端口以及在端口所對應的子網(wǎng)上都有哪些組的成員。當路由器接收到某個(gè)組G的數據報文后,只向那些有G的成員的端口上轉發(fā)數據報文。至于數據報文在路由器之間如何轉發(fā)則由路由協(xié)議決定,IGMP協(xié)議并不負責。
4、 網(wǎng)絡(luò )二層組播相關(guān)協(xié)議
網(wǎng)絡(luò )二層組播相關(guān)協(xié)議包括IGMP Snooping ,IGMP Proxy和CGMP協(xié)議。
IGMP Snooping的實(shí)現機理是:交換機通過(guò)偵聽(tīng)主機發(fā)向路由器的IGMP成員報告消息的方式,形成組成員和交換機接口的對應關(guān)系;交換機根據該對應關(guān)系將收到組播數據包只轉給具有組成員的接口。
IGMP Proxy與IGMP Snooping實(shí)現功能相同但機理相異:IGMP snooping只是通過(guò)偵聽(tīng)IGMP的消息來(lái)獲取有關(guān)信息,而IGMP Proxy則攔截了終端用戶(hù)的IGMP請求并進(jìn)行相關(guān)處理后,再將它轉發(fā)給上層路由器。
CGMP(Cisco Group Management Protocol)是Cisco基于客戶(hù)機/服務(wù)器模型開(kāi)發(fā)的私有協(xié)議,在CGMP的支持下,組播路由器能夠根據接收到的IGMP數據包通知交換機哪些主機何時(shí)加入和脫離組播組,交換機利用由這些信息所構建的轉發(fā)表來(lái)確定將組播數據包向哪些接口轉發(fā)。GMRP是主機到以太網(wǎng)交換機的標準協(xié)議,它使組播用戶(hù)可以在第二層交換機上對組播成員進(jìn)行注冊。
5、 組播路由協(xié)議 (PIM-SM)
眾多的組播路由協(xié)議中,目前應用最多的協(xié)議是 PIM-SM稀疏模式協(xié)議無(wú)關(guān)組播。
在PIM-SM域中,運行PIM-SM協(xié)議的路由器周期性的發(fā)送Hello消息,用以發(fā)現鄰接的PIM路由器,并且負責在多路訪(fǎng)問(wèn)網(wǎng)絡(luò )中進(jìn)行指定路由器(DR)的選舉。這里,DR負責為其直連組成員朝著(zhù)組播分發(fā)樹(shù)根節點(diǎn)的方向發(fā)送"加入/剪枝"消息,或是將直連組播源的數據發(fā)向組播分發(fā)樹(shù)。
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請
點(diǎn)擊舉報。