摘要:組播(multicast)是一到多或者多到多的多方通信形式,遠程會議、交互式仿真、分布式內容系統、多方游戲等應用都對組播業務(multicast service)提出了需求。在OSI模型的網絡層或者應用層實現業務是目前組播業務的兩種實現體制。IP組播研究起步較早,但最近研究發現網絡層組播研存在許多難以解決的問題,基于互聯網的性質和應用的特點,在IP 組播模型、Overlay Network 和Peer-to-Peer 等技術的基礎上,發展出了應用層組播技術。但應用層組播也有其自身缺陷。本文總結了網絡層組播和應用層組播的優缺點,并在此基礎上設計了一套兩者相結合的體系結構,以取得優勢互補的成效。
關鍵詞:應用層;IP組播;互聯網
中圖分類號:TP393文獻標識碼:A文章編號:1009-3044(2008)17-21425-03
1 引言
組播是互聯網研究的重要課題。IP 組播是對互聯網的“單播、盡力發送”模型的重要擴充,組播的主要功能在路由器上實現,通過合并重復信息傳輸來減少帶寬浪費和降低服務器的負擔。由于IP 組播在傳輸技術和管理上存在嚴重問題,目前沒有在互聯網中普遍采用。
最近出現了“應用層組播”(ALM: Application Layer Multicast)技術。它保持了互聯網的“單播、盡力發送”模型,主要通過端系統來實現組播功能。應用層組播的系統框架和很多技術還在研究當中。媒體編碼技術、Peer-to-Peer 和Overlay Network 等技術的發展對應用層組播也有很大的促進。
2 IP組播的回顧
IP組播,如圖1,其主要思想是在Internet 單播的框架上進行擴展,功能主要通過路由器來實現。組播適用于那些在時間上具有集中性、而在空間上具有分布性的應用。IP組播適用于實時、不可靠的應用[1]。
IP組播存在以下問題[1][2[3][4]:(1)路由器必須為每個組播組保存狀態,擴展性差;(2)要求所有路由器都支持,不利于推廣使用;(3)組播組加入、退出和管理等開銷大;(4)組播地址空間太小(針對IPv4);IP 組播在安全、擁塞控制等方面也存在問題。
3 應用層組播研究的概況
面對IP組播業務在因特網中的困境,一些研究者開始反思IP組播體系結構本身的問題,提出將復雜的組播功能放在端系統實現的新思想。端系統實現組播業務的思想是將組播作為一種疊加的業務,實現為應用層的服務,因此,端系統組播又稱為應用層組播(application layer multicast)。
應用層組播,如圖2,其基本思想是保持互聯網原有的簡單、不可靠、單播的轉發模型,由端系統實現組播轉發功能。這也是“end-to-end argument”[5]所倡導的思想。它有一些假設:(1)網絡的帶寬和轉發資源相對豐富,服務器能力是主要瓶頸;(2)組播組成員可貢獻資源用于轉發;(3)應用對性能要求并不苛刻,可容忍報文丟失和較大延遲。應用層組播的優勢有:只需改變端系統,便于實現和推廣;便于針對特定應用優化。它的缺點為[4]:一般比IP 組播使用更多網絡資源;端系統可能不穩定,導致組播的可靠性受影響;端系統性能無法保證,可能導致延遲、轉發速率等性能的下降。
4 Internet網絡的異構性導致組播的復雜性
Internet是一個異構網絡,這種異構性表現在很多方面。第一,Internet的低層硬件平臺千差萬別,可以是Ethernet、ATM、FDDI、令牌環網、幀中繼、串行鏈路(PSTN、xDSL)、無線網絡、衛星網絡、移動網絡等等。這些低層網絡具有不同的帶寬、硬件存取控制方式、時延特征。在多鏈路情況下,各鏈路的帶寬與代價也可能不同。另外,某些網絡平臺的數據鏈路具有非對稱性,比如xDSL和衛星網絡。第二,主機的硬件處理能力和操作系統各不相同。就操作系統而言,主要的操作系統,如UNIX、Windows、MacOS、OS2有不同的變種和版本,對IP組播的支持程度、進程的調度與管理、TCP/IP的實現方式和API都有差異。第三,互連設備的差異。路由器、交換機、網絡服務器在背板能力、包轉發率、支持的路由協議的互操作性。這些異構性都導致在實現組播網絡中的復雜性。
5 應用層組播和IP組播結合的方案
鑒于上述諸多問題,本文在考慮網絡異構性的前提下,充分利用應用層組播的優勢,同時吸收IP組播的優點以彌補應用層組播的不足,構思出一套應用層組播和IP組播結合的體系結構MNAL(Multicast in Network and Application-Layer)體系結構。
主要思想是在局部、小規模、支持IP 組播的網絡中使用IP組播,而在IP組播構成的“小島”(即IP組播島)或沒有IP組播支持的主機之間使用應用層方式連接。它是一種混合方案,不受網絡條件的限制,而且可以充分利用IP 組播的優點。
5.1 MNAL體系結構
MNAL體系結構能支持任何大小規模的IP組播網絡,包括單個主機,局域網,校園網等,其每個成員結點都可以運行一個服務進程用于支持網絡組播功能。在每個IP組播島中,其成員都以IP組播方式接收和發送數據。每個IP組播島中選出一個代表節點代表整個組播島。不同的代表結點之間通過UDP隧道相連,使其所有結點組成一棵共享樹,以IP組播島為基本單元實現應用層組播。在共享樹中從根結點到到每個結點都只有一條無回路的路徑,稱為根路徑。每個IP組播島都需要一個信息結點IFP(InFormation Point),信息結點的功能是為新結點提供島內成員信息。IFP知道共享樹的根結點信息,當新結點向它發出查詢請求時,它會把根結點的地址返回給新結點。IFP并不參加數據轉發,因此IFP的位置并不會對轉發性能產生任何影響。一個IFP可以同時為多個組服務。
5.2 樹的構造
如圖3所示:
MNAL中的成員自己在共享樹中尋找父結點。一個新結點8采用下面的過程尋找自己的父結點。 (i) 8號結點通過詢問IFP獲得共享樹的根結點。8號結點知道R是樹的根結點,將其設置為可行的父結點,并要求R將它的子結點信息傳遞給自己。(ii)然后從R和R的子結點列表中,8號結點選擇一離自己最近的成員,圖中的3號結點,作為自己的新的可行父結點.(iii)8號結點根據3號結點的信息選擇了4號結點作為自己新的可行父結點。(iv)8號結點通過詢問4號結點又得到下一個可行父結點6號結點。于是8號結點向6號結點發出加入請求,請求把6號結點作為自己的父結點。6號結點將根據自己的配置策略,帶寬和負載情況來決定是否接收8號結點的加入請求。如果6號結點接收其請求就將6號結點設置成父結點,如果6號結點拒絕了8號結點的加入請求,8號結點將把6號結點標記為不可行并返回到上一層的4號結點繼續查找過程,依次類推,只到找到接收它的父結點為止。
由于是以整個結構是以IP組播島為基本單元,所以在島內是以IP組播收發數據,避免了應用層組播由于沒有網絡層的支持而對物理網絡變化反應較慢的缺點,同時可以在不同的IP組播島內根據其自身特點設計不同的算法,提高了網絡組播的效率,減輕了網絡異構帶來的影響。而IP組播限制在一定范圍內,從而減少了硬件開銷,相對擴大了組播地址空間。
6 小結
應用層組播是在Internet上提供的組播服務的一種新策略。由于應用層組播完全在端系統上運行而不需要路由器支持,因此很容易部署,近來一些成功的應用已經展示了應用層組播的良好應用前景,但由于應用層組播沒有網絡層支持,因此在延時性能方面和IP組播相比有一定差距,而且由于分組反復傳送等原因,應用層組播會給網絡層增加一定負擔,這些問題都需要進一步解決,而把應用層組播和IP組播結合起來,使其優勢互補,就為上述問題提供了一個解決方案,本文提出的這個HNAL體系結構就是把應用層組播和IP組播結合起來的構思之一,究竟怎么才能使應用層組播和網絡層組播更好的結合并向用戶提供很方便更高效的服務,仍需要我們繼續研究和探討。
參考文獻:
[1]FRANCIS P. Yoid: extending the multicast internet architecture[EB/OL].http://www.aciri.org/yoid,1999.
[2]PENDAKARIS D,SHI S.ALMI:an application level multicast infrastructure[A].Anderson T.The 3rd USENIX Symposium on Internet Technologies and Systems[C].San Francisco,CA,USA:USENIX Association,2001.49-60.
[3]EL-SAYED A., ROCA V,MATHY L.A survey of proposals for an alternative groupcommunication service[J].IEEE Network,2003,17(1):46-51.
[4]CHU Y H,RAO S G,SESHAN S,ZHANG H. A case for end system multicast[J].ACM SIGMETRICS Performance Evaluation Review, 2000,28(1):1-12.
[5]SALTZER J, REED D,CLARK D.End-to-end arguments in system design[J].ACM Transactions on Computer Systems,1984,2(4):195-206.
[6]章淼,徐明偉,吳建平.應用層組播研究綜述.電子學報,2004,32vol,22-25.
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文