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