茹新宇,劉 淵,陳 偉
(1.江蘇聯(lián)合職業(yè)技術(shù)學院 無錫交通分院,江蘇 無錫 214151;2.江南大學 數(shù)字媒體學院,江蘇 無錫 214122)
新TCP擁塞窗口調(diào)整策略*
茹新宇1,劉 淵2,陳 偉2
(1.江蘇聯(lián)合職業(yè)技術(shù)學院 無錫交通分院,江蘇 無錫 214151;2.江南大學 數(shù)字媒體學院,江蘇 無錫 214122)
互聯(lián)網(wǎng)的穩(wěn)定性和魯棒性離不開擁塞控制,然而目前TCP傳輸中廣泛使用的AIMD算法因窗口波動劇烈,致使丟包明顯、系統(tǒng)吞吐量及帶寬利用率偏低。為此提出了一種新的TCP擁塞窗口調(diào)整策略A-Cwnd。該策略依據(jù)RTT采樣值構(gòu)建正態(tài)分布函數(shù)式,動態(tài)更新下一擁塞窗口值,能較好地適應網(wǎng)絡實時變化特點,具有不錯的響應性。從數(shù)學角度對新策略的合理性與可行性進行了分析證明。NS3仿真結(jié)果表明新策略可有效穩(wěn)定窗口波動、增大發(fā)送速率、降低丟包率,同時對系統(tǒng)吞吐量及帶寬利用率的提高也有一定貢獻。
擁塞窗口;策略;算法;機制;慢啟動門限閾值;NS3仿真
1986年10月,因發(fā)生擁塞,LBL到UC Berkeley的吞吐量從32 kb/s 斷崖式下跌至40 b/s[1],自此人們對擁塞控制展開了大量研究,先后提出了多種策略及算法,其中以TCP Tahoe和New Reno兩者影響較大。伴隨著“互聯(lián)網(wǎng)+”的到來,網(wǎng)絡結(jié)構(gòu)類型差異化、表現(xiàn)形式深入化,傳統(tǒng)的擁塞控制已略顯不足,原機制采用AIMD(Additive Increase Multiple Decrease)算法,易導致帶寬利用率低、流量波動大等[2]。而且根據(jù)接收端反饋信息判斷擁塞程度后采取相應策略的方式具有一定的時間延遲,將導致源端不能及時準確地判斷擁塞狀況,加劇了網(wǎng)絡的不穩(wěn)定性。
由文獻[3]可知,無論有線還是無線網(wǎng)絡,往返延遲RTT(Round Trip Time)的變化能客觀反映當前網(wǎng)絡負載狀況,其變化適合作為擁塞反饋信息。為提升網(wǎng)絡性能,本文提出一種新的TCP擁塞窗口調(diào)整策略,它基于RTT的正態(tài)分布統(tǒng)計模型[4],依據(jù)其采樣值的變化特點判斷負載趨勢,運用正態(tài)分布概率函數(shù),在擁塞避免(Congestion Avoidance)階段動態(tài)調(diào)整擁塞窗口值,改進了TCP擁塞控制的效果。
1.1 開環(huán)和閉環(huán)
由控制論觀點,擁塞控制可分為開環(huán)和閉環(huán)兩類。開環(huán)通過良好的設計規(guī)避問題出現(xiàn),確保擁塞不發(fā)生,而閉環(huán)則建立在反饋環(huán)路上。閉環(huán)按反饋方式可分為顯式反饋和隱式反饋。顯式反饋由擁塞點將擁塞信號反饋給源端。而隱式反饋中,源端通過局部觀測推斷是否存在擁塞。對于互聯(lián)網(wǎng)這類復雜系統(tǒng),閉環(huán)控制較合適。TCP擁塞控制采用基于窗口的端到端閉環(huán)控制,它通過反饋確認信號ACK來控制分組的發(fā)送。具體過程可分為擁塞檢測、信號反饋和窗口調(diào)整三個階段,其原理如圖1所示[5]。本文結(jié)合顯式反饋和隱式反饋之優(yōu)點,使用閉環(huán)控制實現(xiàn)擁塞窗口的動態(tài)調(diào)整。
圖1 TCP擁塞閉環(huán)控制原理圖
1.2 擁塞控制的四個階段
(1)慢啟動:cwnd (2)擁塞避免:cwnd≥ssthresh,每RTT cwnd=cwnd+1; 2.1 基本思路 據(jù)文獻[4],在不同負載下,RTT采樣可被近似修正為正態(tài)分布。據(jù)此設想用當前窗口的RTT樣本值作為網(wǎng)絡擁塞狀態(tài)的反饋信號,預估即將發(fā)生的擁塞,從而達到主動調(diào)整擁塞窗口的目的。 新策略的基本思路為:當系統(tǒng)進入擁塞避免階段后,由樣本值構(gòu)建正態(tài)分布密度函數(shù)φ(x),同時計算出μ±3σ作為后續(xù)運算上下限。積分求得正態(tài)分布函數(shù)F(x)值后代入新算法,即可預估下一擁塞窗口值。依次重復上述步驟,即可實現(xiàn)發(fā)送窗口的動態(tài)更新。 圖2 新TCP擁塞窗口調(diào)整策略的算法流程圖 慢啟動及快速重傳與恢復階段后繼續(xù)執(zhí)行上述新算法。超時重傳雖是小概率事件,但此時RTT較大,判斷為擁塞嚴重,立即執(zhí)行原超時重傳程序,直至再次進入擁塞避免階段后仍執(zhí)行上述新算法。 2.2 算法流程 新TCP擁塞窗口調(diào)整策略的具體算法流程如圖2所示。 3.1 具體實現(xiàn) 設RTT=x,x∈(0,+∞)。進入擁塞避免階段后,以新算法取代原AIMD,具體實現(xiàn)細節(jié)如下: 以上式中μ和σ為擁塞狀態(tài)因子,由RTT來調(diào)節(jié),用以反映當前網(wǎng)絡擁塞狀況。 3.2 性能分析 3.2.1 算法分析 綜上所述,x越小意味著此刻網(wǎng)絡越順暢,資源越空閑,為增加系統(tǒng)吞吐量、提高帶寬的有效利用率,可適當?shù)丶哟髶砣翱谥担岣邤?shù)據(jù)發(fā)送速率。反之,x越大則意味著網(wǎng)絡越遲滯,此刻發(fā)生擁塞的概率劇增,為保持系統(tǒng)穩(wěn)定運行,有必要嘗試減小擁塞窗口值,合理控制數(shù)據(jù)發(fā)送速率。 3.2.2 區(qū)間分析 當一分布服從正態(tài)分布規(guī)律時,根據(jù)分布函數(shù)性質(zhì),對總體N(μ,σ2)在區(qū)間(-∞,+∞)取值概率查表知: ∴F(μ-σ, μ+σ)=F(μ+σ)-F(μ-σ)=0.841 3-0.158 7=0.682 6 同理可得: F(μ-2σ,μ+2σ)=F(μ+2σ)-F(μ-2σ)=0.954 4 F(μ-3σ,μ+3σ)=F(μ+3σ)-F(μ-3σ)=0.997 4 往返延遲RTT分布區(qū)間的頻數(shù)如圖3所示。故在區(qū)間[μ-σ,μ+σ]、[μ-2σ,μ+2σ]和[μ-3σ,μ+3σ]內(nèi)取值的概率分別為68.26%、95.44%和99.74%。RTT采樣值落在(-∞,μ-3σ)∪(μ+3σ,+∞)區(qū)間內(nèi)是小概率事件,而它出現(xiàn)在[μ-3σ,μ+3σ]之間概率極大。因此研究樣本在[μ-3σ,μ+3σ]內(nèi)的正態(tài)分布情況是合理的,新算法的積分區(qū)間選擇[μ-3σ,μ+3σ]具有可行性。 圖3 RTT分布區(qū)間的頻數(shù)示意圖 本文采用NS3.24[6]網(wǎng)絡仿真器,在Ubuntu16.04平臺下搭建了一高度可調(diào)節(jié)、可多次使用的實驗環(huán)境,用以驗證新策略的有效性。拓撲結(jié)構(gòu)如圖4所示,S1~Sn、D1~Dn分別為發(fā)送端和接收端,接入帶寬6 Mb/s,延時4 ms,瓶頸鏈路帶寬為1.5 Mb/s,延時60 ms,門限閾值取系統(tǒng)推薦值64 KB。另設節(jié)點緩存為50個分組,源端以每分組1 KB大小連續(xù)發(fā)送10 Mb/s FTP單向數(shù)據(jù)流,路由R1、R2則采用FIFO隊列管理算法。這里從不同時間段的多組擁塞窗口值、丟包率、吞吐量及鏈路帶寬四個方面,采用圖表形式分別對新A-Cwnd、原New Reno及TCP Tahoe三種策略進行實驗比對,具體討論如下。 圖4 網(wǎng)絡仿真拓撲結(jié)構(gòu) 如表1所示,從擁塞避免階段開始,新策略由返回的RTT樣本值建立正態(tài)分布統(tǒng)計概型,計算得到正態(tài)分布函數(shù)值,據(jù)此主動預估下一擁塞窗口開啟值。故其具有良好的動態(tài)響應能力,并極大地減輕了原AIMD算法的窗口抖動“癥狀”,改善和平滑了突發(fā)流量沖擊,使數(shù)據(jù)包可平緩“適度”地進入網(wǎng)絡,也間接提升了TCP流整個生命期的擁塞窗口平均值,可同時實現(xiàn)更多的服務類型與更好的服務質(zhì)量。 表1 不同策略下?lián)砣翱谥?吞吐量)比較 (包) 圖5 不同策略下,丟包數(shù)隨發(fā)送量變化比較 新策略通過提前預估并合理開啟發(fā)送窗口值,使源端的數(shù)據(jù)發(fā)送速率基本滿足系統(tǒng)可用資源,從而有效減少了不必要的丟包,平緩了窗口速率抖動。限制“適度”的流量進入網(wǎng)絡,避免了不必要的分組丟失及“盲目”重傳。由圖5可見,隨著源端發(fā)送數(shù)據(jù)包的增加,A-Cwnd的丟包數(shù)略少于原New Reno和TCP Tahoe。新策略丟包率更低,比原策略優(yōu)化明顯??梢娦虏呗詫G包率的降低也起了積極作用。 表2顯示,采樣初期,新策略A-Cwnd吞吐量穩(wěn)步上升且波動不大,并最終趨于穩(wěn)定,數(shù)據(jù)略好于原New Reno策略。而TCP Tahoe則在吞吐量方面劣勢明顯,且抖動頻繁??梢娦虏呗赃€對系統(tǒng)吞吐量的提高與穩(wěn)定也有一定貢獻。 表2 不同策略下系統(tǒng)吞吐量比較 (包) 不同策略下,帶寬大小比較如圖6所示。 圖6 不同策略下帶寬大小比較 從圖6可看出,新策略的鏈路帶寬增長明顯。這歸咎于新算法具有較大的發(fā)送窗口,較低的丟包率,使得丟包或超時重傳明顯減少,鏈路帶寬被充分利用,故新策略有效提升了網(wǎng)絡資源利用率。不同時間段不同策略下,鏈路帶寬值的比較見表3。 表3 不同策略下,鏈路帶寬值(吞吐量)比較 (包) 由于新策略A-Cwnd在帶寬資源的分配處理上遠優(yōu)于New Reno,也略高于TCP Tahoe,故其可滿足更多的服務作業(yè)需求,實現(xiàn)共享網(wǎng)絡資源的目的。 綜上所述,新策略在擁塞窗口平均值、丟包率、系統(tǒng)吞吐量及帶寬利用率四個方面對系統(tǒng)性能均有一定程度的改善,圖表數(shù)據(jù)也表明新策略效果明顯優(yōu)于原策略,能較好地實現(xiàn)高效穩(wěn)定的擁塞避免過程。 本文針對目前TCP協(xié)議中廣泛使用的AIMD算法的缺陷,提出了一種新的TCP擁塞窗口調(diào)整策略A-Cwnd。 新策略依據(jù)RTT正態(tài)分布特性構(gòu)建函數(shù)關(guān)系式,并主動預測下一擁塞窗口值,可實現(xiàn)發(fā)送速率的自動更新,具有不錯的實時響應性。文中還通過數(shù)學方式證明了新策略的可行性與合理性。文末的NS3仿真也驗證了新策略可有效增加擁塞窗口平均值、減少丟包率,對系統(tǒng)吞吐量及帶寬利用率也有一定貢獻。但該策略對于無線傳輸中的誤碼及信道衰減丟包適應性較差,系統(tǒng)吞吐量和帶寬利用率下降明顯。因此后期將增加丟包區(qū)分策略,使之具有更好的適應性,以期進一步提高網(wǎng)絡性能。 [1] JACOBSON V.Congestion avoidance and control[J].ACM Computer Communication Review,1988,18(4):314-329. [2] CHIU D M,JAIN R.Analysis of the increase and decrease algorithms for congestion avoidance in computer networks[J].Computer Networks and ISDN Systems,1989,17(1):1-14. [3] 趙偉豐.基于RTT的端到端網(wǎng)絡擁塞控制研究[D].天津:天津大學,2014. [4] ELTETO T,MOLNAR S.On the distribution of round-trip delays in TCP/IP networks[C].Proceedings of the 24th Annual IEEE Conference on Local Computer Networks,1999:102-105. [5] 李學淵.基于TCP/IP擁塞控制的算法研究[J].艦船電子工程,2005,25(6):88-89. [6] 張登銀,張保峰.新型網(wǎng)絡模擬器NS-3研究[J].計算機技術(shù)與發(fā)展,2009,19(11):80-84. [7] MORRIS R.Scalable TCP congestion control[J].Proceedings of IEEE INFOCOM 2000,IEEE Computer Society,1970,3(5):1176-1183. New adjustment strategy of TCP cwnd Ru Xinyu1,Liu Yuan2,Chen Wei2 (1.Wuxi Transportation College,Jiangsu Union Technical Institute,Wuxi 214151,China; 2.School of Digital Media,Jiangnan University,Wuxi 214122,China) The stability and robustness of the Internet depends on congestion control.However,the AIMD algorithm widely used in TCP transmission is subject to severe window fluctuation,resulting in significant packet loss,low system throughput and bandwidth utilization.In this paper,we propose a new TCP congestion window adjustment strategy named A-Cwnd.The strategy constructs a normal distribution function based on the RTT sampling value,dynamically updates the next congestion window value,can adapt to the real-time change characteristics of the network,and has good responsiveness.The article also proves the rationality and feasibility of the new strategy from the mathematical point of view.Finally,NS3 simulation results show that the new strategy can effectively stabilize the window fluctuation,increase the transmission rate,and reduce the packet loss rate,while the system throughput and bandwidth utilization has contributed to the increase. congestion window; strategy; algorithm; mechanism; ssthresh; NS3 simulation 國家自然科學基金(61602213);江蘇省自然科學基金(BK20151131) TP393 A 10.19358/j.issn.1674- 7720.2017.10.022 茹新宇,劉淵,陳偉.新TCP擁塞窗口調(diào)整策略[J].微型機與應用,2017,36(10):77-80. 2016-11-30) 茹新宇(1977-),通信作者,男,碩士研究生,講師,主要研究方向:通信安全、擁塞控制及網(wǎng)絡安全。E-mail:ruxinyu21@163.com。 劉淵(1967-),男,碩士,博士生導師,教授,CCF會員,主要研究方向:無線通信管理、網(wǎng)絡測量及信息安全。 陳偉(1981-),男,博士研究生,主要研究方向:人工智能、群體智能算法。2 新策略的基本思路與算法流程
3 新策略的具體實現(xiàn)與性能分析
4 仿真與驗證
5 結(jié)論