組播技術及應用系統(tǒng)的實現
呂秋云 2002/01/30
一、引言
1.1、 問題的引出
近年來,隨著網絡技術的發(fā)展,使得各種單一媒體相繼成為網絡傳輸中的數據,進而各種媒體的融合使得網絡多媒體運用層出不窮。目前,在Internet上產生了許多新的應用,其中不少是高帶寬的多媒體應用,譬如網絡視頻會議 (可視化IP電話會議系統(tǒng))、網絡音頻/視頻廣播、多媒體遠程教育、遠程會診,而傳統(tǒng)網絡最初是為數據傳輸而設計的,是典型的點點通信模式,是為保證數據可靠傳輸而設計的,所用的傳輸協議多為點到點的協議。其所具有的特點將增加網絡發(fā)送負載,帶來網絡延時。這就帶來了帶寬的急劇消耗和網絡擁擠問題。為了緩解網絡瓶頸, 人們提出各種方案:增加互連帶寬,改變網絡流量結構,IP組播技術等等,其中,IP組播技術有其獨特的優(yōu)越性——在組播網絡中,即使用戶數量成倍增長,主干帶寬不需要隨之增加。
組播技術可形象的描述如下:
假設一個企業(yè)分布于各地的子公司(兩個以上)之間需要通過Internet進行實時的交換信息(數據,聲音,圖像),他們的計算機可能不屬于同一物理網絡,甚至不屬于同一自治系統(tǒng),這種通信的特點是“多點”式的。子公司發(fā)出的數據希望其他子公司都能收到,而總部發(fā)出的指示全體子公司都應收到。這種多點通信方式為組內廣播,即組播技術,也稱多播技術,多目網關技術。
1.2、TCP/IP傳送方式
組播技術是TCP/IP傳送方式的一種。在我們討論組播技術之前先來看看TCP/IP傳送方式。TCP/IP傳送方式有三種:單播,廣播,組播。
單播(Unicast)傳輸:在發(fā)送者和每一接收者之間需要單獨的數據信道。 如果一臺主機同時給很少量的接收者傳輸數據,一般沒有什么問題。但如果有大量主機希望獲得數據包的同一份拷貝時卻很難實現。 這將導致發(fā)送者負擔沉重、延遲長、網絡擁塞;為保證一定的服務質量需增加硬件和帶寬。
組播(Multicast)傳輸:它提高了數據傳送效率。減少了主干網出現擁塞的可能性。組播組中的主機可以是在同一個物理網絡, 也可以來自不同的物理網絡(如果有組播路由器的支持)。
廣播(Broadcast)傳輸:是指在IP子網內廣播數據包,所有在子網內部的主機都將收到這些數據包。 廣播意味著網絡向子網主機都投遞一份數據包,不論這些主機是否樂于接收該數據包。然而廣播的使用范圍非常小, 只在本地子網內有效,因為路由器會封鎖廣播通信。廣播傳輸增加非接收者的開銷。
二、組播技術
2.1、組播技術的原理
組播是一種允許一個或多個發(fā)送者(組播源)發(fā)送單一的數據包到多個接收者(一次的,同時的)的網絡技術。 組播源把數據包發(fā)送到特定組播組,而只有屬于該組播組的地址才能接收到數據包。組播可以大大的節(jié)省網絡帶寬, 因為無論有多少個目標地址,在整個網絡的任何一條鏈路上只傳送單一的數據包。 它提高了數據傳送效率。減少了主干網出現擁塞的可能性。組播組中的主機可以是在同一個物理網絡, 也可以來自不同的物理網絡(如果有組播路由器的支持)。
其網絡模型如下圖所示:

2.2、實現組播技術的前提條件
實現IP組播傳輸,則組播源和接收者以及兩者之間的下層網絡都必須支持組播。這包括以下幾方面:
* 主機的TCP/IP實現支持發(fā)送和接收IP組播;
* 主機的網絡接口支持組播;
* 有一套用于加入、離開、查詢的組管理協議,即IGMP(v1,v2);
* 有一套IP地址分配策略,并能將第三層IP組播地址映射到第二層MAC地址;
* 支持IP組播的應用軟件;
* 所有介于組播源和接收者之間的路由器、集線器、交換機、TCP/IP棧、防火墻均需支持組播;
2.3、組播地址
在組播通信中,我們需要兩種地址:一個IP組播地址和一個Ethernet組播地址。其中,IP組播地址標識一個組播組。 由于所有IP數據包都封裝在Ethernet幀中,所以還需要一個組播Ethernet地址。為使組播正常工作, 主機應能同時接收單播和組播數據,這意味著主機需要多個IP和Ethernet地址。 IP地址方案專門為組播劃出一個地址范圍,在IPv4中為D類地址,范圍是224.0.0.0到239.255.255.255, 并將D類地址劃分為局部鏈接組播地址、預留組播地址、管理權限組播地址。
局部鏈接地址:224.0.0.0~224.0.0.255,用于局域網,路由器不轉發(fā)屬于此范圍的IP包;
預留組播地址:224.0.1.0~238.255.255.255,用于全球范圍或網絡協議;
管理權限地址:239.0.0.0~239.255.255.255,組織內部使用,用于限制組播范圍;
D類地址的最后28比特沒有結構化,即沒有網絡ID和主機ID之分。響應某一個IP多播地址的主機構成一個主機組,主機組可跨越多個網絡。主機組的成員數是動態(tài)的,主機可以通過IGMP協議加入或離開某個主機組。IP多播地址影射到以太網地址的方法見下圖。因為IP多播地址的高5位未影射,因此,影射的以太網地址不是唯一的,共有32個IP多播地址影射到一個以太網地址。

2.4、組播協議:
組播協議主要包括組管理協議(IGMP)和組播路由協議(密集模式協議(如DVMRP,PIM-DM)、稀疏模式協議(如PIM-SM,CBT) 和鏈路狀態(tài)協議(MOSPF))
* 組管理協議IGMP
主機使用IGMP通知子網組播路由器,希望加入組播組;路由器使用IGMP查詢本地子網中是否有屬于某個組播組的主機。
* 加入組播組
當某個主機加入某一個組播組時,它通過“成員資格報告”消息通知它所在的IP子網的組播路由器,同時將自己的IP模塊做相應的準備, 以便開始接收來自該組播組傳來的數據。如果這臺主機是它所在的IP子網中第一臺加入該組播組的主機, 通過路由信息的交換,組播路由器加入組播分布樹。
* 退出組播組
在IGMP v1中,當主機離開某一個組播組時,它將自行退出。組播路由器定時(如120秒) 使用“成員資格查詢” 消息向IP子網中的所有主機的組地址(224.0.0.1)查詢,如果某一組播組在IP子網中已經沒有任何成員, 那么組播路由器在確認這一事件后, 將不再在子網中轉發(fā)該組播組的數據。與此同時,通過路由信息交換, 從特定的組播組分布樹中刪除相應的組播路由器。 這種不通知任何人而悄悄離開的方法, 使得組播路由器知道IP子網中已經沒有任何成員的事件延時了一段時間,所以在IGMP v2.0中,當每一個主機離開某一個組播組時, 需要通知子網組播路由器,組播路由器立即向IP子網中的所有組播組詢問,從而減少了系統(tǒng)處理停止組播的延時。
* 組播路由協議
要想在一個實際網絡中實現組播數據包的轉發(fā),必須在各個互連設備上運行可互操作的組播路由協議。 組播路由協議可分為三類:密集模式協議(如DVMRP,PIM-DM)、稀疏模式協議(如PIM-SM,CBT) 和鏈路狀態(tài)協議(MOSPF),下面分別介紹各個協議的工作原理。
* 距離向量組播路由協議(Distance Vector Multicast Routing Protocol:DVMRP)
DVMRP由單播路由協議RIP擴展而來,兩者都使用距離向量算法得到網絡的拓撲信息,不同之處在于RIP根據路由表前向轉發(fā)數據, 而DVMRP則是基于RPF。為了使新加入的組播成員能及時收到組播數據,DVMPR采用定時發(fā)送數據包給所有的LAN的方法, 然而這種方法導致大量路由控制數據包的擴散,這部分開銷限制了網絡規(guī)模的擴大。另一方面,DVMRP使用跳數作為計量尺度, 其上限為32跳,這對網絡規(guī)模也是一個限制。目前提出了分層DVMRP,即對組播網絡劃分區(qū)域, 在區(qū)域內的組播可以按照任何協議進行,而對于跨區(qū)域的組播則由邊界路由器在DVMRP協議下進行,這樣可大大減少路由開銷。
* 開放式組播最短路徑優(yōu)先協議(Multicast Open Shortest Path First:MOSPF)
MOSPF是一種基于鏈路狀態(tài)的路由協議,是對單播OSPF協議的擴展。同OSPF類似,MOSPF定義了三種級別的路由:
a、 OSPF區(qū)域內組播路由:用于了解各網段中的組播成員,構造(源網絡S,組G)對的SPT;
b、 MOSPF區(qū)域間組播路由:用于匯總區(qū)域內成員關系,并在自治系統(tǒng)(AS)主干網(區(qū)域0)上發(fā)布組成員關系記錄通告,實現區(qū)域間組播包的轉發(fā)。
c、 OSPF AS 間組播路由:用于跨AS的組播包轉發(fā)。
* 協議無關組播(Protocol Independent Multicast:PIM)
PIM由IDMR(域間組播路由)工作組設計,顧名思義,PIM不依賴于某一特定單播路由協議, 它可利用各種單播路由協議建立的單播路由表完成RPF檢查功能,而不是維護一個分離的組播路由表實現組播轉發(fā)。 由于PIM無需收發(fā)組播路由更新,所以與其它組播協議相比,PIM開銷降低了許多。 PIM的設計出發(fā)點是在Internet范圍內同時支持SPT和共享樹,并使兩者之間靈活轉換,因而集中了它們的優(yōu)點提高了組播效率。 PIM定義了兩種模式:密集模式(Dense-Mode)和稀疏模式(Sparse-Mode)。
* 有核樹組播路由協議(Core-Based Trees: CBT)
CBT的基本目標是減少網絡中路由器組播狀態(tài),以提供組播的可擴展性。為此,CBT被設計成稀疏模式(與PIM-SM相似)。 CBT使用雙向共享樹,雙向共享樹以某個核心路由器為根,允許組播信息在兩個方向流動。 這一點與PIM-SM不同(PIM-SM中共享樹是單向的,在RP與組播源之間使用SPT將組播數據轉發(fā)到RP), 所以CBT不能使用RPF檢查,而使用IP包頭的目標組地址作檢查轉發(fā)緩存。這就要求對CBT共享樹的維護就需非常小心, 以確保不會產生組播路由循環(huán)。
三、組播技術的應用系統(tǒng)實現可視化Ip電話會議系統(tǒng)
上面討論了組播技術的各個技術細節(jié),下面我們以多媒體應用可視化Ip電話會議系統(tǒng)為例來探討組播技術在應用系統(tǒng)的實現。
可視化Ip電話會議系統(tǒng): 是利用計算機,多媒體通信技術和設備,通過傳輸信道在兩地或多個地點之間開會的一種通信手段。在召開會議時,處于兩地或不同地點的與會代表,既可以聽到對方的聲音,又可以看到對方的形象,同時還能看到對方會議室的場景,以及在會議中展示的事物、圖片、表格、文件等,縮短了與會代表的距離,使大家好像在同一會議室參加會議一樣。它的廣泛應用必然產生巨大的社會效益和經濟效益。系統(tǒng)結構簡圖如下:

會議的組織,召開,管理由主會場來完成。因此,主會場的視頻,聲音,通知,指示,下達的文件資料各分會場都應該收到。當某分會場發(fā)言時,其視頻,聲音同樣要傳送給其他會場。(如下圖所示)上述所有動作的完成依賴組播技術。通過組播技術把主會場的各種數據發(fā)送到參加會議的分會場中,而且把發(fā)言分會場的視音頻數據發(fā)送給其他會場:即主會場和發(fā)言分會場的各種數據只要在網上發(fā)送一次,其他會場都將收到此數據,(這就是有別于點對點通信方式的地方)而與這兩個會場在同一網段卻不參加會議的非成員不會收到數據(只要設備支持,這也是有別于廣播的地方)。因此,當會議成員增加時,不會產生信息傳輸量劇增,帶來無法忍受的網絡延時和抖動。
根據上面對組播技術的討論我們可以得出要實現可視化IP電話會議必須解決如下幾個方面問題:
3.1、組播地址
根據上面的討論我們知道應用系統(tǒng)中可采用組播地址的范圍是:224.0.1.0~238.255.255.255。那么在我們的應用系統(tǒng)中應如何使用組播地址呢?有兩種方法使用組播地址:靜態(tài)設置,動態(tài)獲取。
* 靜態(tài)獲取:
在會議系統(tǒng)中設置好組播地址,以后永遠不變。這種方式雖然比較簡單,在目前會議系統(tǒng)使用不多時沒有問題,但是如果有兩個此類會議系統(tǒng)運行,或使用相同組播地址的不同系統(tǒng)運行(由于沒有統(tǒng)一管理組播地址,開發(fā)商互相不知道),那就會出現無法解決的沖突。因為本應屬于兩個不同的組卻由于使用相同的組播地址而合為一組。這對于將來會議系統(tǒng)的廣泛應用是不可行的。
* 動態(tài)獲。
會議系統(tǒng)用到的組播地址是不定的,只在運行時臨時確定。動態(tài)獲取組播地址的方法大概有三種:通告方式獲取,算法推導方式取得,采用Internet組播地址動態(tài)分配體系結構(RFC2908)。
通告方式獲。寒敃h系統(tǒng)建立時,先偵聽10-20分鐘左右,以確定當前已使用的組播地址,防止沖突。
算法推導:根據本地的特殊條件,通過一定的算法,求出當前使用的組播地址。
采用上述三種方式獲取組播地址可有效防止地址沖突問題。雖然比較復雜,也較耗費資源,但是有利于將來的多媒體應用的擴展。
3.2、網絡設置:
由于我們以前的Internet應用大多集中于數據的交換、共享,因此在目前的
通信方式中,主要采用的是單播和廣播,對組播的考慮不是很多。但隨著多媒體應用(視頻,音頻)的發(fā)展,要求Internet網絡必須很好的支持組播,這也是會議系統(tǒng)得以運行的前提條件。因此,所有介于組播源和接收者之間的路由器、集線器、交換機、TCP/IP棧、防火墻均需支持組播。
在路由器上要安裝相應的軟件:組管理協議軟件,組播路由協議軟件等等。
如果要采用RFC2908--Internet組播地址動態(tài)分配體系結構,還應配置相應的組播地址分配服務器。
目前絕大多數集線器、交換機只是簡單的把組播數據當成廣播來發(fā)送接收。
假設某網段某一成員參加會議(采用會議系統(tǒng)),則處于同一網段(由交換機、集線器連接)的其他非會議成員其實都可收到多媒體流。這樣,非會議成員的真正可使用帶寬將急劇下降;如果有多個類似的會議系統(tǒng)(組)同時存在,那么將導致網絡擁塞,直至網絡癱瘓。同時,由于數據流被廣播,很可能會被其他非法成員利用,造成安全隱患。因此,在當今流行的用交換機組建園區(qū)網,小區(qū)網、專用局網Intranet的網絡設計中,應充分考慮到將來多媒體應用發(fā)展將會帶來的安全問題和帶寬問題。
3.3、防火墻:
可視化IP電話會議系統(tǒng)運行在Internet上,我們必須要考慮防火墻的問題。由于目前病毒泛濫,為了保護自身的安全,許多機構用一臺防火墻計算機作為在公用互聯網和本機構的專用網,即內部局網Intranet網之間的安全性網關。目前的防火墻大多基于單播通訊來設計的,而組播與單播的原理是有很大不同的:
單播通訊是由一對參與者會話的形式組成的,因此搞清楚單播通訊的安全性是基于這些參與者(每位被授權的參與者),此外"單播通訊之間的"信任"必須建立在每一個參與者的"可信任"之上,也必須建立在數據的"可信任"上。
組播的范圍有隨意性,它含蓋了不同集合的參與者,有的可能還不知道這些參與者是否具有資格。(這是它的特點,而不是BUG),因此組播的安全性不能依賴其參與者,而應該是依賴數據。特別是組播通訊是通過對包數據授權而進行授權的,例如使用數字簽名--這種數據是專門加過密的,所以組播間的信任是通過這些數據的神圣的信任關系來建立的。
為了處理組播安全問題,防火墻應該做三件事情:
* 支持所選擇的組播安全策略。(這個策略建立了正在等候的準備轉發(fā)的特殊的組播群),組播策略是由特殊的一組受允許通過防火墻轉發(fā)的組播群(和相應的UDP口)組成的安全集合。
* 動態(tài)地作出決定何時需要轉發(fā)每一個侯選組。組播組是動態(tài)變化的,只有確定有必要轉發(fā)時它才會轉發(fā)。
* 通過防火墻轉發(fā)每一個侯選組的數據!∮脕磙D發(fā)侯選組播包的實際機制將有賴于防火墻的實質,普通的防火墻設置使用兩個站點:intranet的部分,外部internet部分。這種情況下,組播包可在兩節(jié)點間使用管道協議轉發(fā)(再到另一側重新組播)。
四、總結
本文對組播技術做了全面的介紹,并對組播技術在實際的應用系統(tǒng)應解決的問題組播地址、網絡設置、防火墻進行了深入的闡述。
計算機世界網 2002/01/30
| 視頻通信的未來趨勢 2002-01-30 |
| 視頻會議標準及其市場前景 2002-01-30 |
| 分布式視頻會議系統(tǒng)的關鍵技術及實現 2002-01-30 |
| 交互電視進一步走向現實 2002-01-30 |
| 基于分組網的多媒體視聽業(yè)務的發(fā)展 2002-01-30 |