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

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

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

表3TCP Mlc多級速率調(diào)整指示
以NS2作為模擬環(huán)境,觀察單一TCP Session下?lián)砣翱谧兓挥^察多個TCP Session下調(diào)整緩存大小對網(wǎng)絡(luò)整體性能的影響。
圖2是一個由兩個路由器組成的簡單拓撲圖。在這個實驗中只建立一個TCP數(shù)據(jù)流,路由器與路由器之間的連接帶寬是1M,延遲時間20ms,發(fā)送端到路由器以及接收端到路由器的連接帶寬是10M,延遲時間2ms,路由器隊列的控制機制為DropTail。通過該實驗觀察在最簡化TCP數(shù)據(jù)流下TCP Mlc的狀態(tài)變化。

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

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

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

圖5 實驗2拓樸圖

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

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

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

圖8 緩存和平均時延的關(guān)系
TCP Mlc借助路由器輔助,提供網(wǎng)絡(luò)內(nèi)部信息給發(fā)送端,在未發(fā)生擁塞前不需依賴分組丟失便可進行適度傳輸控制。TCP Mlc的重點在于尋找瓶頸點,并運用所獲得信息進行動態(tài)速率調(diào)整。在實際網(wǎng)絡(luò)中,單個路由節(jié)點常連接著多條鏈路,突發(fā)業(yè)務(wù)流和動態(tài)鏈路變化對策略影響較大。因此,必須進一步完善修正TCP Mlc,才能使其更好地適應(yīng)復(fù)雜的網(wǎng)絡(luò)環(huán)境。這是下一步研究的方向。
[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]諸靜.模糊控制原理與應(yīng)用[M].北京:機械工業(yè)出版社,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
江蘇省自然科學(xué)基金(BK2008188);江蘇省交通運輸廳科學(xué)研究計劃項目(2011Y21-3);南通市科技計劃項目(K2009024)
徐 陽(1980—),男,江蘇南通人, 南通航運職業(yè)技術(shù)學(xué)院管理信息系講師,碩士.
王志梅]