蔣東星 鄭少仁
南京通信工程學院ATM中心
摘要 本文綜述了IP網(wǎng)絡(luò)中組播實現(xiàn)體制和技術(shù)的新發(fā)展。首先,對在IP層實現(xiàn)組播的體系結(jié)構(gòu)——IP組播進行了深入的探討,分析、比較了IP組播兩種業(yè)務(wù)模型――標準業(yè)務(wù)模型和確定源節(jié)點業(yè)務(wù)模型,討論了IP組播存在的問題和發(fā)展趨勢。接著,對應(yīng)用層實現(xiàn)組播的體系結(jié)構(gòu)進行了討論,描述了應(yīng)用層組播體制的主要功能和機制,對主要的幾個應(yīng)用層組播方案進行了比較,探討了應(yīng)用層組播體制的優(yōu)缺點。最后對未來Internet中組播業(yè)務(wù)的實現(xiàn)提出了一些看法。
關(guān)鍵詞 Internet 組播業(yè)務(wù) IP組播 疊加網(wǎng) 應(yīng)用層組播
1 前言
組播(multicast)是一到多或者多到多的多方通信形式,遠程會議、交互式仿真、分布式內(nèi)容系統(tǒng)、多方游戲等應(yīng)用都對組播業(yè)務(wù)(multicast service)提出了需求。在OSI模型的網(wǎng)絡(luò)層或者應(yīng)用層實現(xiàn)業(yè)務(wù)是目前組播業(yè)務(wù)的兩種實現(xiàn)體制,本文對這兩種體制的體系結(jié)構(gòu)進行了討論,對兩種體系結(jié)構(gòu)的發(fā)展及其對IP網(wǎng)絡(luò)體系結(jié)構(gòu)的影響提出了一些看法。
2 IP組播的歷史、現(xiàn)狀及困境
1988年Deering提出了將組播的功能機制增加到數(shù)據(jù)網(wǎng)IP層的組播實現(xiàn)體系結(jié)構(gòu),這種體系結(jié)構(gòu)稱為 IP組播(IP multicast)。IETF RFC1112對IP組播的業(yè)務(wù)提供的方式和形式進行了描述和定義,被看成是IP組播的標準業(yè)務(wù)模型的定義。
標準IP組播業(yè)務(wù)模型定義了主機和路由器IP層應(yīng)有的功能機制和上層所看到的組播業(yè)務(wù)的形式。主機組(host group)是IP組播概念的核心,多個主機組成主機組,用一個IP組播地址標識,以組地址為目的地址的組播數(shù)據(jù)以IP數(shù)據(jù)報的best-effort方式轉(zhuǎn)發(fā)到主機組的各個主機。組播路由器承擔組播數(shù)據(jù)的尋路和轉(zhuǎn)發(fā)控制功能,這些路由器及鏈路在網(wǎng)絡(luò)中形成了一個控制組播數(shù)據(jù)傳送的邏輯結(jié)構(gòu),稱為組播轉(zhuǎn)發(fā)結(jié)構(gòu)(delivery structure),這種結(jié)構(gòu)一般是樹形的結(jié)構(gòu),稱為轉(zhuǎn)發(fā)樹,在轉(zhuǎn)發(fā)樹上的組播路由器接收、復制、轉(zhuǎn)發(fā)組播數(shù)據(jù)。
歷經(jīng)20多年的研究和發(fā)展,IP組播已經(jīng)形成了較為完整的組播協(xié)議體系,包括組播主機和網(wǎng)絡(luò)的交互協(xié)議、組播路由協(xié)議、組播的地址管理協(xié)議等。
組播路由協(xié)議是IP組播協(xié)議體系中最核心的功能。IP組播路由協(xié)議的發(fā)展分成域內(nèi)(intra-domain)和域間(inter-domain)兩個階段:最初的IP組播路由協(xié)議將網(wǎng)絡(luò)看成沒有層次結(jié)構(gòu)的平面網(wǎng)絡(luò),組播路由算法采用廣播方式交互協(xié)議消息,因而只能應(yīng)用在IP網(wǎng)絡(luò)的路由自治域內(nèi),稱為域內(nèi)路由協(xié)議;域間路由協(xié)議的出現(xiàn)是為了解決在大型的、分層的IP網(wǎng)絡(luò)中組播路由問題,大型IP網(wǎng)絡(luò)采用自治域結(jié)構(gòu)形式組織網(wǎng)絡(luò),域間路由協(xié)議解決了分層結(jié)構(gòu)網(wǎng)絡(luò)的組播路由問題。
1992年IP組播實驗網(wǎng)——Mbone建立,從1992~1997年,IP組播的協(xié)議標準和部署方法在Mbone中進行研究實驗。1997年以后,分層結(jié)構(gòu)網(wǎng)絡(luò)域間組播路由的標準化成為IP組播研究的主要領(lǐng)域,域間路由協(xié)議體系的部署實驗開始在Internet 2的兩個骨干網(wǎng)(vBNS, Abilene)中進行,從1999年中開始采用MBGP/MSDP[1,2]和PIM-SM[3]協(xié)議體系實現(xiàn)域間組播路由。
目前絕大多數(shù)面向內(nèi)部網(wǎng)絡(luò)的路由器都實現(xiàn)了PIM-SM組播路由協(xié)議和IGMP協(xié)議,具有支持組播業(yè)務(wù)的能力。在一些內(nèi)部網(wǎng)絡(luò)中,IP組播業(yè)務(wù)已經(jīng)得到一些應(yīng)用,比如基于IP組播建立的視頻傳輸系統(tǒng)可以有效地支持大規(guī)模的接收終端,但是由于對組播業(yè)務(wù)的管理還缺乏有效的解決方案,路由器的組播功能往往沒有開放。
隨著對IP網(wǎng)絡(luò)組播研究的深入,業(yè)界普遍認識到僅僅依靠標準組播業(yè)務(wù)模型無法很好地支持所有的組播應(yīng)用,而大量的、可以預(yù)見的組播應(yīng)用是源節(jié)點確定的應(yīng)用,由此提出了采用單源組播業(yè)務(wù)模型支持單源組播應(yīng)用的思想,IETF提出的 SSM(source specified multicast)[4]體系結(jié)構(gòu)是基于單源組播思想的,SSM采用了嚴格的一到多業(yè)務(wù)模型。
SSM業(yè)務(wù)模型引入了組播通道的概念,組播通道(組播源地址,組播組)是二元組,組播源地址是唯一可以發(fā)送組播數(shù)據(jù)的源主機的IP地址,組播組是一個SSM組播地址,組播通道是組播路由器轉(zhuǎn)發(fā)組播數(shù)據(jù)報使用的信息。
與標準組播業(yè)務(wù)模型相比較,SSM業(yè)務(wù)模型具有以下的優(yōu)點:SSM模型提供了組播接入的限制機制;組播源節(jié)點確定,路由協(xié)議實現(xiàn)簡化;組播組的管理由源節(jié)點管理和協(xié)調(diào),不需要全網(wǎng)絡(luò)的組地址管理機制。
SSM業(yè)務(wù)模型提出后,迅速得到了學術(shù)界、工業(yè)界的重視和支持,實現(xiàn)SSM業(yè)務(wù)的協(xié)議體系研究進入了一個快速發(fā)展時期,提出了PIM-SSM和IGMPv3草案,PIM-SSM是支持SSM業(yè)務(wù)模型的組播路由協(xié)議,IGMPv3草案支持SSM業(yè)務(wù)模型。
從因特網(wǎng)中IP組播的應(yīng)用現(xiàn)狀看,盡管經(jīng)過了20多年的發(fā)展,IP組播并沒有取得預(yù)期的成功。一方面,因特網(wǎng)中的網(wǎng)絡(luò)極少開放IP組播業(yè)務(wù),至今還沒有全因特網(wǎng)范圍的組播業(yè)務(wù);另一方面,基于IP組播的上層應(yīng)用也屈指可數(shù),相對于WWW等新的體系結(jié)構(gòu),IP組播的發(fā)展非常緩慢。
從因特網(wǎng)發(fā)展的過程和IP網(wǎng)絡(luò)的體系結(jié)構(gòu)看,阻礙IP組播業(yè)務(wù)發(fā)展的主要因素為:
IP組播體系結(jié)構(gòu)缺乏可擴展性。路由器需要為每個活動的組維護路由狀態(tài)信息,而且這些組播地址不能聚合,網(wǎng)絡(luò)中大量的活動組將需要路由器巨大的存儲和處理開銷。此外,組播組成員的動態(tài)使網(wǎng)絡(luò)必須動態(tài)維護路由狀態(tài),更增加了組播路由器的處理開銷。
開放的IP組播模型在開放的因特網(wǎng)環(huán)境中難以支持有效的管理和控制機制。標準的IP組播業(yè)務(wù)模型是一種any source、any receiver的開放模型,任何節(jié)點都可以創(chuàng)建組,可以向組發(fā)送數(shù)據(jù),節(jié)點可以加入任何感興趣的組接收數(shù)據(jù),發(fā)送節(jié)點不知道具體的單個接收節(jié)點,接收節(jié)點也不需要知道發(fā)送數(shù)據(jù)的節(jié)點。在這種模型下,接入控制、組管理、組地址的協(xié)調(diào)機制一直沒有有效的解決方案.
IP組播還沒有清晰的商業(yè)費用模型,網(wǎng)絡(luò)運營商之間有不同的利益取向。目前骨干網(wǎng)運營商以帶寬使用獲得收益,對承載的是IP單播業(yè)務(wù)還是IP組播業(yè)務(wù)沒有必要區(qū)分,也就沒有動力在路由器中增加對IP組播的支持。
3 應(yīng)用層組播
面對IP組播業(yè)務(wù)在因特網(wǎng)中的困境,一些研究者開始反思IP組播體系結(jié)構(gòu)本身的問題,提出將復雜的組播功能放在端系統(tǒng)實現(xiàn)的新思想。
端系統(tǒng)實現(xiàn)組播業(yè)務(wù)的思想是將組播作為一種疊加的業(yè)務(wù),實現(xiàn)為應(yīng)用層的服務(wù),因此,端系統(tǒng)組播又稱為應(yīng)用層組播(application layer multicast)。圖1顯示了應(yīng)用層組播在IP體系結(jié)構(gòu)中所處的位置。應(yīng)用層組播網(wǎng)的節(jié)點是組播成員主機,數(shù)據(jù)路由、復制、轉(zhuǎn)發(fā)功能都由成員主機完成,成員主機之間建立一個疊加在IP網(wǎng)絡(luò)之上的、實現(xiàn)組播業(yè)務(wù)邏輯的功能性網(wǎng)絡(luò),稱為疊加網(wǎng)(overlay network),主機基于自組織算法建立和維護疊加網(wǎng)。圖2示意了應(yīng)用層組播的基本思想及其與IP組播的差別,IP組播的數(shù)據(jù)沿著物理鏈路復制和轉(zhuǎn)發(fā),而應(yīng)用層組播的數(shù)據(jù)則在主機實現(xiàn)復制和轉(zhuǎn)發(fā),數(shù)據(jù)報沿著邏輯鏈路轉(zhuǎn)發(fā),多跳邏輯鏈路可能經(jīng)過同一條物理鏈路。
自組織算法是端系統(tǒng)組網(wǎng)的核心功能和機制,自組織算法的主要功能包括:周期性地交換節(jié)點狀態(tài)信息,通報組成員狀態(tài);周期性地收集網(wǎng)絡(luò)邏輯連接的帶寬、時延等動態(tài)參數(shù);動態(tài)地調(diào)整疊加網(wǎng)拓撲。
直觀上,端系統(tǒng)實現(xiàn)組播功能可以避開網(wǎng)絡(luò)層實現(xiàn)組播功能的許多難題:一是應(yīng)用層組播的狀態(tài)在主機系統(tǒng)中維護,不需要路由器保持組的狀態(tài),解決了業(yè)務(wù)的擴展性問題,網(wǎng)絡(luò)可以支持大量的組播組。二是組播應(yīng)用可以隨時部署,不需要網(wǎng)絡(luò)設(shè)備的升級和功能擴展。三是可以簡化組播的控制、可靠等功能的實現(xiàn),建立在網(wǎng)絡(luò)連接之上的應(yīng)用層組播可以使用TCP、UDP服務(wù),如可以利用TCP的可靠和擁塞控制簡化組播的可靠和擁塞控制。
當然,應(yīng)用層組播也有許多局限:一是端系統(tǒng)對IP網(wǎng)絡(luò)的了解有限,節(jié)點參與組網(wǎng)時,只能通過探測獲得一些網(wǎng)絡(luò)性能參數(shù),選取的邏輯鏈路難以優(yōu)化;二是主機不了解IP網(wǎng)絡(luò)的拓撲結(jié)構(gòu),只能通過帶寬和時延等外在的特性參數(shù),以啟發(fā)式的方式建立疊加網(wǎng),邏輯鏈路不能較好地利用質(zhì)量較好的底層網(wǎng)絡(luò)資源,疊加網(wǎng)的多條鏈路可能經(jīng)過同一條物理鏈路。
4 應(yīng)用層組播的研究現(xiàn)狀和進展
應(yīng)用層組播思想提出后的短短幾年內(nèi),多個研究機構(gòu)開展了應(yīng)用層組播體系結(jié)構(gòu)的研究項目,如:ESM(end system multicast)[5]、YOID[6]、Scattercast[7]、Overcast[8]、ALMI[9]、HM(host multicast)[10]等,我們首先對這幾個項目進行簡單的介紹,然后做一個比較。
(1)ESM
ESM是CMU(卡耐基·梅隆大學)開展的一個端系統(tǒng)組播研究項目,是目前為止最成功的一個項目。2000年,ESM的研究表明,在端系統(tǒng)中實現(xiàn)組播功能的體系結(jié)構(gòu)是可行的,可以支持組成員在幾百范圍內(nèi)、分布稀疏的、較小規(guī)模的多方通信。2001年,通過在因特網(wǎng)中實際運行基于ESM的視頻會議,驗證了ESM采用的自組織協(xié)議可以在動態(tài)的、異構(gòu)的因特網(wǎng)中支持較小規(guī)模的視頻應(yīng)用。
Narada是ESM的組網(wǎng)協(xié)議。Narada協(xié)議首先在組播成員之間建立一個網(wǎng)狀的疊加網(wǎng), 然后在疊加網(wǎng)上運行組播路由協(xié)議,建立一棵組播轉(zhuǎn)發(fā)樹。通過動態(tài)探測網(wǎng)絡(luò)狀態(tài),Narada動態(tài)地對疊加網(wǎng)進行維護和改良。
(2)YOID
YOID是ACIRI(AT&T Center for Internet Research at ICSI) 研究中心在2000年提出的,基于應(yīng)用層組播的一整套內(nèi)容分發(fā)的解決方案,包括了應(yīng)用層組播之上的可靠、安全、擁塞控制等機制。YMTP(YOID multicast tree protocol)是YOID體系的核心,是一種自組織的拓撲管理協(xié)議,將主機組織成網(wǎng)狀網(wǎng)和共享的組播轉(zhuǎn)發(fā)樹。
(3)Scattercast
2000年,Berkeley大學的Y.Chawache在其博士論文中提出了Scattercast的體系結(jié)構(gòu)。這是一種基于應(yīng)用層組播實現(xiàn)因特網(wǎng)大規(guī)模廣播業(yè)務(wù)的體系結(jié)構(gòu)。其思想是在因特網(wǎng)中部署支持廣播業(yè)務(wù)的服務(wù)器,稱為Scattercast Proxy節(jié)點,應(yīng)用層組播將這些服務(wù)器組織成一個因特網(wǎng)廣播業(yè)務(wù)的支撐網(wǎng),支持用戶規(guī)模巨大的Internet 廣播和軟件分發(fā)應(yīng)用。
Scattercast體系結(jié)構(gòu)包括應(yīng)用層組播機制、應(yīng)用層組播之上的傳輸層機制以及內(nèi)容請求的實現(xiàn)機制。Gossamer是Scattercast體系結(jié)構(gòu)的自組織組網(wǎng)協(xié)議。
(4)Overcast
Overcast是在Cisco公司支持下開展的一個研究項目,是解決因特網(wǎng)內(nèi)容分布的一個體系結(jié)構(gòu),實現(xiàn)可靠的組播業(yè)務(wù)。通過在網(wǎng)絡(luò)中戰(zhàn)略性地部署Overcast節(jié)點,然后由應(yīng)用層組播機制將該節(jié)點組成一個骨干轉(zhuǎn)發(fā)網(wǎng)絡(luò),能夠以可靠的方式實現(xiàn)內(nèi)容的分發(fā)。Overcast和Scattercast思想類似,采用在網(wǎng)絡(luò)邊界部署應(yīng)用層組播節(jié)點組成一個業(yè)務(wù)網(wǎng)絡(luò)的策略,兩者在實現(xiàn)應(yīng)用層組網(wǎng)的機制不同,并且Overcast側(cè)重于實現(xiàn)組播數(shù)據(jù)的可靠分發(fā)。
(5)ALMI
ALMI是美國華盛頓大學St.Louis分校計算機系從2000年開始進行的研究項目,提出了將應(yīng)用層組播作為端系統(tǒng)基礎(chǔ)服務(wù)功能的體系結(jié)構(gòu)。ALMI設(shè)計了在操作系統(tǒng)的套接口(socket)之上,以中間件(middleware)的形式向上層應(yīng)用提供組播服務(wù)的結(jié)構(gòu),中間件實現(xiàn)自組織組網(wǎng)、組播復制和轉(zhuǎn)發(fā)功能,在組播成員節(jié)點之間組成一個應(yīng)用層組播網(wǎng)。ALMI研究組以Java代碼實現(xiàn)了中間件的原型。
ALMI的自組織協(xié)議在組成員節(jié)點之間建立和維護一棵共享的最小代價生成樹(minimum spanning tree),支持組規(guī)模較小的多方通信。ALMI可以針對上層的應(yīng)用需求構(gòu)建不同性能的疊加網(wǎng)。
(6)HM
美國密西根大學電子工程與計算機科學系2000年開始的端主機系統(tǒng)組播(end-host multicast)項目提出了host-multicast體系結(jié)構(gòu)。
HM的基本思想是通過應(yīng)用層組播來橋接IP組播,連接分布在因特網(wǎng)中多個IP組播島中的組成員,實現(xiàn)IP組播跨越因特網(wǎng)的數(shù)據(jù)分發(fā)。
同一個網(wǎng)的IP組播組成員選舉一個成員作為代理,代理節(jié)點之間通過應(yīng)用層組播機制建立一個連接各個IP組播網(wǎng)的骨干網(wǎng),橋接進出網(wǎng)絡(luò)的IP組播數(shù)據(jù)。HM框架的其它部分包括網(wǎng)絡(luò)服務(wù)的獲取、IP組播地址的轉(zhuǎn)換等實現(xiàn)IP組播橋接的功能體系。
從各種方案面向的上層應(yīng)用、支持的組規(guī)模、組網(wǎng)時考慮連接的參數(shù)等幾個方面對以上方案進行了比較,如表1所示。
在已經(jīng)提出的各種應(yīng)用層組播體系結(jié)構(gòu)中,除了HM之外,其它的方案都面向特定的上層應(yīng)用。此外,在因特網(wǎng)中,一些內(nèi)容服務(wù)供應(yīng)商采用的分布式內(nèi)容服務(wù)系統(tǒng)實際也采用了應(yīng)用層組播技術(shù),將內(nèi)容服務(wù)器通過應(yīng)用層組播連接成一個分布式的系統(tǒng)。
5 對應(yīng)用層組播發(fā)展的一些看法
當前,應(yīng)用層組播的研究還處于起步階段。目前的各種應(yīng)用層組播體系結(jié)構(gòu)是某種應(yīng)用的解決方案,這些體系結(jié)構(gòu)支持的應(yīng)用不同,組網(wǎng)協(xié)議的性能側(cè)重點不同。
如果針對多種不同特點的組播應(yīng)用,在網(wǎng)絡(luò)中部署多種不同的應(yīng)用層組播協(xié)議,那么將來的主機中需要實現(xiàn)多種應(yīng)用層組播協(xié)議。因此我們認為,建立一個可以復用、可靈活配置的支持多種業(yè)務(wù)的應(yīng)用層組播服務(wù)層將是一個主要的發(fā)展方向。
從目前的研究成果看,以中間件的形式實現(xiàn)應(yīng)用層組播業(yè)務(wù)是一種可行的結(jié)構(gòu)。我們認為,通過定義應(yīng)用層組播業(yè)務(wù)模型,明確應(yīng)用層組播的各個功能機制并建立一個標準化的框架,可以建立一個以中間件形式存在的、標準的、可配置和復用的、靈活的應(yīng)用層組播基礎(chǔ)設(shè)施。
6 結(jié)束語
根據(jù)對IP組播體系結(jié)構(gòu)局限性的分析,我們認為,IP組播在公眾網(wǎng)中部署的前景并不樂觀。當然,IP組播作為一種很高效率的組通信實現(xiàn)體系結(jié)構(gòu),可以在專用網(wǎng)絡(luò)中廣泛應(yīng)用,或者作為公眾網(wǎng)絡(luò)中一種受限的業(yè)務(wù)提供給特定的用戶。在IP組播體系結(jié)構(gòu)進一步發(fā)展和完善后,可以在公眾網(wǎng)絡(luò)中針對特定用戶開放IP組播業(yè)務(wù)。
目前網(wǎng)絡(luò)發(fā)展的總體趨勢是:網(wǎng)絡(luò)業(yè)務(wù)多層次實現(xiàn),骨干網(wǎng)業(yè)務(wù)簡單高速。核心網(wǎng)只提供單一的IP單播業(yè)務(wù),而其它在網(wǎng)絡(luò)核心中難以實現(xiàn)的功能遷移到網(wǎng)絡(luò)的邊緣或者網(wǎng)絡(luò)端系統(tǒng),是保持IP網(wǎng)絡(luò)核心簡單高效的根本。疊加網(wǎng)層將成為未來網(wǎng)絡(luò)體系結(jié)構(gòu)中一個重要的業(yè)務(wù)實現(xiàn)層次,而將來的網(wǎng)絡(luò)也將有可能通過提供某些基本的業(yè)務(wù),比如向上層提供組成邏輯鏈路的物理鏈路信息或者網(wǎng)絡(luò)的拓撲信息,專門支持疊加網(wǎng)業(yè)務(wù)的實現(xiàn)。隨著應(yīng)用層組播研究的深入,最終將通過疊加網(wǎng)層實現(xiàn)一個功能強大的,支持多種組播應(yīng)用的組播業(yè)務(wù)。
----《電信科學》