曲大鵬,張建坤,呂國(guó)鑫,高程希,宋 琪,3+
1.遼寧大學(xué) 信息學(xué)院,沈陽110036
2.中國(guó)科學(xué)院 深圳先進(jìn)技術(shù)研究院,廣東 深圳518055
3.遼寧大學(xué) 經(jīng)濟(jì)學(xué)院,沈陽110036
隨著互聯(lián)網(wǎng)的主要應(yīng)用需求從早期的資源共享逐漸轉(zhuǎn)變?yōu)楫?dāng)前的內(nèi)容獲取與分發(fā),端到端通信模式的網(wǎng)絡(luò)架構(gòu)很難滿足這種變化,信息中心網(wǎng)絡(luò)(information centric networking,ICN)提出以內(nèi)容為中心構(gòu)建新型網(wǎng)絡(luò)架構(gòu),通過對(duì)信息進(jìn)行命名實(shí)現(xiàn)內(nèi)容檢索和數(shù)據(jù)傳輸,正逐漸成為一種主要的未來網(wǎng)絡(luò)架構(gòu)。命名數(shù)據(jù)網(wǎng)絡(luò)(named data networking,NDN)作為ICN 的典型代表,吸引了研究者們的廣泛關(guān)注。NDN 采用基于內(nèi)容名稱路由的無連接傳輸模式,內(nèi)容請(qǐng)求者通過內(nèi)容名稱請(qǐng)求數(shù)據(jù),同時(shí)路由節(jié)點(diǎn)依據(jù)內(nèi)容名稱進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)。因此,NDN 具有節(jié)點(diǎn)緩存和無連接傳輸?shù)忍攸c(diǎn)。
在NDN 中,有兩種分組:興趣包和數(shù)據(jù)包,內(nèi)容請(qǐng)求者發(fā)送興趣包請(qǐng)求數(shù)據(jù),內(nèi)容提供者發(fā)送數(shù)據(jù)包響應(yīng)興趣包。通常情況下,內(nèi)容請(qǐng)求者發(fā)送一個(gè)興趣包以獲取所需內(nèi)容,內(nèi)容提供者返回一個(gè)裝有該內(nèi)容的數(shù)據(jù)包給內(nèi)容請(qǐng)求者。但是當(dāng)請(qǐng)求內(nèi)容比較大時(shí),內(nèi)容提供者需要將該內(nèi)容分片,然后逐片裝入數(shù)據(jù)包。這種情況或者需要內(nèi)容請(qǐng)求者持續(xù)發(fā)送多個(gè)興趣包才能獲取完整內(nèi)容,但會(huì)導(dǎo)致較大傳輸延時(shí),或者內(nèi)容提供者一次性返回所有數(shù)據(jù)包,但易導(dǎo)致數(shù)據(jù)包丟失,因此不適用于AR/VR 等大數(shù)據(jù)量延遲敏感型應(yīng)用場(chǎng)景。
擁塞控制一直是計(jì)算機(jī)網(wǎng)絡(luò)的重要研究問題之一,從傳統(tǒng)的TCP/IP 網(wǎng)絡(luò)結(jié)構(gòu)到現(xiàn)在的NDN 結(jié)構(gòu),都涌現(xiàn)了很多相關(guān)研究。但一方面?zhèn)鹘y(tǒng)擁塞控制算法不適用于新型的NDN 結(jié)構(gòu),例如基于往返傳輸時(shí)間(round transmission time,RTT)的擁塞檢測(cè)機(jī)制不能適應(yīng)NDN 的多源多路徑特性,而NDN 的無連接特性使得面向連接的基于確認(rèn)ACK 的擁塞控制機(jī)制失效。另一方面,NDN 中的現(xiàn)有擁塞控制研究往往忽略了NDN 的內(nèi)容緩存特性,沒有考慮到中間節(jié)點(diǎn)緩存了部分請(qǐng)求內(nèi)容的情況下,對(duì)于網(wǎng)絡(luò)擁塞控制的影響。
基于上述分析,針對(duì)AR/VR 等大數(shù)據(jù)量延遲敏感型應(yīng)用,基于One-Interest-Multiple-Data 傳輸模式,提出了一個(gè)新的擁塞控制機(jī)制,內(nèi)容提供者基于興趣包沿途收集的鏈路狀態(tài)信息計(jì)算擁塞窗口和發(fā)送速率,內(nèi)容請(qǐng)求者根據(jù)收到的數(shù)據(jù)包繼續(xù)發(fā)送興趣包,從而既避免一次發(fā)送大量數(shù)據(jù)包造成網(wǎng)絡(luò)擁塞,又通過一個(gè)興趣包與多個(gè)數(shù)據(jù)包之間的對(duì)應(yīng)關(guān)系加速傳輸過程。同時(shí)考慮到大多數(shù)提出的NDN 擁塞控制算法沒有考慮節(jié)點(diǎn)緩存對(duì)擁塞控制的影響,提出緩存標(biāo)記的方法,標(biāo)記鏈路中的緩存信息,讓各節(jié)點(diǎn)緩存內(nèi)容可以有序傳輸,充分地利用了節(jié)點(diǎn)緩存,減少傳輸所需時(shí)間,同時(shí)不會(huì)影響擁塞控制算法的準(zhǔn)確性。
本文的貢獻(xiàn)如下:
(1)針對(duì)NDN 的無連接傳輸特性,基于One-Interest-Multiple-Data 傳輸模式,提出了一種新的擁塞控制機(jī)制。該機(jī)制使用興趣包收集從內(nèi)容請(qǐng)求者到內(nèi)容提供者的路徑上的瓶頸鏈路帶寬和時(shí)延信息,內(nèi)容提供者據(jù)此信息計(jì)算出擁塞窗口和發(fā)送速率。內(nèi)容提供者發(fā)送了擁塞窗口數(shù)量的數(shù)據(jù)包之后,內(nèi)容請(qǐng)求者發(fā)送新的興趣包反饋數(shù)據(jù)包的接收情況以及記錄新的路徑信息來更新?lián)砣翱诤桶l(fā)送速率。與相關(guān)研究相比,該機(jī)制不僅在擁塞窗口、隊(duì)列長(zhǎng)度和數(shù)據(jù)傳輸速率等方面取得更好性能,而且能夠在更短的時(shí)間內(nèi)完成大數(shù)據(jù)量?jī)?nèi)容的傳輸,更適用于AR/VR 等應(yīng)用。
(2)針對(duì)NDN 的節(jié)點(diǎn)緩存特性,提出了緩存標(biāo)記方法,在中間節(jié)點(diǎn)存在請(qǐng)求內(nèi)容的部分緩存時(shí),通過標(biāo)記節(jié)點(diǎn)的緩存內(nèi)容,一方面通告給后續(xù)節(jié)點(diǎn),另一方面在節(jié)點(diǎn)尚未完成緩存內(nèi)容的發(fā)送時(shí),將后續(xù)節(jié)點(diǎn)傳輸過來的數(shù)據(jù)包緩存,留待后續(xù)發(fā)送。從而使得各節(jié)點(diǎn)緩存內(nèi)容可以有序傳輸,充分地利用了節(jié)點(diǎn)緩存。
由于擁塞控制一直是計(jì)算機(jī)網(wǎng)絡(luò)的重要研究問題之一,近年來,也涌現(xiàn)了很多針對(duì)NDN 的擁塞控制研究。基于不同研究角度,這些擁塞控制算法可以有不同的分類方法。從擁塞控制執(zhí)行者的角度出發(fā),將這些擁塞控制算法分為三類:
(1)基于內(nèi)容請(qǐng)求者的擁塞控制算法
興趣控制協(xié)議(interest control protocol,ICP)和信息中心傳輸協(xié)議(information centric transmission protocol,ICTP)都是基于內(nèi)容請(qǐng)求者的控制算法,即它們發(fā)送的興趣包內(nèi)含窗口大小限制。通過RTT控制并以加法增加乘法遞減(additive increase multiplicative decrease,AIMD)機(jī)制改變擁塞窗口的大小,并且僅通過超時(shí)檢測(cè)擁塞。由于NDN 多源多路徑的傳輸特性,不同的路徑以及不同的內(nèi)容提供者具有不同的RTT,基于單一內(nèi)容源的算法通過設(shè)置單一RTT 值在檢測(cè)擁塞方面存在一些問題。
內(nèi)容中心TCP(content centric TCP,CCTCP)和遠(yuǎn)程自適應(yīng)主動(dòng)隊(duì)列管理(remote adaptive active queue management,RAAQM)通過標(biāo)簽識(shí)別每個(gè)內(nèi)容源或每個(gè)傳輸路徑來實(shí)現(xiàn)多源傳輸擁塞控制。其中,CCTCP 為每個(gè)數(shù)據(jù)源維護(hù)一個(gè)RTO 值和擁塞窗口。RAAQM 為每個(gè)傳輸路徑維護(hù)一個(gè)RTO 值和擁塞窗口,這樣的擁塞控制方案需要內(nèi)容請(qǐng)求者為每個(gè)流維護(hù)多個(gè)源或路徑的大量信息,因此它們的開銷很大。
在興趣包速率的自調(diào)節(jié)控制(self-regulating interest rate control,SIRC)中,內(nèi)容請(qǐng)求者監(jiān)視數(shù)據(jù)包的到達(dá)間隔時(shí)間并將興趣包發(fā)送速率調(diào)整為數(shù)據(jù)包接收速率。SIRC 還考慮了多個(gè)內(nèi)容提供者在重傳超時(shí)后相互轉(zhuǎn)換,但沒有考慮同時(shí)使用多個(gè)內(nèi)容提供者進(jìn)行傳輸。同樣在NDN 中數(shù)據(jù)可能來自不同路徑的不同源,因此數(shù)據(jù)包的到達(dá)間隔并不能正確反映網(wǎng)絡(luò)鏈路的真實(shí)情況,進(jìn)而導(dǎo)致SIRC 可能計(jì)算出錯(cuò)誤的發(fā)送速率。
顯式控制協(xié)議(explicit control protocol,ECP)將網(wǎng)絡(luò)擁塞程度劃分為三個(gè)級(jí)別,通過檢測(cè)中間節(jié)點(diǎn)中傳輸隊(duì)列的平均長(zhǎng)度判斷網(wǎng)絡(luò)的擁塞程度,并將具體的擁塞級(jí)別信息通過NACK(negative acknowledgment)分組反饋給內(nèi)容請(qǐng)求者,然后內(nèi)容請(qǐng)求者通過乘法增加加法增加乘法遞減(multiplicative increase additive increase multiplicative decrease,MIAIMD)算法相應(yīng)地調(diào)整其興趣發(fā)送速率。但是在節(jié)點(diǎn)檢測(cè)到擁塞后,數(shù)據(jù)包會(huì)重復(fù)反饋擁塞信息造成擁塞控制算法的過度反應(yīng)。
PCON 算法提出各個(gè)節(jié)點(diǎn)監(jiān)測(cè)自身出站鏈路上每個(gè)數(shù)據(jù)包的排隊(duì)延遲來檢測(cè)擁塞。檢測(cè)到擁塞后通過數(shù)據(jù)包反饋擁塞信號(hào)給內(nèi)容請(qǐng)求者,內(nèi)容請(qǐng)求者接收到擁塞標(biāo)記后調(diào)整擁塞窗口大小。擁塞窗口在接收到未標(biāo)記的數(shù)據(jù)包時(shí)增加,接收到有標(biāo)記的數(shù)據(jù)包、NACK 和超時(shí)時(shí)減少,并且內(nèi)容請(qǐng)求者每RTT 最多執(zhí)行一次窗口減少,PCON 算法的問題是當(dāng)在一個(gè)RTT 中已執(zhí)行了一次窗口減少,如果后續(xù)數(shù)據(jù)包反饋更嚴(yán)重的擁塞,此時(shí)算法無法進(jìn)一步減少窗口,因此不能對(duì)擁塞進(jìn)行更有效的控制,降低了擁塞控制算法的效率。
基于內(nèi)容請(qǐng)求者的擁塞控制算法可以利用NDN內(nèi)容請(qǐng)求者驅(qū)動(dòng)的傳輸特性,通過控制興趣包的發(fā)送數(shù)量或發(fā)送速率進(jìn)行擁塞控制,易于實(shí)現(xiàn),但是在內(nèi)容請(qǐng)求者處進(jìn)行擁塞控制存在內(nèi)容來源不確定的問題,進(jìn)而影響擁塞檢測(cè)的準(zhǔn)確性。
(2)逐跳擁塞控制算法
逐跳興趣包整形機(jī)制(hop-by-hop interest shaping mechanism,HoBHIS)通過監(jiān)視塊隊(duì)列長(zhǎng)度來檢測(cè)擁塞,并根據(jù)隊(duì)列長(zhǎng)度和節(jié)點(diǎn)可用資源調(diào)整興趣轉(zhuǎn)發(fā)率。路由器獨(dú)立決定允許的最大興趣發(fā)送速率,并相應(yīng)地形成興趣包。還向內(nèi)容請(qǐng)求者報(bào)告最大允許發(fā)送速率,內(nèi)容請(qǐng)求者根據(jù)反饋信息來控制興趣包的發(fā)送。
基于窗口的逐跳擁塞控制(hop-by-hop windowbased congestion control,HWCC)提出在每個(gè)數(shù)據(jù)流中的每一跳確定一個(gè)興趣窗口大小,HWCC 引入逐跳確認(rèn)(H-ACK)分組和在窗口關(guān)閉時(shí)存儲(chǔ)興趣分組的隊(duì)列(興趣隊(duì)列)。H-ACK 分組報(bào)告連續(xù)傳送的興趣包的接收。為了請(qǐng)求H-ACK 分組,將H-ACK 請(qǐng)求標(biāo)志添加到興趣分組。路由器在窗口中的最后一個(gè)興趣數(shù)據(jù)包上設(shè)置此標(biāo)志。對(duì)于超過擁塞窗口的興趣包,路由器將它們存儲(chǔ)在興趣隊(duì)列中,等待下一次窗口再發(fā)送。
逐跳控制可以細(xì)粒度地調(diào)節(jié)鏈路數(shù)據(jù)的傳輸,這樣可以更準(zhǔn)確地檢測(cè)擁塞,并進(jìn)行適當(dāng)?shù)恼{(diào)節(jié)以緩解擁塞,但是在節(jié)點(diǎn)處進(jìn)行復(fù)雜的擁塞監(jiān)控及速率調(diào)整會(huì)增加算法設(shè)計(jì)難度,開銷巨大且會(huì)受到節(jié)點(diǎn)資源的限制。
(3)基于內(nèi)容請(qǐng)求者和逐跳控制的混合方案
聯(lián)合逐跳和接收器驅(qū)動(dòng)的興趣包控制協(xié)議(hopby-hop and receiver-driven interest control protocol,HR-ICP)在ICP 的基礎(chǔ)上增加了逐跳擁塞控制機(jī)制。在內(nèi)容請(qǐng)求者處,使用ICP 的興趣控制算法,在中間節(jié)點(diǎn)處,采用基于配額的方案來轉(zhuǎn)發(fā)興趣包,以實(shí)現(xiàn)更快速地檢測(cè)并響應(yīng)擁塞,從而提高了網(wǎng)絡(luò)的吞吐量和魯棒性。但在HR-ICP 中,基于內(nèi)容請(qǐng)求者的機(jī)制和逐跳控制機(jī)制是相互獨(dú)立的,在中間節(jié)點(diǎn)采取的轉(zhuǎn)發(fā)控制會(huì)直接影響內(nèi)容請(qǐng)求者處隱式擁塞檢測(cè)的準(zhǔn)確性。
塊交換跳躍拉控制協(xié)議(chunk-switched hop pull control protocol,CHoPCoP)使用基于內(nèi)容請(qǐng)求者的控制作為主控制,并使用逐跳控制作為輔助控制手段。當(dāng)中間節(jié)點(diǎn)的隊(duì)列長(zhǎng)度超過設(shè)定閾值時(shí),CHoPCoP 啟動(dòng)逐跳控制機(jī)制,并且內(nèi)容請(qǐng)求者使用AIMD 機(jī)制調(diào)整窗口大小,中間節(jié)點(diǎn)采用REM(隨機(jī)早期標(biāo)記)機(jī)制,即通過監(jiān)視輸出數(shù)據(jù)隊(duì)列的大小來檢測(cè)擁塞,并在發(fā)生擁塞時(shí)標(biāo)記數(shù)據(jù)包將擁塞信息反饋給內(nèi)容請(qǐng)求者。
基于內(nèi)容請(qǐng)求者和逐跳控制的混合方案有效避免了單類型算法的缺點(diǎn),并可以實(shí)現(xiàn)更多樣性的擁塞控制機(jī)制,但兩種機(jī)制的組合如果不能協(xié)調(diào)得當(dāng),就會(huì)出現(xiàn)重復(fù)或者過度的擁塞控制,造成傳輸性能下降。
通過上述分析討論,本文首先提出了采用One-Interest-Multiple-Data 的傳輸模式,并在內(nèi)容提供者處通過控制數(shù)據(jù)包的發(fā)送來進(jìn)行擁塞控制。一方面降低傳輸時(shí)延,另一方面通過興趣包的路徑信息收集實(shí)現(xiàn)合理傳輸和避免擁塞。最后,在此基礎(chǔ)上,針對(duì)現(xiàn)有擁塞控制算法大多忽略了節(jié)點(diǎn)緩存對(duì)擁塞控制影響的問題,充分考慮了內(nèi)容緩存對(duì)擁塞控制的影響,通過緩存標(biāo)記,有序傳輸緩存內(nèi)容,加速內(nèi)容獲取,避免擁塞。
為實(shí)現(xiàn)本文提出的擁塞控制機(jī)制,對(duì)NDN 中的興趣包、數(shù)據(jù)包和PIT(pending information table)結(jié)構(gòu)做了適當(dāng)必要修改,具體結(jié)構(gòu)如圖1 所示,其中灰色部分表示新增字段。
圖1 數(shù)據(jù)結(jié)構(gòu)圖Fig.1 System data structure
興趣包中的Bandwidth 字段記錄內(nèi)容提供者到內(nèi)容請(qǐng)求者之間路徑的瓶頸帶寬;Delay 字段記錄內(nèi)容提供者到內(nèi)容請(qǐng)求者之間的單向時(shí)延;Sent字段記錄傳輸路徑中存在的節(jié)點(diǎn)緩存內(nèi)容;Lost字段記錄傳輸過程中丟失的數(shù)據(jù)包。
數(shù)據(jù)包中的Inventory 字段記錄內(nèi)容提供者針對(duì)當(dāng)前收到的興趣包發(fā)送的數(shù)據(jù)包的清單;PacingRate字段記錄當(dāng)前數(shù)據(jù)包的發(fā)送速率,表示數(shù)據(jù)流的實(shí)際占用帶寬。
PIT 表中的Rate 字段記錄各個(gè)流的預(yù)估占用帶寬/實(shí)際占用帶寬。當(dāng)興趣包經(jīng)過節(jié)點(diǎn)時(shí),Rate 值等于興趣包的Bandwidth 字段值,即預(yù)估占用帶寬,當(dāng)數(shù)據(jù)包經(jīng)過節(jié)點(diǎn)時(shí),Rate 值等于PacingRate 字段值,即實(shí)際占用帶寬。Caching 字段用來標(biāo)記當(dāng)前節(jié)點(diǎn)是否存在待發(fā)送的緩存內(nèi)容。
算法流程如圖2 所示。
圖2 算法流程圖Fig.2 Algorithm flow chart
(1)來自內(nèi)容請(qǐng)求者的興趣包在經(jīng)過中間節(jié)點(diǎn)時(shí),每個(gè)節(jié)點(diǎn)根據(jù)沿途每段鏈路信息動(dòng)態(tài)計(jì)算出瓶頸帶寬和時(shí)延,并將其分別放入興趣包中相應(yīng)的字段。
(2)內(nèi)容提供者收到興趣包后,根據(jù)包中的瓶頸帶寬和時(shí)延等信息計(jì)算出擁塞窗口和數(shù)據(jù)包的發(fā)送速率,然后生成數(shù)據(jù)包原路返回。
(3)數(shù)據(jù)包在經(jīng)過中間節(jié)點(diǎn)時(shí),每個(gè)節(jié)點(diǎn)根據(jù)數(shù)據(jù)包中Inventory 字段和PacingRate 字段的信息更新PIT 表中的記錄。
(4)內(nèi)容請(qǐng)求者收到數(shù)據(jù)包后,根據(jù)興趣包中的Inventory 字段判斷數(shù)據(jù)包的接收情況,從而判斷后繼操作,即發(fā)送新的興趣包請(qǐng)求后續(xù)內(nèi)容或重傳丟失的數(shù)據(jù)包。
中間節(jié)點(diǎn)在收到來自內(nèi)容請(qǐng)求者的興趣包后,如果該節(jié)點(diǎn)的PIT 表中待定興趣包的數(shù)量超過閾值,則將該興趣包返還給上一節(jié)點(diǎn),尋找新的可用路徑;否則將該興趣包記錄在PIT 表中,然后節(jié)點(diǎn)根據(jù)當(dāng)前鏈路狀態(tài),動(dòng)態(tài)計(jì)算這個(gè)新加入的數(shù)據(jù)流在該節(jié)點(diǎn)可分配到的帶寬,即這個(gè)興趣包所請(qǐng)求的數(shù)據(jù)包在該節(jié)點(diǎn)出接口(從內(nèi)容提供者到內(nèi)容請(qǐng)求者方向的接口)的可用帶寬,計(jì)算如下:
其中,表示興趣包對(duì)應(yīng)的數(shù)據(jù)包在節(jié)點(diǎn)出接口的總帶寬,是當(dāng)前出接口已經(jīng)存在的數(shù)據(jù)流的個(gè)數(shù),是當(dāng)前節(jié)點(diǎn)已存在的個(gè)數(shù)據(jù)流中,已占用帶寬小于帶寬的分之一的數(shù)據(jù)流的個(gè)數(shù),b是這個(gè)數(shù)據(jù)流中第個(gè)數(shù)據(jù)流的實(shí)際帶寬,數(shù)值為該數(shù)據(jù)流在PIT 表記錄中的Rate字段的值。
興趣包在從內(nèi)容請(qǐng)求者出發(fā)的路徑上,沿途將逐段鏈路瓶頸帶寬的數(shù)值記錄在Bandwidth 字段,并實(shí)時(shí)更新,同時(shí)計(jì)算每段鏈路的時(shí)延,并將從內(nèi)容請(qǐng)求者到當(dāng)前節(jié)點(diǎn)的時(shí)延和記錄在Delay 字段。當(dāng)興趣包到達(dá)內(nèi)容提供者時(shí),此時(shí)興趣包的Bandwidth 字段中記錄著經(jīng)過的整個(gè)路徑中所有節(jié)點(diǎn)可以提供的帶寬最小值,Delay 字段記錄著從內(nèi)容請(qǐng)求者到內(nèi)容提供者之間的單向時(shí)延和。內(nèi)容提供者據(jù)此計(jì)算出擁塞窗口,如下所示:
其中,表示數(shù)據(jù)包大小,擁塞窗口值就是受瓶頸鏈路影響的整條路徑中可以容納的數(shù)據(jù)包數(shù)量。內(nèi)容提供者計(jì)算出擁塞窗口后,將相應(yīng)數(shù)據(jù)包按照Bandwidth大小的速率發(fā)送出去。數(shù)據(jù)包中的Inventory字段中記錄著此次數(shù)據(jù)包清單。PacingRate字段中記錄數(shù)據(jù)包的發(fā)送速率。
中間節(jié)點(diǎn)在收到來自內(nèi)容提供者的數(shù)據(jù)包后,將PIT 表中Rate 字段中的值更新為PacingRate 字段中的值,即實(shí)際占用帶寬。從而保證在新的數(shù)據(jù)流加入后,帶寬能夠重新分配。同時(shí),節(jié)點(diǎn)應(yīng)用Inventory字段來更新PIT 表?xiàng)l目狀態(tài),即判斷當(dāng)前數(shù)據(jù)包是否為請(qǐng)求內(nèi)容的最后一個(gè)數(shù)據(jù)包,如果不是的話,則延長(zhǎng)該數(shù)據(jù)流在PIT 表中條目的生存時(shí)間。
內(nèi)容請(qǐng)求者在收到數(shù)據(jù)包后,按照Inventory 字段上的內(nèi)容對(duì)比收到的數(shù)據(jù)包,如果某個(gè)數(shù)據(jù)包未收到,但后續(xù)數(shù)據(jù)包已經(jīng)收到,則判定該數(shù)據(jù)包丟失;如果收到某一數(shù)據(jù)包之后,超過RTO 值(即從內(nèi)容請(qǐng)求者發(fā)送興趣包的時(shí)刻到收到第一個(gè)數(shù)據(jù)包的間隔或者更小的值)未收到后續(xù)數(shù)據(jù)包,則判定該后續(xù)數(shù)據(jù)包丟失。內(nèi)容請(qǐng)求者發(fā)送新的興趣包(相當(dāng)于ACK),將丟失的數(shù)據(jù)包清單記錄在興趣包的Lost字段。內(nèi)容提供者收到新的興趣包后,提取新的Bandwidth 和Delay 字段,計(jì)算新的和數(shù)據(jù)包的發(fā)送速率,重傳Lost 字段中記錄的數(shù)據(jù)包或者發(fā)送新的數(shù)據(jù)包。
為充分利用NDN 的內(nèi)容緩存特性,應(yīng)用緩存標(biāo)記策略來直接傳輸節(jié)點(diǎn)的緩存內(nèi)容,同時(shí)傳輸后續(xù)節(jié)點(diǎn)的內(nèi)容。具體流程為:中間某個(gè)節(jié)點(diǎn)在收到興趣包后,發(fā)現(xiàn)自己有該請(qǐng)求內(nèi)容的部分緩存時(shí),就將自己的緩存內(nèi)容記錄在興趣包中的Sent 字段中,然后節(jié)點(diǎn)根據(jù)興趣包中Bandwidth 字段和Delay 字段中的信息計(jì)算出擁塞窗口以及發(fā)送速率,并將緩存內(nèi)容發(fā)送給內(nèi)容請(qǐng)求者。接著繼續(xù)應(yīng)用FIB 轉(zhuǎn)發(fā)該興趣包,直至到達(dá)最終的內(nèi)容提供者或該興趣包對(duì)應(yīng)的所有分片內(nèi)容都已放入sent字段,即中間緩存節(jié)點(diǎn)滿足了內(nèi)容請(qǐng)求者的需求,返回了該內(nèi)容對(duì)應(yīng)的所有分片。
在數(shù)據(jù)包的返回過程中,如果數(shù)據(jù)包被轉(zhuǎn)發(fā)到之前存在緩存的節(jié)點(diǎn)時(shí),PIT 表中該內(nèi)容條目的Caching 字段顯示為true 時(shí),則表示該節(jié)點(diǎn)還未將緩存內(nèi)容發(fā)送完畢,則此節(jié)點(diǎn)先將接受到的數(shù)據(jù)包緩存到CS 中,之后讓該節(jié)點(diǎn)統(tǒng)一發(fā)送。
由于NDN 中只有興趣包和數(shù)據(jù)包傳輸,本文提供兩種包的傳輸過程,分別如算法1 和算法2 所示。
1 興趣包在NDN 中的傳輸過程
其中,步驟2、3 表示如果當(dāng)前節(jié)點(diǎn)中的未決表項(xiàng)數(shù)量超過閾值,即已經(jīng)處于擁塞狀態(tài),則該中間節(jié)點(diǎn)將這個(gè)興趣包返回給上一跳節(jié)點(diǎn);否則,步驟5~9 表示該中間節(jié)點(diǎn)在PIT 中加入一條新的表項(xiàng),并更新這個(gè)興趣包中的Bandwidth 和Delay 字段。如果此中間節(jié)點(diǎn)有這個(gè)興趣包需求的內(nèi)容,則步驟12~15 表示計(jì)算擁塞窗口,返回緩存的請(qǐng)求內(nèi)容等,否則繼續(xù)轉(zhuǎn)發(fā)這個(gè)興趣包。
2 數(shù)據(jù)包在NDN 中的傳輸過程
其中,步驟2~5 表示內(nèi)容請(qǐng)求者收到數(shù)據(jù)包后,檢查相應(yīng)內(nèi)容,如果收到的數(shù)據(jù)包不能組成全部?jī)?nèi)容,則需要繼續(xù)發(fā)送興趣包以獲取缺乏的內(nèi)容,步驟7~14 表示中間節(jié)點(diǎn)在收到數(shù)據(jù)包后,更新相關(guān)內(nèi)容,然后如果自己的緩存內(nèi)容還沒有發(fā)送完,則先緩存收到的數(shù)據(jù)包,以避免擁塞,否則直接轉(zhuǎn)發(fā)。
使用開源仿真平臺(tái)ndnSIM 實(shí)現(xiàn)了提出的擁塞控制機(jī)制,ndnSIM 基于網(wǎng)絡(luò)模擬器NS3 實(shí)現(xiàn)了NDN協(xié)議棧。
采用NDN 中常用拓?fù)銬FN,如圖3 所示。共設(shè)置3 個(gè)內(nèi)容請(qǐng)求者1、2 和3,3 個(gè)內(nèi)容提供者1、2 和3 以及8 個(gè)路由節(jié)點(diǎn),分別為1~8。根據(jù)VR 的初級(jí)沉浸(entry-level immersion,EI)應(yīng)用性能要求,將4-5、4-8、8-5 設(shè)置為瓶頸鏈路,帶寬均為50 Mbit/s,將1-4、2-4、3-4鏈路帶寬均設(shè)置為80 Mbit/s,其余鏈路帶寬均為100 Mbit/s,所有鏈路時(shí)延均為10 ms。通過模擬VR初級(jí)沉浸場(chǎng)景下的數(shù)據(jù)傳輸來評(píng)估各個(gè)算法的性能。興趣包大小為125 Byte,數(shù)據(jù)包大小為1 124 Byte,默認(rèn)下,每個(gè)興趣包請(qǐng)求的內(nèi)容大小為100 MB。
圖3 DFN 拓?fù)銯ig.3 DFN topology
選擇當(dāng)前NDN 中的一個(gè)主要擁塞控制算法CHoPCoP 作為基準(zhǔn)算法進(jìn)行性能比較。同時(shí),考慮到CHoPCoP 算法基于One-Interest-One-Data 傳輸模式,為保證公平性,對(duì)CHoPCoP 算法進(jìn)行了改進(jìn)(CHoPCoP-impro),即通過內(nèi)容提供者改變發(fā)送數(shù)據(jù)包的數(shù)量來進(jìn)行擁塞控制,并保留了中間節(jié)點(diǎn)記錄隊(duì)列長(zhǎng)度反饋擁塞的機(jī)制,興趣包和數(shù)據(jù)包的結(jié)構(gòu)也進(jìn)行了類似修改以記錄相關(guān)信息。
主要從擁塞控制機(jī)制的效率、穩(wěn)定性以及存在節(jié)點(diǎn)緩存時(shí)的傳輸三方面評(píng)估性能。
首先設(shè)定從1 向1 請(qǐng)求100 MB 的數(shù)據(jù),分別觀察1 向1 請(qǐng)求數(shù)據(jù)時(shí)的擁塞窗口、隊(duì)列長(zhǎng)度和數(shù)據(jù)傳輸速率隨時(shí)間發(fā)展的變化情況。
圖4 顯示內(nèi)容提供者1 的擁塞窗口隨時(shí)間發(fā)展的變化情況??梢钥闯觯疚奶岢鰴C(jī)制的擁塞窗口一直穩(wěn)定在一個(gè)最高的數(shù)值,CHoPCoP 和CHoPCoPimpro 都隨著時(shí)間而波動(dòng),但后者波動(dòng)的范圍略小,而且數(shù)值較高。這是因?yàn)樵摍C(jī)制可以準(zhǔn)確探測(cè)鏈路的信息并計(jì)算出可以容納的數(shù)據(jù)包數(shù)量,因此當(dāng)鏈路情況保持不變時(shí)性能最優(yōu)。而CHoPCoP和CHoPCoPimpro 都采用線性增長(zhǎng)指數(shù)下降和中間節(jié)點(diǎn)反饋隊(duì)列長(zhǎng)度的策略進(jìn)行擁塞控制,持續(xù)增加擁塞窗口會(huì)導(dǎo)致節(jié)點(diǎn)處出現(xiàn)較長(zhǎng)隊(duì)列,進(jìn)而通過反饋減少擁塞窗口,如此往復(fù)造成擁塞窗口出現(xiàn)持續(xù)的振蕩。CHoPCoP 算法一次性發(fā)送擁塞窗口數(shù)量的興趣包,導(dǎo)致隊(duì)列長(zhǎng)度過長(zhǎng),進(jìn)而超過閾值時(shí)減少擁塞窗口,因此CHoPCoP 的性能最低。CHoPCoP-impro 可以根據(jù)路徑反饋的隊(duì)列長(zhǎng)度調(diào)整數(shù)據(jù)包發(fā)送速率,避免了集中發(fā)送數(shù)據(jù)包,在中間節(jié)點(diǎn)處出現(xiàn)長(zhǎng)隊(duì)列的情況,因此可以達(dá)到比CHoPCoP 更高的擁塞窗口值。
圖4 擁塞窗口隨時(shí)間發(fā)展的變化情況Fig.4 Changes in congestion window over time
圖5 顯示所有中間節(jié)點(diǎn)(1、4、5 和6)的隊(duì)列長(zhǎng)度平均值隨時(shí)間發(fā)展的變化情況。提出的算法能夠?qū)?shù)據(jù)包發(fā)送速率控制在整條傳輸路徑的瓶頸帶寬范圍內(nèi),因此在各個(gè)中間節(jié)點(diǎn)幾乎都沒有出現(xiàn)排隊(duì)隊(duì)列。CHoPCoP-impro 根據(jù)路徑狀況調(diào)整數(shù)據(jù)包發(fā)送速率,從而降低了在各個(gè)中間節(jié)點(diǎn)處數(shù)據(jù)包的排隊(duì)長(zhǎng)度,因此隊(duì)列長(zhǎng)度整體較小,波動(dòng)范圍也較小。CHoPCoP 的數(shù)據(jù)包突發(fā)會(huì)造成數(shù)據(jù)包在中間節(jié)點(diǎn)處出現(xiàn)排隊(duì)較長(zhǎng)的現(xiàn)象,因此性能最差。
圖5 隊(duì)列長(zhǎng)度隨時(shí)間發(fā)展的變化情況Fig.5 Changes in queue length over time
圖6 顯示的是數(shù)據(jù)傳輸速率隨時(shí)間發(fā)展的變化情況,即內(nèi)容請(qǐng)求者1 接收數(shù)據(jù)包的情況。提出的算法按照鏈路瓶頸發(fā)送數(shù)據(jù)包,可以將數(shù)據(jù)傳輸速率穩(wěn)定維持在接近瓶頸鏈路帶寬的速度,因此取得了最好性能。CHoPCoP-impro 算法可以動(dòng)態(tài)調(diào)整數(shù)據(jù)包的發(fā)送速率,避免了數(shù)據(jù)包突發(fā)造成的排隊(duì)問題,因此平均傳輸速率要高于CHoPCoP,而CHoPCoP算法容易在節(jié)點(diǎn)處造成長(zhǎng)隊(duì)列,進(jìn)而頻繁地減少擁塞窗口,使得整體傳輸速率小于其余兩種算法,因此性能最差。
圖6 數(shù)據(jù)傳輸速率隨時(shí)間發(fā)展的變化情況Fig.6 Changes in data transmission rate over time
進(jìn)一步測(cè)試內(nèi)容請(qǐng)求者需求不同大小內(nèi)容時(shí),傳輸時(shí)間長(zhǎng)度的情況。即從內(nèi)容請(qǐng)求者生成第一個(gè)興趣包到它收到所有內(nèi)容的時(shí)間差。結(jié)果如圖7 所示,提出的機(jī)制在不同內(nèi)容大小下都耗費(fèi)了最短的時(shí)間。而且隨著內(nèi)容大小的增長(zhǎng),傳輸時(shí)間比另外兩種算法的傳輸時(shí)間優(yōu)勢(shì)也隨之增長(zhǎng),最多可分別達(dá)到約36.2%(CHoPCoP)和25.6%(CHoPCoP-impro)。
圖7 傳輸時(shí)間比較Fig.7 Comparison of transmission time
接著測(cè)試新增數(shù)據(jù)流情況下的機(jī)制穩(wěn)定性。即在0 s 時(shí),1 開始向1 請(qǐng)求數(shù)據(jù),在10 s 時(shí)2 開始向2 請(qǐng)求數(shù)據(jù),測(cè)量1 和2 的數(shù)據(jù)流傳輸狀態(tài)達(dá)到平衡所需時(shí)間。運(yùn)行30 次實(shí)驗(yàn),測(cè)量?jī)蓚€(gè)流達(dá)到動(dòng)態(tài)平衡所需時(shí)間,統(tǒng)計(jì)這30 個(gè)實(shí)驗(yàn)結(jié)果的概率分布函數(shù),如圖8 所示??梢钥闯?,本文提出的機(jī)制達(dá)到平衡所需時(shí)間以90%概率小于163 ms,CHoPCoP算法達(dá)到平衡所需時(shí)間以90%概率小于237 ms,CHoPCoP-impro 算法達(dá)到平衡所需時(shí)間以90%概率小于253 ms。因?yàn)镃HoPCoP-impro 算法每個(gè)周期內(nèi)只調(diào)整一次擁塞窗口和發(fā)送速率的變化,滯后了達(dá)到平衡時(shí)間,整體恢復(fù)平衡時(shí)間要大于CHoPCoP算法。
圖8 數(shù)據(jù)流達(dá)到平衡所需時(shí)間的累計(jì)分布函數(shù)Fig.8 Cumulative distribution function of time required for data flow to reach equilibrium
進(jìn)一步測(cè)試多個(gè)數(shù)據(jù)流共享瓶頸帶寬時(shí),各個(gè)算法的性能??紤]到AR/VR 應(yīng)用對(duì)帶寬和時(shí)延有嚴(yán)格要求,以保證應(yīng)用的服務(wù)質(zhì)量,因此適用于AR/VR場(chǎng)景的擁塞控制算法應(yīng)能檢測(cè)鏈路帶寬是否能滿足傳輸性能要求,并進(jìn)行鏈路選擇。逐漸增加內(nèi)容請(qǐng)求者和內(nèi)容提供者的數(shù)量,最開始只有1 請(qǐng)求數(shù)據(jù),每5 s 后增加一個(gè)數(shù)據(jù)請(qǐng)求者,直到三個(gè)內(nèi)容請(qǐng)求者都請(qǐng)求數(shù)據(jù)。
圖9 顯示了多個(gè)數(shù)據(jù)流傳輸速率到達(dá)平衡時(shí)的帶寬占用情況??梢钥吹?,由于提出算法在數(shù)據(jù)流加入時(shí)會(huì)將帶寬進(jìn)行重新分配,在流達(dá)到平衡時(shí),數(shù)據(jù)流1(1-1)和2(2-2)占用帶寬比例相同,即均分可用帶寬。當(dāng)內(nèi)容請(qǐng)求者3 開始請(qǐng)求數(shù)據(jù)時(shí),此時(shí)瓶頸鏈路4-5 已經(jīng)存在兩個(gè)數(shù)據(jù)流,如果3請(qǐng)求數(shù)據(jù)仍從4-5 鏈路進(jìn)行傳輸?shù)脑?,可分配帶寬無法滿足AR/VR 初級(jí)沉浸場(chǎng)景下的傳輸帶寬要求(20~50 Mbit/s),因此4 節(jié)點(diǎn)會(huì)把3 發(fā)送的興趣包從另外的接口轉(zhuǎn)發(fā)到其他帶寬滿足需求的路徑中,數(shù)據(jù)流3 使用4-8-5 路徑以滿足應(yīng)用需求。因?yàn)樾录尤肓麟y以搶占帶寬,CHoPCoP 算法中數(shù)據(jù)流1 和2 占據(jù)更多帶寬,數(shù)據(jù)流3 占據(jù)帶寬較小。CHoPCoP-impro 算法中,由于減少擁塞窗口時(shí)也會(huì)減少傳輸速率,降低隊(duì)列長(zhǎng)度,后續(xù)的流可以在剛開始傳輸時(shí)獲得一個(gè)較大的擁塞窗口,因此雖然同樣是最開始的數(shù)據(jù)流占據(jù)最大帶寬,但各個(gè)數(shù)據(jù)流占據(jù)帶寬的差值要小于CHoPCoP 算法。
圖9 多流傳輸時(shí)各數(shù)據(jù)流占用帶寬情況Fig.9 Bandwidth occupied by each data stream during multi-stream transmission
圖10 顯示了多數(shù)據(jù)流傳輸時(shí),各個(gè)流完成傳輸所需時(shí)間的情況??梢钥闯?,與圖9 相對(duì)應(yīng),本文提出的算法,數(shù)據(jù)流1 和2 占用帶寬相同的情況下,完成傳輸時(shí)間基本相同,數(shù)據(jù)流3 使用其他帶寬更高的路徑進(jìn)行傳輸,因此完成傳輸所需時(shí)間最小。CHoPCoP 算法中,數(shù)據(jù)流1 占據(jù)帶寬最多,因此完成傳輸所需時(shí)間也最小,其次是數(shù)據(jù)流2,最后是數(shù)據(jù)流3。CHoPCoP-impro 算法中,結(jié)果相似,而數(shù)據(jù)流2 和3 完成傳輸時(shí)間均小于CHoPCoP 算法中的數(shù)據(jù)流2 和3,一方面是因?yàn)檎加脦挻笮〔煌?,另一方面則是CHoPCoP 在傳輸過程中的傳輸速率波動(dòng)較大,會(huì)造成傳輸效率的下降。
圖10 各個(gè)數(shù)據(jù)流完成傳輸所需時(shí)間Fig.10 Time required for each data stream to complete transmission
然后進(jìn)行了隨機(jī)丟包測(cè)試,即在1 向1 傳輸數(shù)據(jù)時(shí),通過在節(jié)點(diǎn)設(shè)置丟包率,并20 s 觸發(fā)一次,隨機(jī)丟棄一定數(shù)量的數(shù)據(jù)包,測(cè)試各個(gè)算法的傳輸速率隨時(shí)間的變化情況以及流完成時(shí)間。
圖11 顯示在網(wǎng)絡(luò)存在丟包的情況下,三種機(jī)制的數(shù)據(jù)傳輸速率隨時(shí)間發(fā)展的變化情況。可以看出,本文提出機(jī)制的數(shù)據(jù)傳輸速率不受丟包因素的影響,這是因?yàn)閮?nèi)容請(qǐng)求者根據(jù)數(shù)據(jù)包的Inventory字段,判斷是否發(fā)生丟包,如果發(fā)生丟包的話,內(nèi)容請(qǐng)求者將丟失的數(shù)據(jù)包記錄在興趣包的Lost 字段中,內(nèi)容提供者接收到興趣包后直接重發(fā)丟失的數(shù)據(jù)包,因此不用減少擁塞窗口和發(fā)送速率。CHoPCoP在檢測(cè)到丟包后會(huì)將擁塞窗口減為1,傳輸速率急劇減少,當(dāng)發(fā)生多個(gè)丟包時(shí),算法會(huì)持續(xù)進(jìn)入慢啟動(dòng)階段,因此數(shù)據(jù)傳輸速率就會(huì)維持在極低的水平。而CHoPCoP-impro 設(shè)置為丟包后,不會(huì)在興趣包Lost字段記錄丟失數(shù)據(jù)包清單,只是在Lost 字段標(biāo)記發(fā)生丟包,因此內(nèi)容提供者會(huì)將上一輪傳輸?shù)臄?shù)據(jù)包進(jìn)行重傳,并不會(huì)減少發(fā)送速率。
圖11 網(wǎng)絡(luò)存在丟包時(shí)數(shù)據(jù)傳輸速率的變化Fig.11 Changes in data transmission rate under packet loss on network
圖12 表示在網(wǎng)絡(luò)中存在丟包時(shí),傳輸時(shí)間的比較??梢钥闯?,本文提出的算法只需要按照正常的傳輸速率將丟失的數(shù)據(jù)包重傳,因此流完成時(shí)間并沒有發(fā)生明顯的增加。而CHoPCoP 算法因?yàn)閬G包觸發(fā)的持續(xù)進(jìn)入慢啟動(dòng)階段造成傳輸速度大幅度下降,額外增加了傳輸時(shí)間,因此流完成時(shí)間最大增加了41.6%。CHoPCoP-impro 的傳輸速率雖然沒有變化,但是由于一次丟包要重傳上一輪的所有數(shù)據(jù)包,也會(huì)造成傳輸時(shí)間的增加,流完成時(shí)間最大增加28.2%。
圖12 網(wǎng)絡(luò)存在丟包時(shí)傳輸時(shí)間比較Fig.12 Comparison of transmission time under packet loss on network
最后考慮NDN 的內(nèi)容緩存特性,即測(cè)試中間節(jié)點(diǎn)存在緩存時(shí),不同擁塞控制算法的性能。1 向1發(fā)送興趣包請(qǐng)求內(nèi)容,在中間節(jié)點(diǎn)4 處放置1/4的緩存內(nèi)容,使得部分請(qǐng)求內(nèi)容可以在4 節(jié)點(diǎn)返回給1。
從圖13 可以看出,本文提出的機(jī)制在4 獲取緩存內(nèi)容時(shí),可以根據(jù)1-4 的瓶頸帶寬發(fā)送數(shù)據(jù)包,當(dāng)從內(nèi)容提供者1 發(fā)送的數(shù)據(jù)包到達(dá)4,而4 尚有數(shù)據(jù)包等待返回時(shí),可以先將數(shù)據(jù)包緩存在4中,避免隊(duì)列緩沖區(qū)溢出。CHoPCoP算法因?yàn)楣?jié)點(diǎn)緩存的存在,導(dǎo)致從節(jié)點(diǎn)緩存返回的數(shù)據(jù)包不能反饋完整的鏈路信息,造成擁塞窗口增加過快,導(dǎo)致算法多次進(jìn)入慢啟動(dòng)階段,降低數(shù)據(jù)傳輸速率。CHoPCoPimpro 在4 尚有緩存內(nèi)容等待返回時(shí),沒有將數(shù)據(jù)包緩存在4 的CS 中,可能會(huì)造成4 處的數(shù)據(jù)包隊(duì)列長(zhǎng)度超過閾值,甚至發(fā)生擁塞,因此會(huì)造成擁塞窗口的減少乃至進(jìn)入慢啟動(dòng)階段,也會(huì)降低數(shù)據(jù)傳輸速率。
圖13 存在節(jié)點(diǎn)緩存時(shí)數(shù)據(jù)傳輸速率的變化Fig.13 Changes in data transmission rate with node caches
從圖14 可以看出,在中間節(jié)點(diǎn)存在緩存時(shí),本文提出的機(jī)制與CHoPCoP-impro 算法完成所有內(nèi)容傳輸所需的時(shí)間比沒有緩存時(shí)的時(shí)間更短。本文提出的機(jī)制所需時(shí)間最短,能減少大約21.6%的傳輸時(shí)間;CHoPCoP-impro 大約減少11.3%的傳輸時(shí)間;而CHoPCoP 在有緩存內(nèi)容的情況下,內(nèi)容提供者接收數(shù)據(jù)包反饋的隊(duì)列長(zhǎng)度存在誤差,導(dǎo)致頻繁進(jìn)入慢啟動(dòng)階段,傳輸時(shí)間反而增加了大約37.5%。
圖14 存在節(jié)點(diǎn)緩存時(shí)傳輸時(shí)間比較Fig.14 Comparison of transmission time with node caches
針對(duì)NDN 的傳輸模式在內(nèi)容較大時(shí)需要內(nèi)容請(qǐng)求者持續(xù)發(fā)送多個(gè)興趣包才能獲取完整內(nèi)容,傳輸延時(shí)增加,或大量數(shù)據(jù)包同時(shí)返回易造成網(wǎng)絡(luò)丟包,不適用于AR/VR 等大數(shù)據(jù)量延遲敏感型應(yīng)用,以及現(xiàn)有擁塞控制研究忽略內(nèi)容緩存特性的問題,本文在One-Interest-Multiple-Data 傳輸模式基礎(chǔ)上提出了一種新的鏈路帶寬時(shí)延感知的擁塞控制機(jī)制。使得內(nèi)容提供者通過興趣包收集的路徑瓶頸帶寬和時(shí)延信息計(jì)算擁塞窗口和數(shù)據(jù)發(fā)送速率,從而合理地發(fā)送數(shù)據(jù)包,降低傳輸時(shí)延,避免網(wǎng)絡(luò)擁塞,并且提出了一種緩存標(biāo)記策略以充分地利用節(jié)點(diǎn)緩存,減少傳輸所需時(shí)間。最后,基于ndnSIM 的實(shí)驗(yàn)結(jié)果表明,本文提出的機(jī)制在擁塞窗口、隊(duì)列長(zhǎng)度和數(shù)據(jù)傳輸速率等方面取得更好的性能,同時(shí)能夠以更短的時(shí)間完成請(qǐng)求內(nèi)容的傳輸。而且在網(wǎng)絡(luò)中存在丟包和中間節(jié)點(diǎn)存在緩存內(nèi)容時(shí),本文提出的機(jī)制達(dá)到了更好的性能優(yōu)勢(shì)。
在未來的工作中,一方面將設(shè)計(jì)有效的合作緩存機(jī)制,以提高節(jié)點(diǎn)之間的合作,使得該擁塞控制機(jī)制能更有效地利用中間節(jié)點(diǎn)的緩存內(nèi)容;另一方面將部署原型系統(tǒng),并在更復(fù)雜和實(shí)用化的網(wǎng)絡(luò)拓?fù)渲袦y(cè)試該擁塞控制機(jī)制。