張運(yùn)棟, 任勇毛, 殷 明, 楊望泓, 周 旭, 徐安民, 于德雷
1(中國科學(xué)院 計(jì)算機(jī)網(wǎng)絡(luò)信息中心, 北京 100190)
2(中國科學(xué)院大學(xué), 北京 100049)
3(華為技術(shù)有限公司, 北京 100085)
隨著網(wǎng)絡(luò)通信技術(shù)的飛速發(fā)展和普及, 各種新型網(wǎng)絡(luò)應(yīng)用不斷涌現(xiàn), 未來網(wǎng)絡(luò)正朝著多樣化, 智能化方向發(fā)展, 各種新型網(wǎng)絡(luò)應(yīng)用對(duì)于網(wǎng)絡(luò)提出更精細(xì)化的需求. 同時(shí)隨著數(shù)據(jù)通信技術(shù)進(jìn)一步發(fā)展, 現(xiàn)在互聯(lián)網(wǎng)存在多種數(shù)據(jù)傳輸方式, 每種傳輸方式都有其自身的特性. 其中有線傳輸網(wǎng)絡(luò)主要通過光纖等有形媒質(zhì)傳送信息, 通信容量大、傳輸距離遠(yuǎn)、質(zhì)量高[1], 但部署相對(duì)繁瑣, 維護(hù)成本大[2]. 無線傳輸網(wǎng)絡(luò)相對(duì)有線方式部署方便, 但可靠度和傳輸速率較低, 安全性較差, 且易受環(huán)境干擾, 如WiFi[3]速率高、但功耗大、安全性差、傳輸距離中等; 毫米波通信[4]工作頻率高、通信容量大、傳輸質(zhì)量高、但覆蓋距離短、易受障礙物阻擋影響. 由于通信方式多樣性, 現(xiàn)在網(wǎng)絡(luò)鏈路越來越復(fù)雜, 網(wǎng)絡(luò)異構(gòu)性越來越強(qiáng), 鏈路差異化也越來越大.
互聯(lián)網(wǎng)應(yīng)用程序網(wǎng)絡(luò)傳輸需求的多樣性和通信質(zhì)量的差異化特性使得傳統(tǒng)的兩個(gè)互聯(lián)網(wǎng)標(biāo)準(zhǔn)傳輸協(xié)議TCP與UDP所提供的服務(wù)并不能完全滿足這些應(yīng)用需求, TCP協(xié)議以增加延遲和降低吞吐量為代價(jià)來提高可靠性, UDP協(xié)議雖然延遲低且吞吐量比較高, 但是沒有可靠性保證. 對(duì)于部分應(yīng)用來說, 一方面部分?jǐn)?shù)據(jù)包丟失對(duì)其服務(wù)質(zhì)量無較大影響, 例如高清視頻傳輸場(chǎng)景中如果丟包率在一定閾值范圍內(nèi)則不影響用戶體驗(yàn)[5]; 云游戲場(chǎng)景中如果客戶端到服務(wù)器丟包率損失為1%以內(nèi)則用戶幾乎無感[6]; 天文數(shù)據(jù)傳輸中e-VLBI(very long baseline interferometry) 對(duì)數(shù)據(jù)傳輸容忍丟包率要求小于2%[7], 另一方面TCP在遇到網(wǎng)絡(luò)丟包或網(wǎng)絡(luò)擁塞時(shí)為保證數(shù)據(jù)可靠性傳輸會(huì)重傳丟失數(shù)據(jù)包,同時(shí)降低發(fā)送窗口, 進(jìn)而影響網(wǎng)絡(luò)傳輸效率和帶寬利用率.
因此, 本文針對(duì)應(yīng)用差異化的可靠傳輸需求和不同鏈路的可靠性, 提出了一種差異化可靠傳輸協(xié)議(differentiated reliable transmission protocol, DRTP), 在滿足應(yīng)用可靠度需求條件下, 最大化提升應(yīng)用傳輸速率. 在DRTP協(xié)議框架下, 重點(diǎn)設(shè)計(jì)了一種基于可靠度的新的擁塞控制算法.
為滿足應(yīng)用差異化傳輸需求, 目前的解決方案主要通過部分可靠傳輸協(xié)議實(shí)現(xiàn). 部分可靠傳輸協(xié)議保證應(yīng)用程序可以通過犧牲部分傳輸數(shù)據(jù)可靠性以提高網(wǎng)絡(luò)傳輸速率或者網(wǎng)絡(luò)吞吐量, 減少延遲抖動(dòng)等[8].不同應(yīng)用場(chǎng)景數(shù)據(jù)對(duì)于可靠度需求不同, 如果傳輸協(xié)議可以精確了解應(yīng)用程序需求[9], 在滿足其需求下提高網(wǎng)絡(luò)服務(wù)質(zhì)量和數(shù)據(jù)傳輸速率將是傳輸協(xié)議發(fā)展的新方向. 對(duì)于這一方向的研究尚很缺乏, 已有的研究主要是基于專用傳輸協(xié)議的改進(jìn), 例如基于datagram congetion control protocol (DCCP)擴(kuò)展的PR-DCCP[10]、基于stream control transmission protocol (SCTP)擴(kuò)展的PR-SCTP協(xié)議[11], 以及基于MPTCP的messageoriented partial-reliability (MO-PR)[12]和receiver-centric partial-reliable multipath transport solution (rec PRMPTCP)[13], 然而這些協(xié)議由于基于傳輸協(xié)議改進(jìn), 因此適用場(chǎng)景有限.
如何設(shè)計(jì)合理的擁塞控制算法解決網(wǎng)絡(luò)擁塞, 減少網(wǎng)絡(luò)丟包, 提高網(wǎng)絡(luò)數(shù)據(jù)包傳輸效率是網(wǎng)絡(luò)傳輸?shù)难芯繜狳c(diǎn)[15], 近年來涌現(xiàn)出各種各樣的擁塞控制算法,擁塞控制算法旨在提高傳輸協(xié)議性能同時(shí)最大化網(wǎng)絡(luò)資源利用率, 提高網(wǎng)絡(luò)吞吐率.
目前的擁塞控制算法思路主要是通過檢測(cè)網(wǎng)絡(luò)丟包檢測(cè)網(wǎng)絡(luò)擁塞, 例如傳統(tǒng)的NewReno算法和高帶寬長時(shí)延的BIC-TCP、CUBIC[16,17]; 基于時(shí)延檢測(cè)網(wǎng)絡(luò)擁塞, 例如TCP Vegas[18]、TCP Westwood[19,20]等, 及基于時(shí)延帶寬測(cè)量的丟包控制算法, 比如BBR[21]等.
然而目前的擁塞控制算法對(duì)于差異化可靠傳輸協(xié)議適用性較差, 差異化可靠傳輸協(xié)議應(yīng)對(duì)于網(wǎng)絡(luò)出現(xiàn)數(shù)據(jù)包重傳時(shí)提高TCP傳輸速率, 而基于丟包的算法在網(wǎng)絡(luò)頻繁丟包時(shí)吞吐率較差; 基于時(shí)延的擁塞控制算法在某些環(huán)境下RTT延時(shí)不能反映網(wǎng)絡(luò)擁塞狀態(tài);基于時(shí)延和帶寬測(cè)量的算法在頻繁數(shù)據(jù)流時(shí)性能較差,公平性較低.
總的來說, 現(xiàn)有的部分可靠傳輸協(xié)議沿用TCP擁塞控制算法, 沒有考慮部分可靠傳輸協(xié)議中可靠度考量標(biāo)準(zhǔn), 而目前的擁塞控制算法對(duì)于部分可靠傳輸協(xié)議和差異化可靠傳輸協(xié)議并沒有完美適配, 因此本文基于可靠度設(shè)計(jì)一種適應(yīng)于差異化可靠傳輸協(xié)議的擁塞控制算法.
目前擁塞控制協(xié)議主要適用于可靠傳輸協(xié)議, 比如TCP. 然而隨著未來網(wǎng)絡(luò)體系與網(wǎng)絡(luò)協(xié)議發(fā)展, 為滿足應(yīng)用差異化需求, 差異化可靠傳輸協(xié)議將成為未來研究網(wǎng)絡(luò)架構(gòu)的新傳輸協(xié)議. 差異化可靠傳輸協(xié)議機(jī)制通過在發(fā)送端基于當(dāng)前可靠度計(jì)算判斷數(shù)據(jù)包是否可以丟失, 如果數(shù)據(jù)包允許丟失則發(fā)送通知包并進(jìn)行窗口前移, 接收端在收到通知包時(shí)移動(dòng)窗口進(jìn)而發(fā)送新的ACK. 因此差異化可靠傳輸協(xié)議保留了ACK可靠傳輸機(jī)制和其擁塞狀態(tài)機(jī), 由于差異化可靠傳輸協(xié)議并未影響TCP擁塞狀態(tài)機(jī), 因此基于丟包檢測(cè)和基于時(shí)延檢測(cè)的擁塞控制算法適用于差異化可靠傳輸協(xié)議.
本文設(shè)計(jì)的差異化可靠傳輸擁塞控制機(jī)制通過檢測(cè)網(wǎng)絡(luò)丟包實(shí)現(xiàn), 其主要算法是基于可靠度機(jī)制實(shí)現(xiàn)不同程度的擁塞避免策略和擁塞恢復(fù)策略, 同時(shí)基于網(wǎng)絡(luò)帶寬測(cè)量合理調(diào)控網(wǎng)絡(luò)窗口閾值, 其實(shí)現(xiàn)機(jī)制主要分為可靠度滿足目標(biāo)可靠度的擁塞避免策略和擁塞恢復(fù)策略, 可靠度不滿足目標(biāo)可靠度的擁塞避免策略和擁塞恢復(fù)策略, 以及基于帶寬測(cè)量調(diào)控窗口閾值策略. 差異化可靠傳輸擁塞控制框架如表1所示.
當(dāng)代青年的文明素養(yǎng)和思想道德建設(shè)離不開傳統(tǒng)文化。文化的傳遞性使中國傳統(tǒng)文化得以延續(xù),任何一個(gè)國家的建設(shè)都無法脫離本民族的優(yōu)秀傳統(tǒng)文化。我們對(duì)于當(dāng)代青少年的培養(yǎng)也離不開中國傳統(tǒng)文化的引導(dǎo)與熏陶,傳統(tǒng)文化的傳承與創(chuàng)新也有賴于青少年的繼承與發(fā)揚(yáng)光大。中華傳統(tǒng)文化有利于青少年建立正確的人生觀、價(jià)值觀、世界觀。有利于培養(yǎng)青少年以愛國主義為核心的民族精神。傳統(tǒng)文化對(duì)于青少年的思想熏陶和人格塑造都有著不可否認(rèn)的積極作用,能夠幫助青少年豐富文化知識(shí)、提升思想境界,學(xué)會(huì)如何處理好人際關(guān)系,對(duì)于樹立青少年正確的價(jià)值取向有著積極作用。
表1 擁塞控制機(jī)制設(shè)計(jì)框架
差異化可靠傳輸與傳統(tǒng)傳輸控制協(xié)議區(qū)別在于其需要時(shí)刻感知當(dāng)前可靠度與目標(biāo)可靠度進(jìn)而判別是否發(fā)送通知包, 通過判別當(dāng)前時(shí)刻網(wǎng)絡(luò)傳輸可靠度與應(yīng)用層所需可靠度差別, 進(jìn)而實(shí)現(xiàn)差異化的可靠傳輸機(jī)制.
目標(biāo)可靠度為應(yīng)用層定義接口, 傳輸層感知當(dāng)前應(yīng)用所需目標(biāo)可靠度, 然而目前由于應(yīng)用的多樣性, 目標(biāo)可靠度采用人為設(shè)定, 目前在IP視訊業(yè)務(wù)中丟包率小于1%時(shí)畫面流暢、較清晰、聲音清晰, 而丟包率為3%時(shí)畫面較流暢, 運(yùn)動(dòng)大時(shí)有輕微馬賽克; 而對(duì)于天文臺(tái)天文數(shù)據(jù)傳輸, 數(shù)據(jù)完整率基本保障97%–98%以上. 在數(shù)據(jù)處理時(shí), 一般有明顯錯(cuò)誤的數(shù)據(jù)會(huì)剔除掉,因?yàn)?%–2%的數(shù)據(jù)基本不影響最后的數(shù)據(jù)結(jié)果精度.因此在實(shí)驗(yàn)測(cè)試時(shí)設(shè)置目標(biāo)可靠度為2%.
當(dāng)前可靠度為當(dāng)前時(shí)刻數(shù)據(jù)主動(dòng)丟失情況, 當(dāng)前可靠度R的計(jì)算公式為當(dāng)前時(shí)刻本周期內(nèi)未主動(dòng)丟失數(shù)據(jù)包與周期內(nèi)發(fā)送總數(shù)據(jù)包比值, 如式(1)所示:
其中,Psend為 當(dāng)前周期內(nèi)發(fā)送數(shù)據(jù)包數(shù),Plost為本周期內(nèi)已丟棄數(shù)據(jù)包數(shù),Plost在判別數(shù)據(jù)包可丟失后實(shí)時(shí)更新. 當(dāng)前可靠度計(jì)算以滑動(dòng)窗口內(nèi)固定數(shù)據(jù)包個(gè)數(shù)為周期更新當(dāng)前可靠度, 目前以1 000個(gè)數(shù)據(jù)包作為固定周期, 每發(fā)送1 000個(gè)數(shù)據(jù)包更新網(wǎng)絡(luò)丟包情況. 當(dāng)前可靠度進(jìn)行周期性計(jì)算優(yōu)勢(shì)在于可以保證此連接數(shù)據(jù)傳輸?shù)木鶆蛐詠G包分布, 保證每周期數(shù)據(jù)傳輸?shù)目煽慷? 同時(shí)當(dāng)前可靠度基于數(shù)據(jù)包粒度實(shí)時(shí)更新, 方便模塊化工作. 當(dāng)前可靠度一方面反映此連接可容忍數(shù)據(jù)丟失情況, 反映周期內(nèi)網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)姆€(wěn)定程度, 另一方面反映網(wǎng)絡(luò)進(jìn)行丟包判別情況, 反映網(wǎng)絡(luò)當(dāng)前時(shí)刻擁塞程度, 因此可靠度對(duì)于網(wǎng)絡(luò)擁塞有一定指導(dǎo)價(jià)值,在此將可靠度作為差異化可靠傳輸判別機(jī)制, 差異化可靠傳輸?shù)膿砣麢C(jī)制基于可靠度實(shí)現(xiàn)不同程度的擁塞控制策略.
差異化可靠傳輸擁塞控制機(jī)制基于當(dāng)前可靠度實(shí)現(xiàn)不同擁塞避免策略和擁塞恢復(fù)策略, 當(dāng)檢測(cè)網(wǎng)絡(luò)丟包時(shí), 通過觀測(cè)當(dāng)前可靠度值, 如果當(dāng)前可靠度大于目標(biāo)可靠度則反映當(dāng)前網(wǎng)絡(luò)擁塞狀態(tài)較輕, 同時(shí)也反映此時(shí)應(yīng)用程序可以容忍數(shù)據(jù)包丟失, 因此在擁塞避免階段網(wǎng)絡(luò)可以較低程度降低擁塞窗口以更快恢復(fù)帶寬,因此當(dāng)可靠度優(yōu)于目標(biāo)可靠度的擁塞避免函數(shù)如式(2)所示:
在擁塞恢復(fù)階段擁塞策略以較快速率恢復(fù)擁塞窗口, 具體的擁塞恢復(fù)算法如式(3):
式(2)中α 表示擁塞避免階段窗口降低比率, 在此為0.8. 式(3)中l(wèi)代表用于比較時(shí)間和擁塞窗口大小變化的速率常數(shù), 在此為0.5.K值用于表示當(dāng)前擁塞窗口cwnd恢復(fù)到上次發(fā)生擁塞時(shí)的窗口值所需的時(shí)間,K值計(jì)算如式(4)所示, 而Wmax代表上次擁塞發(fā)生時(shí)窗口的最大值.
式(2)表明在可靠度優(yōu)于目標(biāo)可靠度時(shí)差異化可靠傳輸擁塞避免的窗口降低程度為α ×cwnd, 實(shí)現(xiàn)擁塞避免階段少下將策略, 式(3)表明在擁塞恢復(fù)階段窗口增長函數(shù)按照三次函數(shù)形式增長, 一方面合理化恢復(fù)網(wǎng)絡(luò)帶寬, 另一方面最大化探測(cè)網(wǎng)絡(luò)帶寬. 同時(shí)擁塞避免階段算法通過檢測(cè)發(fā)生擁塞事件時(shí)窗口值是否低于上次發(fā)生擁塞時(shí)窗口最大值記錄Wlast_max合理探測(cè)帶寬. 如果窗口值低于Wmax是則說明有新流加入, 因此需降低Wmax讓出帶寬給新流, 否則記錄當(dāng)前時(shí)刻Wmax為Wlast_max, 具體算法如算法1所示.
算法1. 帶寬檢測(cè)算法1. if cwnd<Wmax&&fast_convergence then 2. Wlast_max= cwnd×(1+α)/2 3. else 4. Wlast_max =cwnd 5. end if
當(dāng)檢測(cè)網(wǎng)絡(luò)丟包時(shí)如果當(dāng)前可靠度值不滿足目標(biāo)可靠度則反映當(dāng)前網(wǎng)絡(luò)擁塞狀態(tài)較嚴(yán)重, 同時(shí)反映應(yīng)用程序?qū)τ跀?shù)據(jù)包可靠度要求較高, 因此在擁塞避免階段閾值函數(shù)如式(5)所示:
在擁塞恢復(fù)階段窗口在每收到ACK窗口增加為1/cwnd. 具體如式(6)所示:
式(5)表明差異化可靠傳輸擁塞機(jī)制在網(wǎng)絡(luò)重?fù)砣麪顟B(tài)下通過窗口減半, 實(shí)現(xiàn)基于TCP擁塞避免機(jī)制進(jìn)行標(biāo)準(zhǔn)窗口下降策略, 因?yàn)榇藭r(shí)通過窗口少下降策略并未能完全減輕網(wǎng)絡(luò)擁塞狀態(tài). 式(6)實(shí)現(xiàn)基于TCP擁塞恢復(fù)機(jī)制進(jìn)行窗口慢增長策略, 有效避免通過三次函數(shù)快恢復(fù)策略而造成擁塞窗口頻繁下降進(jìn)而網(wǎng)絡(luò)發(fā)生多次擁塞情況. 差異化可靠傳輸擁塞控制機(jī)制采用基于混合擁塞控制的方法, 使用可靠度作為主要擁塞指標(biāo), 使用丟包信息作為第2擁塞指示符, 共同調(diào)整窗口大小, 滿足對(duì)TCP公平性和性能的設(shè)計(jì)需求.
差異化可靠傳輸協(xié)議在網(wǎng)絡(luò)存在較大丟包時(shí)可以顯示其優(yōu)勢(shì), 相對(duì)于傳統(tǒng)TCP傳輸協(xié)議明顯提高傳輸速率. 差異化可靠傳輸協(xié)議擁塞控制機(jī)制的核心思想是基于可靠度和丟包信息實(shí)現(xiàn)不同程度擁塞避免和擁塞恢復(fù)算法, 然而基于丟包的擁塞控制機(jī)制在網(wǎng)絡(luò)質(zhì)量較差導(dǎo)致頻繁丟包時(shí)仍有很大提升空間, 主要原因在于基于丟包進(jìn)行擁塞檢測(cè)對(duì)鏈路差錯(cuò)引起頻繁丟包的網(wǎng)絡(luò)擁塞狀態(tài)誤判, 導(dǎo)致?lián)砣翱陬l繁下降, 難以盡快恢復(fù)進(jìn)而降低鏈路帶寬利用率, 而通過估計(jì)瓶頸帶寬可以提高易損鏈路網(wǎng)絡(luò)環(huán)境的傳輸控制協(xié)議性能.因此差異化可靠傳輸機(jī)制在基于丟包實(shí)現(xiàn)擁塞控制機(jī)制的基礎(chǔ)上通過瓶頸帶寬估計(jì)策略合理設(shè)置網(wǎng)絡(luò)擁塞避免階段擁塞閾值, 具體的帶寬測(cè)量方法如式(7)所示:
式(7)中Tcur為當(dāng)前時(shí)刻測(cè)量帶寬,rtt為帶寬測(cè)量周期,Nack為當(dāng)前rtt周期內(nèi)接受數(shù)據(jù)段數(shù)量, 式(8)[22]通過將帶寬在低通濾波器中過濾高頻成分測(cè)得實(shí)際當(dāng)前帶寬, 因此當(dāng)網(wǎng)絡(luò)檢測(cè)丟包進(jìn)入擁塞避免階段時(shí)的窗口閾值如式(9)所示:
其中,RTTmin為最小往返時(shí)延,Tcur×RTTmin為基于帶寬測(cè)量的BDP, BBR算法認(rèn)為當(dāng)網(wǎng)絡(luò)飛行數(shù)據(jù)到達(dá)BDP時(shí)網(wǎng)絡(luò)發(fā)送速率達(dá)到最大值[23]且網(wǎng)絡(luò)不發(fā)生擁塞. 因此基于BDP設(shè)置閾值可以避免由于頻繁丟包導(dǎo)致的擁塞窗口閾值不合理下降. 式(9)在發(fā)生丟包時(shí)通過帶寬測(cè)量將窗口降到合理的閾值, 避免頻繁丟包導(dǎo)致窗口不合理下降, 提高帶寬利用率.
差異化可靠傳輸擁塞控制算法分為慢啟動(dòng)階段,擁塞避免階段和擁塞恢復(fù)階段. 慢啟動(dòng)階段算法基于傳統(tǒng)的TCP慢啟動(dòng)算法增長其窗口值, 當(dāng)窗口值高于窗口閾值時(shí)算法進(jìn)入擁塞避免階段, 同時(shí)每收到ACK算法根據(jù)式(7)和式(8)計(jì)算當(dāng)前網(wǎng)絡(luò)帶寬值; 擁塞避免階段根據(jù)式(9)設(shè)置當(dāng)前閾值; 擁塞恢復(fù)階段算法通過查詢當(dāng)前可靠度判定當(dāng)前可靠度是否高于目標(biāo)可靠度, 如是則根據(jù)式(3)恢復(fù)帶寬并設(shè)定窗口值, 否則根據(jù)式(6)設(shè)定窗口值. 因此算法時(shí)間復(fù)雜度為擁塞避免階段每收到ACK時(shí)計(jì)算帶寬, 以數(shù)據(jù)包個(gè)數(shù)為單位,式(7)和式(8)的時(shí)間復(fù)雜度為O (n) . 式(3)和式(5)的時(shí)間復(fù)雜度為O (n) , 因此算法的時(shí)間復(fù)雜度為O (n).
差異化可靠傳輸擁塞控制機(jī)制通過聯(lián)合丟包檢測(cè)和時(shí)延帶寬檢測(cè)控制擁塞窗口變化, 通過丟包檢測(cè)提高時(shí)延帶寬測(cè)量在網(wǎng)絡(luò)擁塞時(shí)的帶寬利用率較低的弊端, 同時(shí)通過帶寬檢測(cè)避免由于頻繁丟包導(dǎo)致窗口下降問題, 下面將通過實(shí)驗(yàn)測(cè)試驗(yàn)證差異化可靠傳輸擁塞機(jī)制的性能.
為了驗(yàn)證差異化可靠傳輸擁塞控制機(jī)制的性能,本次實(shí)驗(yàn)測(cè)試基于NS3網(wǎng)絡(luò)模擬器實(shí)現(xiàn), 系統(tǒng)為Ubuntu 16.04系統(tǒng), 通過NS3中實(shí)現(xiàn)的差異化可靠傳輸協(xié)議, 測(cè)試不同擁塞控制算法對(duì)于差異化可靠傳輸協(xié)議性能影響, 實(shí)驗(yàn)測(cè)試不同丟包率、不同帶寬時(shí)延和不同背景流下基于差異化可靠傳輸協(xié)議的各種擁塞控制算法實(shí)驗(yàn)性能. 其中實(shí)驗(yàn)網(wǎng)絡(luò)拓?fù)淙鐖D1所示.
圖1 NS3仿真網(wǎng)絡(luò)拓?fù)?/p>
實(shí)驗(yàn)拓?fù)鋱D中, 客戶端基于NS3中BulkSend-Helper應(yīng)用類實(shí)現(xiàn)數(shù)據(jù)流發(fā)送, 服務(wù)器基于NS3中PacketSinkHelper類實(shí)現(xiàn)數(shù)據(jù)接收, 丟包率設(shè)置基于NS3中RateErrorModel差錯(cuò)模型類實(shí)現(xiàn).
對(duì)于未來網(wǎng)絡(luò)場(chǎng)景, 例如衛(wèi)星通信由于通信延遲和比特錯(cuò)誤的概率, TCP傳輸性能受到影響, 而差異化可靠傳輸協(xié)議在易損網(wǎng)絡(luò)中性能表現(xiàn)較佳. 差異化可靠傳輸擁塞機(jī)制算法旨在于不同丟包率下獲得較大吞吐, 同時(shí)實(shí)現(xiàn)提高數(shù)據(jù)傳輸速率. 本文首先基于網(wǎng)絡(luò)拓?fù)錅y(cè)試針對(duì)不同丟包率在差異化可靠傳輸協(xié)議下?lián)砣刂扑惴ㄐ阅? 其中實(shí)驗(yàn)中指定差異化可靠傳輸?shù)膽?yīng)用可靠度為98%, 具體的數(shù)據(jù)傳輸參數(shù)如表2.
表2 丟包率下NS3參數(shù)
首先通過設(shè)置不同鏈路丟包率測(cè)試NewReno,CUBIC, Vegas, Westwood, Westwood+, BBR及差異化可靠傳輸?shù)膿砣刂扑惴╟ongestion control based on reliability (CCOR). 圖2表明當(dāng)丟包率在0.1%–2%時(shí)基于丟包的擁塞控制算法例如NewReno, CUBIC算法性能較差, 基于時(shí)延及帶寬測(cè)量的算法性能例如Vegas, Westwood, Westwood+, BBR優(yōu)于基于丟包的擁塞控制算法, 然而總體性能較差, 而CCOR算法有效數(shù)據(jù)傳輸速率明顯優(yōu)于NewReno, CUBIC, Vegas,Westwood, 相對(duì)于Westwood+, BBR有些許提升.
圖2表明基于丟包的擁塞控制算法存在鏈路丟包時(shí)性能表現(xiàn)較差, 隨著丟包率增大性能表現(xiàn)越差. 基于時(shí)延的擁塞控制算法在存在鏈路丟包時(shí)性能表現(xiàn)較好,CCOR算法結(jié)合基于帶寬測(cè)量的丟包閾值判斷, 在丟包率大的時(shí)候有較大的性能提升.
圖2 300 Mb/s, 50 ms擁塞算法傳輸速率
圖3為丟包率為0.1%時(shí)各種擁塞算法前50 s吞吐率變化, 表明在0.1%丟包率下BBR與CCOR算法窗口值保持平穩(wěn)且較高水平, 但是BBR在24 s吞吐率下降影響其性能, 因此CCOR性能最佳. 圖4為丟包率為0.2%時(shí)各種擁塞控制算法前50 s吞吐率變化, 在從圖4看出當(dāng)同時(shí)傳輸300 MB數(shù)據(jù)量時(shí)CCOR在36 s傳輸結(jié)束, 而BBR在41 s傳輸結(jié)束, Westwood+在45 s結(jié)束數(shù)據(jù)傳輸, 且CCOR吞吐率高于BBR和Westwood+.表明在0.2%丟包率下CCOR算法性能優(yōu)于其他算法,表現(xiàn)在高帶寬長時(shí)延下CCOR算法保持較高吞吐率.
圖3 300 Mb/s, 50 ms, 0.1% 丟包率下吞吐率變化
圖4 300 Mb/s, 50 ms, 0.2% 丟包率下吞吐率變化
差異化可靠傳輸協(xié)議在不同帶寬和不同時(shí)延下表現(xiàn)不同性能, 下面基于圖1網(wǎng)絡(luò)拓?fù)錅y(cè)試不同帶寬和不同時(shí)延下各種擁塞控制算法在差異化可靠傳輸協(xié)議下的性能. 具體的數(shù)據(jù)傳輸參數(shù)如表3.
表3 不同帶寬時(shí)延下NS3參數(shù)
設(shè)置不同帶寬和不同往返時(shí)延測(cè)試NewReno,CUBIC, Vegas, Westwood, Westwood+, BBR及CCOR算法有效數(shù)據(jù)傳輸速率. 圖5表示從10 Mb/s到500 Mb/s,時(shí)延為50 ms時(shí)數(shù)據(jù)傳輸速率, 圖5表明在0.1%丟包時(shí)增大帶寬, NewReno, CUBIC, Vegas, Westwood算法傳輸速率沒有明顯提升, Westwood+, BBR, CCOR算法有明顯提升, CCOR性能最優(yōu).
圖5 50 ms, 0.1%丟包率下傳輸速率
圖6表示從10 ms到200 ms, 100 M/ps帶寬時(shí)數(shù)據(jù)傳輸速率, 圖6表明0.1%丟包率下, CCOR取得較好實(shí)驗(yàn)結(jié)果, CCOR算法基于可靠度實(shí)現(xiàn)不同擁塞控制策略, 在往返時(shí)延較小時(shí)CCOR表現(xiàn)較好實(shí)驗(yàn)性能,隨著時(shí)延增大, CCOR隨時(shí)延傳輸速率變低, 但是仍然高于其余擁塞控制算法變化, 但是傳統(tǒng)的基于丟包和基于時(shí)延的擁塞控制算法隨時(shí)延傳輸效率變低.
圖6 100 Mb/s, 0.1%丟包率下傳輸速率圖
擁塞控制算法在不同網(wǎng)絡(luò)流量下能夠取得較好帶寬同時(shí)保持?jǐn)?shù)據(jù)流公平性是衡量擁塞控制算法特性的目標(biāo)之一, 因此設(shè)置不同背景流驗(yàn)證差異化可靠傳輸擁塞控制算法性能. 其中背景流基于NS3下UdpEcho-ClientHelper類產(chǎn)生間隔UDP流.
圖7為UDP背景流為80 Mb/s, 時(shí)間在10–15 s,20–25 s, 30–35 s間隔出現(xiàn)3次時(shí)各種算法的吞吐率圖,圖7表明CCOR在出現(xiàn)背景流時(shí)帶寬下降, 但是保持基于丟包的擁塞控制算法對(duì)于帶寬的利用率, 相對(duì)于BBR低到帶寬到20 Mb/s, CCOR可以與NewReno,CUBIC等基于丟包的算法保持其40 Mb/s以上的帶寬, 同樣表明在較大背景流下CCOR算法較好帶寬利用率, 因此在不同背景流下CCOR可以更好利用帶寬.
圖7 100 Mb/s, 10 ms下吞吐率變化
公平性是擁塞控制算法的一個(gè)重要性能指標(biāo), 有的擁塞控制算法雖然傳輸吞吐率高, 但是公平性差, 比如最新的BBR協(xié)議[24]. 下面將實(shí)驗(yàn)驗(yàn)證差異化擁塞算法CCOR公平特性.
圖8為100 Mb/s, 20 ms往返時(shí)延下3條CCOR流傳輸窗口變化, 其中第2條數(shù)據(jù)流在20 s加入網(wǎng)絡(luò),在80 s離開網(wǎng)絡(luò), 第3條數(shù)據(jù)流在40 s加入網(wǎng)絡(luò), 在60 s離開網(wǎng)絡(luò), 圖9顯示其吞吐率變化, 圖9表明在第2條數(shù)據(jù)流加入時(shí)CCOR可以較快降低網(wǎng)絡(luò)帶寬為47 Mb/s, 在第3條數(shù)據(jù)流加入后CCOR帶寬降低為31 Mb/s, 表明CCOR數(shù)據(jù)流可以較好與新流共享網(wǎng)絡(luò)帶寬, 而在數(shù)據(jù)流離開網(wǎng)絡(luò)時(shí)可以較快恢復(fù)網(wǎng)絡(luò)帶寬,CCOR算法在較大提升帶寬利用率同時(shí)可以保持?jǐn)?shù)據(jù)流之間的公平性, 顯示出CCOR算法的優(yōu)勢(shì).
圖8 100 Mb/s, 20 ms下CCOR擁塞窗口
圖9 100 Mb/s, 20 ms下CCOR吞吐率
隨著未來網(wǎng)絡(luò)體系的發(fā)展, 差異化可靠傳輸協(xié)議在未來網(wǎng)絡(luò)傳輸協(xié)議有很好應(yīng)用前景, 本文通過針對(duì)差異化可靠傳輸協(xié)議提出一種新的基于丟包和帶寬測(cè)量聯(lián)合的擁塞控制機(jī)制, 旨在于提高差異化可靠傳輸協(xié)議的性能, 同時(shí)最大化網(wǎng)絡(luò)資源利用率. 差異化可靠傳輸擁塞控制機(jī)制通過差異化可靠傳輸協(xié)議的可靠度機(jī)制實(shí)現(xiàn)不同擁塞控制機(jī)制, 在當(dāng)前可靠度滿足目標(biāo)可靠度時(shí)通過少下降式擁塞避免策略和快恢復(fù)擁塞恢復(fù)策略實(shí)現(xiàn)其窗口變化, 在當(dāng)前可靠度不滿足目標(biāo)可靠度時(shí)通過標(biāo)準(zhǔn)式擁塞避免策略和恢復(fù)策略實(shí)現(xiàn)其窗口變化, 在可靠度考量標(biāo)準(zhǔn)下實(shí)現(xiàn)更好窗口策略, 同時(shí)差異化可靠傳輸擁塞控制機(jī)制充分考慮網(wǎng)絡(luò)條件, 基于帶寬測(cè)量作為窗口策略的變化標(biāo)準(zhǔn), 提高不同丟包率下差異化可靠傳輸協(xié)議性能.
本文通過實(shí)驗(yàn)驗(yàn)證差異化可靠傳輸擁塞算法CCOR在不同丟包率、不同時(shí)延及不同背景流下均取得較好的實(shí)現(xiàn)性能, 相對(duì)于傳統(tǒng)擁塞控制算法其窗口值和網(wǎng)絡(luò)吞吐率均表現(xiàn)效果良好, 同時(shí)通過實(shí)驗(yàn)驗(yàn)證其公平性. 在未來針對(duì)于差異化可靠傳輸協(xié)議擁塞控制機(jī)制以及對(duì)于未來基于丟包和帶寬實(shí)現(xiàn)不同程度擁塞控制機(jī)制提供一定的指導(dǎo)價(jià)值.