• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      淺析TCP擁塞控制機(jī)制

      2010-08-29 12:59:30李秀妮
      科技傳播 2010年19期
      關(guān)鍵詞:重傳接收端控制算法

      李秀妮

      陜西省西安歐亞學(xué)院信息工程學(xué)院,陜西西安 710065

      0 引言

      在互聯(lián)網(wǎng)應(yīng)用中,當(dāng)一個(gè)子網(wǎng)或者其中的一部分出現(xiàn)太多分組時(shí),網(wǎng)絡(luò)的性能開始下降,如網(wǎng)絡(luò)延時(shí)增大、丟包率上升、吞吐量下降等,這種情況即稱為擁塞(congestion)。導(dǎo)致?lián)砣霈F(xiàn)的原因通常是當(dāng)前的負(fù)載超過了資源的容量和處理能力。解決這擁塞一般采用兩種方式:其一是對(duì)擁塞進(jìn)行控制,其二是對(duì)流量進(jìn)行控制。

      現(xiàn)今互聯(lián)網(wǎng)中擁塞控制大部分工作是由TCP完成的,目前標(biāo)準(zhǔn)TCP協(xié)議的實(shí)現(xiàn)都包含了一些避免和控制網(wǎng)絡(luò)擁塞的算法。當(dāng)今互聯(lián)網(wǎng)的可靠性和穩(wěn)定性與TCP擁塞控制機(jī)制密不可分,而TCP的成功也要?dú)w功于其穩(wěn)固的擁塞控制機(jī)制。

      1 TCP協(xié)議

      傳輸控制協(xié)議從應(yīng)用程序中得到大段的信息、數(shù)據(jù),然后將它們分割成若干個(gè)數(shù)據(jù)段。TCP會(huì)為這些數(shù)據(jù)段編號(hào)并排序,形成虛電路連接方式,信源的TCP會(huì)等待信宿TCP給一個(gè)確認(rèn)性應(yīng)答。沒有收到確認(rèn)應(yīng)答的數(shù)據(jù)段將被重新發(fā)送。TCP是一個(gè)全雙工的、面向連接的、可靠的并且是精確控制的協(xié)議。

      TCP建立連接之后,通信雙方通過全雙工方式進(jìn)行數(shù)據(jù)傳輸;在保證可靠性上,采用超時(shí)重傳和捎帶確認(rèn)機(jī)制。在流量控制上,采用滑動(dòng)窗口機(jī)制,機(jī)制中規(guī)定,對(duì)于窗口內(nèi)未經(jīng)確認(rèn)的分組需要重傳。 在擁塞控制上,采用慢啟動(dòng)算法。

      2 TCP擁塞控制

      TCP擁塞控制是基于窗口方式的。發(fā)送端的主機(jī)在確定發(fā)送報(bào)文段的速率時(shí),既要根據(jù)接收端的接收能力,又要從全局考慮不要使網(wǎng)絡(luò)發(fā)生擁塞。因此,每一個(gè)TCP連接需要有以下兩個(gè)狀態(tài)變量:接收端窗口rwnd(receiver window)又稱為通知窗口(advertised window)和擁塞窗口cwnd(congestion window)。

      2.1 慢啟動(dòng)和擁塞避免算法的原理

      在剛開始發(fā)送時(shí),可先將擁塞窗口cwnd設(shè)置為一個(gè)最大報(bào)文段MSS的數(shù)值。在每收到一個(gè)對(duì)新的報(bào)文段的確認(rèn)后,將擁塞窗口增加至2倍MSS的數(shù)值。用這樣的方法逐步增大發(fā)送端的擁塞窗口cwnd,可以使分組注入到網(wǎng)絡(luò)的速率更加合理。 慢啟動(dòng)和擁塞避免算法的實(shí)現(xiàn)舉例如圖1。

      圖1 慢啟動(dòng)和擁塞避免算法圖例

      當(dāng)TCP連接進(jìn)行初始化時(shí),將擁塞窗口置為1。圖中的窗口單位不使用字節(jié)而使用報(bào)文段。慢啟動(dòng)門限的初始值設(shè)置為 16個(gè)報(bào)文段,即ssthresh=16。發(fā)送端的發(fā)送窗口不能超過擁塞窗口cwnd和接收端窗口rwnd中的最小值。慢啟動(dòng)算法在初始化連接時(shí)很有效,他探測(cè)網(wǎng)絡(luò)環(huán)境,以確保不會(huì)把太多報(bào)文發(fā)送進(jìn)一個(gè)已經(jīng)擁塞的環(huán)境??墒蔷W(wǎng)絡(luò)進(jìn)入飽和狀態(tài)很容易,但讓網(wǎng)絡(luò)從飽和狀態(tài)中恢復(fù)卻很難,一旦擁塞發(fā)生了,要將擁塞清除掉可能需要很長時(shí)間,因此慢啟動(dòng)中cwnd指數(shù)增加就可能太激進(jìn),于是當(dāng)擁塞窗口cwnd增長到慢開始門限值ssthresh時(shí)(即當(dāng)cwnd=16時(shí)),就改為執(zhí)行擁塞避免算法,擁塞窗口按線性規(guī)律增長。

      2.2 快速重傳和快速恢復(fù)機(jī)制的原理

      由于在擁塞避免階段,當(dāng)發(fā)生超時(shí),cwnd重新置1,進(jìn)入慢啟動(dòng),這將導(dǎo)致過大減小發(fā)送窗口尺寸,很大程度上降低了TCP連接的吞吐量。為了完善TCP的性能,又引入了快速重傳和快速恢復(fù)機(jī)制??焖僦貍麟A段,當(dāng)源端收到3個(gè)或者3個(gè)以上的重復(fù)ACK確認(rèn),即認(rèn)為發(fā)生了數(shù)據(jù)包丟失,此時(shí)將ssthresh設(shè)置為當(dāng)前cwnd的一半,ssthresh=awnd/2,并重新傳送丟失的數(shù)據(jù)包,進(jìn)入快速恢復(fù)階段。在快速恢復(fù)階段,源端每收到一個(gè)重復(fù)的ACK,則cwnd加1;若收到非重復(fù)的ACK,置cwnd=ssthresh,轉(zhuǎn)入擁塞避免;當(dāng)發(fā)生超時(shí)重傳時(shí),置ssthresh=cwnd/2,cwnd=1,進(jìn)入慢啟動(dòng)階段。快速重傳和快速恢復(fù)機(jī)制避免了數(shù)據(jù)包一發(fā)生超時(shí)就直接進(jìn)入慢啟動(dòng),在很大程度上提高了TCP的性能和吞吐量。

      2.3 TCP擁塞控制研究改進(jìn)

      在慢啟動(dòng)階段,在每個(gè)RTT時(shí)間內(nèi),CWND增加一倍,這樣當(dāng)CWND增加到一定的值時(shí),就可能導(dǎo)致以網(wǎng)絡(luò)能夠處理的最大容量的2倍來發(fā)送數(shù)據(jù),從而淹沒網(wǎng)絡(luò),所以后來HOE建議使用packet-pair算法和測(cè)量RTT來為ssthresh估計(jì)合適值,一次來適時(shí)的結(jié)束慢啟動(dòng)階段。

      對(duì)快速重傳和快速恢復(fù)機(jī)制的改進(jìn)改進(jìn)的方案有很多,比較著名的包括NewReno-TCP、SACK、FACK等。選擇確認(rèn)SACK:源端檢測(cè)到擁塞后,要重傳丟失的數(shù)據(jù)包,至檢測(cè)丟失時(shí)發(fā)送的全部數(shù)據(jù)包,而實(shí)際上二者之間有些數(shù)據(jù)包已正確傳到接收端,不必重傳。選擇確認(rèn)算法SACK,對(duì)數(shù)據(jù)包進(jìn)行有選擇的確認(rèn)和重傳,這樣源端就能準(zhǔn)確地知道哪些數(shù)據(jù)包已正確的傳到接收端,從而避免了不必要的重傳,減少了時(shí)延,提高了網(wǎng)絡(luò)的吞吐量。有限傳輸機(jī)制:如果分組非順序到達(dá)接收方,也會(huì)產(chǎn)生重復(fù)的ACK,而只有收到連續(xù)3次重復(fù)的ACK時(shí)才能激發(fā)快速重傳,導(dǎo)致了一定的時(shí)延和某些數(shù)據(jù)不必要的重傳,在快速恢復(fù)階段又會(huì)減少發(fā)送量,導(dǎo)致不必要的帶寬浪費(fèi)。在很多情況下,有限傳輸機(jī)制允許小窗口的TCP連接不用等到超時(shí)發(fā)生就可以從小與一個(gè)窗口的收據(jù)丟失中恢復(fù)過來。

      3 結(jié)論

      隨著網(wǎng)絡(luò)規(guī)模的與日俱增,以傳統(tǒng)的端到端TCP為基礎(chǔ),改進(jìn)擁塞控制算法,將是完善Internet擁塞控制最主流也是最有效的途徑。在現(xiàn)有擁塞控制機(jī)制的基礎(chǔ)上,一個(gè)有效的擁塞控制算法將帶來巨大的效益,這對(duì)于網(wǎng)絡(luò)的發(fā)展十分重要。因此,對(duì)于算法的改進(jìn)和研究仍然是Internet擁塞控制中的一個(gè)重要課題。

      [1]Andrew S.Tanenbaum 著.計(jì)算機(jī)網(wǎng)絡(luò)[M].潘愛民,譯.4版.北京:清華大學(xué)出版社,2004,8.

      [2]徐昌彪,鮮永菊.計(jì)算機(jī)網(wǎng)絡(luò)中的擁塞控制與流量控制[M].人民郵電出版社,2007.

      [3]章淼,吳建平,林闖.互聯(lián)網(wǎng)端到端擁塞控制研究綜述.

      [4]李艷凌,江勇.TCP擁塞控制算法研究,2005,2.

      [5][美]W.Richard Stevens著.TCP/IP詳解[M].胡谷雨,吳禮發(fā),等譯.機(jī)械工業(yè)出版社,2000,9.

      猜你喜歡
      重傳接收端控制算法
      基于擾動(dòng)觀察法的光通信接收端優(yōu)化策略
      頂管接收端脫殼及混凝土澆筑關(guān)鍵技術(shù)
      一種設(shè)置在密閉結(jié)構(gòu)中的無線電能傳輸系統(tǒng)
      新能源科技(2021年6期)2021-04-02 22:43:34
      基于多接收線圈的無線電能傳輸系統(tǒng)優(yōu)化研究
      面向異構(gòu)網(wǎng)絡(luò)的多路徑數(shù)據(jù)重傳研究?
      基于ARM+FPGA的模塊化同步控制算法研究
      一種優(yōu)化的基于ARM Cortex-M3電池組均衡控制算法應(yīng)用
      數(shù)據(jù)鏈路層的選擇重傳協(xié)議的優(yōu)化改進(jìn)
      一種非圓旋轉(zhuǎn)工件支撐裝置控制算法
      DI材橫向厚差自動(dòng)控制算法及其應(yīng)用
      上海金屬(2013年4期)2013-12-20 07:57:17
      隆安县| 徐州市| 平罗县| 贵德县| 海口市| 泸溪县| 蒲江县| 科尔| 临武县| 瓮安县| 大渡口区| 新营市| 津市市| 平阳县| 小金县| 阳泉市| 平乡县| 宁陕县| 新乡县| 宣恩县| 荣成市| 南溪县| 宜宾县| 六盘水市| 西城区| 开化县| 特克斯县| 新平| 陇南市| 宜宾县| 岫岩| 平顶山市| 嵩明县| 昌平区| 新化县| 浪卡子县| 临泽县| 泗阳县| 温宿县| 邢台县| 铜山县|