組播技術
單發送者對多接收者的網路通信
組播技術指的是單個發送者對應多個接收者的一種網路通信。組播技術中,通過向多個接收方傳送單信息流方式,可以減少具有多個接收方同時收聽或查看相同資源情況下的網路通信流量。對於 n 方視頻會議,可以減少使用 a(n-1)倍的帶寬長度。“組播”中較為典型的是採用組播地址的 IP組播。IPv6 支持單播(Unicast)、組播(Multicast)以及任意播(Anycast)三種類型,IPv6中沒有關於廣播(Broadcast)的具體劃分,而是作為組播的一個典型類型。此外組播定義還包括一些其它協議,如使用“點對多點”或“多點對多點”連接的非同步傳輸協議(ATM)。組播技術基於“組”這樣一個概念,屬於接收方專有組,主要接收相同數據流。該接收方組可以分配在英特網的任意地方。
組播技術涵蓋的內容相當豐富,從地址分配、組成員管理,到組播報文轉發、路由建立、可靠性等諸多方面。下面首先介紹組播協議體系的整體結構,之後從組播地址、組播成員管理、組播報文轉發、域內組播路由和域間組播路由等幾個方面介紹有代表性的協議和機制。
傳統的IP通信有兩種方式:第一種是在一台源 IP主機和一台目的 IP主機之間進行,即單播(unicast);第二種是在一台源 IP 主機和網路中所有其它的 IP 主機之間進行,即廣播(broadcast)。如果要將信息發送 給網路中的多個主機而非所有主機,則要麼採用廣播方式,要麼由源主機分別向網路中的多台目標主機以單播方式發送 IP 包。採用廣播方式實現時,不僅會將信息發送給不需要的主機而浪費帶寬,也可能由於路由迴環引起嚴重的廣播風暴;採用單播方式實現時,由於 IP 包的重複發送會白白浪費掉大量帶寬,也增加了伺服器的負載。所以,傳統的單播和廣播通信方式不能有效地解決單點發送多點接收的問題。
IP 組播是指在 IP 網路中將數據包以儘力傳送(best-effort)的形式發送到網路中的某個確定節點子集,這個子集稱為組播組(multicast group)。IP 組播的基本思想是,源主機只發送一份數據,這份數據中的目的地址為組播組地址;組播組中的所有接收者都可接收到同樣的數據拷貝,並且只有組播組內的主機(目標主機)可以接收該數據,網路中其它主機不能收到。組播組用 D 類 IP 地址(224.0.0.0 ~ 239.255.255.255)來標識。
根據協議的作用範圍,組播協議分為主機-路由器之間的協議,即組播成員管理協議,以及路由器-路由器之間協議,主要是各種路由協議。組成員關係協議包括 IGMP(互連網組管理協議);組播路由協議又分為域內組播路由協議及域間組播路由協議兩類。域內組播路由協議包括 PIM-SM、PIM-DM、DVMRP 等協議,域間組播路由協議包括 MBGP、MSDP 等協議。同時為了有效抑制組播數據在二層網路中的擴散,引入了 IGMP Snooping 等二層組播協議。
通過 IGMP 和二層組播協議,在路由器和交換機中建立起直聯網段內的組成員關係信息,具體地說,就是哪個介面下有哪個組播組的成員。域內組播路由協議根據 IGMP 維護的這些組播組成員關係信息,運用一定的組播路由演演算法構造組播分發樹,在路由器中建立組播路由狀態,路由器根據這些狀態進行組播數據包轉發。域間組播路由協議根據網路中配置的域間組播路由策略,在各自治系統(AS,Autonomous System)間發布具有組播能力的路由信息以及組播源信息,使組播數據能在域間進行轉發。
IP 組播技術有效地解決了單點發送多點接收的問題,實現了 IP 網路中點到多點的高效數據傳送,能夠大量節約網路帶寬、降低網路負載。作為一種與單播和廣播並列的通信方式,組播的意義不僅在於此。更重要的是,可以利用網路的組播特性方便地提供一些新的增值業務,包括在線直播、網路電視、遠程教育、遠程醫療、網路電台、實時視頻會議等網際網路的信息服務領域。
組播從 1988 年提出到現在已經經歷了十幾年的發展,許多國際組織對組播的技術研究和業務開展進行了大量的工作。隨著網際網路建設的迅猛發展和新業務的不斷推出,組播也必將走向成熟。儘管目前端到端的全球組播業務還未大規模開展起來,但是具備組播能力的網路數目在增加。一些主要的 ISP 已運行域間組播路由協議進行組播路由的交換,形成組播對等體。在 IP 網路中多媒體業務日漸增多的情況下,組播有著巨大的市場潛力,組播業務也將逐漸得到推廣和普及。