一、
1.
單播、組播、廣播是計算機網絡上三種基本的通信方式。
單播是相互感興趣的主機雙方進行通信的方式,主機不能接收對其不感興趣的其它主機發送的信息,屬於點對點通信。
廣播是主機向子網內所有主機發送信息,子網內所有主機都能收到來自某台主機的廣播信息,屬於點對所有點的通信。
組播則介於兩者之間,是主機向一組主機發送信息,存在於某個組的所有主機都可以接收到信息,屬於點對多點通信。
從這個意義上講,廣播可以認為是組范圍最大化的組播。當然,二者還是存在顯著區別的:首先,廣播被限制在子網內,不會被路由器轉發。其次,主機被默認為是接收者,而組播方式則需要主機主動加入。
單播與組播實現點對多點傳輸比較
解決點到多點的通信,可以通過單播和組播方式實現。
單播可以通過建立多個點對點的連接來達到點對多點的傳輸。 這種方式將在源點(服務器)與各個接收點建立連接,從服務器開始,就將有多份數據流分別流向分散的接收點。這種方式將加重服務器的負荷,增大對服務器性能的要求;同時還在網絡中造成大流量,從而增加網絡的負載,導致網絡擁塞。
組播則不然,發送方僅發一份數據包,此后數據包只是在需要復制分發的地方才會被復制分發,每一網段中都將保持只有一份數據流。這樣就可以減輕服務器的負擔,節省網絡帶寬。
2.組播應用
多媒體會議
IP組播最早的應用是音頻/視頻會議。但音頻/視頻會議只是眾多IP組播應用之一。除此之外,還包括數據分發,實時數據組播,以及游戲和仿真應用等。
一些出色的IP組播,用於多媒體會議的工具最先在UNIX環境下被開發出來。這些工具允許通過IP組播實現多對多的音頻/視頻會議。除音頻與視頻工具之外,還有基於UNIX的白板工具被開發出來,它允許用戶共享公共的電子白板。但是由於帶寬和工作站、路由器處理能力的限制,最后只有音頻會議得到了廣泛應用。但音頻會議和基於IP組播的數據共享應用相結合(如先前提到的白板工具),提供了一個功能非常強大的多媒體會議系統,而它並不消耗很多的帶寬,同時這也適用於網絡教學。
數據分發
數據分發是IP組播應用的另一個領域,並且非常實用。通過使用IP組播,在可靠組播區域內,允許將文件和數據傳送到各個網絡節點。這就允許大型跨國公司每天都可以向它們的遠程子公司發布新的信息,比如向連鎖零售店發布產品相關信息。
實時數據組播
對大主機組的實時數據傳送是使IP組播受歡迎的有益應用領域。一個好的例子是實時音頻/視頻點播。網絡用戶可以通過網絡收看現場足球比賽、現場演唱會等。還有,就是將股票信息發送到交易大廳的工作站。通過指定不同的財務分類(債券、運輸、葯品等)給不同的組播組,交易員可以使用他們的工作站來接收他們感興趣的實時金融數據。
游戲與仿真
IP組播非常適合於網絡游戲和仿真應用。現在,很多網絡游戲使用單播 ,是點到點的連接。這對於PC機或工作站的處理能力而言是N2數量級的負擔,這樣的游戲通常只有5到10個玩家。即便是參與者都連接到服務器上,由於受限於服務器的處理能力,通常也只能容納100個玩家。
IP組播可用於有大量參與者的游戲與仿真。PC機或工作站只需進入IP組播組就可以接收游戲或仿真數據。通過把數據分成多個信息流,分屬不同的組播組,PC機或工作站還可以對他們當前參加的游戲或仿真所需要的收發做出限制。
3.組播技術的特點
+優點
增強效率,控制網絡流量,減少服務器和CPU負載
優化性能,消除流量冗余
分布式應用,使多點傳輸成為可能
+缺點
IP組播是基於UDP
盡最大努力交付
無擁塞控制
數據包重復
數據包的無序交付
二、組播實現技術
1.組播體系結構
+組播協議分為主機-路由器之間的組成員關系協議和路由器-路由器之間的組播路由協議
+組成員關系協議包括IGMP(互聯網組管理協議)。組播路由協議分為域內組播路由協議及域間組播路由協議
+域內的組播協議又分為密集模式與稀疏模式。域內組播路由協議主要使用PIM-SM,PIM-DM,DVMRP協議. DVMRP,PIM-DM,MOSPF屬於密集模式,CBT,PIM-SM屬於稀疏模式。在域內,主要使用PIM-SM,PIM-DM,DVMRP協議。
針對域間組播路由有兩類解決方案:短期方案和長期方案。
短期方案包括三個協議MBGP/MSDP/PIM-SM:MBGP(組播邊緣網關協議),用於在自治域間交換組播路由信息;MSDP(組播信源發現協議),用於在ISP之間交換組播信源信息;以及域內組播路由協議PIM-SM。
長期方案目前討論最多的是MASC/MBGP/BGMP,它建立在現有的組播業務模型上,其中MASC實現域間組播地址的分配、MBGP在域間傳遞組播路由信息、BGMP完成域間路由樹的構造。
此外還有一些組播路由策略,如PIM-SSM(特定信源協議無關組播)等,建立在其它的組播業務模型上。目前僅短期方案MBGP/MSDP/PIM-SM是成熟的,並在許多的運營商中廣泛使用。
同時為了有效抑制組播數據在鏈路層的擴散,引入了IGMP Snooping、HGMP,HMVR,RGMP,GMRP等二層組播協議。
IGMP建立並且維護路由器直聯網段的組成員關系信息。域內組播路由協議根據IGMP維護的這些組播組成員關系信息,運用一定的組播路由算法構造組播分發樹進行組播數據包轉發。域間組播路由協議在各自治域間發布具有組播能力的路由信息以及組播源信息,以使組播數據在域間進行轉發。
2.組播地址
組播IP地址:
+組播地址范圍
224.0.0.0--239.255.255.255
+保留組播地址
224.0.0.0--224.0.0.255
+本地管理組地址
239.0.0.0--239.255.255.255
+用戶組播地址
224.0.1.0--238.255.255.255
組播MAC地址:
以太網:01-00-5e-xx-xx-xx
組播數據IP報文的目的地址是特殊的IP地址,稱之為組地址。每一個加入到該組的主機都敏感該組地址並接收以該組地址為目的地址的IP報文。組播地址都以0x1110開始。
IP地址可分為A、B、C、D、E五類。IANA(互聯網編號授權委員會)把D類地址空間分配給IP組播。即:從224.0.0.0到239.255.255.255為IP組播地址的范圍。 IANA控制着IP組播地址的分配。並不是所有的D類地址都可以分配給用戶,IANA預留了兩個地址范圍:224.0.0.0~224.0.0.255和239.0.0.0~239.255.255.255。前一個地址范圍的所有地址都有特殊用途,如:224.0.0.1表示所有組播成員(包括路由器),224.0.0.2表示所有組播路由器。可以向IANA就某個特殊用途申請專用IP組播地址,如:224.0.0.13表示所有PIM路由器。后一個地址范圍作為用於私人組播領域的管理權限地址,猶如單播的10.x.x.x/8等私有地址網段。
組播IP地址在網絡層解決了如何尋址的問題,但通信最終還要依賴於數據鏈路層和物理層。因此組播在數據鏈路層如何尋址?
在物理層,也有專門的MAC地址被用於組播。就以太網而言,以0x01005Exx.xxxx的24位前綴開始的MAC層地址都是組播地址。
組播有了網絡地址、物理地址,還需要建立IP地址到MAC地址的映射。
3.IP地址到MAC地址的映射
在以太網中,第3層的IP組播地址信息的全部28位不能映射進入只有23位的第2層MAC地址空間,所以在映射過程中丟失5位地址信息,導致32:1的地址不明確。這意味着一個IEEE MAC地址能表示32個IP組播地址。主機C必須考察每一個收到幀的IP部分才能確定是不是需要的組播信息。
4.IP組播數據包的轉發
+逆向路徑轉發(RPF-Reverse Path Forwarding)
組播包的轉發不是基於IP包的目的地址的,而是用RPF檢查決定是否轉發和丟棄輸入信息包
RPF檢查的過程如下:
路由器檢查到達組播包的源地址,如果信息包是在可返回源站點的接口上到達,則RPF檢查成功,信息包被轉發
如果RPF檢查失敗,丟棄信息包
+對組播包源地址的檢查是通過查詢單播路由表來實現的
在單播中,數據轉發的依據是數據包的目的地址.該目的地址明確表示了一個主機位置。路由器(聲明:三層交換機具有與路由器同樣的路由功能,只不過轉發速度更快。所以,三層交換機的組播實現與路由器的組播實現在IP層完全一致。在這里,路由器亦即三層以太網交換機。以下將以路由器為例介紹組播)組播必須工作在查找單播路由表獲得到目的地址的路徑和本地出接口。
但在組播中,這種方式顯然不行。因為組播數據包中的目的地址是組地址而不是一個明確的主機地址;並且在與路由器相連的每條路徑上或者說每個接口都可能有組成員。
因此,組播數據轉發將采用逆向數據轉發.即:對到達的組播數據包作逆向檢查(Reverse Path Forward檢查),判斷數據包是否是從指向源站點的接口(指向源的接口是根據單播路由獲得的,亦即單播路由的目的網絡)上到達;如果是,逆向檢查成功,數據包被轉發;否則,數據包就被丟棄。
組播轉發項至少包括入接口、出接口。至於入接口是誰、出接口有哪些,則是組播路由協議要完成的任務。
5.組播數據包的二層交換
具有組播功能的二層交換機可以做到只在需要的接口上才轉發組播數據。如何實現 ?
二層交換機將在轉發表中添加一項:MAC地址是組播地址,端口包含與希望接收到組播數據的主機相連所有的端口。以后當二層交換機接收到組播數據報后,將向除接收端口外的所有轉發表項的其它希望接收組播數據的端口轉發組播數據。
www.huawei.com