2007年4月9日 星期一

Multicast(多點傳播)相關解釋

Multicast的目的在於協助處理以少量頻寬傳送超載的資料,並減輕相關網路設備的負載。即在網路上的任意一位使用者,同時傳送資料給多位使用者時,並非以一人一份的方式傳送,而是考慮以降低重覆程度的方式來傳送。舉例來說,如果一份資料約為200kb,同時送給10位使用者,則傳送端的使用者機器便需有2Mb的上傳頻寬才能完成此一任務。這樣的頻寬需求對於目前國內的網路環境而言仍有相當程度的不便,此時便需運Multicast的技術來解決這樣的問題。

視訊會議或多媒體影音服務系統便屬於此一應用的嘗試者。若使用者對於某項視訊會議或多媒體影音服務感到興趣,而想加入會議進行討論或參與某家影音多媒體之線上服務,此時,對於會議及影音服務提供者而言便多種方式提供此項服務。首先,可針對每一位參與者建立一個連線,如此可確保資料的傳輸是直接且較易控制與處理,但對於伺服器的影響及網路連線頻寬的要求較大;另一種方式即為廣播(Broadcast),此一方式將所有網路上的使用者皆可接收到相關的資訊內容,不管使用者同意或不同意。此一方式的缺點是將會造成網路設備的負載過重,影響其他使用者的權益,並對於加入付費機制的使用者不公平。第三種方式即為本文重點一
Multicast(多重傳送)。

Multicast的服務,主要在於提供一個多對多資料傳送運作機制。當網路上有多位使用者想要參與某項會議,不管是散佈在全球各地或是在同一個會議室內,Multicast對於網路設備或是連線品質的影響程度將遠小於點對點傳輸的影響,且將可促進網路連線頻寬的有效利用。

Multicast協定運作IPv6 Multicast在協定方面與IPv4並無顯著差異。主要仍分為網路設備(Router)端與使用者(Host)端。Router端目前發展主要以PIM(Protocol Independent Multicast)為主;Host端則以MLD(Multicast Listener Discovery)為主。PIM的功能在於與其他Multicast Router進行Multicast的訊息交換,取得所有與Multicast相關的訊息,如(Sender,Group)及瞭解Multicast的整體架構。由於其可配合任何一種IPv6 unicast routing的運作,故稱為”Protocol Independent”;MLD的功能則類似於IPv4的IGMP,主要的功能在於協助Router找出位於其區域網路中之參與Multicast主機(Host)或是其他提供IPv6 Multicast功能的網路設備,並傳遞相關資訊予Rendezvous Point(RP),並產生Rendezvous Point Tree(RPT)的架構以便後續Multicast的進行。

當區域網路中有使用者想要加入某場視訊會議或參與某個多媒體影音串流服務時,必須先告知其連線路由器相關資訊,如想要加入的群組等,再由路由器協助其參與。此一運作協定即由MLD完成。當使用者想要加入時,會送出一個report訊息給其連線路由器。連線路由器便會將此一report訊息及欲參與之群組位址相關資訊送予RP,構成一個IPv6 Multicast傳送骨幹架構(RPT)。當路由器收到來源端所傳送的資料後,便會根據此RPT中包含之使用者的相關訊息傳送出去,完成IPv6 Multicast資訊的傳遞。網路上任何一位使用者都可以傳送資料到Multicast群組中,但只有Multicast群組的成員(group member)才可以接收到此一群組資訊。

另外,目前IPv6 Multicast的連線建置主要有兩種方式,一是Native IPv6 Link,另一種則是IPv6over-IPv4 Tunnel Link或IPv6-over-IPv6 Tunnel Link。目前Tunnel Link機制的運作方式,即以編碼的方式將IPv6 Multicast封包編碼後包含在IPv4封包或IPv6封包中傳送出去,到達對方的Router後再解碼,完成IPv6封包的傳遞及相關協定的運行。目前定義在PIM-SM的封包傳送也包含一段Tunnel,做為控制資料封包的傳遞。

參考資料:
http://www.iicm.org.tw/communication/c1_2/page05.html
RFC1112

沒有留言: