999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

命名數(shù)據(jù)網絡中帶寬時延感知的擁塞控制機制

2022-05-17 06:01:42曲大鵬張建坤呂國鑫高程希
計算機與生活 2022年5期
關鍵詞:內容

曲大鵬,張建坤,呂國鑫,高程希,宋 琪,3+

1.遼寧大學 信息學院,沈陽110036

2.中國科學院 深圳先進技術研究院,廣東 深圳518055

3.遼寧大學 經濟學院,沈陽110036

隨著互聯(lián)網的主要應用需求從早期的資源共享逐漸轉變?yōu)楫斍暗膬热莴@取與分發(fā),端到端通信模式的網絡架構很難滿足這種變化,信息中心網絡(information centric networking,ICN)提出以內容為中心構建新型網絡架構,通過對信息進行命名實現(xiàn)內容檢索和數(shù)據(jù)傳輸,正逐漸成為一種主要的未來網絡架構。命名數(shù)據(jù)網絡(named data networking,NDN)作為ICN 的典型代表,吸引了研究者們的廣泛關注。NDN 采用基于內容名稱路由的無連接傳輸模式,內容請求者通過內容名稱請求數(shù)據(jù),同時路由節(jié)點依據(jù)內容名稱進行數(shù)據(jù)轉發(fā)。因此,NDN 具有節(jié)點緩存和無連接傳輸?shù)忍攸c。

在NDN 中,有兩種分組:興趣包和數(shù)據(jù)包,內容請求者發(fā)送興趣包請求數(shù)據(jù),內容提供者發(fā)送數(shù)據(jù)包響應興趣包。通常情況下,內容請求者發(fā)送一個興趣包以獲取所需內容,內容提供者返回一個裝有該內容的數(shù)據(jù)包給內容請求者。但是當請求內容比較大時,內容提供者需要將該內容分片,然后逐片裝入數(shù)據(jù)包。這種情況或者需要內容請求者持續(xù)發(fā)送多個興趣包才能獲取完整內容,但會導致較大傳輸延時,或者內容提供者一次性返回所有數(shù)據(jù)包,但易導致數(shù)據(jù)包丟失,因此不適用于AR/VR 等大數(shù)據(jù)量延遲敏感型應用場景。

擁塞控制一直是計算機網絡的重要研究問題之一,從傳統(tǒng)的TCP/IP 網絡結構到現(xiàn)在的NDN 結構,都涌現(xiàn)了很多相關研究。但一方面?zhèn)鹘y(tǒng)擁塞控制算法不適用于新型的NDN 結構,例如基于往返傳輸時間(round transmission time,RTT)的擁塞檢測機制不能適應NDN 的多源多路徑特性,而NDN 的無連接特性使得面向連接的基于確認ACK 的擁塞控制機制失效。另一方面,NDN 中的現(xiàn)有擁塞控制研究往往忽略了NDN 的內容緩存特性,沒有考慮到中間節(jié)點緩存了部分請求內容的情況下,對于網絡擁塞控制的影響。

基于上述分析,針對AR/VR 等大數(shù)據(jù)量延遲敏感型應用,基于One-Interest-Multiple-Data 傳輸模式,提出了一個新的擁塞控制機制,內容提供者基于興趣包沿途收集的鏈路狀態(tài)信息計算擁塞窗口和發(fā)送速率,內容請求者根據(jù)收到的數(shù)據(jù)包繼續(xù)發(fā)送興趣包,從而既避免一次發(fā)送大量數(shù)據(jù)包造成網絡擁塞,又通過一個興趣包與多個數(shù)據(jù)包之間的對應關系加速傳輸過程。同時考慮到大多數(shù)提出的NDN 擁塞控制算法沒有考慮節(jié)點緩存對擁塞控制的影響,提出緩存標記的方法,標記鏈路中的緩存信息,讓各節(jié)點緩存內容可以有序傳輸,充分地利用了節(jié)點緩存,減少傳輸所需時間,同時不會影響擁塞控制算法的準確性。

本文的貢獻如下:

(1)針對NDN 的無連接傳輸特性,基于One-Interest-Multiple-Data 傳輸模式,提出了一種新的擁塞控制機制。該機制使用興趣包收集從內容請求者到內容提供者的路徑上的瓶頸鏈路帶寬和時延信息,內容提供者據(jù)此信息計算出擁塞窗口和發(fā)送速率。內容提供者發(fā)送了擁塞窗口數(shù)量的數(shù)據(jù)包之后,內容請求者發(fā)送新的興趣包反饋數(shù)據(jù)包的接收情況以及記錄新的路徑信息來更新?lián)砣翱诤桶l(fā)送速率。與相關研究相比,該機制不僅在擁塞窗口、隊列長度和數(shù)據(jù)傳輸速率等方面取得更好性能,而且能夠在更短的時間內完成大數(shù)據(jù)量內容的傳輸,更適用于AR/VR 等應用。

(2)針對NDN 的節(jié)點緩存特性,提出了緩存標記方法,在中間節(jié)點存在請求內容的部分緩存時,通過標記節(jié)點的緩存內容,一方面通告給后續(xù)節(jié)點,另一方面在節(jié)點尚未完成緩存內容的發(fā)送時,將后續(xù)節(jié)點傳輸過來的數(shù)據(jù)包緩存,留待后續(xù)發(fā)送。從而使得各節(jié)點緩存內容可以有序傳輸,充分地利用了節(jié)點緩存。

1 相關工作

由于擁塞控制一直是計算機網絡的重要研究問題之一,近年來,也涌現(xiàn)了很多針對NDN 的擁塞控制研究。基于不同研究角度,這些擁塞控制算法可以有不同的分類方法。從擁塞控制執(zhí)行者的角度出發(fā),將這些擁塞控制算法分為三類:

(1)基于內容請求者的擁塞控制算法

興趣控制協(xié)議(interest control protocol,ICP)和信息中心傳輸協(xié)議(information centric transmission protocol,ICTP)都是基于內容請求者的控制算法,即它們發(fā)送的興趣包內含窗口大小限制。通過RTT控制并以加法增加乘法遞減(additive increase multiplicative decrease,AIMD)機制改變擁塞窗口的大小,并且僅通過超時檢測擁塞。由于NDN 多源多路徑的傳輸特性,不同的路徑以及不同的內容提供者具有不同的RTT,基于單一內容源的算法通過設置單一RTT 值在檢測擁塞方面存在一些問題。

內容中心TCP(content centric TCP,CCTCP)和遠程自適應主動隊列管理(remote adaptive active queue management,RAAQM)通過標簽識別每個內容源或每個傳輸路徑來實現(xiàn)多源傳輸擁塞控制。其中,CCTCP 為每個數(shù)據(jù)源維護一個RTO 值和擁塞窗口。RAAQM 為每個傳輸路徑維護一個RTO 值和擁塞窗口,這樣的擁塞控制方案需要內容請求者為每個流維護多個源或路徑的大量信息,因此它們的開銷很大。

在興趣包速率的自調節(jié)控制(self-regulating interest rate control,SIRC)中,內容請求者監(jiān)視數(shù)據(jù)包的到達間隔時間并將興趣包發(fā)送速率調整為數(shù)據(jù)包接收速率。SIRC 還考慮了多個內容提供者在重傳超時后相互轉換,但沒有考慮同時使用多個內容提供者進行傳輸。同樣在NDN 中數(shù)據(jù)可能來自不同路徑的不同源,因此數(shù)據(jù)包的到達間隔并不能正確反映網絡鏈路的真實情況,進而導致SIRC 可能計算出錯誤的發(fā)送速率。

顯式控制協(xié)議(explicit control protocol,ECP)將網絡擁塞程度劃分為三個級別,通過檢測中間節(jié)點中傳輸隊列的平均長度判斷網絡的擁塞程度,并將具體的擁塞級別信息通過NACK(negative acknowledgment)分組反饋給內容請求者,然后內容請求者通過乘法增加加法增加乘法遞減(multiplicative increase additive increase multiplicative decrease,MIAIMD)算法相應地調整其興趣發(fā)送速率。但是在節(jié)點檢測到擁塞后,數(shù)據(jù)包會重復反饋擁塞信息造成擁塞控制算法的過度反應。

PCON 算法提出各個節(jié)點監(jiān)測自身出站鏈路上每個數(shù)據(jù)包的排隊延遲來檢測擁塞。檢測到擁塞后通過數(shù)據(jù)包反饋擁塞信號給內容請求者,內容請求者接收到擁塞標記后調整擁塞窗口大小。擁塞窗口在接收到未標記的數(shù)據(jù)包時增加,接收到有標記的數(shù)據(jù)包、NACK 和超時時減少,并且內容請求者每RTT 最多執(zhí)行一次窗口減少,PCON 算法的問題是當在一個RTT 中已執(zhí)行了一次窗口減少,如果后續(xù)數(shù)據(jù)包反饋更嚴重的擁塞,此時算法無法進一步減少窗口,因此不能對擁塞進行更有效的控制,降低了擁塞控制算法的效率。

基于內容請求者的擁塞控制算法可以利用NDN內容請求者驅動的傳輸特性,通過控制興趣包的發(fā)送數(shù)量或發(fā)送速率進行擁塞控制,易于實現(xiàn),但是在內容請求者處進行擁塞控制存在內容來源不確定的問題,進而影響擁塞檢測的準確性。

(2)逐跳擁塞控制算法

逐跳興趣包整形機制(hop-by-hop interest shaping mechanism,HoBHIS)通過監(jiān)視塊隊列長度來檢測擁塞,并根據(jù)隊列長度和節(jié)點可用資源調整興趣轉發(fā)率。路由器獨立決定允許的最大興趣發(fā)送速率,并相應地形成興趣包。還向內容請求者報告最大允許發(fā)送速率,內容請求者根據(jù)反饋信息來控制興趣包的發(fā)送。

基于窗口的逐跳擁塞控制(hop-by-hop windowbased congestion control,HWCC)提出在每個數(shù)據(jù)流中的每一跳確定一個興趣窗口大小,HWCC 引入逐跳確認(H-ACK)分組和在窗口關閉時存儲興趣分組的隊列(興趣隊列)。H-ACK 分組報告連續(xù)傳送的興趣包的接收。為了請求H-ACK 分組,將H-ACK 請求標志添加到興趣分組。路由器在窗口中的最后一個興趣數(shù)據(jù)包上設置此標志。對于超過擁塞窗口的興趣包,路由器將它們存儲在興趣隊列中,等待下一次窗口再發(fā)送。

逐跳控制可以細粒度地調節(jié)鏈路數(shù)據(jù)的傳輸,這樣可以更準確地檢測擁塞,并進行適當?shù)恼{節(jié)以緩解擁塞,但是在節(jié)點處進行復雜的擁塞監(jiān)控及速率調整會增加算法設計難度,開銷巨大且會受到節(jié)點資源的限制。

(3)基于內容請求者和逐跳控制的混合方案

聯(lián)合逐跳和接收器驅動的興趣包控制協(xié)議(hopby-hop and receiver-driven interest control protocol,HR-ICP)在ICP 的基礎上增加了逐跳擁塞控制機制。在內容請求者處,使用ICP 的興趣控制算法,在中間節(jié)點處,采用基于配額的方案來轉發(fā)興趣包,以實現(xiàn)更快速地檢測并響應擁塞,從而提高了網絡的吞吐量和魯棒性。但在HR-ICP 中,基于內容請求者的機制和逐跳控制機制是相互獨立的,在中間節(jié)點采取的轉發(fā)控制會直接影響內容請求者處隱式擁塞檢測的準確性。

塊交換跳躍拉控制協(xié)議(chunk-switched hop pull control protocol,CHoPCoP)使用基于內容請求者的控制作為主控制,并使用逐跳控制作為輔助控制手段。當中間節(jié)點的隊列長度超過設定閾值時,CHoPCoP 啟動逐跳控制機制,并且內容請求者使用AIMD 機制調整窗口大小,中間節(jié)點采用REM(隨機早期標記)機制,即通過監(jiān)視輸出數(shù)據(jù)隊列的大小來檢測擁塞,并在發(fā)生擁塞時標記數(shù)據(jù)包將擁塞信息反饋給內容請求者。

基于內容請求者和逐跳控制的混合方案有效避免了單類型算法的缺點,并可以實現(xiàn)更多樣性的擁塞控制機制,但兩種機制的組合如果不能協(xié)調得當,就會出現(xiàn)重復或者過度的擁塞控制,造成傳輸性能下降。

通過上述分析討論,本文首先提出了采用One-Interest-Multiple-Data 的傳輸模式,并在內容提供者處通過控制數(shù)據(jù)包的發(fā)送來進行擁塞控制。一方面降低傳輸時延,另一方面通過興趣包的路徑信息收集實現(xiàn)合理傳輸和避免擁塞。最后,在此基礎上,針對現(xiàn)有擁塞控制算法大多忽略了節(jié)點緩存對擁塞控制影響的問題,充分考慮了內容緩存對擁塞控制的影響,通過緩存標記,有序傳輸緩存內容,加速內容獲取,避免擁塞。

2 擁塞控制機制

2.1 機制概述

為實現(xiàn)本文提出的擁塞控制機制,對NDN 中的興趣包、數(shù)據(jù)包和PIT(pending information table)結構做了適當必要修改,具體結構如圖1 所示,其中灰色部分表示新增字段。

圖1 數(shù)據(jù)結構圖Fig.1 System data structure

興趣包中的Bandwidth 字段記錄內容提供者到內容請求者之間路徑的瓶頸帶寬;Delay 字段記錄內容提供者到內容請求者之間的單向時延;Sent字段記錄傳輸路徑中存在的節(jié)點緩存內容;Lost字段記錄傳輸過程中丟失的數(shù)據(jù)包。

數(shù)據(jù)包中的Inventory 字段記錄內容提供者針對當前收到的興趣包發(fā)送的數(shù)據(jù)包的清單;PacingRate字段記錄當前數(shù)據(jù)包的發(fā)送速率,表示數(shù)據(jù)流的實際占用帶寬。

PIT 表中的Rate 字段記錄各個流的預估占用帶寬/實際占用帶寬。當興趣包經過節(jié)點時,Rate 值等于興趣包的Bandwidth 字段值,即預估占用帶寬,當數(shù)據(jù)包經過節(jié)點時,Rate 值等于PacingRate 字段值,即實際占用帶寬。Caching 字段用來標記當前節(jié)點是否存在待發(fā)送的緩存內容。

算法流程如圖2 所示。

圖2 算法流程圖Fig.2 Algorithm flow chart

(1)來自內容請求者的興趣包在經過中間節(jié)點時,每個節(jié)點根據(jù)沿途每段鏈路信息動態(tài)計算出瓶頸帶寬和時延,并將其分別放入興趣包中相應的字段。

(2)內容提供者收到興趣包后,根據(jù)包中的瓶頸帶寬和時延等信息計算出擁塞窗口和數(shù)據(jù)包的發(fā)送速率,然后生成數(shù)據(jù)包原路返回。

(3)數(shù)據(jù)包在經過中間節(jié)點時,每個節(jié)點根據(jù)數(shù)據(jù)包中Inventory 字段和PacingRate 字段的信息更新PIT 表中的記錄。

(4)內容請求者收到數(shù)據(jù)包后,根據(jù)興趣包中的Inventory 字段判斷數(shù)據(jù)包的接收情況,從而判斷后繼操作,即發(fā)送新的興趣包請求后續(xù)內容或重傳丟失的數(shù)據(jù)包。

2.2 擁塞控制算法

中間節(jié)點在收到來自內容請求者的興趣包后,如果該節(jié)點的PIT 表中待定興趣包的數(shù)量超過閾值,則將該興趣包返還給上一節(jié)點,尋找新的可用路徑;否則將該興趣包記錄在PIT 表中,然后節(jié)點根據(jù)當前鏈路狀態(tài),動態(tài)計算這個新加入的數(shù)據(jù)流在該節(jié)點可分配到的帶寬,即這個興趣包所請求的數(shù)據(jù)包在該節(jié)點出接口(從內容提供者到內容請求者方向的接口)的可用帶寬,計算如下:

其中,表示興趣包對應的數(shù)據(jù)包在節(jié)點出接口的總帶寬,是當前出接口已經存在的數(shù)據(jù)流的個數(shù),是當前節(jié)點已存在的個數(shù)據(jù)流中,已占用帶寬小于帶寬的分之一的數(shù)據(jù)流的個數(shù),b是這個數(shù)據(jù)流中第個數(shù)據(jù)流的實際帶寬,數(shù)值為該數(shù)據(jù)流在PIT 表記錄中的Rate字段的值。

興趣包在從內容請求者出發(fā)的路徑上,沿途將逐段鏈路瓶頸帶寬的數(shù)值記錄在Bandwidth 字段,并實時更新,同時計算每段鏈路的時延,并將從內容請求者到當前節(jié)點的時延和記錄在Delay 字段。當興趣包到達內容提供者時,此時興趣包的Bandwidth 字段中記錄著經過的整個路徑中所有節(jié)點可以提供的帶寬最小值,Delay 字段記錄著從內容請求者到內容提供者之間的單向時延和。內容提供者據(jù)此計算出擁塞窗口,如下所示:

其中,表示數(shù)據(jù)包大小,擁塞窗口值就是受瓶頸鏈路影響的整條路徑中可以容納的數(shù)據(jù)包數(shù)量。內容提供者計算出擁塞窗口后,將相應數(shù)據(jù)包按照Bandwidth大小的速率發(fā)送出去。數(shù)據(jù)包中的Inventory字段中記錄著此次數(shù)據(jù)包清單。PacingRate字段中記錄數(shù)據(jù)包的發(fā)送速率。

中間節(jié)點在收到來自內容提供者的數(shù)據(jù)包后,將PIT 表中Rate 字段中的值更新為PacingRate 字段中的值,即實際占用帶寬。從而保證在新的數(shù)據(jù)流加入后,帶寬能夠重新分配。同時,節(jié)點應用Inventory字段來更新PIT 表條目狀態(tài),即判斷當前數(shù)據(jù)包是否為請求內容的最后一個數(shù)據(jù)包,如果不是的話,則延長該數(shù)據(jù)流在PIT 表中條目的生存時間。

內容請求者在收到數(shù)據(jù)包后,按照Inventory 字段上的內容對比收到的數(shù)據(jù)包,如果某個數(shù)據(jù)包未收到,但后續(xù)數(shù)據(jù)包已經收到,則判定該數(shù)據(jù)包丟失;如果收到某一數(shù)據(jù)包之后,超過RTO 值(即從內容請求者發(fā)送興趣包的時刻到收到第一個數(shù)據(jù)包的間隔或者更小的值)未收到后續(xù)數(shù)據(jù)包,則判定該后續(xù)數(shù)據(jù)包丟失。內容請求者發(fā)送新的興趣包(相當于ACK),將丟失的數(shù)據(jù)包清單記錄在興趣包的Lost字段。內容提供者收到新的興趣包后,提取新的Bandwidth 和Delay 字段,計算新的和數(shù)據(jù)包的發(fā)送速率,重傳Lost 字段中記錄的數(shù)據(jù)包或者發(fā)送新的數(shù)據(jù)包。

2.3 緩存內容標記策略

為充分利用NDN 的內容緩存特性,應用緩存標記策略來直接傳輸節(jié)點的緩存內容,同時傳輸后續(xù)節(jié)點的內容。具體流程為:中間某個節(jié)點在收到興趣包后,發(fā)現(xiàn)自己有該請求內容的部分緩存時,就將自己的緩存內容記錄在興趣包中的Sent 字段中,然后節(jié)點根據(jù)興趣包中Bandwidth 字段和Delay 字段中的信息計算出擁塞窗口以及發(fā)送速率,并將緩存內容發(fā)送給內容請求者。接著繼續(xù)應用FIB 轉發(fā)該興趣包,直至到達最終的內容提供者或該興趣包對應的所有分片內容都已放入sent字段,即中間緩存節(jié)點滿足了內容請求者的需求,返回了該內容對應的所有分片。

在數(shù)據(jù)包的返回過程中,如果數(shù)據(jù)包被轉發(fā)到之前存在緩存的節(jié)點時,PIT 表中該內容條目的Caching 字段顯示為true 時,則表示該節(jié)點還未將緩存內容發(fā)送完畢,則此節(jié)點先將接受到的數(shù)據(jù)包緩存到CS 中,之后讓該節(jié)點統(tǒng)一發(fā)送。

2.4 算法描述

由于NDN 中只有興趣包和數(shù)據(jù)包傳輸,本文提供兩種包的傳輸過程,分別如算法1 和算法2 所示。

1 興趣包在NDN 中的傳輸過程

其中,步驟2、3 表示如果當前節(jié)點中的未決表項數(shù)量超過閾值,即已經處于擁塞狀態(tài),則該中間節(jié)點將這個興趣包返回給上一跳節(jié)點;否則,步驟5~9 表示該中間節(jié)點在PIT 中加入一條新的表項,并更新這個興趣包中的Bandwidth 和Delay 字段。如果此中間節(jié)點有這個興趣包需求的內容,則步驟12~15 表示計算擁塞窗口,返回緩存的請求內容等,否則繼續(xù)轉發(fā)這個興趣包。

2 數(shù)據(jù)包在NDN 中的傳輸過程

其中,步驟2~5 表示內容請求者收到數(shù)據(jù)包后,檢查相應內容,如果收到的數(shù)據(jù)包不能組成全部內容,則需要繼續(xù)發(fā)送興趣包以獲取缺乏的內容,步驟7~14 表示中間節(jié)點在收到數(shù)據(jù)包后,更新相關內容,然后如果自己的緩存內容還沒有發(fā)送完,則先緩存收到的數(shù)據(jù)包,以避免擁塞,否則直接轉發(fā)。

3 實驗與性能評估

使用開源仿真平臺ndnSIM 實現(xiàn)了提出的擁塞控制機制,ndnSIM 基于網絡模擬器NS3 實現(xiàn)了NDN協(xié)議棧。

3.1 實驗設置

采用NDN 中常用拓撲DFN,如圖3 所示。共設置3 個內容請求者1、2 和3,3 個內容提供者1、2 和3 以及8 個路由節(jié)點,分別為1~8。根據(jù)VR 的初級沉浸(entry-level immersion,EI)應用性能要求,將4-5、4-8、8-5 設置為瓶頸鏈路,帶寬均為50 Mbit/s,將1-4、2-4、3-4鏈路帶寬均設置為80 Mbit/s,其余鏈路帶寬均為100 Mbit/s,所有鏈路時延均為10 ms。通過模擬VR初級沉浸場景下的數(shù)據(jù)傳輸來評估各個算法的性能。興趣包大小為125 Byte,數(shù)據(jù)包大小為1 124 Byte,默認下,每個興趣包請求的內容大小為100 MB。

圖3 DFN 拓撲Fig.3 DFN topology

選擇當前NDN 中的一個主要擁塞控制算法CHoPCoP 作為基準算法進行性能比較。同時,考慮到CHoPCoP 算法基于One-Interest-One-Data 傳輸模式,為保證公平性,對CHoPCoP 算法進行了改進(CHoPCoP-impro),即通過內容提供者改變發(fā)送數(shù)據(jù)包的數(shù)量來進行擁塞控制,并保留了中間節(jié)點記錄隊列長度反饋擁塞的機制,興趣包和數(shù)據(jù)包的結構也進行了類似修改以記錄相關信息。

3.2 結果分析

主要從擁塞控制機制的效率、穩(wěn)定性以及存在節(jié)點緩存時的傳輸三方面評估性能。

首先設定從1 向1 請求100 MB 的數(shù)據(jù),分別觀察1 向1 請求數(shù)據(jù)時的擁塞窗口、隊列長度和數(shù)據(jù)傳輸速率隨時間發(fā)展的變化情況。

圖4 顯示內容提供者1 的擁塞窗口隨時間發(fā)展的變化情況。可以看出,本文提出機制的擁塞窗口一直穩(wěn)定在一個最高的數(shù)值,CHoPCoP 和CHoPCoPimpro 都隨著時間而波動,但后者波動的范圍略小,而且數(shù)值較高。這是因為該機制可以準確探測鏈路的信息并計算出可以容納的數(shù)據(jù)包數(shù)量,因此當鏈路情況保持不變時性能最優(yōu)。而CHoPCoP和CHoPCoPimpro 都采用線性增長指數(shù)下降和中間節(jié)點反饋隊列長度的策略進行擁塞控制,持續(xù)增加擁塞窗口會導致節(jié)點處出現(xiàn)較長隊列,進而通過反饋減少擁塞窗口,如此往復造成擁塞窗口出現(xiàn)持續(xù)的振蕩。CHoPCoP 算法一次性發(fā)送擁塞窗口數(shù)量的興趣包,導致隊列長度過長,進而超過閾值時減少擁塞窗口,因此CHoPCoP 的性能最低。CHoPCoP-impro 可以根據(jù)路徑反饋的隊列長度調整數(shù)據(jù)包發(fā)送速率,避免了集中發(fā)送數(shù)據(jù)包,在中間節(jié)點處出現(xiàn)長隊列的情況,因此可以達到比CHoPCoP 更高的擁塞窗口值。

圖4 擁塞窗口隨時間發(fā)展的變化情況Fig.4 Changes in congestion window over time

圖5 顯示所有中間節(jié)點(1、4、5 和6)的隊列長度平均值隨時間發(fā)展的變化情況。提出的算法能夠將數(shù)據(jù)包發(fā)送速率控制在整條傳輸路徑的瓶頸帶寬范圍內,因此在各個中間節(jié)點幾乎都沒有出現(xiàn)排隊隊列。CHoPCoP-impro 根據(jù)路徑狀況調整數(shù)據(jù)包發(fā)送速率,從而降低了在各個中間節(jié)點處數(shù)據(jù)包的排隊長度,因此隊列長度整體較小,波動范圍也較小。CHoPCoP 的數(shù)據(jù)包突發(fā)會造成數(shù)據(jù)包在中間節(jié)點處出現(xiàn)排隊較長的現(xiàn)象,因此性能最差。

圖5 隊列長度隨時間發(fā)展的變化情況Fig.5 Changes in queue length over time

圖6 顯示的是數(shù)據(jù)傳輸速率隨時間發(fā)展的變化情況,即內容請求者1 接收數(shù)據(jù)包的情況。提出的算法按照鏈路瓶頸發(fā)送數(shù)據(jù)包,可以將數(shù)據(jù)傳輸速率穩(wěn)定維持在接近瓶頸鏈路帶寬的速度,因此取得了最好性能。CHoPCoP-impro 算法可以動態(tài)調整數(shù)據(jù)包的發(fā)送速率,避免了數(shù)據(jù)包突發(fā)造成的排隊問題,因此平均傳輸速率要高于CHoPCoP,而CHoPCoP算法容易在節(jié)點處造成長隊列,進而頻繁地減少擁塞窗口,使得整體傳輸速率小于其余兩種算法,因此性能最差。

圖6 數(shù)據(jù)傳輸速率隨時間發(fā)展的變化情況Fig.6 Changes in data transmission rate over time

進一步測試內容請求者需求不同大小內容時,傳輸時間長度的情況。即從內容請求者生成第一個興趣包到它收到所有內容的時間差。結果如圖7 所示,提出的機制在不同內容大小下都耗費了最短的時間。而且隨著內容大小的增長,傳輸時間比另外兩種算法的傳輸時間優(yōu)勢也隨之增長,最多可分別達到約36.2%(CHoPCoP)和25.6%(CHoPCoP-impro)。

圖7 傳輸時間比較Fig.7 Comparison of transmission time

接著測試新增數(shù)據(jù)流情況下的機制穩(wěn)定性。即在0 s 時,1 開始向1 請求數(shù)據(jù),在10 s 時2 開始向2 請求數(shù)據(jù),測量1 和2 的數(shù)據(jù)流傳輸狀態(tài)達到平衡所需時間。運行30 次實驗,測量兩個流達到動態(tài)平衡所需時間,統(tǒng)計這30 個實驗結果的概率分布函數(shù),如圖8 所示。可以看出,本文提出的機制達到平衡所需時間以90%概率小于163 ms,CHoPCoP算法達到平衡所需時間以90%概率小于237 ms,CHoPCoP-impro 算法達到平衡所需時間以90%概率小于253 ms。因為CHoPCoP-impro 算法每個周期內只調整一次擁塞窗口和發(fā)送速率的變化,滯后了達到平衡時間,整體恢復平衡時間要大于CHoPCoP算法。

圖8 數(shù)據(jù)流達到平衡所需時間的累計分布函數(shù)Fig.8 Cumulative distribution function of time required for data flow to reach equilibrium

進一步測試多個數(shù)據(jù)流共享瓶頸帶寬時,各個算法的性能。考慮到AR/VR 應用對帶寬和時延有嚴格要求,以保證應用的服務質量,因此適用于AR/VR場景的擁塞控制算法應能檢測鏈路帶寬是否能滿足傳輸性能要求,并進行鏈路選擇。逐漸增加內容請求者和內容提供者的數(shù)量,最開始只有1 請求數(shù)據(jù),每5 s 后增加一個數(shù)據(jù)請求者,直到三個內容請求者都請求數(shù)據(jù)。

圖9 顯示了多個數(shù)據(jù)流傳輸速率到達平衡時的帶寬占用情況。可以看到,由于提出算法在數(shù)據(jù)流加入時會將帶寬進行重新分配,在流達到平衡時,數(shù)據(jù)流1(1-1)和2(2-2)占用帶寬比例相同,即均分可用帶寬。當內容請求者3 開始請求數(shù)據(jù)時,此時瓶頸鏈路4-5 已經存在兩個數(shù)據(jù)流,如果3請求數(shù)據(jù)仍從4-5 鏈路進行傳輸?shù)脑挘煞峙鋷挓o法滿足AR/VR 初級沉浸場景下的傳輸帶寬要求(20~50 Mbit/s),因此4 節(jié)點會把3 發(fā)送的興趣包從另外的接口轉發(fā)到其他帶寬滿足需求的路徑中,數(shù)據(jù)流3 使用4-8-5 路徑以滿足應用需求。因為新加入流難以搶占帶寬,CHoPCoP 算法中數(shù)據(jù)流1 和2 占據(jù)更多帶寬,數(shù)據(jù)流3 占據(jù)帶寬較小。CHoPCoP-impro 算法中,由于減少擁塞窗口時也會減少傳輸速率,降低隊列長度,后續(xù)的流可以在剛開始傳輸時獲得一個較大的擁塞窗口,因此雖然同樣是最開始的數(shù)據(jù)流占據(jù)最大帶寬,但各個數(shù)據(jù)流占據(jù)帶寬的差值要小于CHoPCoP 算法。

圖9 多流傳輸時各數(shù)據(jù)流占用帶寬情況Fig.9 Bandwidth occupied by each data stream during multi-stream transmission

圖10 顯示了多數(shù)據(jù)流傳輸時,各個流完成傳輸所需時間的情況。可以看出,與圖9 相對應,本文提出的算法,數(shù)據(jù)流1 和2 占用帶寬相同的情況下,完成傳輸時間基本相同,數(shù)據(jù)流3 使用其他帶寬更高的路徑進行傳輸,因此完成傳輸所需時間最小。CHoPCoP 算法中,數(shù)據(jù)流1 占據(jù)帶寬最多,因此完成傳輸所需時間也最小,其次是數(shù)據(jù)流2,最后是數(shù)據(jù)流3。CHoPCoP-impro 算法中,結果相似,而數(shù)據(jù)流2 和3 完成傳輸時間均小于CHoPCoP 算法中的數(shù)據(jù)流2 和3,一方面是因為占用帶寬大小不同,另一方面則是CHoPCoP 在傳輸過程中的傳輸速率波動較大,會造成傳輸效率的下降。

圖10 各個數(shù)據(jù)流完成傳輸所需時間Fig.10 Time required for each data stream to complete transmission

然后進行了隨機丟包測試,即在1 向1 傳輸數(shù)據(jù)時,通過在節(jié)點設置丟包率,并20 s 觸發(fā)一次,隨機丟棄一定數(shù)量的數(shù)據(jù)包,測試各個算法的傳輸速率隨時間的變化情況以及流完成時間。

圖11 顯示在網絡存在丟包的情況下,三種機制的數(shù)據(jù)傳輸速率隨時間發(fā)展的變化情況。可以看出,本文提出機制的數(shù)據(jù)傳輸速率不受丟包因素的影響,這是因為內容請求者根據(jù)數(shù)據(jù)包的Inventory字段,判斷是否發(fā)生丟包,如果發(fā)生丟包的話,內容請求者將丟失的數(shù)據(jù)包記錄在興趣包的Lost 字段中,內容提供者接收到興趣包后直接重發(fā)丟失的數(shù)據(jù)包,因此不用減少擁塞窗口和發(fā)送速率。CHoPCoP在檢測到丟包后會將擁塞窗口減為1,傳輸速率急劇減少,當發(fā)生多個丟包時,算法會持續(xù)進入慢啟動階段,因此數(shù)據(jù)傳輸速率就會維持在極低的水平。而CHoPCoP-impro 設置為丟包后,不會在興趣包Lost字段記錄丟失數(shù)據(jù)包清單,只是在Lost 字段標記發(fā)生丟包,因此內容提供者會將上一輪傳輸?shù)臄?shù)據(jù)包進行重傳,并不會減少發(fā)送速率。

圖11 網絡存在丟包時數(shù)據(jù)傳輸速率的變化Fig.11 Changes in data transmission rate under packet loss on network

圖12 表示在網絡中存在丟包時,傳輸時間的比較。可以看出,本文提出的算法只需要按照正常的傳輸速率將丟失的數(shù)據(jù)包重傳,因此流完成時間并沒有發(fā)生明顯的增加。而CHoPCoP 算法因為丟包觸發(fā)的持續(xù)進入慢啟動階段造成傳輸速度大幅度下降,額外增加了傳輸時間,因此流完成時間最大增加了41.6%。CHoPCoP-impro 的傳輸速率雖然沒有變化,但是由于一次丟包要重傳上一輪的所有數(shù)據(jù)包,也會造成傳輸時間的增加,流完成時間最大增加28.2%。

圖12 網絡存在丟包時傳輸時間比較Fig.12 Comparison of transmission time under packet loss on network

最后考慮NDN 的內容緩存特性,即測試中間節(jié)點存在緩存時,不同擁塞控制算法的性能。1 向1發(fā)送興趣包請求內容,在中間節(jié)點4 處放置1/4的緩存內容,使得部分請求內容可以在4 節(jié)點返回給1。

從圖13 可以看出,本文提出的機制在4 獲取緩存內容時,可以根據(jù)1-4 的瓶頸帶寬發(fā)送數(shù)據(jù)包,當從內容提供者1 發(fā)送的數(shù)據(jù)包到達4,而4 尚有數(shù)據(jù)包等待返回時,可以先將數(shù)據(jù)包緩存在4中,避免隊列緩沖區(qū)溢出。CHoPCoP算法因為節(jié)點緩存的存在,導致從節(jié)點緩存返回的數(shù)據(jù)包不能反饋完整的鏈路信息,造成擁塞窗口增加過快,導致算法多次進入慢啟動階段,降低數(shù)據(jù)傳輸速率。CHoPCoPimpro 在4 尚有緩存內容等待返回時,沒有將數(shù)據(jù)包緩存在4 的CS 中,可能會造成4 處的數(shù)據(jù)包隊列長度超過閾值,甚至發(fā)生擁塞,因此會造成擁塞窗口的減少乃至進入慢啟動階段,也會降低數(shù)據(jù)傳輸速率。

圖13 存在節(jié)點緩存時數(shù)據(jù)傳輸速率的變化Fig.13 Changes in data transmission rate with node caches

從圖14 可以看出,在中間節(jié)點存在緩存時,本文提出的機制與CHoPCoP-impro 算法完成所有內容傳輸所需的時間比沒有緩存時的時間更短。本文提出的機制所需時間最短,能減少大約21.6%的傳輸時間;CHoPCoP-impro 大約減少11.3%的傳輸時間;而CHoPCoP 在有緩存內容的情況下,內容提供者接收數(shù)據(jù)包反饋的隊列長度存在誤差,導致頻繁進入慢啟動階段,傳輸時間反而增加了大約37.5%。

圖14 存在節(jié)點緩存時傳輸時間比較Fig.14 Comparison of transmission time with node caches

4 結論與展望

針對NDN 的傳輸模式在內容較大時需要內容請求者持續(xù)發(fā)送多個興趣包才能獲取完整內容,傳輸延時增加,或大量數(shù)據(jù)包同時返回易造成網絡丟包,不適用于AR/VR 等大數(shù)據(jù)量延遲敏感型應用,以及現(xiàn)有擁塞控制研究忽略內容緩存特性的問題,本文在One-Interest-Multiple-Data 傳輸模式基礎上提出了一種新的鏈路帶寬時延感知的擁塞控制機制。使得內容提供者通過興趣包收集的路徑瓶頸帶寬和時延信息計算擁塞窗口和數(shù)據(jù)發(fā)送速率,從而合理地發(fā)送數(shù)據(jù)包,降低傳輸時延,避免網絡擁塞,并且提出了一種緩存標記策略以充分地利用節(jié)點緩存,減少傳輸所需時間。最后,基于ndnSIM 的實驗結果表明,本文提出的機制在擁塞窗口、隊列長度和數(shù)據(jù)傳輸速率等方面取得更好的性能,同時能夠以更短的時間完成請求內容的傳輸。而且在網絡中存在丟包和中間節(jié)點存在緩存內容時,本文提出的機制達到了更好的性能優(yōu)勢。

在未來的工作中,一方面將設計有效的合作緩存機制,以提高節(jié)點之間的合作,使得該擁塞控制機制能更有效地利用中間節(jié)點的緩存內容;另一方面將部署原型系統(tǒng),并在更復雜和實用化的網絡拓撲中測試該擁塞控制機制。

猜你喜歡
內容
內容回顧溫故知新
科學大眾(2022年11期)2022-06-21 09:20:52
內容回顧 溫故知新
科學大眾(2021年21期)2022-01-18 05:53:48
內容回顧溫故知新
科學大眾(2021年17期)2021-10-14 08:34:02
內容回顧溫故知新
科學大眾(2021年19期)2021-10-14 08:33:02
內容回顧 溫故知新
科學大眾(2021年9期)2021-07-16 07:02:52
內容回顧 溫故知新
科學大眾(2020年23期)2021-01-18 03:09:18
內容回顧 溫故知新
科學大眾(2020年17期)2020-10-27 02:49:04
引言的內容
引言的內容
主要內容
臺聲(2016年2期)2016-09-16 01:06:53
主站蜘蛛池模板: 女人一级毛片| 国产欧美日韩综合在线第一| 天天综合色网| 国产99欧美精品久久精品久久| 欧美无遮挡国产欧美另类| 青青草国产一区二区三区| 亚洲视频无码| 97综合久久| 欧美一区二区三区国产精品| 超碰免费91| 免费va国产在线观看| 激情无码视频在线看| m男亚洲一区中文字幕| 99在线观看精品视频| 亚洲人成网站观看在线观看| 欧美精品影院| 91极品美女高潮叫床在线观看| 在线欧美国产| 欧美一级大片在线观看| 久久毛片基地| 久久综合九九亚洲一区| 无码网站免费观看| 日本精品中文字幕在线不卡 | 国产精品一线天| 欧洲日本亚洲中文字幕| 四虎影视8848永久精品| 色精品视频| 2021国产精品自拍| 天天色天天操综合网| 亚洲无码精彩视频在线观看| 国内黄色精品| 亚洲成A人V欧美综合天堂| 99热亚洲精品6码| 激情综合婷婷丁香五月尤物| 91精品视频播放| 亚洲AⅤ波多系列中文字幕| 日韩国产高清无码| 欧美日韩精品一区二区视频| 99国产精品免费观看视频| 日本一区二区三区精品国产| 国产青榴视频在线观看网站| 国产探花在线视频| 国产视频你懂得| 精品少妇三级亚洲| 高清不卡毛片| 黄色成年视频| 欧美成人h精品网站| av免费在线观看美女叉开腿| 在线a视频免费观看| 成年人免费国产视频| 国产制服丝袜91在线| 99这里只有精品免费视频| 71pao成人国产永久免费视频| 91精品最新国内在线播放| 国产精品女主播| 2021亚洲精品不卡a| 欧美人与牲动交a欧美精品| 国模粉嫩小泬视频在线观看| 久久精品66| 红杏AV在线无码| 欧美亚洲国产精品久久蜜芽| 国产亚洲精品va在线| 国产欧美又粗又猛又爽老| 国产欧美在线| 欧美日韩在线亚洲国产人| av天堂最新版在线| 国产91成人| 国产欧美日韩另类| 中文成人在线| 九九九国产| 亚洲精品少妇熟女| 亚洲美女一级毛片| 色噜噜综合网| 成人精品免费视频| 播五月综合| 99在线小视频| 国产无码制服丝袜| 国产精品亚洲一区二区三区z| 亚洲天堂网站在线| 波多野结衣在线se| 亚洲人成人无码www| 99久久成人国产精品免费|