国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 網絡通信 > 正文

網格計算中的TCP擁塞控制

2019-11-03 09:00:46
字體:
來源:轉載
供稿:網友
梁永想 陳常嘉

北京交通大學 通信工程實驗室 100044


  摘 要 目前ip網絡所應用的TCP擁塞控制機制是基于1988年Jacobson所設計的算法(慢啟動和擁塞避免),雖然TCP在許多不同類型的網絡中應用得很好,但在網格計算中,現有的TCP擁塞控制算法已不能有效工作。本文分析了TCP傳統算法在網格計算中的缺陷,并提出在網格計算中使用新的TCP擁塞控制算法——一個新的帶寬增減算法。

  關鍵詞 網格計算 擁塞控制 AIMD 帶寬

  一、引言

  目前,網格的發展越來越受到大家的重視,它們可以在不同國家甚至不同州的機器之間傳輸甚至到達幾千G字節的大文件,將大規模的數據處理分散到世界范圍的各個組織中。網格的應用需要高速遠距離網絡的支持,這可能需要網絡速度達到622Mbit/s或是更高。在這種情況下,傳統的TCP擁塞控制算法就不太適用了。這主要有以下三方面的原因:

  (1)傳統的TCP擁塞控制機制在高速網絡中反應性比較差,這是因為TCP在高速網絡中對分組丟失的反應要敏感得多。這主要是由于它的擁塞避免算法是基于AIMD(Additive Increase Multiplicative Decrease,和式增加積式減少)的。所以一個分組的丟失在高速網絡中所造成的后果是很嚴重的:一個分組丟失被檢測出來之后,TCP連接就會將帶寬減半(積式減少),這樣就會不止花上幾百毫秒或是多達幾秒鐘,甚至花上幾分鐘或是幾個小時來恢復所有的可用帶寬(和式增加)。另外,慢啟動也會造成TCP在高速網絡中性能的下降,但是它的影響要比擁塞避免小點。因為通過三個重復的ACK來判斷分組丟失的情況要比超時經常得多,因此TCP連接會花費大多數時間在擁塞避免算法上。

  (2)傳統的TCP總是把分組丟失解釋為擁塞,而假定鏈路錯誤造成的分組丟失是可以忽略的,但是在高速網絡中,這種假設是不成立的。當數據傳輸速率比較高時,鏈路錯誤是不能忽略的。由鏈路錯誤引起的分組丟失和由網絡擁塞引起的分組丟失的可能性是相同的。因此,不能籠統地認為分組丟失都是由網絡擁塞引起的。因此,當一個TCP分組丟失后我們不應該認為就是出現了網絡擁塞,擁塞的判斷需要兩個連續的分組丟失。

  (3)傳統的TCP不能使用網絡鏈路的所有容量。這主要是由于在AIMD算法中,TCP從一個分組丟失到帶寬的恢復所用的時間比較長。這是目前所有TCP版本(TCPTahoe、TCPReno、New-Reno、SACK、Vegas等)的一個固有的問題。而高速遠距離網絡的造價是比較高的,所以對容量的浪費是不可原諒的。

  針對以上TCP傳統算法的缺陷,網格計算中的TCP擁塞控制提出了一個新的帶寬使用的公平性原則和增減算法,對于克服傳統TCP在快速遠距離網絡中的不足起到了很好的作用。

  二、帶寬減少算法

  在適用于網格應用的快速遠距離網絡中,可以假設連接的可用帶寬在相當長的時間(大致是10min到1h)內是保持不變的,這個假設對與其他類型的網絡基本上也是成立的。根據這個假設,可以做如下的近似:對于一個長時間的TCP連接,可用帶寬ABW可以看作是一些分段表示的常數。

  根據以上的簡化模型,我們可以對TCP和式增加積式減少的帶寬增減算法進行修改。在用于網格計算的TCP擁塞控制中,當一個TCP連接檢測到網絡擁塞時(用于網格計算的TCP擁塞控制,對于擁塞的判斷標準是在一個相同的擁塞窗口中至少有兩個連續的分組丟失,只有一個分組丟失被認為是鏈路錯誤),并不是將帶寬減半,而是減少ABWi-ABWi+1,ABWi+1由式(1)得出 =-1

  (1)

  式中 ABWi- 在階段i的可用帶寬;

  C- 鏈路容量的估計值; ABWi在較長時間(一般式10min到1h)內是常數。由于 ABWi是C的一部分,所以

  A i,E αi,(0≤αi≤1)∧(ABWi=αiC)     (2)

  由式(1)和式(2)可以得到

  αi+1= (3)

  ABWi-ABWi+1= (4)

  式(4)就是用于網格計算的TCP擁塞控制,采用新的減少帶寬的算法,相應傳統TCP的減少算法可以由以下表示

  ABWJi-ABWJi+1== (5)

  由式(5)可以得出

  αi+1=αi /2 (6)

  當αi=5%時,由(3)式可得αi+1=4.76%,而由(6)式得到αi+1=2.5%,如果C=622Mbit/s,那么新的算法可以節省14Mbit/s的帶寬;當αi=20%時,由(3)式可得αi+1=16.7%,而由(6)式得到αi+1=10%,如果C=622Mbit/s,那么新的算法可以節省41Mbit/s的帶寬。所以,當擁塞發生后,新的算法減少的帶寬比較少,這樣恢復起來也比較快。當αi=0或αi=100%時,也就是當鏈路中只有一個或有無限多TCP流時,兩種算法取得一致。但是,在網格應用的網絡中,這兩種情況出現的比較少。

  三、帶寬增加算法

  用于網格計算的TCP擁塞控制所使用的帶寬增加算法有些復雜,它可以分為五種情況來分析:

  (1)當鏈路剛剛經歷了擁塞,并且我們假定這個擁塞現象是暫時的,我們首先根據式(4)來減少帶寬,然后再通過二分檢索法增加帶寬到以前的穩定狀態:ABWi。如果在這個過程中沒有新的分組丟失,那么TCP連接就應該保持在階段i,然后根據情況(3)來處理;如果我們檢測到同一個擁塞窗口中至少有兩個分組丟失,那么TCP連接就應該從階段過渡i到階段i+1,并且根據情況(2)來處理。

  (2)當網絡出現新的擁塞問題時,我們來得到一個新的帶寬穩定值ABWi+1,ABWi+1要比ABWi小。在這種方法中,增加和減少帶寬都使用二分檢索法,一旦有分組丟失我們就減少帶寬,否則就增加帶寬。這種方法能比較迅速地使可用帶寬穩定到ABWi+1。網絡穩定在階段i+1后,在根據情況(3)來處理。

  (3)在這種情況下,TCP連接以速率ABWi傳輸數據。當檢測到擁塞發生時,就根據情況(1)來處理;如果直到TCP占用計時器(它的值由經驗獲得,但一般希望是10min到1h)關閉仍沒有擁塞發生,就根據情況(4)來處理。

  (4)TCP已經以速率ABWi傳輸數據很長時間而沒有檢測到擁塞,因此我們希望可用帶寬增加,進入一個新的階段i+1,在這個階段ABWi+1應該比現在的ABWi大。所以,一旦TCP占用計時器關閉,我們就開始增加帶寬到ABWi+1,ABWi+1可以根據式(7)獲得=+1 (7)

  如果在這個過程中檢測到擁塞,就根據情況(1)來處理。

  (5)建立一個新的TCP連接,并且為可用帶寬ABW0賦初始值為鏈路的容量C,然后再根據第(2)種情況來分析。

  四、結束語

  以上是用于網格計算的TCP擁塞控制所使用的新的帶寬增減的算法,它克服了傳統的AIMD算法的保守性,可以較充分地使用鏈路容量,所以在高速遠距離網絡中,它的效率比較好。但是這種算法還存在著一些缺陷:鏈路容量C的估計總是近似的,而且精確度也未知;容量的估計需要花費時間,對于短時存在的TCP連接,有可能用于容量估計的時間比連接存在的時間還要長;實際的網絡中,路由是會改變的,所以發送端計算出的容量有可能和實際TCP連接使用的容量不一致。

  梁永想,北京交通大學在讀碩士研究生,IEEE學生會員,研究方向為無線跨層設計及TCP性能研究。

  陳常嘉,北京交通大學教授,博士生導師;研究領域涉及編碼理論、信息論,通信理論、技術和系統,以及信息網絡。

  
----《中國數據通信》

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 确山县| 峨眉山市| 榕江县| 贡嘎县| 应城市| 寻甸| 武夷山市| 章丘市| 乌拉特前旗| 若尔盖县| 吐鲁番市| 苍山县| 长武县| 萝北县| 德阳市| 三江| 贡山| 清镇市| 湾仔区| 西乌珠穆沁旗| 云梦县| 新密市| 上犹县| 新宾| 南溪县| 甘谷县| 当涂县| 凤阳县| 昂仁县| 松原市| 菏泽市| 广河县| 隆尧县| 张家界市| 柞水县| 遵义县| 大港区| 金山区| 布拖县| 永登县| 思南县|