徐 陽
(南通航運職業技術學院 管理信息系,江蘇 南通 226010)
借助路由器輔助的擁塞控制策略
徐 陽
(南通航運職業技術學院 管理信息系,江蘇 南通 226010)
大部份TCP擁塞控制機制是依賴分組丟失來觸發的,容易產生擁塞。為減少擁塞的產生,提出TCP Mlc擁塞控制機制,即借助路由器輔助把網絡內部信息傳遞給發送端,不需要依賴分組丟失,在發生擁塞前就可進行適度的傳輸控制,以減少因分組丟失而造成傳輸速度的劇烈下降,并可快速達到最佳傳輸速度。實驗表明,該方法能有效避免擁塞的產生,降低丟包率,提高整體吞吐量。
路由器;TCP Mlc;擁塞控制
擁塞不會隨著網絡處理能力的提高而消除,網絡的復雜性和對擁塞控制算法性能的要求,使得擁塞控制算法的設計具有很高的難度,迄今為止,擁塞問題仍沒得到很好解決。本文在前人研究[1-7]的基礎上提出借助路由器輔助提供信息進行TCP Mlc擁塞控制的策略。實驗表明,該方法可行、有效。
在一個TCP連接建立以后,傳統的TCP擁塞控制機制通常采用慢啟動的方式(Slow Start)以倍數增加擁塞窗口,直到擁塞產生[8]。TCP Reno擁塞控制機制見表1。
大多數TCP擁塞控制技術因看不到網絡的內部狀態,不能準確、合理地控制發送的分組數,造成鏈路利用率不高或網絡擁塞。如果能獲得較為詳細的網絡內部信息,就可能改善現有的擁塞控制機制,減少擁塞的產生。
對某一條路由而言,擁塞發生的位置就是該條鏈路的瓶頸點,而這個瓶頸點往往是延時增加、分組丟失的位置。若能設法依據瓶頸點的狀況來動態調整發送的速率,則可以有效降低擁塞的發生。為此,提出TCP Mlc擁塞控制機制,即借助路由器偵測路徑中的瓶頸點,利用瓶頸點提供的信息進行流量控制,以達到較高的帶寬使用率,減少擁塞的產生。擁塞發生的瓶頸點如圖1所示。

圖1 擁塞發生的瓶頸點
TCP Mlc定義了一個新的IP標識位稱為AVBW-S(available bandwidth status),沿著整個路徑收集各個路由器公布的可用帶寬狀態。
AVBW包含在TCP分組(data 或ACK)的IP報頭內。當具有此項功能的TCP發送端建立連接并傳輸數據時,它把AVBW字段設定為一極大值,在它經過的整條路徑中,每個支持此功能的路由器便把各自測算出的速率調整索引值(data rate adjustment index)與該字段的現值相比較,若小于現值便取代之,經不斷的比較與取代后,最后接收端將獲得最小速率調整值,并傳回發送端。這個最小速率調整索引值即為最小速率調整值(Minimum data Rate Adjustment Index,簡稱MRAI)。依據所獲信息進行動態速率調整,并猜測發生最小值的地方即為瓶頸點。
每一條TCP連接產生擁塞的節點位置都不盡相同,瓶頸點的位置伴隨著每條TCP的連接而改變著。發送端則依據速率調整指示值動態地調整發送的速率,以期達到避免產生擁塞并快速達到最佳速率的目標。
TCP Mlc在未發生擁塞前不需要依賴分組丟失便可進行適度動態的傳輸速度控制,因而TCP Mlc是一直處于擁塞避免階段,而TCP原有慢啟動階段可被隱含在擁塞避免階段中。
當建立起TCP的連接以后,便開始進入擁塞避免階段,借助路由器協助,CWND大小根據速率調整指示的ACK值進行動態調整,分別可能是快速增加、緩步上升、維持不變、緩步下降、較大幅度下降等,直至擁塞產生,造成3個重復ACK或超時(time out)發生。TCP Mlc擁塞控制機制見表2。

表2TCP Mlc擁塞控制機制
TCP發送端收到一個ACK時等于接收到一個bit的信息,告知以前發送的分組是否成功(并不擁塞);若接收到重復的ACK則告知另一種情況,通過該信息傳達降速或提速信號[9]。在TCP Mlc中,可用較多個bit表示更細致狀態。
借助路由器輔助,依據所獲MRAI做調整,而不必依賴擁塞發生后才啟動控制機制。若路由器提供信息較為充足,便可設計更細膩的控制機制,據此提出模糊化多級速率調整方法。
由于獲得信息較為充足,為避免直接公布剩余帶寬,要求路由器遵循分級原則將剩余帶寬以分級方式轉換成MRAI。其分級原則為:帶寬充裕時,選擇非常積極的加速;帶寬較不充裕時,維持穩定或是積極擁塞避免。這構成了分級設計的初步想法,依據其分級原則,經過實驗模擬后,將MRAI分成以下三段六級:
(1)積極加速。包含五六兩級,以快速提供傳輸速度為主要目標。在小量且頻繁的網絡應用中,能否更快速提升速度是關鍵,而遠距離或高帶寬連接中,較快加速能提高整體吞吐量。
(2)維持穩定。包含三四兩級,當獲知網絡可用資源并不充裕時,采用穩定維持或漸增方式慢慢試探網絡狀況以減少提速過快產生的擁塞。
(3)積極避免擁塞。包含一二兩級,TCP Reno并沒有這項行為,只在發生擁塞后速率減半時做事后處理;TCP Vegas則以量測RTT方式進行調控。TCP Mlc在這一項類別中,可分為小幅度降速與3/4降速,這樣才能做更細微的調整。
在帶寬較短缺的情形下,以較細的分類微調來達到不產生擁塞的最高目的;以較廣泛的范圍做保持穩定升速,當資源充裕時,可快速提升速度。TCP Mlc多級速率調整指示見表3。

表3TCP Mlc多級速率調整指示
以NS2作為模擬環境,觀察單一TCP Session下擁塞窗口變化;觀察多個TCP Session下調整緩存大小對網絡整體性能的影響。
圖2是一個由兩個路由器組成的簡單拓撲圖。在這個實驗中只建立一個TCP數據流,路由器與路由器之間的連接帶寬是1M,延遲時間20ms,發送端到路由器以及接收端到路由器的連接帶寬是10M,延遲時間2ms,路由器隊列的控制機制為DropTail。通過該實驗觀察在最簡化TCP數據流下TCP Mlc的狀態變化。

圖2 實驗1拓樸圖
測試緩存為50和15時擁塞窗口的兩種情形,觀察當分組容易丟失時和一般環境下CWND的改變,如圖3~圖4所示。

圖3 緩存為50時擁塞窗口的變化

圖4 緩存為15時擁塞窗口的變化
由圖3可知,TCP Mlc在擁塞窗口快速爬升后就不斷進行調控,并最終在一狹幅區間內震蕩。Vegas采用的方式使得擁塞窗口維持很穩定,但由于它比較保守的速度調整使得擁塞窗口并沒有爬升到很高。在Reno和Tahoe中,CWND則快速爬升而分組經常丟失并周期性循環。
當路徑中路由器的緩存很小時,分組丟失的情況將會增加,因而繼續觀察當CWND在緩存很小時的變化。由圖4可知,由于緩存很小,TCP Mlc的CWND在快速爬升后仍不可避免地發生一次擁塞,但之后則動態地調整速率并達到穩定。Reno和Tahoe中的CWND則反復進行大幅度的震蕩;Vegas的CWND則維持保守且穩定的策略。
在較復雜情況下,調整緩存加以觀察TCP Mlc整體性能(average throughput、分組丟包率、平均時延)的狀態變化。圖5是由多個路由器和多個節點組成的魚骨狀拓樸圖,在實驗2中建立數個TCP數據流(見表4),通過中間的路由器到達右側的接收端,并增加100K具有突發業務負載以增加帶寬變動的情形,模擬時間為30s,路由器與路由器之間的鏈接帶寬是1M,延遲時間5ms,發送端到路由器以及接收端到路由器的鏈接帶寬是10M,延遲時間3ms,路由器隊列的控制機制為DropTail。

圖5 實驗2拓樸圖

表4 實驗2參數表
改變路由器的緩存大小從5~100個分組進行,并觀察整體性能變化。由圖6~圖8可知,當緩存極小時,TCP Mlc的性能表現低于Vegas。因為緩存過小,導致CWND在快速爬升途中緩存容易產生滿溢,造成性能下降,加之Vegas采用的方式為保守且穩定的維持小試窗,使隊列長度維持穩定低點,能有良好延遲時間,因而具備優越傳輸性能。TCP Mlc雖以避免擁塞為最高目標但仍有一定積極性,在緩存極小情況下表現不甚理想;但當緩存變大后整體性能有顯著提高,分組丟包率也能維持在穩定低點,且平均時延也比Reno小,而Reno只在緩存很大時整體性能才能達到較高水平。

圖6 緩存對平均吞吐量的影響

圖7 緩存對分組丟包率的影響

圖8 緩存和平均時延的關系
TCP Mlc借助路由器輔助,提供網絡內部信息給發送端,在未發生擁塞前不需依賴分組丟失便可進行適度傳輸控制。TCP Mlc的重點在于尋找瓶頸點,并運用所獲得信息進行動態速率調整。在實際網絡中,單個路由節點常連接著多條鏈路,突發業務流和動態鏈路變化對策略影響較大。因此,必須進一步完善修正TCP Mlc,才能使其更好地適應復雜的網絡環境。這是下一步研究的方向。
[1]Yi-Cheng Chan,Chia-Tai Chan,Yaw-Chung Chen.RoVegas:A Router-based Congestion Avoidance Mechanism for TCP Vegas[J].Computer Communications,2004(27):1624-1636.
[2]Wu TB,Liu ZR,Wang JN.Optimizing PID parameters based on improved chaos algorithm[J].Journal of Electronic Measurement and Instrument,2007,21(4):59-62.
[3]L.L.Peterson,B.S.Davie.Computer Network:A Systems Approach[M].3rd edition.San Francisco:Morgan Kaufmann,2003.
[4]S.Ryu,C.Rump,C.Qiao.Advances in Internet Congestion Control[J].IEEE Communications Surveys & Tutorials,2003,5(1):28-39.
[5]諸靜.模糊控制原理與應用[M].北京:機械工業出版社,2005.
[6]The VINT Project.The ns Manual[EB/OL].(2003-12-12)[2011-09-20].http:// www.is.edu/nsnam/ns/ns-documentation.html.
[7]Ganjali Y,McKeown N.Update on buffer sizing in Internet routers[J].Computer Communications Review,2006,36(5):67-70.[8]G.Hasegawa,M.Murata.Survey on Fairness Issues in TCP Congestion Control Mechanisms[J].IEICE Transactions on Communications,2001(6):1461-1472.
[9]L.Peterson,T.Anderson,D.Culler,et al.A Blueprint for Introducing Disruptive Technology into the Internet[C].Proceedings of the First ACM Workshop on Hot Topics in Networks(HotNets-I),Princeton,2002.
Router-assisted Congestion Control Method
XU Yang
(Information Management Department, Nantong Shipping College, Nantong,226010, China)
Most TCP congestion control techniques are used through the packet loss, which leads to congestion.To solve the problem, a new method of TCP Mlc is proposed. It uses router to send the internal information to the sender without the packet loss. It can adjust the sending data rate, prevent the data rate from decreasing dramatically due to packet loss and thus reach the best sending rate rapidly. It shows that the method can avoid congestion before it actually happens, decrease packet-loss rate and increase the network utilization.
Router; TCP Mlc; Congestion control
TP311.521
A
1671-4326(2012)01-0056-04
2011-10-16
江蘇省自然科學基金(BK2008188);江蘇省交通運輸廳科學研究計劃項目(2011Y21-3);南通市科技計劃項目(K2009024)
徐 陽(1980—),男,江蘇南通人, 南通航運職業技術學院管理信息系講師,碩士.
王志梅]