• 
    

    
    

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

      ?

      TCP擁塞控制研究

      2015-08-15 00:54:11
      科技視界 2015年2期
      關(guān)鍵詞:重傳接收端控制算法

      李 婷

      (西安財(cái)經(jīng)學(xué)院統(tǒng)計(jì)學(xué)院,陜西 西安 710061)

      1 網(wǎng)絡(luò)擁塞發(fā)生的原因

      網(wǎng)絡(luò)中的擁塞來源于網(wǎng)絡(luò)資源和流量分布的不均衡性。一旦網(wǎng)絡(luò)中存在過多的數(shù)據(jù)包,就會(huì)導(dǎo)致網(wǎng)絡(luò)性能的下降,這種現(xiàn)象稱為擁塞。擁塞會(huì)導(dǎo)致分組丟失率增加,從而增大端到端的延遲,累積到一定程度就是整個(gè)系統(tǒng)的崩潰。這樣的例子在互聯(lián)網(wǎng)發(fā)展史上曾經(jīng)不止一次的出現(xiàn)過,當(dāng)網(wǎng)絡(luò)處于擁塞崩潰狀態(tài)時(shí),微小的負(fù)載增量都將使網(wǎng)絡(luò)的有效吞吐量急劇下降。

      網(wǎng)絡(luò)擁塞發(fā)生的原因說起來也很簡(jiǎn)單,就是“需求”大于“供給”。網(wǎng)絡(luò)本身無法根據(jù)現(xiàn)有資源的情況限制用戶的數(shù)量;互聯(lián)網(wǎng)絡(luò)又是一個(gè)分散控制系統(tǒng),無法控制用戶使用資源的數(shù)量,不斷增長的用戶和應(yīng)用的數(shù)量必然會(huì)導(dǎo)致網(wǎng)絡(luò)發(fā)生擁塞。

      2 TCP擁塞控制

      研究擁塞控制的目的不是要完全避免擁塞,而是研究怎樣的擁塞程度是合適的。TCP網(wǎng)絡(luò)是可靠數(shù)據(jù)傳輸,采用分組交換技術(shù)來提高網(wǎng)絡(luò)鏈路的利用率,也就是說,路由器隊(duì)列緩存如果是滿的,則網(wǎng)絡(luò)利用率最高,但傳輸延遲大;隊(duì)列始終是空的或不滿,則網(wǎng)絡(luò)利用率低,傳輸延遲小。所以擁塞控制的目標(biāo)就是實(shí)現(xiàn)網(wǎng)絡(luò)利用率和傳輸延遲等綜合性能指標(biāo)達(dá)到最優(yōu)化,提高網(wǎng)絡(luò)的總體性能,保證網(wǎng)絡(luò)系統(tǒng)長期的穩(wěn)定性和魯棒性。

      TCP的實(shí)現(xiàn)包含四個(gè)連續(xù)的基本過程,其實(shí)是四個(gè)不同的階段,分別是:慢啟動(dòng)、擁塞避免、快速重傳和快速恢復(fù)。

      慢啟動(dòng):當(dāng)一個(gè)新的TCP連接建立時(shí),發(fā)送方發(fā)送一個(gè)缺省大小為 512字節(jié)的 TCP 報(bào)文段(segment),稱為擁塞窗口(cwnd),該 cwnd的值被初始化為一個(gè)數(shù)據(jù)包,因此每經(jīng)過一個(gè)RTT,cwnd將指數(shù)增加。該算法的原理就是將能發(fā)送到網(wǎng)絡(luò)的新數(shù)據(jù)包的發(fā)送速率對(duì)應(yīng)從接受端返回的確認(rèn)消息的速率。

      擁塞避免:擁塞避免的觸發(fā)條件是當(dāng)發(fā)現(xiàn)接收方的ACK確認(rèn)包超時(shí)到達(dá)或者收到了三個(gè)相同的ACK確認(rèn)包時(shí),TCP就認(rèn)為網(wǎng)絡(luò)中出現(xiàn)了擁塞,開始執(zhí)行擁塞避免算法,這里的觸發(fā)條件是有前提條件的,那就是TCP假設(shè)由于線路傳輸引起的數(shù)據(jù)包損壞和丟失的概率非常小,Jacobson V在1988年提出的值為小于1%時(shí)條件就成立。在這一階段,慢啟動(dòng)閾值(ssthresh)設(shè)置為cwnd的一半,如果是超時(shí),cwnd則被置1。如果此時(shí)cwnd<=ssthresh。TCP就重新進(jìn)入慢啟動(dòng),如果cwnd>ssthresh,TCP進(jìn)入擁塞避免,發(fā)送方每收到一個(gè) ACK,則cwnd=cwnd+1/cwnd??梢娐龁?dòng)階段cwnd的增加是指數(shù)的,而擁塞避免階段則是線性的。

      快速重傳和快速恢復(fù):發(fā)送方不等到數(shù)據(jù)包超時(shí),在收到三個(gè)或三個(gè)以上的重復(fù)ACK時(shí)就判斷數(shù)據(jù)包已經(jīng)丟失,這樣不用等定時(shí)器超時(shí)后cwnd置1,就馬上重傳該數(shù)據(jù)包,同時(shí)將ssthresh的值置為當(dāng)前cwnd的一半,這種算法來保證TCP保持足夠的吞吐量??焖倩謴?fù)的算法是:(1)當(dāng)?shù)谌齻€(gè)重復(fù)的ACK到達(dá),設(shè)置ssthresh=cwnd/2;重傳丟失的報(bào)文;設(shè)置cwnd=ssthresh+3。加3是因?yàn)槿齻€(gè)重復(fù)的ACK表示有三個(gè)數(shù)據(jù)包已經(jīng)被接受方緩存了。(2)每次有一個(gè)更多的重復(fù)ACK到達(dá),把cwnd加1并在可能的情況下傳輸一個(gè)報(bào)文段。(3)當(dāng)確認(rèn)新數(shù)據(jù)的下一個(gè)ACK到達(dá)時(shí),設(shè)置cwnd=ssthresh,進(jìn)入擁塞避免。

      3 TCP擁塞控制算法的改進(jìn)

      3.1 慢啟動(dòng)的改進(jìn)

      隨著Internet應(yīng)用在互聯(lián)網(wǎng)絡(luò)中的占的比例逐步增大,Web數(shù)據(jù)流占了網(wǎng)絡(luò)流量的相當(dāng)部分,這些TCP連接的數(shù)據(jù)量一般都很短小,通過了解TCP擁塞控制原理,我們知道短TCP流主要工作的階段是慢啟動(dòng)階段,它不具備長TCP流的傳輸時(shí)間,無法達(dá)到擁塞避免階段,所以短TCP流的問題是,如果一個(gè)分組丟失,按照擁塞控制算法,需要等待定時(shí)器超時(shí)重傳,這在帶寬競(jìng)爭(zhēng)上就無法和長TCP流競(jìng)爭(zhēng),從而造成網(wǎng)絡(luò)的擁塞節(jié)點(diǎn)處,長TCP流會(huì)擠掉短TCP流,使貸款分配不均。針對(duì)這些問題,研究者們提出了傳統(tǒng)的慢啟動(dòng)存在的兩個(gè)問題:(1)數(shù)據(jù)發(fā)送從一個(gè)數(shù)據(jù)包開始,要經(jīng)過多個(gè)RTT才能達(dá)到較大吞吐量,這不利于流量小但是鏈路延遲又比較大的TCP流的傳輸;(2)采用指數(shù)增長的方式發(fā)送數(shù)據(jù)造成了數(shù)據(jù)突發(fā),易引起瓶頸鏈路的擁塞。

      針對(duì)第一個(gè)問題,大家提出了很多解決方法,比如采用大的初始窗口,將初始窗口從 1MSS 增加到 4MSS,(Allman M.et al,1998),這種方法雖然可以改善慢啟動(dòng)的性能,但是不能適應(yīng)多變的網(wǎng)絡(luò)帶寬。還有就是將各個(gè)TCP連接的信息共享(Padmanabhan V.et al,1998;Touch J,1997;Savage S.et al,1999),后面的連接可以使用具有相同目的地址的連接信息,從而可以減少慢啟動(dòng)的時(shí)延,但是這樣會(huì)使連接很快造成網(wǎng)絡(luò)擁塞,而短TCP的長度只需要幾個(gè)RTT就可以傳輸完畢,網(wǎng)絡(luò)擁塞會(huì)造成額外的時(shí)延。再后來提出了將初始窗口設(shè)定為4個(gè)分組,而從以快速重傳來減少重傳超時(shí)造成的傳輸時(shí)延(Mellia M.et al,2001)。

      解決第二個(gè)問題可以通過使用帶寬時(shí)延的估計(jì)來設(shè)定初始慢啟動(dòng)閾值 ssthresh(Hoe J,1996)。 Smoot-start方法(Marchese M,2001)使發(fā)送方從慢啟動(dòng)階段較為平滑的過渡到擁塞避免階段,減少了數(shù)據(jù)包丟失和突發(fā)流,當(dāng)擁塞窗口到達(dá)Smsthresh后,采用比較平緩的指數(shù)方式增長擁塞窗口,逐漸達(dá)到默認(rèn)值或估算的ssthresh值。

      3.2 快速重傳和快速恢復(fù)的改進(jìn)

      有時(shí)發(fā)送端減少擁塞窗口值并不是因?yàn)榉纸M丟失,而是分組數(shù)據(jù)傳輸中順序錯(cuò)誤引起的重復(fù)ACK。有限傳輸機(jī)制 (Allman M,Balakrishman H.and Floyd S.2001)是一種改進(jìn)方法,當(dāng)發(fā)送端收到一個(gè)或兩個(gè)重復(fù)的ACK后,如果被允許,發(fā)送端就發(fā)送一個(gè)新的分組。這種方式對(duì)錯(cuò)序的狀況有較好的調(diào)節(jié)作用。還有D-SACK方式,是一種基于SACK的方式,通過給TCP發(fā)送端一個(gè)附加信息,來判斷是否發(fā)生了不必要的重傳,D-SACK通過接收端受用SACK選項(xiàng)來報(bào)告收到了重復(fù)的分組序列,D-SACK在容易引起錯(cuò)序的環(huán)境下提供更高的效率。

      快速恢復(fù)的改進(jìn)機(jī)制有SACK (Selective Acknowledgement),F(xiàn)ACK(Forward Acknowledgement),TCP New-Reno 等。SACK 方式的接收端通過ACK向發(fā)送端通過所有正確的分組,發(fā)送端只需重傳真正丟失的分組。FACK是基于SACK的改進(jìn),它們的問題都是增加了TCP的復(fù)雜性,對(duì)TCP版本的兼容性較差。TCP New-Reno不需要接收端的特殊支持,相對(duì)實(shí)現(xiàn)起來簡(jiǎn)單,但是數(shù)據(jù)傳輸效率相對(duì)不高。Rate-Halving(Allman M ,Dawkins S,Glover D,et al,2000)是 FACK 的一個(gè)比較新的版本。在快速恢復(fù)階段,每收到2個(gè)ACK發(fā)送一個(gè)新的分組,從而在一個(gè)RTT里將擁塞窗口減小到網(wǎng)絡(luò)能處理的分組數(shù)的一半大小,并保持了TCP的自計(jì)時(shí)特性。

      目前,TCP基于窗口的擁塞控制策略被廣泛的應(yīng)用。各種改進(jìn)的TCP控制策略在不同側(cè)面解決了一定的問題,但是也有著局限性,有的實(shí)現(xiàn)起來過于復(fù)雜,有的解決了多個(gè)分組丟失的恢復(fù)問題,但對(duì)恢復(fù)過程中出現(xiàn)的分組丟失卻無法得到解決。

      4 結(jié)束語

      在實(shí)際的應(yīng)用中,針對(duì)不同特點(diǎn)的TCP網(wǎng)絡(luò),有著適合的改進(jìn)策略,這些策略不用做到面面俱到,只要具有一定的針對(duì)性就可以。網(wǎng)絡(luò)擁塞的改進(jìn)是十分靈活的,方法也很非常多,其原因正式因?yàn)椴煌W(wǎng)絡(luò)中傳輸?shù)臄?shù)據(jù)特點(diǎn)不同,從而選擇合適的改進(jìn)策略是關(guān)鍵。

      [1]Allman M,Hayes C,Ostermann S.An Evaluation of TCP with Larger Initial Windows[J].ACM Computer Communication Review,1998,28(5):41-52.

      [2]鄧亞平,葉凌偉,陳雁.TCP/IP擁塞控制算法的改進(jìn)[J].計(jì)算機(jī)科學(xué),2001(4):110-113.

      [3]王彬.TCP/IP 網(wǎng)絡(luò)擁塞控制策略研究[D].浙江大學(xué),2004.

      猜你喜歡
      重傳接收端控制算法
      基于擾動(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
      图木舒克市| 靖州| 云安县| 全南县| 景洪市| 南溪县| 若羌县| 永济市| 岢岚县| 安多县| 萨嘎县| 海晏县| 同江市| 郯城县| 甘德县| 璧山县| 尖扎县| 瓮安县| 达孜县| 子长县| 南木林县| 措美县| 宜良县| 钟祥市| 万山特区| 江阴市| 原平市| 社会| 南华县| 南京市| 应用必备| 榆中县| 怀集县| 韶山市| 梧州市| 十堰市| 定远县| 阿城市| 贡嘎县| 门头沟区| 永福县|