針對網路應用層實現多播的探析

  論文關鍵詞:應用層組播;網路層組播;控制拓撲
  論文摘要:傳統的多播Multicasting服務被實現在TCP/IP協議的網路層,但由於網路層的多播服務實現需要擴充套件網路層的路由與資料包收發協議,這在大多數的實際網路環境裡並不是一件容易的事情.為了加速組播的應用,解決現有組播存在的問題,近年來提出了應用層組播.將組播的功能從路由器轉移到終端,不需要路由器維護組播組的路由表,且不用改變現有網路設施,方便實現組播功能.本文介紹了應用層多播的定義和方法,及現階段國內外已提出的應用層多播協議,並簡單地討論了應用層多播協議的效能評價問題.


  0引言
    1988年SteveDeering首先在他的博士論文中提出IP組播.IP組播用於一對多、多對多、多對一的組通訊.它是一種有效的資料傳輸應用,傳送的同一資料在物理鏈路中只傳輸一次,減少了資料包在網路傳輸中的冗餘,節約了頻寬,提高了傳輸效率.然而,十多年過去了,雖然對IP組播的研究一直都在進行,但是由於IP組播本身所帶來的缺點,使得IP組播至今並沒有能夠得到廣泛的應用.
    IP組播要求路由器為每一個組播組保留狀態資訊.這樣路由器的路由和轉發表將需要對每一個不同的組播地址保留一個相應的路由表項,但是組播地址並不像單播地址一樣容易整合,因此增加了路由器的系統開銷和複雜性.
    IP組播是一種盡力而為best effort的服務.當要提供高層的特性時,例如:可靠傳輸、擁塞控制、流量控制以及安全管理等,就會比簡單的單播要更困難,以至於因特網服務提供商ISPs不願意提供IP Multicast的支援.雖然目前已經出現了針對上面這些特性的研究,但是這些解決方案目前在Internet上的影響並不明確,需要在大範圍應用前進行更好的研究.
    IP組播需要對現有網路做底層的改變.同時由於在收費機制方面的技術無法突破,使得目前只有少數的因特網服務供應商支援IP組播.
    出於以上的考慮,近年來國外一些研究者開始研究新的組播架構,試圖繞開IP組播的種種難題,因此提出了基於應用層的組播協議.即在應用層實現組播的功能,而不是再依靠網路層路由器來實現.這種組播方法不需要任何網路底層架構的改變來實現組播,從而為組播的大範圍開展與應用提出了一種新的途徑.應用層組播將對組播功能的支援從路由器轉移到終端系統,在終端之間運用原來的單播方式進行傳輸,這樣不必改變原有網路中基礎設施,也不需要路由器維護組播組的路由表,可以比較容易地實現組播,加速了應用.
  1應用層組播介紹
    應用層組播的基本模型圖如圖1所示.圖la為IP組播資料傳輸的方式,資料在網路內部的路由器上進行復制;圖1b為應用層組播的資料包在網路的終端系統進行復制.
    由於應用層多播不像網路層多播實現資料包的複製在網路層路由器,而是在應用層上.因此,應用層的多播協議要求具有以下特點:
    1自組織性.多播所基於的邏輯拓撲結構的構建應該是分散式的自組織方式.參與多播的成員可能分佈在極廣的地理位置範圍內,地理位置相近的成員應能先自組織成一個邏輯子拓撲結構來聯人整個多播拓撲中.
    2自適應性.多播基於的資料邏輯拓撲在構建後要能自適應地根據網路服務狀態和多播組成員變化做出改變和優化,以便可選擇更佳的多播傳輸路徑.
    3高效性一般地,多播構建的資料傳輸邏輯拓撲結構必須儘量使得在同一條邏輯傳輸路徑上的冗餘資料傳輸最低.但針對不同的應用要求,多播的高效性也具有不同的側重含義.如對於視訊會議的應用,多播的有效性是指傳輸的實時性,而對於白板之類的應用即要求實時性也要求傳輸的可靠性.

  1.1應用層組播的優點
    1應用層組播能夠很快就進人應用,不需要改變現有網路路由器.
    2接人控制更容易實現.由於單播技術在這方面比較成熟,而應用層組播是通過終端系統之間單播來實現的,所以差錯控制、流控制、擁塞控制容易實現.

    3地址分配問題也就可以有相應的解決方案.
  1.2應用層組播的缺點
    1可靠性:終端系統的可靠性比路由差.
    2可擴充套件性:底層的路由資訊對應用層組播來說是隱藏其來的,可擴充套件性不好.
    3延遲比較大:IP組播主要是在鏈路上的延遲,而在應用層組播中,資料還要經過終端系統,因而延遲相對要大一些.
    4資料傳輸效率不如IP組播:應用層組播在資料傳輸過程中會產生資料冗餘,因此它們比IP組播的效率差.
  2應用層組播協議的實現
    應用層組播協議通常把組成員組織成兩個邏輯拓撲:控制拓撲和資料傳輸拓撲.拓撲上的每條邊相當於一條單播連線.控制拓撲主要用來在端系統間週期性的交換控制資訊來發現和恢復由於一些成員的非法離開造成的拓撲破壞.資料拓撲通常是控制拓撲的一個子集,主要用來表明資料包的傳輸路徑。實際上,資料拓撲一般是一個網狀拓撲結構.因此,根據構建控制拓撲和資料拓撲的順序,可以將目前網路層組播協議的實現方法分為:網優先Mesh-first多播、樹優先Tree-first 多播和隱含多播三類 
    網優先多播協議中,多播成員首先分散式地組織形成一個網型的控制拓撲,在某一對多播組成員之間可能存在多條的連線路徑.基於這個網型的拓撲,每一個多播組成員根據某種路由協議分散式地計算出自己到每一個其它多播組成員的資料傳輸路徑.然後可藉助許多網路層多播協議如DVMRP使用的轉發逆向路徑Reverse Path Forwarding演算法可構造出基於任一多播組成員為樹根的樹型多播傳輸拓撲.Narada就是屬於這類的一種應用層多播協議,也是最早提出的應用層多播協議之一
    相反地在樹優先多播協議中,首先構建的是一個所有多播組成員共享的樹型多播資料傳輸拓撲,接著,每個多播組成員發現那些樹型中與其不相鄰的多播組成員,並分別建立連線路徑到這些成員,這樣在樹型拓撲基礎上再加入這些新添的連線路徑構成網型的控制拓撲.目前的Yoid和HMTP都是屬於這類的應用層的多播協議.
    隱含多播協議裡,控制拓撲是有協議使用的一定的演算法將多播組成員事先組織成某種邏輯結構.基於這個邏輯結構,分別按照某種資料的轉發演算法來定義形成協議的控制拓撲與資料傳輸拓撲.這樣控制拓撲和資料傳輸拓撲都是在協議事先基於的邏輯結構中被定義,而不需要像前面提到的兩類多播協議一樣來基於其中之一構建形成另一者.並且協議只需維護多播組成員事先組織成的邏輯結構,不需要去直接維護協議的控制拓撲與資料傳輸拓撲.這類應用層多播協議由於不需要在多播組成員之間進行頻繁的狀態資訊的通訊互動,從而避免了除資料傳輸之外的成員狀態資訊通訊的傳輸負載,因此特別適合於大規模的多播通訊.目前這類應用層多播協議很多,如NICE .CAN-Multicast、Scribe和Bayeux協議等.
  3應用組播的效能引數
    評價應用層組播協議一般用以下幾種方式:
  3.1資料分發路徑的質量
    主要有下面三個指標:
    1強度Stress.在一條物理鏈路中傳送相同資料包的數量.顯然IP組播進行轉發反而時候並進行多於的複製,所以是最優值1.如圖1b中1一4的強度為2.
    2伸展度Stretch.就是在覆蓋網分發拓撲中從源到成員的延遲與利用單播直接傳輸的延遲比例.
    3資源利用率Usage.所有參加到資料傳輸的成員,他們的延遲和強度的乘積的總和.這個指標用於評定傳輸過程中網路資源的利用情況,假定鏈路的延遲越高,花費越大.
  3.2終端的效能
    1失效後包丟失:單個節點突然失效後,平均的丟包數量.強調突發事件發生的魯棒性.
    2收到第一個包的時間:當成員加人到組中,收到第一個包的時間.
  3.3控制負荷Control Head
    為了有效地利用網路資源,對每個成員的控制負荷必須儘量的小,這是能否很好擴充套件的重要指標.
    4結束語
    應用層的多播研究目標是構建高效的應用層的資料傳輸拓撲和用來維護這種拓撲的控制拓撲以解決多播組的動態變化,目前的應用層多播研究也主要是研究構建這兩種拓撲的演算法和基於它們的資料傳輸與組管理機制.應用層多播作為一種在應用層實現資料多播服務的傳輸方式,相對於網路層多播具有更好的應用靈活性和可伸縮性.雖然在傳輸效能上要低於網路層的多播,但由於其不需要對現有網路層協議的單播資料傳輸服務進行擴充套件,而只需憑藉現有的網路提供的單播服務在應用層實現多播功能,因此應用層的多播在應用實現中具有更強的現實意義.