国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

LEDBAT協(xié)議優(yōu)先級反轉(zhuǎn)抑制的啟發(fā)式動態(tài)閾值算法

2020-06-23 09:21馬阿曼江先亮
關(guān)鍵詞:隊(duì)列數(shù)據(jù)包鏈路

馬阿曼 江先亮 金 光

(寧波大學(xué)信息科學(xué)與工程學(xué)院 浙江寧波 315211)

隨著互聯(lián)網(wǎng)技術(shù)的急速發(fā)展,網(wǎng)絡(luò)應(yīng)用呈爆炸式增長趨勢,其需求的多樣性給傳輸控制協(xié)議帶來了前所未有的挑戰(zhàn).比如視頻會議、在線游戲和VR(virtual reality)等交互式應(yīng)用要求較低時延、較小抖動以及較小的吞吐量變化[1],而大文件傳輸、軟件更新等非交互式應(yīng)用傳輸?shù)臄?shù)據(jù)量往往超過5 MB,其要求高吞吐量而對完成時間并沒有嚴(yán)格的要求[2].這種非交互式應(yīng)用適合以背景流的形式,利用鏈路剩余帶寬進(jìn)行數(shù)據(jù)傳輸,盡量不影響鏈路中的其他流[3].然而傳統(tǒng)擁塞控制算法(congestion control algorithm, CCA)在共享鏈路帶寬時有相同的優(yōu)先級.相同優(yōu)先級的擁塞控制協(xié)議所導(dǎo)致的時延抖動不能滿足非交互式應(yīng)用的需求,同時也影響了實(shí)時交互式應(yīng)用的用戶體驗(yàn),低優(yōu)先級擁塞控制(low priority congestion control, LPCC)算法的提出解決了上述問題.

典型的LPCC包括:TCP-NICE[4](2002年)、TCP-LP[5](2003年)、IETF(Internet Engineering Task Force)提出的LEDBAT(low extra delay background transport)[6](2009年)等.TCP-LP與LEDBAT均借助單向時延作為擁塞信號以調(diào)節(jié)擁塞窗口的尺寸,故能提早感知網(wǎng)絡(luò)中的擁塞,減小發(fā)送速率,保持其低時延的特性.TCP-NICE監(jiān)控往返時延得到minRTT與maxRTT,若當(dāng)前的往返時延curRTT超過預(yù)設(shè)閾值時,將此數(shù)據(jù)包標(biāo)記為擁塞.由于LPCC在與標(biāo)準(zhǔn)TCP流(如CUBIC[7],NewReno[8])共享帶寬時,排隊(duì)時延的增加使LPCC不斷降低其發(fā)送速率,讓出帶寬,不對標(biāo)準(zhǔn)TCP流產(chǎn)生影響.

LEDBAT自從2009年作為標(biāo)準(zhǔn)草案被IETF工作組提出之后,由于其低優(yōu)先級性被廣泛地應(yīng)用于許多公司,包括BitTorrent,Apple,Microsoft.BitTorrent公司開發(fā)的μTP(micro transport protocol)的擁塞控制算法為LEDBAT,這是LEDBAT的一個主要實(shí)現(xiàn).另外,LEDBAT被Apple公司應(yīng)用于軟件更新等的應(yīng)用,故Mac OS X和IOS設(shè)備中大量的軟件下載的應(yīng)用能夠保持低優(yōu)先級性不干擾實(shí)時交互類的應(yīng)用.最后,作為改進(jìn)后的LEDBAT算法——LEDBAT++[9],已經(jīng)能夠在Windows 10和Windows Server 2016的TCP協(xié)議棧中使用.據(jù)統(tǒng)計(jì),截止目前,LEDBAT承載的流量已超過15%.

與此同時,部署在網(wǎng)絡(luò)層的主動隊(duì)列管理(active queue management, AQM)算法也可滿足應(yīng)用的低優(yōu)先級需求[1].AQM部署在中間節(jié)點(diǎn)上,可增強(qiáng)TCP的傳輸性能.現(xiàn)有AQM可按照擁塞指示、參數(shù)調(diào)整、流區(qū)分、控制函數(shù)以及反饋信號等進(jìn)行分類[10].在基于擁塞指示的AQM中,又細(xì)分為5類:1)基于隊(duì)列長度的AQM;2)基于速率的AQM;3)基于負(fù)載的AQM;4)基于丟包的AQM;5)以上4類混合的AQM.RED(random early detection)[11]與CHOKe[12]是基于隊(duì)列長度的AQM.AQM還包括DRR(deficit round robin)[13]和SFQ(stochastic fairness queueing)[14]等的調(diào)度算法,以及CoDel(controlled delay)[15].RED算法對平均隊(duì)列長度進(jìn)行計(jì)算,并根據(jù)設(shè)置的閾值進(jìn)行丟包,但參數(shù)設(shè)置對其性能影響較大.CHOKe改進(jìn)了RED算法,對已到達(dá)路由器的數(shù)據(jù)包與隊(duì)列中隨機(jī)抽取的數(shù)據(jù)包的ID進(jìn)行比較,如果2個同屬于一個流,則同時丟棄,反之按照RED中的方法進(jìn)行丟包.CoDel通過數(shù)據(jù)包在隊(duì)列中的停留時間來進(jìn)行控制,有2個主要參數(shù)threshold_target與wait_time,threshold_target為可接受的最小隊(duì)列時延,當(dāng)數(shù)據(jù)包駐留時間高于threshold_target,CoDel不會直接丟棄數(shù)據(jù)包而是在丟棄之前等待wait_time.

路由器等網(wǎng)絡(luò)設(shè)備中的大緩存造成了較大的排隊(duì)時延以及時延抖動,即“Bufferbloat”[16-17].AQM可以顯著減小時延并保持傳輸公平性,從而解決“Bufferbloat”問題[18].但是,AQM需要中間設(shè)備的支持,現(xiàn)有路由器中并未廣泛地配置和啟用[19].

然而,LPCC與AQM共存時,AQM會破壞LPCC的低優(yōu)先級.AQM根據(jù)策略丟棄或者標(biāo)記隊(duì)列中的數(shù)據(jù)包,導(dǎo)致標(biāo)準(zhǔn)TCP流降低發(fā)送速率,而LPCC流由于降低排隊(duì)時延增加擁塞窗口值.LPCC流發(fā)生了優(yōu)先級反轉(zhuǎn)的情況,并且對標(biāo)準(zhǔn)TCP流產(chǎn)生了影響[20].AQM在解決“Bufferbloat”問題的同時也改變LPCC流的低優(yōu)先級性[21].

針對上述問題,本文分析了AQM對LEDBAT優(yōu)先級的影響,并通過實(shí)驗(yàn)驗(yàn)證發(fā)現(xiàn)LEDBAT中的時延閾值——target值是解決優(yōu)先級反轉(zhuǎn)問題的關(guān)鍵.然后提出一種根據(jù)網(wǎng)絡(luò)狀態(tài)動態(tài)調(diào)整target值的LEDBAT改進(jìn)算法——啟發(fā)式動態(tài)閾值算法(heuristic dynamic threshold, HDT).

優(yōu)先級反轉(zhuǎn)問題的根源是源端的擁塞控制算法無法獲取鏈路中間節(jié)點(diǎn)的信息,比如路由器是否部署AQM以及該AQM的閾值等.HDT算法根據(jù)網(wǎng)絡(luò)狀態(tài)采用啟發(fā)式算法搜索最優(yōu)的target值以保持其低優(yōu)先級性.HDT算法能夠保證:1)在部署了AQM的鏈路中,保持HDT流的低優(yōu)先級,利用剩余帶寬;2)在其他鏈路中,在保持低時延的同時盡量利用帶寬,保持較好的帶寬利用率.

本文給出了HDT算法關(guān)鍵部分的流程圖及偽代碼,并采用NS2仿真工具對HDT算法進(jìn)行分析與評價,從而證明了HDT算法能有效解決優(yōu)先級反轉(zhuǎn)問題.

本文的主要貢獻(xiàn)有3個方面:1)分析了AQM和LPCC算法共存時產(chǎn)生的優(yōu)先級反轉(zhuǎn)問題的原因,并通過實(shí)驗(yàn)驗(yàn)證;2)進(jìn)一步提出HDT算法,嘗試解決優(yōu)先級反轉(zhuǎn)問題;3)在NS2中搭建了實(shí)驗(yàn)場景,通過實(shí)驗(yàn)分析評價了HDT算法的性能.

1 LEDBAT的優(yōu)先級反轉(zhuǎn)問題分析

本節(jié)首先分析了LEDBAT中的target值與RED算法中2個閾值的關(guān)系,然后搭建實(shí)驗(yàn)環(huán)境驗(yàn)證了理論分析的正確性.

1.1 優(yōu)先級反轉(zhuǎn)問題的分析

LEDBAT采用單向時延估計(jì)排隊(duì)時延,以期達(dá)到2個目標(biāo):1)無其他流競爭帶寬時,LEDBAT會在保持低時延的情況下利用帶寬;2)與標(biāo)準(zhǔn)TCP流競爭帶寬時能主動讓出帶寬,保持低優(yōu)先級.

算法1.LEDBAT算法[6].

輸入:target;

輸出:cwnd.

current_delay=acknowledgement.delay;

base_delay=min(base_delay,current_delay);

queuing_delay=current_delay-base_delay;

off_target=(target-queuing_delay)/target;

cwnd+=VGAIN×off_target×Vacked×VMSS/cwnd.

LEDBAT核心思想如算法1所示,其中base_delay用于保存當(dāng)前最小的單向時延,并認(rèn)為最小的單向時延就是在排隊(duì)時延為0時獲得;current_delay為當(dāng)前的單向時延.當(dāng)前的排隊(duì)時延為

queuing_delay=current_delay-base_delay.

(1)

LEDBAT中的target是定義的排隊(duì)時延閾值.當(dāng)queuing_delay>target時,off_target值為負(fù)值,LEDBAT就減小其發(fā)送窗口.故LEDBET能保持其低時延的特性.當(dāng)標(biāo)準(zhǔn)TCP流與LEDBAT流競爭帶寬時,標(biāo)準(zhǔn)TCP流在填充緩沖區(qū)的同時,也增加了隊(duì)列長度.LEDBAT感知到時延增加后減小擁塞窗口,從而實(shí)現(xiàn)低時延特性.但是在部署了AQM的鏈路中,LEDBAT的低優(yōu)先級性會發(fā)生反轉(zhuǎn),下面以RED算法為例進(jìn)行說明.

RED算法根據(jù)計(jì)算平均隊(duì)列長度來進(jìn)行擁塞控制,其設(shè)置了與隊(duì)列長度相關(guān)的閾值:minth和maxth,并將計(jì)算出的平均隊(duì)列長度avgQ與2個閾值進(jìn)行比較,若avgQmaxth時,丟棄所有數(shù)據(jù)包.

在部署AQM的鏈路中,標(biāo)準(zhǔn)TCP流在發(fā)生丟包前,會持續(xù)地向網(wǎng)絡(luò)中發(fā)送數(shù)據(jù)包,導(dǎo)致較高的排隊(duì)時延.LEDBAT發(fā)現(xiàn)排隊(duì)時延過高,會主動降低自身發(fā)送速率,讓出帶寬給標(biāo)準(zhǔn)TCP流,使其將更多數(shù)據(jù)包注入到網(wǎng)絡(luò)中.當(dāng)隊(duì)列平均長度達(dá)到RED設(shè)置的閾值時,RED根據(jù)算法進(jìn)行丟包.因隊(duì)列中標(biāo)準(zhǔn)TCP流的數(shù)據(jù)包比例更大,其被丟棄的數(shù)據(jù)包更多.出現(xiàn)丟包時,標(biāo)準(zhǔn)TCP流的擁塞窗口減半,降低發(fā)送速率,隊(duì)列中的數(shù)據(jù)包減少,故排隊(duì)時延減低.LEDBAT中的target值大于RED中設(shè)置的閾值所對應(yīng)的排隊(duì)時延.LEDBAT增加其發(fā)送速率,導(dǎo)致在部署AQM的鏈路中,LEDBAT與標(biāo)準(zhǔn)TCP共享瓶頸帶寬時,無法保證其低優(yōu)先級性.LEDBAT中的target是算法的關(guān)鍵,該值能對LEDBAT性能起至關(guān)重要的作用.

假設(shè)鏈路中RED的2個閾值minth和maxth分別是6.25與18.75(單位是數(shù)據(jù)包),瓶頸鏈路容量為10 Mbps,則2個閾值的排隊(duì)時延分別是7.5 ms及22.5 ms.那么target值存在3種情況:1)LEDBAT的target值大于RED最長隊(duì)列長度閾值對應(yīng)的排隊(duì)時延22.5 ms;2)LEDBAT的最大排隊(duì)時延target值在7.5 ms到22.5 ms的區(qū)間內(nèi);3)LEDBAT的target值小于7.5 ms.

當(dāng)LEDBAT的target值大于22.5 ms(上述情況1)時,標(biāo)準(zhǔn)TCP流持續(xù)向網(wǎng)絡(luò)中注入數(shù)據(jù)包.當(dāng)隊(duì)列長度超過最大隊(duì)列長度閾值maxth時,RED丟棄所有數(shù)據(jù)包.標(biāo)準(zhǔn)TCP探測到丟包,開始減小發(fā)送速率.而LEDBAT的排隊(duì)時延降至target值以下,故更加激進(jìn)地增加其擁塞窗口值,導(dǎo)致發(fā)生優(yōu)先級反轉(zhuǎn).

當(dāng)LEDBAT的target值在7.5 ms到22.5 ms的區(qū)間內(nèi)(上述情況2)時.當(dāng)LEDBAT的排隊(duì)時延大于target值時,LEDBAT開始減小其擁塞窗口值.然而此時,RED算法也開始進(jìn)行隨機(jī)丟包,由于標(biāo)準(zhǔn)TCP所占比例較大,故其被丟棄幾率也較大,標(biāo)準(zhǔn)TCP隨之降低發(fā)送速率,而鏈路中的排隊(duì)時延與target值并無較大差別,故LEDBAT以較小幅度增加擁塞窗口值.這種情況下,LEDBAT也發(fā)生優(yōu)先級反轉(zhuǎn)但其程度要弱于情況1.

當(dāng)LEDBAT的target值小于7.5 ms(上述情況3)時,即使鏈路中的標(biāo)準(zhǔn)TCP太過激進(jìn)而導(dǎo)致其降低發(fā)送速率,LEDBAT也會由于target值過小,而不能在標(biāo)準(zhǔn)TCP減小其發(fā)送速率時,快速反應(yīng)增加其擁塞窗口的大小,故LEDBAT依舊保持其低優(yōu)先級的特性.

在LEDBAT的實(shí)現(xiàn)中,target是一個定值.但是不同鏈路存在不同的排隊(duì)時延.如果不考慮網(wǎng)絡(luò)鏈路狀態(tài),將target設(shè)置為固定值會導(dǎo)致LEDBAT的吞吐量過高而破壞了算法的低優(yōu)先級性,或吞吐量過低而不能充分利用鏈路帶寬.

1.2 優(yōu)先級反轉(zhuǎn)問題的驗(yàn)證

本節(jié)的實(shí)驗(yàn)場景為啞鈴型拓?fù)?,瓶頸鏈路容量設(shè)為10 Mbps.為了實(shí)現(xiàn)鏈路的高負(fù)載,設(shè)置了10條流競爭帶寬,分別為5條TCP Reno流和5條LEDBAT流,拓?fù)淙鐖D1所示.

圖2顯示的是LEDBAT與標(biāo)準(zhǔn)TCP流競爭瓶頸帶寬時,LEDBAT與標(biāo)準(zhǔn)TCP的吞吐量變化.本實(shí)驗(yàn)選用的標(biāo)準(zhǔn)TCP是Reno,隊(duì)列管理算法為DropTail.由圖2可知,LEDBAT在與Reno競爭帶寬時不會積極搶占帶寬,反而降低自己的發(fā)送速率,其目標(biāo)是充分利用剩余帶寬,同時保持低優(yōu)先級的特性.

Fig.1 Dumbbell experimental topology圖1 啞鈴型實(shí)驗(yàn)拓?fù)?/p>

Fig.2 Throughput of LEDBAT and Reno in the link without AQM deployed圖2 未部署AQM的鏈路中LEDBAT與Reno的吞吐量

為了驗(yàn)證LEDBAT與AQM相互作用而導(dǎo)致的優(yōu)先級反轉(zhuǎn)問題,本文進(jìn)行的實(shí)驗(yàn)拓?fù)淙鐖D1所示,隊(duì)列管理算法設(shè)置為RED.實(shí)驗(yàn)結(jié)果如圖3所示,與圖2相比,LEDBAT的吞吐量明顯上升了,且具有與Reno一樣的侵略性.由圖2可知,LEDBAT能保持較低吞吐量,而不影響標(biāo)準(zhǔn)TCP的性能.在圖3中,RED算法計(jì)算的平均隊(duì)列長度超過特定閾值并按概率進(jìn)行丟包,標(biāo)準(zhǔn)TCP減小其發(fā)送速率導(dǎo)致排隊(duì)時延減小,LEDBAT隨之增加其擁塞窗口的值,吞吐量上升,從而影響了標(biāo)準(zhǔn)TCP的性能.

Fig.3 Throughput of LEDBAT and Reno in the link with AQM deployed圖3 部署了AQM的鏈路中的LEDBAT與Reno的吞吐量

表1展示了LPCC與AQM相互作用的結(jié)果,PTCP是指鏈路中標(biāo)準(zhǔn)TCP所占的份額,Qavg表示平均隊(duì)列長度.可以看出,AQM顯著減小了平均隊(duì)列長度,減小了排隊(duì)時延,解決了“Bufferbloat”問題.以LEDBAT為例,相比于DropTail算法,部署了RED的鏈路中的PTCP減少了38.35%,部署了DRR的鏈路中的PTCP減少了42.42%.這表明部署了AQM之后,LPCC具有與標(biāo)準(zhǔn)TCP相同的侵略性.在減小排隊(duì)時延方面,相比于部署了DropTail的鏈路的Qavg,部署了RED的鏈路的Qavg減少了86.94%,部署了DRR的鏈路的Qavg減少了57.54%.

Table 1 Results of Interaction Between LPCC and AQM表1 LPCC與AQM相互作用的結(jié)果

Notes:PTCPis the share of standard TCP in the bottleneck link;Qavgis average queue size.

以上實(shí)驗(yàn)表明,AQM雖能有效減小隊(duì)列長度和排隊(duì)時延,但也導(dǎo)致LPCC優(yōu)先級反轉(zhuǎn).

為了驗(yàn)證target值對優(yōu)先級反轉(zhuǎn)問題的影響,本文根據(jù)圖1所示的網(wǎng)絡(luò)拓?fù)湓u價了不同target值的LEDBAT算法,標(biāo)準(zhǔn)TCP為Reno,AQM設(shè)置為RED.不同target值的LEDBAT以及相應(yīng)的Reno的平均吞吐量如圖4所示.

圖4展示了4種不同target值的LEDBAT算法與Reno算法在部署AQM的瓶頸鏈路中競爭帶寬時的平均吞吐量.為避免實(shí)驗(yàn)數(shù)據(jù)的偶然性,每次實(shí)驗(yàn)重復(fù)運(yùn)行10次,并根據(jù)實(shí)驗(yàn)數(shù)據(jù)得到圖4所示的箱線圖.由圖4可知,Reno的平均吞吐量大于LEDBAT的平均吞吐量.但隨著target值的不斷增大,Reno與LEDBAT的平均吞吐量開始不斷靠近.相比target=1時,target=25時LEDBAT的平均吞吐量與Reno平均吞吐量更加接近.這是由于當(dāng)target值較小時,LEDBAT要求更小的排隊(duì)時延,故即使Reno由于丟包減小發(fā)送速率,LEDBAT不會增加其發(fā)送速率.故在相同網(wǎng)絡(luò)場景中,target值較高的LEDBAT算法較容易發(fā)生優(yōu)先級反轉(zhuǎn)問題.

Fig.4 Average throughput of LEDBAT and Reno under different target圖4 不同target下LEDBAT以及Reno的平均吞吐量

由實(shí)驗(yàn)可知,LEDBAT與AQM共存時,AQM在解決“Bufferbloat”的同時,改變了LEDBAT的低優(yōu)先級性,也損害了標(biāo)準(zhǔn)TCP的性能.而LEDBAT中target值能夠影響優(yōu)先級反轉(zhuǎn)的程度.

2 啟發(fā)式動態(tài)閾值算法

2.1 基本思想

第1節(jié)中詳細(xì)介紹了LEDBAT與AQM共存時產(chǎn)生的優(yōu)先級反轉(zhuǎn)問題以及產(chǎn)生原因,并分析了解決優(yōu)先級反轉(zhuǎn)問題的關(guān)鍵.與其他LPCC不同,本文提出的HDT能感知網(wǎng)絡(luò)狀態(tài),可根據(jù)網(wǎng)絡(luò)狀態(tài)對target進(jìn)行動態(tài)調(diào)整.其目的是能保證:1)在與其他TCP競爭帶寬時,HDT算法在部署了AQM的鏈路中保持其低優(yōu)先級性;2)當(dāng)鏈路中無其他數(shù)據(jù)流時,HDT能保證在低排隊(duì)時延的情況下,盡量利用鏈路帶寬.通過上述分析,如何根據(jù)網(wǎng)絡(luò)狀態(tài)動態(tài)調(diào)整target值是HDT的重點(diǎn)和難點(diǎn).

2.2 HDT算法設(shè)計(jì)與實(shí)現(xiàn)

HDT首先要獲取中間節(jié)點(diǎn)的信息,例如是否部署AQM等.從圖2和圖3可看到,相比于沒有部署AQM的鏈路,在部署AQM的鏈路中,LEDBAT流的吞吐量急劇上升.故周期性地計(jì)算HDT流的吞吐量可解決這一問題.HDT算法設(shè)置的周期為4個往返時延(round-trip time, RTT),并且只計(jì)算周期中最后一個RTT的吞吐量,認(rèn)為經(jīng)歷了3個RTT后,前一個周期調(diào)整過的target已經(jīng)起作用且每個周期最后一個RTT的吞吐量可以代表調(diào)整過后的效果.HDT在每個周期最后一個RTT計(jì)算出的吞吐量為Tc,計(jì)算為

(2)

其中,Bytec為當(dāng)前周期中最后一個RTT收到確認(rèn)的字節(jié)數(shù),rttc為每個周期的最后一個RTT.

HDT算法設(shè)置了一個吞吐量閾值Tmax,當(dāng)Tc大于吞吐量閾值Tmax時,就認(rèn)為當(dāng)前鏈路中部署了AQM,需減小target值,這時使用啟發(fā)式搜索算法來搜索最優(yōu)的target值.由于可能的target值存在上界與下界以及明顯次序關(guān)系,且二分搜索算法效率較高,能夠較快找到最合適的target值.故HDT算法使用二分搜索算法查找最優(yōu)的target值.

HDT算法定義了最大target值——targetmax,最小target值——targetmin.在[targetmin,targetmax]中通過二分查找來查找最優(yōu)的target值,其計(jì)算式為

(3)

然而,如果鏈路中沒有與HDT流競爭帶寬的數(shù)據(jù)流時,這時HDT的吞吐量也會超過定義的吞吐量閾值Tmax.通過分析可知,導(dǎo)致HDT吞吐量過高有2種情況:1)部署了AQM的鏈路;2)HDT單獨(dú)存在.因?yàn)闊o法區(qū)分是哪種情況導(dǎo)致的吞吐量過大,就盲目降低target值會導(dǎo)致HDT無法在單獨(dú)存在時盡量利用帶寬.

這2種情況下提高吞吐量的方式是不同的.當(dāng)無其他數(shù)據(jù)流與HDT流競爭帶寬時,HDT可在保持低時延情況下保證帶寬利用率,故可通過往返時延來對區(qū)分2種情況.HDT設(shè)置了區(qū)別以上2種情況的RTT閾值rttmax,并根據(jù)rttmax更新target的值:

(4)

HDT算法流程如圖5所示.首先收集周期中最后一個RTT的吞吐量和時延,并根據(jù)收集到的數(shù)據(jù)判斷是否更新target,若更新,則使用二分搜索找到合適的target,否則保持不變.

Fig.5 HDT algorithm flow chart圖5 HDT算法流程圖

HDT核心的具體實(shí)現(xiàn)如算法2所示:

算法2.HDT算法.

輸入:targett,Tmax,rttmax;

輸出:targett.

interval=0;targetmin=0;targetmax=50;

IFinterval==4 THEN

rttc=acknowledgement.delay;

Tc=Bytec/rttc;

IFTc>TmaxTHEN

IFrttc>rttmax

interval=0;

END IF

ELSE

interval++;

END IF

END IF

3 實(shí)驗(yàn)和結(jié)果

本節(jié)采用NS2對HDT的性能進(jìn)行評估.首先介紹了實(shí)驗(yàn)設(shè)置及評價指標(biāo),然后分析了不同AQM對HDT的影響,最后分析討論了不同類型擁塞控制算法對HDT的影響.

3.1 實(shí)驗(yàn)設(shè)置及評價指標(biāo)

本節(jié)的拓?fù)浣Y(jié)構(gòu)如無特別說明均如圖1所示,即5條標(biāo)準(zhǔn)TCP流與5條LPCC流競爭帶寬.

本節(jié)實(shí)驗(yàn)均選擇Reno算法與HDT競爭帶寬.這是由于Reno是基于丟包的算法,使用經(jīng)典的AIMD機(jī)制,即加性增和乘性減.Reno以丟包作為擁塞信號,僅在發(fā)生丟包時才進(jìn)行減窗操作.故在未部署AQM的情況下,當(dāng)LPCC流與Reno流競爭帶寬時,LPCC流可保持其低優(yōu)先級性,作為背景流存在.而當(dāng)鏈路部署AQM時,優(yōu)先級反轉(zhuǎn)現(xiàn)象較明顯,故選擇Reno算法.

本節(jié)實(shí)驗(yàn)的默認(rèn)參數(shù)如表2所示.瓶頸鏈路容量為以太網(wǎng)的最初的帶寬10 Mbps,往返時延設(shè)置為50 ms,故緩沖區(qū)容量大于2BDP,即100個包.

Table 2 Experimental Default Parameters表2 實(shí)驗(yàn)?zāi)J(rèn)參數(shù)

評價指標(biāo)包括平均吞吐量、PTCP以及Qavg.其中,平均吞吐量為n條流吞吐量的均值,可計(jì)算為

(5)

其中,Ti為第i條流的吞吐量,n表示流的數(shù)量.

3.2 AQM對HDT的影響

本節(jié)主要對HDT算法在不同AQM以及不同場景下的性能進(jìn)行評估.

3.2.1 HDT與標(biāo)準(zhǔn)TCP競爭帶寬

實(shí)驗(yàn)拓?fù)錇閳D1所示的啞鈴型拓?fù)浣Y(jié)構(gòu).這里選擇的對比算法為LEDBAT,TCP-LP,TCP-NICE.圖6表示不同AQM下LEDBAT,HDT,TCP-LP,TCP-NICE的平均吞吐量.

Fig.6 Average throughput when LPCCs compete with standard TCP for different AQMs圖6 不同AQM下LPCC與標(biāo)準(zhǔn)TCP競爭帶寬時的平均吞吐量

由圖6可知,AQM對LEDBAT以及TCP-NICE的影響較大,而本文提出的HDT以及TCP-LP能在不同AQM下表現(xiàn)較為平穩(wěn),且能夠較好地保持低優(yōu)先級的特性.LEDBAT算法在不同AQM下都保持較高的平均吞吐量.RED下的LEDBAT已發(fā)生了優(yōu)先級反轉(zhuǎn)的問題,其平均吞吐量比HDT算法的平均吞吐量提高了346.6%,說明HDT算法中對于target值的動態(tài)調(diào)整有效解決了低優(yōu)先級流的優(yōu)先級反轉(zhuǎn)問題.

不同AQM下HDT算法中的PTCP以及Qavg如表3所示.不同AQM下HDT算法與標(biāo)準(zhǔn)TCP競爭帶寬時,標(biāo)準(zhǔn)TCP所占的份額盡在85%以上.這表明HDT算法能夠有效讓出帶寬,保持低優(yōu)先級性.

Table 3 PTCP and Qavg of Different AQM for HDT Algorithm表3 HDT算法在不同AQM時的PTCP以及Qavg

Notes:PTCPis the share of standard TCP in the bottleneck link;Qavgis average queue size.

3.2.2 HDT單獨(dú)存在鏈路中

本節(jié)的實(shí)驗(yàn)拓?fù)淙鐖D7所示,HDT以單條流的形式存在于鏈路中,無其他流與其競爭帶寬.本節(jié)選擇的對比算法仍為LEDBAT,TCP-LP,TCP-NICE.

Fig.7 Single stream experimental topology圖7 單條流實(shí)驗(yàn)拓?fù)鋱D

圖8展示了在單條流的情況下AQM對不同LPCC的影響.可以看出,在不同AQM下,HDT都表現(xiàn)了較高的平均吞吐量,表明HDT在單獨(dú)存在時能充分利用帶寬,實(shí)現(xiàn)較高吞吐量.雖然TCP-LP能在與標(biāo)準(zhǔn)TCP競爭帶寬時表現(xiàn)出較穩(wěn)定的低優(yōu)先級性,但其單獨(dú)存在時卻不能充分利用鏈路帶寬.并且相比于HDT,LEDBAT與TCP-NICE的平均吞吐量受AQM影響較大.綜上所述,HDT算法單獨(dú)存在鏈路中時,能較為穩(wěn)定地充分利用帶寬.

Fig.9 Average throughput of different algorithms under different AQM圖9 不同AQM下不同算法的平均吞吐量

Fig.8 Average throughput when LPCCs exist separately under different AQM圖8 不同AQM下LPCC單獨(dú)存在時的平均吞吐量

3.3 擁塞控制算法對HDT的影響

本節(jié)選擇了不同類型的擁塞控制算法,主要是評價AQM下與不同擁塞控制算法交互時HDT的性能.

這里選取了基于丟包的CUBIC、基于時延的Vegas[22]、基于混合的Illinois[23]以及低優(yōu)先級的LEDBAT.實(shí)驗(yàn)環(huán)境仍為圖1所示的啞鈴型拓?fù)浣Y(jié)構(gòu).仿真結(jié)果如圖9所示.

圖9表明,HDT算法在與不同的擁塞控制算法交互時都能夠保持其低優(yōu)先級的特性.在基于丟包的CUBIC以及基于混合的Illinois交互時,HDT在鏈路中占有帶寬較小,而在與基于時延的Vegas以及低優(yōu)先級的LEDBAT中,HDT占有帶寬較高.這是由于Vegas與LEDBAT對時延較敏感,Vegas與LEDBAT較早感知到網(wǎng)絡(luò)擁塞,并減小發(fā)送速率,在它們減小發(fā)送速率的同時,HDT能以較小幅度增加發(fā)送速率.

3.4 鏈路帶寬對HDT的影響

本節(jié)主要考察不同瓶頸鏈路帶寬對HDT算法的影響,選用RED算法為默認(rèn)的AQM算法,對比的擁塞控制算法為LEDBAT,TCP-LP,TCP-NICE.

這里選擇的瓶頸鏈路帶寬分別為0.5 Mbps,1 Mbps,2 Mbps,5 Mbps,10 Mbps.低優(yōu)先級流的平均吞吐量如圖10所示:

Fig.10 Average throughput of LPCCs under different link bandwidths圖10 不同鏈路帶寬下LPCC的平均吞吐量

可以看出,HDT算法能在不同鏈路帶寬中以較低吞吐量存在,不對標(biāo)準(zhǔn)TCP產(chǎn)生影響,利用剩余帶寬.在鏈路容量較低時(0.5 Mbps),4種LPCC算法的平均吞吐量大致相同,但當(dāng)鏈路容量增大時,不同LPCC算法的優(yōu)先級反轉(zhuǎn)的程度不同.當(dāng)鏈路容量為5 Mbps時,LEDBAT,TCP-LP,TCP-NICE的平均吞吐量分別是HDT的2.57倍、1.64倍及2.44倍,即在相同條件下,LEDBAT與TCP-NICE以較強(qiáng)的侵略性占據(jù)了更多的帶寬資源,并影響了標(biāo)準(zhǔn)TCP的性能,而HDT在不同的鏈路容量下均保持了低優(yōu)先級的特性.

4 總結(jié)與未來工作展望

本文針對LEDBAT與RED,分析了優(yōu)先級反轉(zhuǎn)問題并進(jìn)行了實(shí)驗(yàn)驗(yàn)證.針對此問題,提出了HDT算法,使用啟發(fā)式算法動態(tài)調(diào)整target值來感知網(wǎng)絡(luò)鏈路狀態(tài),從而保持低優(yōu)先級.通過一系列的實(shí)驗(yàn)分析評價了HDT算法的性能,即HDT能實(shí)現(xiàn)2個目標(biāo):1)在部署了AQM的鏈路中,HDT流與標(biāo)準(zhǔn)TCP流競爭帶寬時,能保持其低優(yōu)先級性,讓出帶寬;2)無其他數(shù)據(jù)流競爭帶寬時,HDT會在保持低時延的情況下利用帶寬.HDT算法能夠在不同的AQM算法以及不同類型的擁塞控制算法下保持其低優(yōu)先級性.

本文算法存在2個可調(diào)參數(shù),需要靜態(tài)按照網(wǎng)絡(luò)狀況進(jìn)行配置,故下一步工作將考慮繼續(xù)完善算法,對參數(shù)進(jìn)行自適應(yīng)控制,對理論模型進(jìn)行進(jìn)一步的優(yōu)化,使其能夠適應(yīng)更多的網(wǎng)絡(luò)狀態(tài).另外,將完善后的HDT算法部署在發(fā)送端,在真實(shí)的網(wǎng)絡(luò)環(huán)境下對其性能進(jìn)行充分的評價,并且增加不同的網(wǎng)絡(luò)環(huán)境以及最新的TCP擁塞控制協(xié)議.

猜你喜歡
隊(duì)列數(shù)據(jù)包鏈路
一種移動感知的混合FSO/RF 下行鏈路方案*
二維隱蔽時間信道構(gòu)建的研究*
天空地一體化網(wǎng)絡(luò)多中繼鏈路自適應(yīng)調(diào)度技術(shù)
民用飛機(jī)飛行模擬機(jī)數(shù)據(jù)包試飛任務(wù)優(yōu)化結(jié)合方法研究
隊(duì)列隊(duì)形體育教案
隊(duì)列里的小秘密
基于多隊(duì)列切換的SDN擁塞控制*
C#串口高效可靠的接收方案設(shè)計(jì)
一種IS?IS網(wǎng)絡(luò)中的鏈路異常檢測方法、系統(tǒng)、裝置、芯片
青春的頭屑
鄂托克旗| 自治县| 道真| 玉环县| 镇江市| 永善县| 金华市| 南靖县| 美姑县| 信宜市| 惠州市| 湘潭县| 渑池县| 平和县| 饶阳县| 柞水县| 蓬溪县| 墨竹工卡县| 和林格尔县| 祥云县| 河源市| 景东| 彭泽县| 九龙城区| 延津县| 屯门区| 花垣县| 山丹县| 苏尼特左旗| 阳朔县| 拉萨市| 财经| 景谷| 宁蒗| 康保县| 武邑县| 福州市| 白河县| 唐河县| 文成县| 武功县|