王思義+姜金亞
【摘要】 擁塞容易造成傳輸延遲和吞吐量等QoS性能指標(biāo)降低,導(dǎo)致傳輸性能和網(wǎng)絡(luò)資源利用率下降,從而無(wú)法提供有效的QoS保證。為了給用戶(hù)提供高效、公平的網(wǎng)絡(luò)資源分配,擁塞控制是電信運(yùn)營(yíng)商必須要解決的問(wèn)題之一。文章分析了擁塞控制的原理、TCP/IP擁塞的常用解決方案,最后對(duì)網(wǎng)絡(luò)擁塞給出了具體案例研究并提出了相應(yīng)的對(duì)應(yīng)策略。
【關(guān)鍵詞】 擁塞控制 QoS 電信運(yùn)營(yíng)商 TCP/IP
隨著計(jì)算機(jī)網(wǎng)絡(luò)的快速發(fā)展,人們對(duì)網(wǎng)絡(luò)資源的需求越來(lái)越高,為了提高網(wǎng)絡(luò)品質(zhì),提高用戶(hù)感知,改善網(wǎng)絡(luò)質(zhì)量已成電信運(yùn)營(yíng)商市場(chǎng)突破的重要途徑之一。尤其是近年來(lái)如語(yǔ)音、圖像等多媒體流在網(wǎng)絡(luò)上的大量應(yīng)用,解決網(wǎng)絡(luò)擁塞也成了眾多學(xué)者研究的問(wèn)題之一。文章概述了網(wǎng)絡(luò)擁塞控制的原理、典型的TCP/IP擁塞控制解決方法等知識(shí),重點(diǎn)對(duì)網(wǎng)絡(luò)擁塞案例進(jìn)行了分析研究。
一、擁塞控制的原理
在某段時(shí)間,若對(duì)網(wǎng)絡(luò)中的某一資源的需求超過(guò)了該資源所能提供的可用部分,網(wǎng)絡(luò)的性能就要變化,這種情況叫做擁塞[1]。網(wǎng)絡(luò)擁塞往往是由許多因素引起的,簡(jiǎn)單的提高節(jié)點(diǎn)處理機(jī)的速度或者擴(kuò)大結(jié)點(diǎn)緩存的存儲(chǔ)空間并不能解決擁塞問(wèn)題。當(dāng)某個(gè)結(jié)點(diǎn)緩存容量擴(kuò)展到非常大,于是凡到達(dá)該結(jié)點(diǎn)的分組均可在結(jié)點(diǎn)的緩存隊(duì)列中排隊(duì),不受任何限制。由于輸出鏈路的容量和處理機(jī)的速度并未提高,因此在這隊(duì)列中的絕大多數(shù)的分組在排隊(duì)等待時(shí)間會(huì)大大增加,結(jié)果上層機(jī)制只好把分組進(jìn)行重傳。因此,擁塞往往是指整個(gè)系統(tǒng)的各個(gè)部分不匹配,只有各個(gè)部分平衡了,問(wèn)題才會(huì)得到解決。
二、TCP/IP擁塞解決方法
因特網(wǎng)建議標(biāo)準(zhǔn)RFC2581定義了進(jìn)行擁塞控制的四種算法,即慢開(kāi)始(Slow-start),擁塞避免(Congestion Avoidance),快重傳(Fast Restrangsmit)和快回復(fù)(Fast Recovery)[2]。
在文獻(xiàn)【3】中,作者提到了一種基于接收閾值的容延網(wǎng)絡(luò)擁塞控制方法,該機(jī)制獨(dú)立于節(jié)點(diǎn)所運(yùn)行的轉(zhuǎn)發(fā)路由算法,不影響路由算法對(duì)中繼節(jié)點(diǎn)的選擇,具有很好的普適性,可以有效降低節(jié)點(diǎn)擁塞。在文獻(xiàn)【4】中,通過(guò)對(duì)基于鏈路的AQM協(xié)議和顯式擁塞控制機(jī)制研究,較好的解決了網(wǎng)絡(luò)延時(shí)高的情況下鏈路高利用低的問(wèn)題,同時(shí)提高了系統(tǒng)的QoS性能。文獻(xiàn)【5】在VCP協(xié)議的基礎(chǔ)上,提出了一個(gè)擴(kuò)展的可變結(jié)構(gòu)擁塞控制協(xié)議EVCP(Extended VCP),在平均延時(shí)情況下可以有效的提高網(wǎng)絡(luò)吞吐量。
擁塞現(xiàn)象是發(fā)生在通信網(wǎng)絡(luò)等復(fù)雜網(wǎng)絡(luò)上的一種典型的動(dòng)態(tài)行為,研究路由策略的優(yōu)化算法問(wèn)題是眾多學(xué)者要解決的重要課題之一。
三、網(wǎng)絡(luò)擁塞案例分析及研究
3.1問(wèn)題描述
中山某大客戶(hù)因業(yè)務(wù)發(fā)展需要,開(kāi)通了廣東中山至美國(guó)舊金山的一條10M的電路,本地通過(guò)OSN500傳輸光端機(jī)接入,客戶(hù)在的使用過(guò)程中發(fā)現(xiàn)上行速率嚴(yán)重不達(dá)標(biāo),后期換成Metro 1000后情況有較大改善。本文接下來(lái)從此案例出發(fā),分析研究網(wǎng)絡(luò)擁塞對(duì)實(shí)際網(wǎng)絡(luò)測(cè)速的影響及相應(yīng)的對(duì)應(yīng)策略。
下圖是測(cè)試環(huán)境圖:
結(jié)論:在時(shí)延較大時(shí)(大于50ms), Metro1000上載速率會(huì)高于OSN500。
根據(jù)以上測(cè)試情況,引出兩個(gè)問(wèn)題:為什么測(cè)速帶寬會(huì)隨著時(shí)延增加而降低?為什么在同樣的大時(shí)延條件下,Metro1000(EFS)單板測(cè)速會(huì)比OSN500(EFT8)高?
3.2原因分析
(1)從抓包信息得知,該測(cè)速網(wǎng)站是基于TCP協(xié)議進(jìn)行文件傳送測(cè)速的。TCP協(xié)議定義了一個(gè)擁塞窗口,如果發(fā)送端的已發(fā)送但未收到確認(rèn)報(bào)文的數(shù)據(jù)超過(guò)擁塞窗口,則需要停止發(fā)送報(bào)文,等待接收端新的確認(rèn)報(bào)文。
每TCP連接吞吐量計(jì)算公式可以按照以下公式進(jìn)行計(jì)算[6]:
其中,RTT指Round-trip Time,是雙向時(shí)延;cwnd指Congestion Window,是擁塞窗口大小。從公式得知,吞吐量與端到端往返時(shí)延RTT成反比,而緩存大小與RTT時(shí)間成正比。所以,隨著時(shí)延的增加,測(cè)速的吞吐量是會(huì)逐步降低的。
(2)在時(shí)延一定的情況下要提高測(cè)速吞吐量,則需增加擁塞窗口(對(duì)于網(wǎng)絡(luò)設(shè)備理解為設(shè)備緩存Buffer)。
為了鏈路利用率達(dá)到最大值,對(duì)網(wǎng)絡(luò)節(jié)點(diǎn)的Buffer要求為:在網(wǎng)絡(luò)空閑時(shí)吐出報(bào)文能夠彌補(bǔ)TCP擁塞時(shí)降低的吞吐量。
從業(yè)內(nèi)對(duì)Buffer的要求規(guī)則可知,Buffer的大小要求與網(wǎng)絡(luò)時(shí)延有關(guān):網(wǎng)絡(luò)的時(shí)延越大,對(duì)緩存的要求就越高。在TCP流條目數(shù)越少對(duì)Buffer的要求越高。網(wǎng)絡(luò)中越靠近用戶(hù)的設(shè)備,接入用戶(hù)數(shù)越多,因此對(duì)網(wǎng)絡(luò)中接入設(shè)備的Buffer要求高于匯聚層與核心層設(shè)備。
以上所述,正是由于Metro1000 EFS(交換板)單板緩存比OSN500 EFT8(透?jìng)靼澹┚彺娲?,所以在網(wǎng)絡(luò)時(shí)延大場(chǎng)景,單條TCP流測(cè)到的速率會(huì)較大。
3.3解決方案
(1)測(cè)速時(shí)建議使用多TCP(多進(jìn)程, TCP流量充滿(mǎn)出口帶寬場(chǎng)景,實(shí)際應(yīng)用中的峰值場(chǎng)景)連接進(jìn)行測(cè)速,網(wǎng)絡(luò)使用過(guò)程中通常也是多用戶(hù)同時(shí)使用該管道。
(2)對(duì)于特殊單TCP流測(cè)試場(chǎng)景,建議選用合適的數(shù)據(jù)單板進(jìn)行測(cè)試。
(3)單板緩存不是越大越好:合理最重要。
簡(jiǎn)單說(shuō),如果一味的增大EOS(Ethernet over SDH)單板緩存,會(huì)導(dǎo)致MSTP網(wǎng)絡(luò)時(shí)延過(guò)大,同樣會(huì)影響下載速率。MSTP產(chǎn)品聚焦于高品質(zhì)高安全數(shù)據(jù)管道,MSTP客戶(hù)對(duì)業(yè)務(wù)轉(zhuǎn)發(fā)時(shí)延要求很高,所以MSTP的緩存設(shè)計(jì)不會(huì)太大。
四、結(jié)束語(yǔ)
文章主要針對(duì)TCP/IP中的網(wǎng)絡(luò)擁塞問(wèn)題進(jìn)行分析和案例研究。首先對(duì)網(wǎng)絡(luò)擁塞的相關(guān)概念及技術(shù)特點(diǎn)進(jìn)行了闡述,對(duì)典型的網(wǎng)絡(luò)擁塞解決方案進(jìn)行了介紹,結(jié)合具體的測(cè)試應(yīng)用案例給出了網(wǎng)絡(luò)擁塞的對(duì)應(yīng)策略,最后希望本文的案例分析及相關(guān)研究能夠給相關(guān)網(wǎng)絡(luò)維護(hù)人員提供參考并帶來(lái)幫助。
參 考 文 獻(xiàn)
[1]江艷,李寶林;《TCP/IP擁塞控制算法研究》計(jì)算機(jī)技術(shù)與發(fā)展
[2]謝希仁;《計(jì)算機(jī)網(wǎng)絡(luò)》(第6版)電子工業(yè)出版社
[3]趙廣松,陳鳴;《基于接收閾值的容延網(wǎng)絡(luò)擁塞控制機(jī)制》 計(jì)算機(jī)網(wǎng)絡(luò)與信息安全
[4]毛鵬軒;《下一代網(wǎng)絡(luò)擁塞控制關(guān)鍵算法的研究》北京交通大學(xué)
[5] LU Guang1, WANG Yong-chao, ZHU Miao-liang1;《EVCP:a convergence time improved high-speed transport congestion control protocol》 Information Science & Engineering
[6]馮鋒;《互聯(lián)網(wǎng)絡(luò)擁塞控制分析與研究》. 計(jì)算機(jī)工程與科學(xué)