沈 淺
隨著互聯(lián)網(wǎng)的快速發(fā)展,網(wǎng)絡給人們的生活帶來了新的變革,互聯(lián)網(wǎng)改變了人們的生活習慣、交流方式、行為活動。然而事物在不斷發(fā)展的過程中必然會出現(xiàn)很多的問題,面對規(guī)模與應用越來越復雜且資源有限的互聯(lián)網(wǎng),傳統(tǒng)的 TCP Reno網(wǎng)絡擁塞控制機制已經(jīng)存在缺陷,不能適應。于是,針對于高帶寬、長延時、大容量網(wǎng)絡而言,F(xiàn)AST TCP就此應運而生了。
網(wǎng)絡中產(chǎn)生擁塞的原因是網(wǎng)絡流量、寬帶需求大于網(wǎng)絡實際的承載能力,如果不去加以控制的話,必然會導致網(wǎng)絡數(shù)據(jù)的擁塞,如圖1所示:
圖1 網(wǎng)絡吞吐量與負載的關系
網(wǎng)絡的吞吐量與負載的關系,由圖中可以看到:當網(wǎng)絡負載較小時,吞吐量的增長與負載成正比關系,吞吐量增長迅速,當負載繼續(xù)增大到最佳操作點之后,網(wǎng)絡吞吐量的增長速度已經(jīng)慢于負載的增長,這是因為網(wǎng)絡進入了中等擁塞狀態(tài)。此時,雖然網(wǎng)絡可以繼續(xù)應付負載,但是延時已經(jīng)增加,如圖2所示:
圖2 響應時間與負載的關系
由于實際負載不可能均勻地分布在網(wǎng)絡中[1]。因此,如果某些節(jié)點遇到中等程度的擁塞時,其他節(jié)點則可能要經(jīng)受嚴重的擁塞,這樣必然導致丟棄一些流量。另外,當負載增加時,網(wǎng)絡將試圖通過選擇穿過低擁塞區(qū)的分組路由來平衡負載。為了完成路由的選擇,更多路由分組必須在節(jié)點之間交換以避開擁塞區(qū),這種額外開銷也降低了可用于數(shù)據(jù)分組的容量。
當然,擁塞是一個復雜現(xiàn)象,產(chǎn)生的原因也很多。如果不加以控制,將會出現(xiàn)丟包率迅速增加,網(wǎng)絡資源利用率低,延時增加等情況,嚴重的話更可能導致網(wǎng)絡的擁塞崩潰。
FAST TCP模型在實現(xiàn)上可以分為4個部分:RTT測量、數(shù)據(jù)管理、窗口控制和突發(fā)控制。這4部分在功能上相互獨立,有利于協(xié)議的設計和異步升級,如圖3所示:
圖3 FAST TCP結構圖
圖3給出了FAST TCP協(xié)議的結構,其中各個部分的主要功能為:
RIT測量:利用多位的排隊延遲信號或一位的丟棄/未丟棄信號來估計網(wǎng)絡擁塞狀況。
數(shù)據(jù)管理:用來控制發(fā)送哪些報文。
窗口控制:根據(jù)RTT測量模塊獲得的信息控制發(fā)送窗口的大小。
突發(fā)控制:決定何時可以發(fā)送報文。
FAST TCP[2]使用隊列延時作為判斷擁塞的主要依據(jù),適當結合了流層和報文層的設計,能夠較好地解決傳統(tǒng)TCP Reno中存在的問題。我們使用一個通用的如公式來表示TCP協(xié)議和TCP變種流層上的模型,公式(1)
其中:ki(t),ui(t)如公式(2)、(3)
通過對比TCP Reno與FAST TCP的ki(wi,Ti)和ui(wi,Ti)表達式,如表1所示:
表1 增益函數(shù)、利用率函數(shù)和擁塞反饋方法
從表中可以發(fā)現(xiàn)FAST TCP[1]由于采用一種基于表達式的實現(xiàn)方式,可以讓網(wǎng)絡維持在一個動態(tài)高效的狀態(tài)下。
由此,F(xiàn)AST TCP具有如下優(yōu)點:
第一,F(xiàn)AST TCP能夠明確估算出當前狀態(tài)距平衡狀態(tài)的程度,以一種公平穩(wěn)定的方式逐步逼近平衡點。當FAST TCP離平衡點較遠時,窗口變化較快,當快接近平衡點時,窗口的調(diào)整較小,避免了Reno中因網(wǎng)絡變化導致的窗口慢增長和劇烈下降的問題;
第二,通過選用多比特的擁塞衡量方式,提供更多的擁塞信息,減少了因丟包率為擁塞信號帶來的數(shù)據(jù)報層的振蕩;
第三,當鏈路隊列容量較大時,使用隊列時延作為擁塞衡量的主要方式,能夠使網(wǎng)絡更穩(wěn)定,從而減小隊列延遲。
為了更好地分析FAST TCP,驗證其性能,我們采用現(xiàn)今使用廣泛網(wǎng)絡仿真器的NS2[3]平臺進行實驗驗證。實驗使用的網(wǎng)絡拓撲結構圖,如圖4所示:
圖4 仿真實驗拓撲結構圖
其中R1到Rn是中間路由器節(jié)點,S1~Sn是源節(jié)點,D1~Dn是目的節(jié)點,實驗采用Drop Tail隊列管理策略。
我們把分組大小設置 1000Byte,隨機設置各流發(fā)送時間以避免相互影響和干擾,采用FTP作為通過TCP連接傳輸數(shù)據(jù)的應用,所有這些實驗時間都是500秒。
下面我們將從以下幾個方面對實驗數(shù)據(jù)進行分析:
1)效率
效率[4]主要是指帶寬的利用率,通過 NS2模擬軟件分析,隨著帶寬的增加,F(xiàn)AST TCP在帶寬的利用率上遠遠超過了傳統(tǒng)的TCP Reno。
2)穩(wěn)定性
協(xié)議的穩(wěn)定性有很多評價方法,在這里,我們利用穩(wěn)定性指數(shù)來做評價,第i個流的穩(wěn)定性指數(shù)定義為其樣本標準方差除以平均吞吐量,如公式(4)
公式中穩(wěn)定性指數(shù)越小,說明源端能感覺到的震蕩也就越小,如果有多個數(shù)據(jù)流,則只要進行疊加取平均值就可以得出。通過數(shù)據(jù)分析,我們發(fā)現(xiàn)在穩(wěn)定性上,F(xiàn)AST TCP也有一定的提高。
3)RTT公平性
公平性[5]是指當網(wǎng)絡發(fā)生擁塞時,鏈路中的各個連接能公平地競爭網(wǎng)絡資源。擁塞發(fā)生必然導致數(shù)據(jù)包丟失,當網(wǎng)絡資源減少,各個數(shù)據(jù)流必將相互爭奪而發(fā)生競爭,競爭能力弱的數(shù)據(jù)流將無法或很少獲得網(wǎng)絡資源。
通過實驗數(shù)據(jù)分析,F(xiàn)AST TCP協(xié)議在RTT公平性方面表現(xiàn)較差,遠遠低于傳統(tǒng)的TCP Reno協(xié)議。
在FAST TCP協(xié)議模型中,由于假設源端的發(fā)送速率不能超過最大鏈路帶寬。鏈路隊列延遲矩陣p(t)能根據(jù)窗口大小計算[6]。假設wi(t)=wi,則鏈路上的延遲pm(t)=pm≥0表示如公式(5)
當FAST TCP流達到平衡狀態(tài)時,吞吐量表示為如公式(6)
其中ai是FAST TCP在到達平衡位置時源i流在鏈路中數(shù)據(jù)包的個數(shù)。
在TCP Reno中,每個RTT時間內(nèi)擁塞窗口加1,導致具有較小 RTT的連接迅速增加窗口從而掠奪網(wǎng)絡資源。FAST TCP和TCP Reno不同[7],它對傳播時延較大的流并不存在偏見,即使遇到這種情況,發(fā)送端為了維持鏈路中數(shù)據(jù)包的數(shù)量,也會給該流一個合適的擁塞窗口。
FAST TCP是通過估計部分計算的base RTT[8]來調(diào)整其窗口大小,傳播時延測量的準確性對FAST TCP窗口控制部分至關重要。而當網(wǎng)絡發(fā)生擁塞改變路由時,會造成傳輸時延的變化,這種變化是很難捕捉到的,當網(wǎng)絡穩(wěn)定后,新的傳播時延大于重路由前的傳播時延時,連接的吞吐量會劇烈下降,從而使FAST TCP的連接無法獲得公平的帶寬分配。
根據(jù)以上的分析,F(xiàn)AST TCP在公平性方面存在一些問題:
首先,從FAST TCP窗口更新公式看出,當RTT測量結果不準確時,會使FAST TCP窗口的增長速率相對溫和,從而占用較少的帶寬,不利于FAST TCP與其它協(xié)議競爭帶寬。
第二,在 FAST TCP中,具有較短RTT的連接排隊時延更短,這可以幫助它在平衡狀態(tài)時保持較多的數(shù)據(jù)包,從而有利于去搶奪網(wǎng)絡資源。
第三,隨著流的不斷加入,網(wǎng)絡環(huán)境時刻變化,由于FAST TCP使用隊列延遲的擁塞控制方法,當對base RTT的測量失誤時,會對FAST TCP的整體性能造成不良影響,從而影響FAST TCP連接的公平性以及效率。
通過對 FAST TCP的分析,可以看到新算法與傳統(tǒng)的TCP Reno相比,確實有了很大進步和提高。但由于每個協(xié)議設計的出發(fā)點和側重點的差異,F(xiàn)AST TCP也存在不足,在高帶寬時的 RTT公平性方面表現(xiàn)不佳。通過分析,考慮可以通過在原有算法中添加一個公平因子,消除RTT的影響,從而有效地提高算法的公平性表現(xiàn)。
[1]李衛(wèi)星,嚴暉.FAST TCP公平性改進研究[J].計算機應用與軟件,2010(11):37-39.
[2]Floyd S. High-Speed TCP for large congestion windows[S /OL]. RFC3649, 2003.
[3]David X Wei, C Jin, S H Low, et al. FAST TCP: motivation, architecture, algorithms, performance.[C]IEEE/ACM Trans. Net, 2006, 14:1246-1259.
[4]丁一,汪永琳.長距離高帶寬環(huán)境下FAST TCP的結構與性能分析[J].科技信息,2006(01):1-3.
[5]王德鎖,舒勤.TCP擁塞控制機制在高速網(wǎng)絡中的局限性[J].中國測量技術,2007(03):47-67
[6]李士寧,王猛,趙磊.長距離高帶寬環(huán)境下的 TCP[J]擁塞控制.2006(01):47-50
[7]羅萬明,林闖,閻保平.TCP/IP擁塞控制研究[J].計算機學報,2009(01)
[8]劉秋讓,倪紅波.TCP擁塞控制解決辦法分析及評價[J].計算機工程,2008(06):59-61