茹新宇,劉 淵,陳 偉
(1.江蘇聯合職業技術學院 無錫交通分院,江蘇 無錫 214151;2.江南大學 數字媒體學院,江蘇 無錫 214122)
新TCP擁塞窗口調整策略*
茹新宇1,劉 淵2,陳 偉2
(1.江蘇聯合職業技術學院 無錫交通分院,江蘇 無錫 214151;2.江南大學 數字媒體學院,江蘇 無錫 214122)
互聯網的穩定性和魯棒性離不開擁塞控制,然而目前TCP傳輸中廣泛使用的AIMD算法因窗口波動劇烈,致使丟包明顯、系統吞吐量及帶寬利用率偏低。為此提出了一種新的TCP擁塞窗口調整策略A-Cwnd。該策略依據RTT采樣值構建正態分布函數式,動態更新下一擁塞窗口值,能較好地適應網絡實時變化特點,具有不錯的響應性。從數學角度對新策略的合理性與可行性進行了分析證明。NS3仿真結果表明新策略可有效穩定窗口波動、增大發送速率、降低丟包率,同時對系統吞吐量及帶寬利用率的提高也有一定貢獻。
擁塞窗口;策略;算法;機制;慢啟動門限閾值;NS3仿真
1986年10月,因發生擁塞,LBL到UC Berkeley的吞吐量從32 kb/s 斷崖式下跌至40 b/s[1],自此人們對擁塞控制展開了大量研究,先后提出了多種策略及算法,其中以TCP Tahoe和New Reno兩者影響較大。伴隨著“互聯網+”的到來,網絡結構類型差異化、表現形式深入化,傳統的擁塞控制已略顯不足,原機制采用AIMD(Additive Increase Multiple Decrease)算法,易導致帶寬利用率低、流量波動大等[2]。而且根據接收端反饋信息判斷擁塞程度后采取相應策略的方式具有一定的時間延遲,將導致源端不能及時準確地判斷擁塞狀況,加劇了網絡的不穩定性。
由文獻[3]可知,無論有線還是無線網絡,往返延遲RTT(Round Trip Time)的變化能客觀反映當前網絡負載狀況,其變化適合作為擁塞反饋信息。為提升網絡性能,本文提出一種新的TCP擁塞窗口調整策略,它基于RTT的正態分布統計模型[4],依據其采樣值的變化特點判斷負載趨勢,運用正態分布概率函數,在擁塞避免(Congestion Avoidance)階段動態調整擁塞窗口值,改進了TCP擁塞控制的效果。
1.1 開環和閉環
由控制論觀點,擁塞控制可分為開環和閉環兩類。開環通過良好的設計規避問題出現,確保擁塞不發生,而閉環則建立在反饋環路上。閉環按反饋方式可分為顯式反饋和隱式反饋。顯式反饋由擁塞點將擁塞信號反饋給源端。而隱式反饋中,源端通過局部觀測推斷是否存在擁塞。對于互聯網這類復雜系統,閉環控制較合適。TCP擁塞控制采用基于窗口的端到端閉環控制,它通過反饋確認信號ACK來控制分組的發送。具體過程可分為擁塞檢測、信號反饋和窗口調整三個階段,其原理如圖1所示[5]。本文結合顯式反饋和隱式反饋之優點,使用閉環控制實現擁塞窗口的動態調整。

圖1 TCP擁塞閉環控制原理圖
1.2 擁塞控制的四個階段
(1)慢啟動:cwnd (2)擁塞避免:cwnd≥ssthresh,每RTT cwnd=cwnd+1; 2.1 基本思路 據文獻[4],在不同負載下,RTT采樣可被近似修正為正態分布。據此設想用當前窗口的RTT樣本值作為網絡擁塞狀態的反饋信號,預估即將發生的擁塞,從而達到主動調整擁塞窗口的目的。 新策略的基本思路為:當系統進入擁塞避免階段后,由樣本值構建正態分布密度函數φ(x),同時計算出μ±3σ作為后續運算上下限。積分求得正態分布函數F(x)值后代入新算法,即可預估下一擁塞窗口值。依次重復上述步驟,即可實現發送窗口的動態更新。 圖2 新TCP擁塞窗口調整策略的算法流程圖 慢啟動及快速重傳與恢復階段后繼續執行上述新算法。超時重傳雖是小概率事件,但此時RTT較大,判斷為擁塞嚴重,立即執行原超時重傳程序,直至再次進入擁塞避免階段后仍執行上述新算法。 2.2 算法流程 新TCP擁塞窗口調整策略的具體算法流程如圖2所示。 3.1 具體實現 設RTT=x,x∈(0,+∞)。進入擁塞避免階段后,以新算法取代原AIMD,具體實現細節如下: 以上式中μ和σ為擁塞狀態因子,由RTT來調節,用以反映當前網絡擁塞狀況。 3.2 性能分析 3.2.1 算法分析 綜上所述,x越小意味著此刻網絡越順暢,資源越空閑,為增加系統吞吐量、提高帶寬的有效利用率,可適當地加大擁塞窗口值,提高數據發送速率。反之,x越大則意味著網絡越遲滯,此刻發生擁塞的概率劇增,為保持系統穩定運行,有必要嘗試減小擁塞窗口值,合理控制數據發送速率。 3.2.2 區間分析 當一分布服從正態分布規律時,根據分布函數性質,對總體N(μ,σ2)在區間(-∞,+∞)取值概率查表知: ∴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分布區間的頻數如圖3所示。故在區間[μ-σ,μ+σ]、[μ-2σ,μ+2σ]和[μ-3σ,μ+3σ]內取值的概率分別為68.26%、95.44%和99.74%。RTT采樣值落在(-∞,μ-3σ)∪(μ+3σ,+∞)區間內是小概率事件,而它出現在[μ-3σ,μ+3σ]之間概率極大。因此研究樣本在[μ-3σ,μ+3σ]內的正態分布情況是合理的,新算法的積分區間選擇[μ-3σ,μ+3σ]具有可行性。 圖3 RTT分布區間的頻數示意圖 本文采用NS3.24[6]網絡仿真器,在Ubuntu16.04平臺下搭建了一高度可調節、可多次使用的實驗環境,用以驗證新策略的有效性。拓撲結構如圖4所示,S1~Sn、D1~Dn分別為發送端和接收端,接入帶寬6 Mb/s,延時4 ms,瓶頸鏈路帶寬為1.5 Mb/s,延時60 ms,門限閾值取系統推薦值64 KB。另設節點緩存為50個分組,源端以每分組1 KB大小連續發送10 Mb/s FTP單向數據流,路由R1、R2則采用FIFO隊列管理算法。這里從不同時間段的多組擁塞窗口值、丟包率、吞吐量及鏈路帶寬四個方面,采用圖表形式分別對新A-Cwnd、原New Reno及TCP Tahoe三種策略進行實驗比對,具體討論如下。 圖4 網絡仿真拓撲結構 如表1所示,從擁塞避免階段開始,新策略由返回的RTT樣本值建立正態分布統計概型,計算得到正態分布函數值,據此主動預估下一擁塞窗口開啟值。故其具有良好的動態響應能力,并極大地減輕了原AIMD算法的窗口抖動“癥狀”,改善和平滑了突發流量沖擊,使數據包可平緩“適度”地進入網絡,也間接提升了TCP流整個生命期的擁塞窗口平均值,可同時實現更多的服務類型與更好的服務質量。 表1 不同策略下擁塞窗口值(吞吐量)比較 (包) 圖5 不同策略下,丟包數隨發送量變化比較 新策略通過提前預估并合理開啟發送窗口值,使源端的數據發送速率基本滿足系統可用資源,從而有效減少了不必要的丟包,平緩了窗口速率抖動。限制“適度”的流量進入網絡,避免了不必要的分組丟失及“盲目”重傳。由圖5可見,隨著源端發送數據包的增加,A-Cwnd的丟包數略少于原New Reno和TCP Tahoe。新策略丟包率更低,比原策略優化明顯。可見新策略對丟包率的降低也起了積極作用。 表2顯示,采樣初期,新策略A-Cwnd吞吐量穩步上升且波動不大,并最終趨于穩定,數據略好于原New Reno策略。而TCP Tahoe則在吞吐量方面劣勢明顯,且抖動頻繁。可見新策略還對系統吞吐量的提高與穩定也有一定貢獻。 表2 不同策略下系統吞吐量比較 (包) 不同策略下,帶寬大小比較如圖6所示。 圖6 不同策略下帶寬大小比較 從圖6可看出,新策略的鏈路帶寬增長明顯。這歸咎于新算法具有較大的發送窗口,較低的丟包率,使得丟包或超時重傳明顯減少,鏈路帶寬被充分利用,故新策略有效提升了網絡資源利用率。不同時間段不同策略下,鏈路帶寬值的比較見表3。 表3 不同策略下,鏈路帶寬值(吞吐量)比較 (包) 由于新策略A-Cwnd在帶寬資源的分配處理上遠優于New Reno,也略高于TCP Tahoe,故其可滿足更多的服務作業需求,實現共享網絡資源的目的。 綜上所述,新策略在擁塞窗口平均值、丟包率、系統吞吐量及帶寬利用率四個方面對系統性能均有一定程度的改善,圖表數據也表明新策略效果明顯優于原策略,能較好地實現高效穩定的擁塞避免過程。 本文針對目前TCP協議中廣泛使用的AIMD算法的缺陷,提出了一種新的TCP擁塞窗口調整策略A-Cwnd。 新策略依據RTT正態分布特性構建函數關系式,并主動預測下一擁塞窗口值,可實現發送速率的自動更新,具有不錯的實時響應性。文中還通過數學方式證明了新策略的可行性與合理性。文末的NS3仿真也驗證了新策略可有效增加擁塞窗口平均值、減少丟包率,對系統吞吐量及帶寬利用率也有一定貢獻。但該策略對于無線傳輸中的誤碼及信道衰減丟包適應性較差,系統吞吐量和帶寬利用率下降明顯。因此后期將增加丟包區分策略,使之具有更好的適應性,以期進一步提高網絡性能。 [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的端到端網絡擁塞控制研究[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] 張登銀,張保峰.新型網絡模擬器NS-3研究[J].計算機技術與發展,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擁塞窗口調整策略[J].微型機與應用,2017,36(10):77-80. 2016-11-30) 茹新宇(1977-),通信作者,男,碩士研究生,講師,主要研究方向:通信安全、擁塞控制及網絡安全。E-mail:ruxinyu21@163.com。 劉淵(1967-),男,碩士,博士生導師,教授,CCF會員,主要研究方向:無線通信管理、網絡測量及信息安全。 陳偉(1981-),男,博士研究生,主要研究方向:人工智能、群體智能算法。

2 新策略的基本思路與算法流程

3 新策略的具體實現與性能分析








4 仿真與驗證







5 結論