《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 其他 > 设计应用 > 改善多媒体通信质量的覆盖层路由系统
改善多媒体通信质量的覆盖层路由系统
唐 力1,2, 陈 震2
1. 清华大学 自动化系,北京 100084; 2. 清华大学 信息技术研究院,北京 100084
摘要: 针对近年来互联网上迅速兴起的多媒体通信应用,分析和指出了当前互联网网络层路由不适于传输多媒体数据的内在缺陷,为改善多媒体通信质量,设计并实现了一个名为CORS的覆盖层路由系统,通过构建和使用多条覆盖层路径来突破网络层单路径路由的局限性,并提供应用感知的传输层服务。利用在全球网络实验平台——PlanetLab上的真实实验验证了CORS的有效性。
Abstract:
Key words :

摘  要: 針對(duì)近年來(lái)互聯(lián)網(wǎng)上迅速興起的多媒體通信應(yīng)用,分析和指出了當(dāng)前互聯(lián)網(wǎng)網(wǎng)絡(luò)層路由不適于傳輸多媒體數(shù)據(jù)的內(nèi)在缺陷,為改善多媒體通信質(zhì)量,設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)名為CORS的覆蓋層路由系統(tǒng),通過(guò)構(gòu)建和使用多條覆蓋層路徑來(lái)突破網(wǎng)絡(luò)層單路徑路由的局限性,并提供應(yīng)用感知的傳輸層服務(wù)。利用在全球網(wǎng)絡(luò)實(shí)驗(yàn)平臺(tái)——PlanetLab上的真實(shí)實(shí)驗(yàn)驗(yàn)證了CORS的有效性。
關(guān)鍵詞: 覆蓋層路由;多媒體通信;端到端性能

    隨著互聯(lián)網(wǎng)的日益普及和網(wǎng)絡(luò)帶寬的迅速提高,當(dāng)今的互聯(lián)網(wǎng)已經(jīng)不再局限于支持FTP、Web瀏覽和P2P文件共享等傳統(tǒng)的數(shù)據(jù)傳輸應(yīng)用,各種基于音頻和視頻的多媒體應(yīng)用也正在迅速興起。
    交互多媒體通信是通信雙方利用語(yǔ)音和視頻等多媒體手段遠(yuǎn)程地進(jìn)行實(shí)時(shí)互動(dòng)的通信形式,包括VoIP、視頻會(huì)議和遠(yuǎn)程教學(xué)等具體應(yīng)用。這類應(yīng)用在近年來(lái)發(fā)展迅速,已被公認(rèn)為下一代互聯(lián)網(wǎng)的核心業(yè)務(wù)之一。與傳統(tǒng)的數(shù)據(jù)傳輸應(yīng)用一般只關(guān)注帶寬不同,交互多媒體通信的質(zhì)量(用戶感受)對(duì)端到端延時(shí)、丟包和延時(shí)抖動(dòng)等其他端到端性能指標(biāo)也都非常敏感,并具有嚴(yán)格的要求。
    然而,當(dāng)前的互聯(lián)網(wǎng)卻仍然保留了它最初為傳統(tǒng)的數(shù)據(jù)傳輸應(yīng)用而設(shè)計(jì)和優(yōu)化的體系結(jié)構(gòu)。過(guò)去二十多年的實(shí)踐證明,試圖在網(wǎng)絡(luò)層實(shí)現(xiàn)服務(wù)質(zhì)量(QoS)保證的方案,如IntServ和DiffServ等,因需要投入大量成本升級(jí)核心路由器等基礎(chǔ)設(shè)施,且要求相互競(jìng)爭(zhēng)的ISP間深入合作,最終難以在實(shí)際中得到廣泛部署和實(shí)施。
    覆蓋層路由不需要改變?nèi)魏尉W(wǎng)絡(luò)設(shè)備,而是利用從邊緣網(wǎng)絡(luò)接入的其他普通終端計(jì)算機(jī)在應(yīng)用層轉(zhuǎn)發(fā)網(wǎng)包,使其經(jīng)由不同于網(wǎng)絡(luò)層路徑的覆蓋層路徑。RON[1]最早提出了利用覆蓋層路由改善端到端性能的研究項(xiàng)目和實(shí)際系統(tǒng)。RON在由普通終端計(jì)算機(jī)充當(dāng)?shù)母采w網(wǎng)絡(luò)節(jié)點(diǎn)間運(yùn)行一個(gè)類似于OSPF的協(xié)議,用來(lái)發(fā)掘和計(jì)算任意兩節(jié)點(diǎn)間的最佳路徑,它可能是網(wǎng)絡(luò)層路徑,也可能是經(jīng)由多個(gè)終端計(jì)算機(jī)的覆蓋層路徑。但是,由于需要主動(dòng)測(cè)量和監(jiān)測(cè)大量“鏈路”狀態(tài),RON的致命缺點(diǎn)是可擴(kuò)展性差,只能支持幾十個(gè)覆蓋網(wǎng)絡(luò)節(jié)點(diǎn)。SOSR[2]提出并驗(yàn)證了用一跳覆蓋層路徑(即只用一個(gè)覆蓋網(wǎng)絡(luò)節(jié)點(diǎn)作為中繼)繞開網(wǎng)絡(luò)層路徑局部故障的想法。盡管提高了可擴(kuò)展性,但SOSR只考慮連通性,并采用隨機(jī)選擇中繼的算法,無(wú)法保證覆蓋層路徑的端到端性能滿足多媒體通信的要求。本文針對(duì)交互多媒體通信的數(shù)據(jù)傳輸特點(diǎn)設(shè)計(jì)和實(shí)現(xiàn)了一個(gè)新的覆蓋層路由系統(tǒng)——CORS。
1 CORS系統(tǒng)設(shè)計(jì)
    CORS的目標(biāo)是利用覆蓋層路由技術(shù)解決互聯(lián)網(wǎng)的網(wǎng)絡(luò)層路由所固有的不適于交互多媒體通信應(yīng)用的下述幾方面缺陷:(1)網(wǎng)絡(luò)層僅提供“盡力而為”的服務(wù),傳輸層TCP協(xié)議的重傳機(jī)制難以滿足多媒體通信對(duì)數(shù)據(jù)延時(shí)的要求; (2)網(wǎng)絡(luò)層使用同一條路徑傳輸流量,無(wú)法按照具體應(yīng)用的需求特點(diǎn)區(qū)分網(wǎng)包的優(yōu)先級(jí); (3)網(wǎng)絡(luò)層路由的連通性和可用性也有待進(jìn)一步提高。
    CORS的基本思想是構(gòu)建和使用一條或多條一跳覆蓋層路徑來(lái)協(xié)助網(wǎng)絡(luò)層路徑改善數(shù)據(jù)傳輸?shù)亩说蕉诵阅?。與RON相比,CORS節(jié)省測(cè)量開銷,具有更好的可擴(kuò)展性,可支持大規(guī)模覆蓋網(wǎng)絡(luò);與SOSR相比,CORS采用啟發(fā)式預(yù)選和主動(dòng)測(cè)量確認(rèn)相結(jié)合的方式保證所選覆蓋層路徑能夠滿足傳輸多媒體數(shù)據(jù)的性能要求。而且,CORS還打破了網(wǎng)絡(luò)層路由、RON和SOSR僅使用單一路徑的局限,以實(shí)現(xiàn)更低的延時(shí)和丟包率,以及更高的可用帶寬。
1.1 系統(tǒng)架構(gòu)
    CORS的系統(tǒng)結(jié)構(gòu)示意圖如圖1所示,考慮到覆蓋網(wǎng)絡(luò)中節(jié)點(diǎn)能力的異質(zhì)性,CORS的軟件實(shí)現(xiàn)包括Proxy和API兩個(gè)組件。Proxy組件僅需要部署在計(jì)算能力強(qiáng)接入帶寬大的超級(jí)終端節(jié)點(diǎn),而API組件則要部署在所有希望享用CORS覆蓋層路由服務(wù)的客戶端節(jié)點(diǎn)上。

1.2 Proxy組件
    Proxy組件是一個(gè)與特定網(wǎng)絡(luò)端口綁定的持續(xù)運(yùn)行的監(jiān)聽(tīng)進(jìn)程,它的主要功能包括:(1)維持大規(guī)模覆蓋網(wǎng)絡(luò)的連通性; (2)向本節(jié)點(diǎn)或其他僅安裝API組件的節(jié)點(diǎn)推薦適當(dāng)?shù)闹欣^候選節(jié)點(diǎn); (3)充當(dāng)中繼節(jié)點(diǎn)在應(yīng)用層轉(zhuǎn)發(fā)流經(jīng)的網(wǎng)包。這些功能通過(guò)3個(gè)模塊具體實(shí)現(xiàn)。
1.2.1 Neighbor-Maintainer(NM)模塊
    NM模塊負(fù)責(zé)用Gossip的方式發(fā)現(xiàn)、探測(cè)和更新鄰居節(jié)點(diǎn)列表,從而形成并維持一個(gè)連通的覆蓋網(wǎng)絡(luò)。鄰居節(jié)點(diǎn)是指當(dāng)前節(jié)點(diǎn)所知的且對(duì)其進(jìn)行周期性探測(cè)的安裝了Proxy組件的其他節(jié)點(diǎn);在覆蓋網(wǎng)絡(luò)拓?fù)洚?dāng)前節(jié)點(diǎn)與其鄰居節(jié)點(diǎn)間是單向直連的。除發(fā)送和應(yīng)答探測(cè)消息外,當(dāng)列表中的鄰居節(jié)點(diǎn)數(shù)目過(guò)少時(shí),此模塊還要發(fā)出特定的請(qǐng)求消息,從其他節(jié)點(diǎn)的鄰居列表中獲取新的節(jié)點(diǎn)來(lái)進(jìn)行填補(bǔ)。
    此模塊算法的關(guān)鍵是以低開銷保持覆蓋網(wǎng)絡(luò)的連通性和優(yōu)秀中繼節(jié)點(diǎn)分布的均勻性,這使當(dāng)前節(jié)點(diǎn)與任一目標(biāo)節(jié)點(diǎn)通信時(shí),附近局部網(wǎng)絡(luò)中優(yōu)秀中繼節(jié)點(diǎn)的密度與整個(gè)覆蓋網(wǎng)絡(luò)中的密度相當(dāng)。
1.2.2 Relay-Advisor(RA)模塊
    RA模塊接收本地或遠(yuǎn)程節(jié)點(diǎn)API組件發(fā)來(lái)的請(qǐng)求消息,根據(jù)源和目標(biāo)節(jié)點(diǎn)的IP地址等信息,從自身的鄰居列表中選取并推薦適當(dāng)?shù)闹欣^候選節(jié)點(diǎn)。若自身鄰居列表中滿足條件的中繼候選節(jié)點(diǎn)數(shù)目過(guò)少,此模塊還會(huì)將請(qǐng)求消息轉(zhuǎn)發(fā)給部分鄰居節(jié)點(diǎn),委托它們也推薦一定數(shù)量的中繼候選節(jié)點(diǎn)。
    此模塊推薦的中繼候選節(jié)點(diǎn)直接決定了能否用低測(cè)量開銷就構(gòu)建起端到端性能優(yōu)秀的覆蓋層路徑,對(duì)整個(gè)CORS系統(tǒng)的可擴(kuò)展性和服務(wù)性能都至關(guān)重要。為此,此模塊采用了基于PoP層推斷路徑選取中繼候選節(jié)點(diǎn)的啟發(fā)式算法,并使用知識(shí)共享機(jī)制進(jìn)行近鄰節(jié)點(diǎn)間協(xié)作。
    因篇幅所限,啟發(fā)式算法的細(xì)節(jié)超出了本文討論范疇,知識(shí)共享機(jī)制的核心思想如下:當(dāng)一對(duì)源和目標(biāo)節(jié)點(diǎn)S和D進(jìn)行通信,并通過(guò)測(cè)量發(fā)現(xiàn)優(yōu)秀中繼節(jié)點(diǎn)R時(shí),就將該條“知識(shí)”共享,表示為(Sp,Dp,Rp,TS,RTT,…),其中Sp、Dp和Rp分別表示節(jié)點(diǎn)S、D和R的IP地址前綴,TS表示該條知識(shí)的有效時(shí)間,而RTT及后續(xù)各項(xiàng)指明這條覆蓋層路徑的延時(shí)等各項(xiàng)端到端性能指標(biāo);當(dāng)另一對(duì)源和目標(biāo)節(jié)點(diǎn)S′和D′通信時(shí),會(huì)首先查詢是否有前兩項(xiàng)分別為S′p和D′p的知識(shí),如果S′和S、D′和D恰好都具有同樣的IP地址前綴,則無(wú)需測(cè)量就能優(yōu)先在IP地址前綴為Rp的鄰居節(jié)點(diǎn)中推薦中繼候選節(jié)點(diǎn)。存儲(chǔ)知識(shí)的方式既可用中心數(shù)據(jù)庫(kù),也可用完全分布式可擴(kuò)展性更高的DHT網(wǎng)絡(luò),如OpenDHT[3]。
1.2.3 Packet-Forwarder(PF)模塊
    PF模塊屬數(shù)據(jù)層面,負(fù)責(zé)在應(yīng)用層轉(zhuǎn)發(fā)經(jīng)由中繼節(jié)點(diǎn)的網(wǎng)包,同時(shí)保證每個(gè)會(huì)話占用的轉(zhuǎn)發(fā)帶寬都不超過(guò)被許可的最大值。CORS采用了源路由的方式,即把每個(gè)網(wǎng)包要經(jīng)過(guò)的整條覆蓋層路徑的信息都置于網(wǎng)包的CORS頭部。因此,此模塊只需要根據(jù)頭部信息轉(zhuǎn)發(fā)網(wǎng)包,而不需像RON那樣傳播路由消息、計(jì)算最短路徑和維護(hù)路由狀態(tài)。
1.3 API組件
    API組件包括兩個(gè)功能模塊和一組供應(yīng)用軟件開發(fā)者調(diào)用的類似于Socket(UDP)的編程接口。
1.3.1 Relay-Selector(RS)模塊
    RS模塊請(qǐng)求本地或遠(yuǎn)程節(jié)點(diǎn)的Proxy組件推薦中繼候選節(jié)點(diǎn),并測(cè)量這些候選節(jié)點(diǎn)構(gòu)成的覆蓋層路徑性能,從中選出真正滿足要求的中繼節(jié)點(diǎn),再根據(jù)上層應(yīng)用傳輸多媒體數(shù)據(jù)的實(shí)際需求向中繼節(jié)點(diǎn)請(qǐng)求和協(xié)商該中繼能夠提供的轉(zhuǎn)發(fā)帶寬。
    為避免啟動(dòng)延遲過(guò)長(zhǎng),此模塊采用迭代的方式選擇中繼節(jié)點(diǎn)并建立覆蓋層路徑;考慮到中繼節(jié)點(diǎn)可能離線等意外因素影響,此模塊預(yù)備的覆蓋層路徑的總體性能之和一般會(huì)大于多媒體通信會(huì)話的實(shí)際需求,以便動(dòng)態(tài)地監(jiān)視和調(diào)整這些覆蓋層路徑。
1.3.2 Multipath-Manager(MM)模塊
    MM模塊屬于數(shù)據(jù)層面,它在發(fā)送端調(diào)度和協(xié)調(diào)多媒體數(shù)據(jù)在網(wǎng)絡(luò)層路徑和若干條覆蓋層路徑上的傳輸,既要滿足數(shù)據(jù)對(duì)延時(shí)和可靠性的要求,又要確保每條覆蓋層路徑承載的流量不超過(guò)中繼節(jié)點(diǎn)承諾提供的轉(zhuǎn)發(fā)帶寬。對(duì)經(jīng)由覆蓋層路徑的網(wǎng)包,此模塊還要用目標(biāo)節(jié)點(diǎn)的IP地址、端口以及用于協(xié)助測(cè)量丟包率和延時(shí)抖動(dòng)的信息等生成CORS頭部。
    在接收端,此模塊執(zhí)行與發(fā)送端相逆的過(guò)程:接收來(lái)自網(wǎng)絡(luò)層和覆蓋層路徑的網(wǎng)包,然后根據(jù)CORS頭部的源節(jié)點(diǎn)IP地址和端口信息,將來(lái)自同一源節(jié)點(diǎn)的多媒體數(shù)據(jù)恢復(fù)成正常順序,再通知接收端的上層應(yīng)用軟件進(jìn)行讀取和播放。
2 工作過(guò)程
    新節(jié)點(diǎn)首次加入CORS的覆蓋網(wǎng)絡(luò)時(shí),它必須通過(guò)讀取配置文件或訪問(wèn)某知名站點(diǎn)等“軟狀態(tài)”方式知道至少一個(gè)已處在CORS的覆蓋網(wǎng)絡(luò)中且具有Proxy組件的節(jié)點(diǎn)。當(dāng)覆蓋網(wǎng)絡(luò)進(jìn)入穩(wěn)定狀態(tài)后,一次基于CORS的交互多媒體通信過(guò)程如下:
    (1) 用戶操作應(yīng)用軟件期望與另一端的用戶進(jìn)行多媒體通信,經(jīng)一系列信令交互后(如SIP),開始建立用于傳輸多媒體數(shù)據(jù)的數(shù)據(jù)通道。
    (2) 應(yīng)用軟件會(huì)調(diào)用API組件提供的init()函數(shù)通知RS模塊構(gòu)建覆蓋層路徑,同時(shí)MM模塊馬上開始用網(wǎng)絡(luò)層路徑傳輸來(lái)自于應(yīng)用軟件的多媒體數(shù)據(jù)。
    (3) RS模塊先查找本地歷史記錄,確認(rèn)是否以前曾跟同一目標(biāo)節(jié)點(diǎn)通信并保留了優(yōu)秀中繼節(jié)點(diǎn)信息。如記錄中的覆蓋層路徑不能滿足要求,則RS模塊就用RPC方式請(qǐng)求RA模塊推薦為中繼候選節(jié)點(diǎn)。
    (4) RA模塊利用啟發(fā)式算法和知識(shí)共享機(jī)制推薦中繼候選節(jié)點(diǎn)集,RS模塊通過(guò)實(shí)際測(cè)量從中找到真正滿足要求的中繼節(jié)點(diǎn),并與它們的PF模塊協(xié)商構(gòu)建覆蓋層路徑。此過(guò)程是迭代式進(jìn)行的,以盡量保持所有覆蓋層路徑的總體能滿足端到端性能要求。一條覆蓋層路徑的性能包括端到端延時(shí)、可用帶寬和傳輸可靠性三項(xiàng)指標(biāo)。前兩項(xiàng)指標(biāo)都易于理解,傳輸可靠性的定義為:
   
其中L表示丟包率,Tn表示當(dāng)前時(shí)刻,Ts表示該中繼節(jié)點(diǎn)最新上線的時(shí)刻,τ表示該中繼節(jié)點(diǎn)歷史上平均連續(xù)在線的時(shí)間。傳輸可靠性與丟包率的區(qū)別在于考慮了中繼節(jié)點(diǎn)可能中途離線的因素。
    (5)發(fā)送端應(yīng)用軟件調(diào)用sendto()函數(shù)將多媒體數(shù)據(jù)傳遞給MM模塊,MM模塊將利用網(wǎng)絡(luò)層路徑和當(dāng)前可用的覆蓋層路徑盡可能地滿足該數(shù)據(jù)對(duì)延時(shí)和傳輸可靠性的要求。為提高公平性和降低相關(guān)性,MM模塊用一個(gè)鏈表存儲(chǔ)所有可用的覆蓋層路徑,當(dāng)要傳輸一段大小為S、可靠性要求為H且最大期望延時(shí)為t的多媒體數(shù)據(jù)時(shí),MM模塊從頭搜索鏈表直到找到第一條覆蓋層路徑p能同時(shí)滿足:
   
其中Ω表示所用覆蓋層路徑的集合。若無(wú)法找到Ω滿足上述條件,MM模塊將再使用網(wǎng)絡(luò)層路徑冗余傳輸這段多媒體數(shù)據(jù)。
    (6) 接收端的MM模塊將從網(wǎng)絡(luò)層和覆蓋層路徑到達(dá)的網(wǎng)包恢復(fù)成多媒體數(shù)據(jù),通過(guò)recvfrom()函數(shù)傳遞給上層應(yīng)用軟件,并最終播放給用戶。
    (7) 當(dāng)用戶結(jié)束此次會(huì)話時(shí),應(yīng)用軟件會(huì)調(diào)用close( )函數(shù)通知API組件,發(fā)送端的RS模塊將通知所有覆蓋層路徑的中繼節(jié)點(diǎn)釋放它們?yōu)榇舜螘?huì)話保留的轉(zhuǎn)發(fā)帶寬等資源。
3 實(shí)驗(yàn)和性能評(píng)價(jià)
    為考察CORS改善多媒體通信質(zhì)量的效果,將其原型系統(tǒng)部署在全球規(guī)模的網(wǎng)絡(luò)實(shí)驗(yàn)平臺(tái)——PlanetLab[4]上進(jìn)行了實(shí)驗(yàn):首先從30個(gè)PlanetLab節(jié)點(diǎn)中隨機(jī)選出若干對(duì),然后分別使用CORS系統(tǒng)和默認(rèn)的網(wǎng)絡(luò)層路徑在它們之間傳輸同一段視頻流數(shù)據(jù),最后比較不同情況下的有效丟包率和接收端視頻的PSNR。PSNR是一種常用的評(píng)價(jià)視頻質(zhì)量的客觀指標(biāo),其值越大說(shuō)明視頻質(zhì)量的損失越?。蝗搜垡话隳芨惺艿絇SNR值相差0.5 dB以上的視頻質(zhì)量差別。視頻流數(shù)據(jù)由一個(gè)30 s的簡(jiǎn)單背景下人物頭像的視頻片段按H.264編碼分別在384、768、1 024和2 048 kb/s 4種不同碼率下生成。
    4種碼率情況下都各在400多對(duì)PlanetLab節(jié)點(diǎn)間進(jìn)行了上述實(shí)驗(yàn)。圖2和圖3分別比較了使用CORS系統(tǒng)和默認(rèn)的網(wǎng)絡(luò)層路徑2種情況下得到的平均有效丟包率和接收端視頻的平均PSNR??梢钥吹剑谒疾斓母鞣N情況下,CORS都能夠顯著降低有效丟包率(2 %左右)和有效提高視頻質(zhì)量(1.37~2.16 dB)。證實(shí)了CORS能夠改善多媒體通信質(zhì)量的有效性。


    針對(duì)當(dāng)前互聯(lián)網(wǎng)網(wǎng)絡(luò)層路由不適于傳輸多媒體數(shù)據(jù)的內(nèi)在缺陷,本文提出使用覆蓋層路由技術(shù)改善交換多媒體通信質(zhì)量,并設(shè)計(jì)和實(shí)現(xiàn)了一個(gè)具備以下特點(diǎn)的覆蓋層路由系統(tǒng)CORS:(1)低開銷維持覆蓋網(wǎng)絡(luò)的連通性和均勻性,按需構(gòu)建覆蓋層路徑,因而具有高可擴(kuò)展性;(2)選擇中繼節(jié)點(diǎn)時(shí)將啟發(fā)式推薦和知識(shí)共享機(jī)制與主動(dòng)測(cè)量相結(jié)合,既節(jié)省了測(cè)量開銷又提高了準(zhǔn)確性;(3)向上層提供應(yīng)用感知的多路徑傳輸機(jī)制,更好地滿足多媒體數(shù)據(jù)對(duì)延時(shí)、丟包和帶寬等端到端性能指標(biāo)的特定要求。
    在PlanetLab上的大規(guī)模實(shí)驗(yàn)結(jié)果驗(yàn)證CORS系統(tǒng)提高數(shù)據(jù)傳輸可靠性和改善多媒體通信質(zhì)量的有效性。
參考文獻(xiàn)
[1]  ANDERSEN D, BALAKRISHNAN H, KAASHOEK F,  et al. Resilient overlay networks[J]. ACM SIGOPS Operating Systems Review, 2001,35(5):131-145.
[2]  GUMMADI P, MADHYASHA V, GRIBBLE D, et al. Improving the reliability of internet paths with one-hop source routing[C]. In:Proc. of OSDI'04. San Francisco, USA: [s.n],2004:13-27.
[3]  RHEA S, GODFREY B, BRAD K, et al. OpenDHT: a  public DHT service and its uses[C]. In:Proc. of ACM SIGCOMM’05, Philadelphia, USA:[s.n], 2005.
[4]  PlanetLab. http://www.planet-lab.org

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。

相關(guān)內(nèi)容