摘 要: 提出了一種綜合的適合MPLS網(wǎng)絡(luò)的主動(dòng)式流量和擁塞控制" title="擁塞控制">擁塞控制策略,。通過(guò)仿真表明,,與傳統(tǒng)的TCP協(xié)議相比,該策略縮短了擁塞反饋時(shí)延" title="時(shí)延">時(shí)延,有效地避免了網(wǎng)絡(luò)擁塞,,提高了業(yè)務(wù)吞吐量。
關(guān)鍵詞: MPLS 擁塞控制 帶寬時(shí)延積
近年來(lái),隨著Internet用戶(hù)數(shù)量的迅速增加和各種新型業(yè)務(wù)對(duì)網(wǎng)絡(luò)服務(wù)質(zhì)量" title="服務(wù)質(zhì)量">服務(wù)質(zhì)量提出的嚴(yán)峻挑戰(zhàn),越來(lái)越嚴(yán)重的網(wǎng)絡(luò)擁塞問(wèn)題逐漸暴露出來(lái),,擁塞控制已經(jīng)成為網(wǎng)絡(luò)技術(shù)領(lǐng)域的重要研究課題之一。目前Internet 上廣泛使用的擁塞控制協(xié)議是Tahoe TCP[1],,改進(jìn)協(xié)議主要有Reno TCP[2],、NewReno TCP[3]以及SACK TCP[4]協(xié)議等。深入研究以上幾種協(xié)議可以看到[5]:這些協(xié)議本質(zhì)上都是使用諸如確認(rèn),、超時(shí)及重復(fù)確認(rèn)等隱含信號(hào)推斷網(wǎng)絡(luò)狀態(tài),,并利用反饋修正數(shù)據(jù)源的發(fā)送窗口,控制注入網(wǎng)絡(luò)的業(yè)務(wù)量以緩解網(wǎng)絡(luò)擁塞,。其中一直存在的問(wèn)題是:網(wǎng)絡(luò)擁塞的檢測(cè)和控制不是由發(fā)生擁塞的網(wǎng)絡(luò)節(jié)點(diǎn)及時(shí)和主動(dòng)地進(jìn)行,,而是在端到端的基礎(chǔ)上由源端通過(guò)各種隱含信號(hào)推測(cè)出來(lái)。這不但延緩了對(duì)網(wǎng)絡(luò)擁塞的檢測(cè)和控制,,還可能造成更嚴(yán)重的網(wǎng)絡(luò)擁塞,。上述改進(jìn)協(xié)議在這一問(wèn)題上都未能提出較好的解決方案。
因此,,在路由器中引入擁塞控制已顯得非常必要,。這依賴(lài)于路由器的計(jì)算能力。多協(xié)議標(biāo)簽交換MPLS(Multi-protocol Label Switching)順應(yīng)了這種要求,。它在無(wú)連接的IP網(wǎng)絡(luò)引入面向連接的機(jī)制,,形成MPLS域,標(biāo)簽邊緣路由器LER(Label Edge Router) 具有計(jì)算能力,,完成分類(lèi),、調(diào)度和QoS 映射等處理。標(biāo)簽交換路由器 LSR(Label Switch Router) 完成簡(jiǎn)單轉(zhuǎn)發(fā),,即“邊緣智能,核心交換”,。本文利用MPLS的這種特性,,將反饋擁塞算法從端點(diǎn)引入到網(wǎng)絡(luò)邊緣節(jié)點(diǎn),并設(shè)定低等級(jí)業(yè)務(wù)接入門(mén)限,,可以有效縮短擁塞反饋時(shí)延,,提高業(yè)務(wù)吞吐量。通過(guò)仿真證明該算法具有較好的性能,。
1 綜合擁塞策略的基本思想
本文提出的擁塞控制策略" title="控制策略">控制策略正是在MPLS網(wǎng)絡(luò)中由路由器參與擁塞控制的主動(dòng)式流量和擁塞控制機(jī)制[6],。在基于反饋的擁塞控制系統(tǒng)中,鏈路" title="鏈路">鏈路瓶頸的擁塞持續(xù)時(shí)間與帶寬時(shí)延積直接相關(guān)[7],。網(wǎng)絡(luò)端到端的時(shí)延越大,,端點(diǎn)能夠檢測(cè)到網(wǎng)絡(luò)發(fā)生擁塞的時(shí)間就越長(zhǎng);網(wǎng)絡(luò)帶寬越大,,在端點(diǎn)檢測(cè)到網(wǎng)絡(luò)擁塞之前,,端點(diǎn)發(fā)送到擁塞網(wǎng)絡(luò)中的數(shù)據(jù)量就越大,,導(dǎo)致網(wǎng)絡(luò)擁塞進(jìn)一步惡化。因此,,在網(wǎng)絡(luò)帶寬一定的情況下,,減少時(shí)延是減少擁塞的一個(gè)重要因素。
基于這樣的考慮,,筆者把傳統(tǒng)TCP的反饋擁塞計(jì)算從端點(diǎn)引入到網(wǎng)絡(luò)邊緣節(jié)點(diǎn),。為縮短擁塞反饋時(shí)延,利用路由器LSR監(jiān)視隊(duì)列長(zhǎng)度的功能,,認(rèn)為緩存隊(duì)列達(dá)到某一長(zhǎng)度閾值,,即表明有擁塞的可能,由該路由器向邊緣路由器LER發(fā)送擁塞預(yù)警信息,,由邊緣路由器對(duì)預(yù)警信息做出反應(yīng),,進(jìn)行流量接入控制;同時(shí),,通知端點(diǎn)降低發(fā)送速率,,進(jìn)入Slow Start 狀態(tài),從而及時(shí)地預(yù)測(cè)和緩解擁塞狀況,。
同時(shí)考慮到大多數(shù)研究中,,對(duì)高等級(jí)業(yè)務(wù)的服務(wù)質(zhì)量比較關(guān)注,只對(duì)高等級(jí)業(yè)務(wù)做出相應(yīng)的處理和控制,,讓高等級(jí)業(yè)務(wù)優(yōu)先占用資源,,而對(duì)盡力而為的低等級(jí)業(yè)務(wù)則采取等待或者在資源不夠的時(shí)候優(yōu)先丟棄或舍棄的策略;完全不關(guān)心網(wǎng)絡(luò)中大量普遍存在的,、未提出任何要求的低等級(jí)業(yè)務(wù)的服務(wù)質(zhì)量,,只是在滿(mǎn)足高等級(jí)業(yè)務(wù)的前提下對(duì)其進(jìn)行簡(jiǎn)單的處理。這種處理在網(wǎng)絡(luò)的承載量不是很大時(shí)作用是明顯的,,但是在網(wǎng)絡(luò)承載的業(yè)務(wù)量較大時(shí)就不是很合理了,。在網(wǎng)絡(luò)業(yè)務(wù)承載量較大時(shí),由于盡力而為業(yè)務(wù)是只要網(wǎng)絡(luò)有資源容納就進(jìn)入,,因此就出現(xiàn)了這樣的現(xiàn)象:大量盡力而為業(yè)務(wù)剛剛被接入網(wǎng)絡(luò)進(jìn)行傳輸,,此時(shí)如果又有一個(gè)新的高等級(jí)業(yè)務(wù)到達(dá),而剩余的網(wǎng)絡(luò)資源不夠的話(huà),,由于高等級(jí)業(yè)務(wù)將優(yōu)先占用網(wǎng)絡(luò)資源,,因此剛剛被接入的盡力傳輸業(yè)務(wù)將被丟棄。這樣盡力傳輸業(yè)務(wù)的傳輸時(shí)延和丟失率將隨著業(yè)務(wù)到達(dá)率的增加而大大增加,,從而損害了盡力傳輸業(yè)務(wù)的性能,,而且還將造成網(wǎng)絡(luò)資源的無(wú)畏浪費(fèi),降低全網(wǎng)的性能。
鑒于以上考慮,,在綜合策略中設(shè)定了一個(gè)低等級(jí)業(yè)務(wù)的接入門(mén)限,,只有在網(wǎng)絡(luò)較空閑的情況下,盡力而為業(yè)務(wù)才被接入,。這種操作在網(wǎng)絡(luò)負(fù)荷不高時(shí),,效果不明顯,但是在網(wǎng)絡(luò)負(fù)荷較高時(shí)效果非常明顯,。其原理是:雖然通過(guò)不接入少量低等級(jí)業(yè)務(wù)使得低等級(jí)業(yè)務(wù)的吞吐量下降,,但是,在網(wǎng)絡(luò)負(fù)荷較高時(shí),,這避免了已接入低等級(jí)業(yè)務(wù)在中間節(jié)點(diǎn)的大量無(wú)謂的丟棄,,提高了低等級(jí)業(yè)務(wù)的實(shí)際傳輸效率和資源的有效使用率。同時(shí),,也大大降低了網(wǎng)絡(luò)轉(zhuǎn)發(fā)節(jié)點(diǎn)的處理復(fù)雜度,,可以在不改變?cè)懈叩燃?jí)業(yè)務(wù)的處理和性能下,有效地提高低等級(jí)業(yè)務(wù)的性能,,并且提高全網(wǎng)的吞吐量,。
最后在尾丟棄策略上,采用隨機(jī)早檢測(cè)RED算法和優(yōu)先級(jí)相結(jié)合的策略,。RED算法將決定丟棄是否發(fā)生,,優(yōu)先級(jí)將決定那個(gè)分組被丟棄。
2 綜合的MPLS流量工程擁塞控制策略
如前所述,,采用路由器LSR對(duì)隊(duì)列長(zhǎng)度進(jìn)行監(jiān)測(cè),,并取隊(duì)列長(zhǎng)度的70%作為擁塞預(yù)警值,即低等級(jí)業(yè)務(wù)的準(zhǔn)入門(mén)限,,同時(shí)把進(jìn)入網(wǎng)絡(luò)的數(shù)據(jù)流進(jìn)行緩存分類(lèi),,分為高等級(jí)業(yè)務(wù)和盡力而為業(yè)務(wù),而且高等級(jí)業(yè)務(wù)隊(duì)列還按優(yōu)先級(jí)排隊(duì),,高的優(yōu)先級(jí)排在前面,,從而建立了一種綜合的MPLS流量工程的擁塞控制策略ICC(Integrated Congestion Control Strategy for MPLS Traffic Engineering)。在該策略中,,當(dāng)隊(duì)列流量沒(méi)有超出預(yù)警值時(shí),路由器正常轉(zhuǎn)發(fā)緩存隊(duì)列的數(shù)據(jù),,不進(jìn)行流量控制,;當(dāng)任一LSR檢測(cè)到自己的緩存隊(duì)列超出預(yù)警值,便向其邊緣入口LER發(fā)送預(yù)警信息,,入口LER收到預(yù)警信息啟動(dòng)隊(duì)列管理機(jī)制,,對(duì)盡力傳輸型業(yè)務(wù)限制接入,同時(shí)邊界MPLS LER通知數(shù)據(jù)發(fā)送源端降低數(shù)據(jù)發(fā)送速率。在每個(gè)路由器內(nèi)部,,采用隨機(jī)早檢測(cè)RED算法和優(yōu)先級(jí)相結(jié)合的策略,。當(dāng)分組到來(lái)時(shí),考察隊(duì)列長(zhǎng)度q,,若隊(duì)列長(zhǎng)度介于隊(duì)列容量/2和隊(duì)列容量之間,,把分組按優(yōu)先級(jí)進(jìn)行排隊(duì),然后以概率P丟棄隊(duì)尾數(shù)據(jù)包,。若隊(duì)列已滿(mǎn),,則直接丟棄數(shù)據(jù)包。其中,,,,minth為隊(duì)列容量/2, maxth為隊(duì)列容量,。丟棄數(shù)據(jù)包的順序是從隊(duì)列尾部開(kāi)始,,因?yàn)殛?duì)列是按優(yōu)先級(jí)排隊(duì)的。這樣就保證了高等級(jí)業(yè)務(wù)的優(yōu)先服務(wù),,同時(shí)這種丟棄策略也使網(wǎng)絡(luò)擁塞得到緩解,。
3 仿真實(shí)例
仿真中采用的拓?fù)浣Y(jié)構(gòu)如圖1所示。端節(jié)點(diǎn)client TOSi 和server TOSi 之間建立連接,,鏈路的帶寬為1Mbps,,發(fā)送端采用TCP(Reno) 協(xié)議,報(bào)文平均長(zhǎng)度為1000byte,,網(wǎng)絡(luò)中共有60個(gè)TCP源,,其輸入模型為FTP模型。路由器router A和router B之間構(gòu)成瓶頸鏈路,,鏈路帶寬為2.048Mbps,,傳輸延遲為20ms~100ms,此范圍對(duì)應(yīng)于從局域網(wǎng)平均遲延到廣域網(wǎng)的鏈路平均遲延,,在仿真中通過(guò)改變此鏈路遲延就可改變鏈路的帶寬遲延積,。路由器中的緩沖區(qū)最多可容納350個(gè)報(bào)文。
解決擁塞的最終目的是為了提高吞吐量,,所有的吞吐量都是按照目的端點(diǎn)收到的有用包來(lái)計(jì)算的,。隨著鏈路時(shí)延的增加,即帶寬時(shí)延積的增加,,瓶頸鏈路的吞吐量如圖2,、3和4所示。由于ICC和TCP都依賴(lài)于網(wǎng)絡(luò)節(jié)點(diǎn)和端點(diǎn)的反饋通信,,因此兩者的性能都隨著帶寬時(shí)延積的增大而下降,。但由于ICC利用中間節(jié)點(diǎn)進(jìn)行反饋,,縮短了擁塞反饋時(shí)延,其性能要優(yōu)于傳統(tǒng)TCP的性能,。這主要是因?yàn)殒溌窌r(shí)延增加后,,數(shù)據(jù)包的RTT 時(shí)間增加,TCP協(xié)議的定時(shí)器長(zhǎng)度也隨之增加,,造成了用戶(hù)終端對(duì)網(wǎng)絡(luò)擁塞進(jìn)行檢測(cè)和控制時(shí)間的延長(zhǎng),。此外,由于TCP 協(xié)議至少需要經(jīng)一個(gè)RTT時(shí)間才能發(fā)現(xiàn)網(wǎng)絡(luò)擁塞,,在此之前終端將繼續(xù)發(fā)送大量的數(shù)據(jù)包,。這樣就有可能造成擁塞節(jié)點(diǎn)情況的進(jìn)一步惡化,造成數(shù)據(jù)包的大量丟失,,從而也影響瓶頸鏈路的吞吐量,。
圖5是采用ICC和傳統(tǒng)TCP方法對(duì)照情況下的高、低等級(jí)業(yè)務(wù)的吞吐量圖,。圖5中網(wǎng)絡(luò)延遲為50ms,。可以看出:在網(wǎng)絡(luò)資源較空閑的情況下,,采取適當(dāng)?shù)牡偷燃?jí)業(yè)務(wù)接入門(mén)限,,可以有效提高低等級(jí)業(yè)務(wù)吞吐量,從而使網(wǎng)絡(luò)的吞吐量得到提高,。
隨著互聯(lián)網(wǎng)業(yè)務(wù)的膨脹和新業(yè)務(wù)的增加,,單一的TCP擁塞控制已不能完全滿(mǎn)足擁塞控制的要求,必須使路由器參與到主動(dòng)的擁塞控制中,。本文在分析了相關(guān)的擁塞控制策略的基礎(chǔ)上,,將反饋擁塞算法從端點(diǎn)引入到了網(wǎng)絡(luò)邊緣節(jié)點(diǎn),并設(shè)定低等級(jí)業(yè)務(wù)接入門(mén)限,。理論分析和仿真結(jié)果表明在網(wǎng)絡(luò)中瓶頸鏈路延遲較大時(shí)不僅可提高高等級(jí)業(yè)務(wù)的吞吐量,,也照顧了低等級(jí)業(yè)務(wù)的吞吐量。
參考文獻(xiàn)
1 V. Jacobson. Congestion avoidance and control. Proceedings of SIGCOMM Symposium on Communications Architectures and Protocols, 1988,; 314~329
2 V. Jacobson. Modified TCP congestion avoidance algorithm. End2End-intrest Mailing list, 1990
3 S. Floyed, T. Henderson. The new Reno modification to TCP′s fast recovery algorithm. RFC2582, 1999
4 M. Mathis, J. Mahdavi, S. Floyd, A. Romanow. TCP selective acknowledgment options. RFC2018, 1996
5 羅萬(wàn)明, 林闖, 閻保平. TCP/IP擁塞控制研究. 計(jì)算機(jī)學(xué)報(bào), 2001,;24(1):1~18
6 張志群, 丁煒, 邵旭. MPLS網(wǎng)絡(luò)主動(dòng)式流量和擁塞控制機(jī)制及性能分析.電子與信息學(xué)報(bào), 2002;24(11):1573~1580
7 J. C. Bolot, A. Shankar. Dynamical behavior of rate based flow control systems. Computer Communication Review, ACM SIGCOMM, 1996;26(2):5~18