摘 要:分析了傳統(tǒng)TCP算法存在的一些不足,并對基于路由的擁塞控制協(xié)議XCP進(jìn)行了研究。對XCP協(xié)議的工作過程進(jìn)行了剖析,分析了XCP協(xié)議實(shí)現(xiàn)擁塞控制的基本思想。最后通過仿真實(shí)驗(yàn),驗(yàn)證了XCP協(xié)議在擁塞控制性能上的優(yōu)越性。
關(guān)鍵詞:擁塞控制;XCP;TCP;ECN;帶寬利用率
中圖分類號(hào):TP393.06 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1674-7712 (2014) 10-0000-01
傳輸控制協(xié)議(TCP)[1]是目前使用最為廣泛的傳輸協(xié)議,但隨著Internet的迅猛發(fā)展,網(wǎng)絡(luò)中新型業(yè)務(wù)對QOS提出了更高要求,傳統(tǒng)的擁塞控制逐漸暴露出了種種弊端。研究適應(yīng)于下一代互聯(lián)網(wǎng)的高速傳輸協(xié)議已成為網(wǎng)絡(luò)研究中的一個(gè)熱點(diǎn)。研究人員提出了幾種適應(yīng)高帶寬延時(shí)網(wǎng)絡(luò)的協(xié)議,具有代表性的協(xié)議有HSTCP[2]、FAST-TCP[3]和XCP[4]。XCP基于控制法則與協(xié)議框架獨(dú)立的思想,使其具有其他協(xié)議不可比擬的優(yōu)點(diǎn)。
一、傳統(tǒng)TCP算法的不足
TCP在傳統(tǒng)的網(wǎng)絡(luò)發(fā)展中做出了巨大貢獻(xiàn),但隨著高帶寬和高延遲網(wǎng)絡(luò)的普遍應(yīng)用,TCP暴露出越來越多的不足,主要表現(xiàn)在以下幾個(gè)方面[5]:
(一)帶寬利用率低。在高帶寬網(wǎng)絡(luò)中,TCP協(xié)議的窗口控制機(jī)制造成發(fā)送端發(fā)送窗口振蕩頻繁;高時(shí)延積造成發(fā)送端擁塞窗口增長緩慢導(dǎo)致數(shù)據(jù)吞吐量下降。
(二)RTT不公平性嚴(yán)重。由于擁塞窗口的打開速度與RTT長短直接相關(guān),故RTT較小的數(shù)據(jù)流將迅速占用絕大部分可用帶寬資源,對于可能同樣重要而RTT比較長的應(yīng)用來說就無法公平地共享骨干網(wǎng)絡(luò)帶寬資源。
(三)TCP友好性低下。對于擁塞響應(yīng)的TCP流而言,當(dāng)擁塞發(fā)生時(shí),源端發(fā)送窗口減半,以降低網(wǎng)絡(luò)擁塞程度;而非擁塞響應(yīng)的UDP流則對此沒有響應(yīng)。則當(dāng)網(wǎng)絡(luò)負(fù)擔(dān)較重時(shí),UDP流迅速擠占網(wǎng)絡(luò)資源,造成TCP流餓死。
二、XCP協(xié)議
針對高帶寬時(shí)延積網(wǎng)絡(luò)特性,MIT的Dina Katabi于2002年在ECN的基礎(chǔ)上,基于多比特反饋信息提出了XCP(eXplicit Control Protocol,顯式控制協(xié)議)。XCP協(xié)議由源端、路由器和接收端共同協(xié)作完成網(wǎng)絡(luò)擁塞控制。XCP的關(guān)鍵技術(shù)是引入一個(gè)新的解耦效率控制和公平控制的概念,將擁塞控制和公平性控制分開,分別由擁塞控制算法[EC]和公平性控制算法[FC]實(shí)現(xiàn)。XCP可以實(shí)現(xiàn)高的帶寬利用率、RTT公平性、小的隊(duì)列長度和幾乎為零的丟包率,這是目前所運(yùn)行的協(xié)議所不能達(dá)到的。
XCP的路由器不保存流信息,而是對經(jīng)過的每個(gè)數(shù)據(jù)包進(jìn)行觀測,以包為單位進(jìn)行周期的流量控制。XCP工作過程如圖1所示。
(一)發(fā)送端。數(shù)據(jù)發(fā)送方負(fù)責(zé)計(jì)算和維護(hù)數(shù)據(jù)流的RTT(設(shè)置成當(dāng)前的數(shù)據(jù)往返時(shí)間)、當(dāng)前吞吐量(設(shè)置成cwnd/RTT)、期望改變的吞吐量等參數(shù)。當(dāng)一個(gè)數(shù)據(jù)包離開時(shí),通過發(fā)送包的包頭將這些數(shù)據(jù)流狀態(tài)信息攜帶給數(shù)據(jù)流所經(jīng)過的各個(gè)節(jié)點(diǎn)路由器。當(dāng)一個(gè)ACK到達(dá)時(shí),根據(jù)反饋更改擁塞窗口。XCP的窗口調(diào)整機(jī)制可以描述為
(二)路由器。支持XCP協(xié)議的路由器在其數(shù)據(jù)輸出端口上設(shè)計(jì)兩個(gè)控制器:效率控制器和公平控制器。效率控制器來最大限度提高帶寬利用率;公平控制器為共享路由器輸出帶寬的多個(gè)網(wǎng)絡(luò)連接公平合理地分配資源。
(三)接收端。接收端收到數(shù)據(jù)包后,將 字段中的數(shù)據(jù)流量調(diào)整值復(fù)制到反向回饋?zhàn)侄沃校⑼ㄟ^ACK將其反饋給發(fā)送端。
三、實(shí)驗(yàn)仿真
試驗(yàn)拓?fù)浣Y(jié)構(gòu)如圖2所示。數(shù)據(jù)包大小1Kbytes。端點(diǎn)到路由邊緣帶寬10Mbps,端點(diǎn)到路由延遲40ms;路由間瓶頸帶寬10Mbps,路由緩存100個(gè)包,鏈路延遲20ms。路由策略DT。
圖3、圖4分別驗(yàn)證了TCP和XCP的RTT公平性,我們運(yùn)行5個(gè)流1、2、3、4和5的RTT值分別設(shè)置為60ms、80ms、140ms、200ms和240ms??梢?,TCP確實(shí)存在嚴(yán)重的RTT不公平性,而XCP算法使不同RTT值的流窗口逐漸接近,具有較好的RTT公平性。
由圖6、圖7可以看出,TCP在高負(fù)載網(wǎng)絡(luò)中路由隊(duì)列較長,而且處于震蕩狀態(tài);網(wǎng)絡(luò)利用率下降。而XCP可以保持高的帶寬利用率和幾乎為零的隊(duì)列長度。
四、結(jié)束語
通過仿真實(shí)驗(yàn)可見,XCP具有高鏈路利用率、較好公平性、強(qiáng)擴(kuò)展性、短排隊(duì)時(shí)延的優(yōu)點(diǎn),因此,XCP是高帶寬時(shí)延積網(wǎng)絡(luò)協(xié)議中強(qiáng)有力的競爭者。但在實(shí)際應(yīng)用中仍有一些問題不可忽視。因此能否被應(yīng)用于下一代互聯(lián)網(wǎng)還需要商榷。
五、參考文獻(xiàn):
[1]Jacobson V.Congestion Avoidance and Control[C].proc.of ACM SIGCOMM,1988(08).
[作者簡介]屈美榮(1983-),女,山東菏澤人,助教,碩士,研究方向:網(wǎng)絡(luò)擁塞控制;蘇玉(1983-),女,山東泰安人,助教,碩士,研究方向:網(wǎng)絡(luò)擁塞控制。