首頁(yè)>>>技術(shù)>>>視像通信  視像通信產(chǎn)品

 

組播技術(shù)及應用系統的實(shí)現

呂秋云 2002/01/30

一、引言

1.1、 問(wèn)題的引出

  近年來(lái),隨著(zhù)網(wǎng)絡(luò )技術(shù)的發(fā)展,使得各種單一媒體相繼成為網(wǎng)絡(luò )傳輸中的數據,進(jìn)而各種媒體的融合使得網(wǎng)絡(luò )多媒體運用層出不窮。目前,在Internet上產(chǎn)生了許多新的應用,其中不少是高帶寬的多媒體應用,譬如網(wǎng)絡(luò )視頻會(huì )議 (可視化IP電話(huà)會(huì )議系統)、網(wǎng)絡(luò )音頻/視頻廣播、多媒體遠程教育、遠程會(huì )診,而傳統網(wǎng)絡(luò )最初是為數據傳輸而設計的,是典型的點(diǎn)點(diǎn)通信模式,是為保證數據可靠傳輸而設計的,所用的傳輸協(xié)議多為點(diǎn)到點(diǎn)的協(xié)議。其所具有的特點(diǎn)將增加網(wǎng)絡(luò )發(fā)送負載,帶來(lái)網(wǎng)絡(luò )延時(shí)。這就帶來(lái)了帶寬的急劇消耗和網(wǎng)絡(luò )擁擠問(wèn)題。為了緩解網(wǎng)絡(luò )瓶頸, 人們提出各種方案:增加互連帶寬,改變網(wǎng)絡(luò )流量結構,IP組播技術(shù)等等,其中,IP組播技術(shù)有其獨特的優(yōu)越性——在組播網(wǎng)絡(luò )中,即使用戶(hù)數量成倍增長(cháng),主干帶寬不需要隨之增加。

  組播技術(shù)可形象的描述如下: 

  假設一個(gè)企業(yè)分布于各地的子公司(兩個(gè)以上)之間需要通過(guò)Internet進(jìn)行實(shí)時(shí)的交換信息(數據,聲音,圖像),他們的計算機可能不屬于同一物理網(wǎng)絡(luò ),甚至不屬于同一自治系統,這種通信的特點(diǎn)是“多點(diǎn)”式的。子公司發(fā)出的數據希望其他子公司都能收到,而總部發(fā)出的指示全體子公司都應收到。這種多點(diǎn)通信方式為組內廣播,即組播技術(shù),也稱(chēng)多播技術(shù),多目網(wǎng)關(guān)技術(shù)。

1.2、TCP/IP傳送方式

  組播技術(shù)是TCP/IP傳送方式的一種。在我們討論組播技術(shù)之前先來(lái)看看TCP/IP傳送方式。TCP/IP傳送方式有三種:?jiǎn)尾ィ瑥V播,組播。

  單播(Unicast)傳輸:在發(fā)送者和每一接收者之間需要單獨的數據信道。 如果一臺主機同時(shí)給很少量的接收者傳輸數據,一般沒(méi)有什么問(wèn)題。但如果有大量主機希望獲得數據包的同一份拷貝時(shí)卻很難實(shí)現。 這將導致發(fā)送者負擔沉重、延遲長(cháng)、網(wǎng)絡(luò )擁塞;為保證一定的服務(wù)質(zhì)量需增加硬件和帶寬。

  組播(Multicast)傳輸:它提高了數據傳送效率。減少了主干網(wǎng)出現擁塞的可能性。組播組中的主機可以是在同一個(gè)物理網(wǎng)絡(luò ), 也可以來(lái)自不同的物理網(wǎng)絡(luò )(如果有組播路由器的支持)。

  廣播(Broadcast)傳輸:是指在IP子網(wǎng)內廣播數據包,所有在子網(wǎng)內部的主機都將收到這些數據包。 廣播意味著(zhù)網(wǎng)絡(luò )向子網(wǎng)主機都投遞一份數據包,不論這些主機是否樂(lè )于接收該數據包。然而廣播的使用范圍非常小, 只在本地子網(wǎng)內有效,因為路由器會(huì )封鎖廣播通信。廣播傳輸增加非接收者的開(kāi)銷(xiāo)。

二、組播技術(shù)

2.1、組播技術(shù)的原理

  組播是一種允許一個(gè)或多個(gè)發(fā)送者(組播源)發(fā)送單一的數據包到多個(gè)接收者(一次的,同時(shí)的)的網(wǎng)絡(luò )技術(shù)。 組播源把數據包發(fā)送到特定組播組,而只有屬于該組播組的地址才能接收到數據包。組播可以大大的節省網(wǎng)絡(luò )帶寬, 因為無(wú)論有多少個(gè)目標地址,在整個(gè)網(wǎng)絡(luò )的任何一條鏈路上只傳送單一的數據包。 它提高了數據傳送效率。減少了主干網(wǎng)出現擁塞的可能性。組播組中的主機可以是在同一個(gè)物理網(wǎng)絡(luò ), 也可以來(lái)自不同的物理網(wǎng)絡(luò )(如果有組播路由器的支持)。

  其網(wǎng)絡(luò )模型如下圖所示:

2.2、實(shí)現組播技術(shù)的前提條件

  實(shí)現IP組播傳輸,則組播源和接收者以及兩者之間的下層網(wǎng)絡(luò )都必須支持組播。這包括以下幾方面:

  * 主機的TCP/IP實(shí)現支持發(fā)送和接收IP組播;

  * 主機的網(wǎng)絡(luò )接口支持組播;

  * 有一套用于加入、離開(kāi)、查詢(xún)的組管理協(xié)議,即IGMP(v1,v2);

  * 有一套IP地址分配策略,并能將第三層IP組播地址映射到第二層MAC地址;

  * 支持IP組播的應用軟件;

  * 所有介于組播源和接收者之間的路由器、集線(xiàn)器、交換機、TCP/IP棧、防火墻均需支持組播;

2.3、組播地址

  在組播通信中,我們需要兩種地址:一個(gè)IP組播地址和一個(gè)Ethernet組播地址。其中,IP組播地址標識一個(gè)組播組。 由于所有IP數據包都封裝在Ethernet幀中,所以還需要一個(gè)組播Ethernet地址。為使組播正常工作, 主機應能同時(shí)接收單播和組播數據,這意味著(zhù)主機需要多個(gè)IP和Ethernet地址。 IP地址方案專(zhuān)門(mén)為組播劃出一個(gè)地址范圍,在IPv4中為D類(lèi)地址,范圍是224.0.0.0到239.255.255.255, 并將D類(lèi)地址劃分為局部鏈接組播地址、預留組播地址、管理權限組播地址。

  局部鏈接地址:224.0.0.0~224.0.0.255,用于局域網(wǎng),路由器不轉發(fā)屬于此范圍的IP包;

  預留組播地址:224.0.1.0~238.255.255.255,用于全球范圍或網(wǎng)絡(luò )協(xié)議;

  管理權限地址:239.0.0.0~239.255.255.255,組織內部使用,用于限制組播范圍;

  D類(lèi)地址的最后28比特沒(méi)有結構化,即沒(méi)有網(wǎng)絡(luò )ID和主機ID之分。響應某一個(gè)IP多播地址的主機構成一個(gè)主機組,主機組可跨越多個(gè)網(wǎng)絡(luò )。主機組的成員數是動(dòng)態(tài)的,主機可以通過(guò)IGMP協(xié)議加入或離開(kāi)某個(gè)主機組。IP多播地址影射到以太網(wǎng)地址的方法見(jiàn)下圖。因為IP多播地址的高5位未影射,因此,影射的以太網(wǎng)地址不是唯一的,共有32個(gè)IP多播地址影射到一個(gè)以太網(wǎng)地址。

2.4、組播協(xié)議:

  組播協(xié)議主要包括組管理協(xié)議(IGMP)和組播路由協(xié)議(密集模式協(xié)議(如DVMRP,PIM-DM)、稀疏模式協(xié)議(如PIM-SM,CBT) 和鏈路狀態(tài)協(xié)議(MOSPF))

  * 組管理協(xié)議IGMP

  主機使用IGMP通知子網(wǎng)組播路由器,希望加入組播組;路由器使用IGMP查詢(xún)本地子網(wǎng)中是否有屬于某個(gè)組播組的主機。

  * 加入組播組

  當某個(gè)主機加入某一個(gè)組播組時(shí),它通過(guò)“成員資格報告”消息通知它所在的IP子網(wǎng)的組播路由器,同時(shí)將自己的IP模塊做相應的準備, 以便開(kāi)始接收來(lái)自該組播組傳來(lái)的數據。如果這臺主機是它所在的IP子網(wǎng)中第一臺加入該組播組的主機, 通過(guò)路由信息的交換,組播路由器加入組播分布樹(shù)。

  * 退出組播組

  在IGMP v1中,當主機離開(kāi)某一個(gè)組播組時(shí),它將自行退出。組播路由器定時(shí)(如120秒) 使用“成員資格查詢(xún)” 消息向IP子網(wǎng)中的所有主機的組地址(224.0.0.1)查詢(xún),如果某一組播組在IP子網(wǎng)中已經(jīng)沒(méi)有任何成員, 那么組播路由器在確認這一事件后, 將不再在子網(wǎng)中轉發(fā)該組播組的數據。與此同時(shí),通過(guò)路由信息交換, 從特定的組播組分布樹(shù)中刪除相應的組播路由器。 這種不通知任何人而悄悄離開(kāi)的方法, 使得組播路由器知道IP子網(wǎng)中已經(jīng)沒(méi)有任何成員的事件延時(shí)了一段時(shí)間,所以在IGMP v2.0中,當每一個(gè)主機離開(kāi)某一個(gè)組播組時(shí), 需要通知子網(wǎng)組播路由器,組播路由器立即向IP子網(wǎng)中的所有組播組詢(xún)問(wèn),從而減少了系統處理停止組播的延時(shí)。

  * 組播路由協(xié)議

  要想在一個(gè)實(shí)際網(wǎng)絡(luò )中實(shí)現組播數據包的轉發(fā),必須在各個(gè)互連設備上運行可互操作的組播路由協(xié)議。 組播路由協(xié)議可分為三類(lèi):密集模式協(xié)議(如DVMRP,PIM-DM)、稀疏模式協(xié)議(如PIM-SM,CBT) 和鏈路狀態(tài)協(xié)議(MOSPF),下面分別介紹各個(gè)協(xié)議的工作原理。

  * 距離向量組播路由協(xié)議(Distance Vector Multicast Routing Protocol:DVMRP)

  DVMRP由單播路由協(xié)議RIP擴展而來(lái),兩者都使用距離向量算法得到網(wǎng)絡(luò )的拓撲信息,不同之處在于RIP根據路由表前向轉發(fā)數據, 而DVMRP則是基于RPF。為了使新加入的組播成員能及時(shí)收到組播數據,DVMPR采用定時(shí)發(fā)送數據包給所有的LAN的方法, 然而這種方法導致大量路由控制數據包的擴散,這部分開(kāi)銷(xiāo)限制了網(wǎng)絡(luò )規模的擴大。另一方面,DVMRP使用跳數作為計量尺度, 其上限為32跳,這對網(wǎng)絡(luò )規模也是一個(gè)限制。目前提出了分層DVMRP,即對組播網(wǎng)絡(luò )劃分區域, 在區域內的組播可以按照任何協(xié)議進(jìn)行,而對于跨區域的組播則由邊界路由器在DVMRP協(xié)議下進(jìn)行,這樣可大大減少路由開(kāi)銷(xiāo)。

  * 開(kāi)放式組播最短路徑優(yōu)先協(xié)議(Multicast Open Shortest Path First:MOSPF)

  MOSPF是一種基于鏈路狀態(tài)的路由協(xié)議,是對單播OSPF協(xié)議的擴展。同OSPF類(lèi)似,MOSPF定義了三種級別的路由:

  a、 OSPF區域內組播路由:用于了解各網(wǎng)段中的組播成員,構造(源網(wǎng)絡(luò )S,組G)對的SPT;

  b、 MOSPF區域間組播路由:用于匯總區域內成員關(guān)系,并在自治系統(AS)主干網(wǎng)(區域0)上發(fā)布組成員關(guān)系記錄通告,實(shí)現區域間組播包的轉發(fā)。

  c、 OSPF AS 間組播路由:用于跨AS的組播包轉發(fā)。

  * 協(xié)議無(wú)關(guān)組播(Protocol Independent Multicast:PIM)

  PIM由IDMR(域間組播路由)工作組設計,顧名思義,PIM不依賴(lài)于某一特定單播路由協(xié)議, 它可利用各種單播路由協(xié)議建立的單播路由表完成RPF檢查功能,而不是維護一個(gè)分離的組播路由表實(shí)現組播轉發(fā)。 由于PIM無(wú)需收發(fā)組播路由更新,所以與其它組播協(xié)議相比,PIM開(kāi)銷(xiāo)降低了許多。 PIM的設計出發(fā)點(diǎn)是在Internet范圍內同時(shí)支持SPT和共享樹(shù),并使兩者之間靈活轉換,因而集中了它們的優(yōu)點(diǎn)提高了組播效率。 PIM定義了兩種模式:密集模式(Dense-Mode)和稀疏模式(Sparse-Mode)。

  * 有核樹(shù)組播路由協(xié)議(Core-Based Trees: CBT)

  CBT的基本目標是減少網(wǎng)絡(luò )中路由器組播狀態(tài),以提供組播的可擴展性。為此,CBT被設計成稀疏模式(與PIM-SM相似)。 CBT使用雙向共享樹(shù),雙向共享樹(shù)以某個(gè)核心路由器為根,允許組播信息在兩個(gè)方向流動(dòng)。 這一點(diǎn)與PIM-SM不同(PIM-SM中共享樹(shù)是單向的,在RP與組播源之間使用SPT將組播數據轉發(fā)到RP), 所以CBT不能使用RPF檢查,而使用IP包頭的目標組地址作檢查轉發(fā)緩存。這就要求對CBT共享樹(shù)的維護就需非常小心, 以確保不會(huì )產(chǎn)生組播路由循環(huán)。

三、組播技術(shù)的應用系統實(shí)現可視化Ip電話(huà)會(huì )議系統

  上面討論了組播技術(shù)的各個(gè)技術(shù)細節,下面我們以多媒體應用可視化Ip電話(huà)會(huì )議系統為例來(lái)探討組播技術(shù)在應用系統的實(shí)現。

  可視化Ip電話(huà)會(huì )議系統: 是利用計算機,多媒體通信技術(shù)和設備,通過(guò)傳輸信道在兩地或多個(gè)地點(diǎn)之間開(kāi)會(huì )的一種通信手段。在召開(kāi)會(huì )議時(shí),處于兩地或不同地點(diǎn)的與會(huì )代表,既可以聽(tīng)到對方的聲音,又可以看到對方的形象,同時(shí)還能看到對方會(huì )議室的場(chǎng)景,以及在會(huì )議中展示的事物、圖片、表格、文件等,縮短了與會(huì )代表的距離,使大家好像在同一會(huì )議室參加會(huì )議一樣。它的廣泛應用必然產(chǎn)生巨大的社會(huì )效益和經(jīng)濟效益。系統結構簡(jiǎn)圖如下:

  會(huì )議的組織,召開(kāi),管理由主會(huì )場(chǎng)來(lái)完成。因此,主會(huì )場(chǎng)的視頻,聲音,通知,指示,下達的文件資料各分會(huì )場(chǎng)都應該收到。當某分會(huì )場(chǎng)發(fā)言時(shí),其視頻,聲音同樣要傳送給其他會(huì )場(chǎng)。(如下圖所示)上述所有動(dòng)作的完成依賴(lài)組播技術(shù)。通過(guò)組播技術(shù)把主會(huì )場(chǎng)的各種數據發(fā)送到參加會(huì )議的分會(huì )場(chǎng)中,而且把發(fā)言分會(huì )場(chǎng)的視音頻數據發(fā)送給其他會(huì )場(chǎng):即主會(huì )場(chǎng)和發(fā)言分會(huì )場(chǎng)的各種數據只要在網(wǎng)上發(fā)送一次,其他會(huì )場(chǎng)都將收到此數據,(這就是有別于點(diǎn)對點(diǎn)通信方式的地方)而與這兩個(gè)會(huì )場(chǎng)在同一網(wǎng)段卻不參加會(huì )議的非成員不會(huì )收到數據(只要設備支持,這也是有別于廣播的地方)。因此,當會(huì )議成員增加時(shí),不會(huì )產(chǎn)生信息傳輸量劇增,帶來(lái)無(wú)法忍受的網(wǎng)絡(luò )延時(shí)和抖動(dòng)。

  根據上面對組播技術(shù)的討論我們可以得出要實(shí)現可視化IP電話(huà)會(huì )議必須解決如下幾個(gè)方面問(wèn)題:

3.1、組播地址

  根據上面的討論我們知道應用系統中可采用組播地址的范圍是:224.0.1.0~238.255.255.255。那么在我們的應用系統中應如何使用組播地址呢?有兩種方法使用組播地址:靜態(tài)設置,動(dòng)態(tài)獲取。

  * 靜態(tài)獲取:

  在會(huì )議系統中設置好組播地址,以后永遠不變。這種方式雖然比較簡(jiǎn)單,在目前會(huì )議系統使用不多時(shí)沒(méi)有問(wèn)題,但是如果有兩個(gè)此類(lèi)會(huì )議系統運行,或使用相同組播地址的不同系統運行(由于沒(méi)有統一管理組播地址,開(kāi)發(fā)商互相不知道),那就會(huì )出現無(wú)法解決的沖突。因為本應屬于兩個(gè)不同的組卻由于使用相同的組播地址而合為一組。這對于將來(lái)會(huì )議系統的廣泛應用是不可行的。

  * 動(dòng)態(tài)獲取:

  會(huì )議系統用到的組播地址是不定的,只在運行時(shí)臨時(shí)確定。動(dòng)態(tài)獲取組播地址的方法大概有三種:通告方式獲取,算法推導方式取得,采用Internet組播地址動(dòng)態(tài)分配體系結構(RFC2908)。

  通告方式獲取:當會(huì )議系統建立時(shí),先偵聽(tīng)10-20分鐘左右,以確定當前已使用的組播地址,防止沖突。

  算法推導:根據本地的特殊條件,通過(guò)一定的算法,求出當前使用的組播地址。

  采用上述三種方式獲取組播地址可有效防止地址沖突問(wèn)題。雖然比較復雜,也較耗費資源,但是有利于將來(lái)的多媒體應用的擴展。

3.2、網(wǎng)絡(luò )設置:

  由于我們以前的Internet應用大多集中于數據的交換、共享,因此在目前的

  通信方式中,主要采用的是單播和廣播,對組播的考慮不是很多。但隨著(zhù)多媒體應用(視頻,音頻)的發(fā)展,要求Internet網(wǎng)絡(luò )必須很好的支持組播,這也是會(huì )議系統得以運行的前提條件。因此,所有介于組播源和接收者之間的路由器、集線(xiàn)器、交換機、TCP/IP棧、防火墻均需支持組播。

  在路由器上要安裝相應的軟件:組管理協(xié)議軟件,組播路由協(xié)議軟件等等。

  如果要采用RFC2908--Internet組播地址動(dòng)態(tài)分配體系結構,還應配置相應的組播地址分配服務(wù)器。

  目前絕大多數集線(xiàn)器、交換機只是簡(jiǎn)單的把組播數據當成廣播來(lái)發(fā)送接收。

  假設某網(wǎng)段某一成員參加會(huì )議(采用會(huì )議系統),則處于同一網(wǎng)段(由交換機、集線(xiàn)器連接)的其他非會(huì )議成員其實(shí)都可收到多媒體流。這樣,非會(huì )議成員的真正可使用帶寬將急劇下降;如果有多個(gè)類(lèi)似的會(huì )議系統(組)同時(shí)存在,那么將導致網(wǎng)絡(luò )擁塞,直至網(wǎng)絡(luò )癱瘓。同時(shí),由于數據流被廣播,很可能會(huì )被其他非法成員利用,造成安全隱患。因此,在當今流行的用交換機組建園區網(wǎng),小區網(wǎng)、專(zhuān)用局網(wǎng)Intranet的網(wǎng)絡(luò )設計中,應充分考慮到將來(lái)多媒體應用發(fā)展將會(huì )帶來(lái)的安全問(wèn)題和帶寬問(wèn)題。

3.3、防火墻:

  可視化IP電話(huà)會(huì )議系統運行在Internet上,我們必須要考慮防火墻的問(wèn)題。由于目前病毒泛濫,為了保護自身的安全,許多機構用一臺防火墻計算機作為在公用互聯(lián)網(wǎng)和本機構的專(zhuān)用網(wǎng),即內部局網(wǎng)Intranet網(wǎng)之間的安全性網(wǎng)關(guān)。目前的防火墻大多基于單播通訊來(lái)設計的,而組播與單播的原理是有很大不同的:

  單播通訊是由一對參與者會(huì )話(huà)的形式組成的,因此搞清楚單播通訊的安全性是基于這些參與者(每位被授權的參與者),此外"單播通訊之間的"信任"必須建立在每一個(gè)參與者的"可信任"之上,也必須建立在數據的"可信任"上。

  組播的范圍有隨意性,它含蓋了不同集合的參與者,有的可能還不知道這些參與者是否具有資格。(這是它的特點(diǎn),而不是BUG),因此組播的安全性不能依賴(lài)其參與者,而應該是依賴(lài)數據。特別是組播通訊是通過(guò)對包數據授權而進(jìn)行授權的,例如使用數字簽名--這種數據是專(zhuān)門(mén)加過(guò)密的,所以組播間的信任是通過(guò)這些數據的神圣的信任關(guān)系來(lái)建立的。

  為了處理組播安全問(wèn)題,防火墻應該做三件事情:

  * 支持所選擇的組播安全策略。(這個(gè)策略建立了正在等候的準備轉發(fā)的特殊的組播群),組播策略是由特殊的一組受允許通過(guò)防火墻轉發(fā)的組播群(和相應的UDP口)組成的安全集合。

  * 動(dòng)態(tài)地作出決定何時(shí)需要轉發(fā)每一個(gè)侯選組。組播組是動(dòng)態(tài)變化的,只有確定有必要轉發(fā)時(shí)它才會(huì )轉發(fā)。

  * 通過(guò)防火墻轉發(fā)每一個(gè)侯選組的數據。 用來(lái)轉發(fā)侯選組播包的實(shí)際機制將有賴(lài)于防火墻的實(shí)質(zhì),普通的防火墻設置使用兩個(gè)站點(diǎn):intranet的部分,外部internet部分。這種情況下,組播包可在兩節點(diǎn)間使用管道協(xié)議轉發(fā)(再到另一側重新組播)。

四、總結

  本文對組播技術(shù)做了全面的介紹,并對組播技術(shù)在實(shí)際的應用系統應解決的問(wèn)題組播地址、網(wǎng)絡(luò )設置、防火墻進(jìn)行了深入的闡述。

計算機世界網(wǎng) 2002/01/30



相關(guān)鏈接:
視頻通信的未來(lái)趨勢 2002-01-30
視頻會(huì )議標準及其市場(chǎng)前景 2002-01-30
分布式視頻會(huì )議系統的關(guān)鍵技術(shù)及實(shí)現 2002-01-30
交互電視進(jìn)一步走向現實(shí) 2002-01-30
基于分組網(wǎng)的多媒體視聽(tīng)業(yè)務(wù)的發(fā)展 2002-01-30

分類(lèi)信息:     技術(shù)_視像通訊_文摘
亚洲精品网站在线观看不卡无广告,国产a不卡片精品免费观看,欧美亚洲一区二区三区在线,国产一区二区三区日韩 顺平县| 米泉市| 太湖县| 石屏县| 新建县| 巫山县| 南丰县| 武乡县| 吉隆县| 石城县| 五原县| 赤水市| 阜城县| 沅江市| 岢岚县| 成武县| 甘洛县| 延寿县| 张家界市| 循化| 上林县| 宁河县| 舒兰市| 宁波市| 三门峡市| 大渡口区| 观塘区| 江川县| 梅州市| 平顶山市| 奈曼旗| 木里| 开阳县| 象州县| 双鸭山市| 博野县| 惠水县| 莲花县| 延长县| 萝北县| 新郑市| http://444 http://444 http://444 http://444 http://444 http://444