青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

posts - 297,  comments - 15,  trackbacks - 0
1. 前言
 
TCP是具備流控和可靠連接能力的協議,為防止TCP發生擁塞或為提高傳輸效率,在網
絡發展早期就提出了一些相關的TCP流控和優化算法,而且也被RFC2581規定是每個
TCP實現時要實現的。
 
本文中,為求方便把將“TCP分組段(segment)”都直接稱為“包”。
 
2. 慢啟動(slow start)和擁塞避免(Congestion Avoidance)
 
慢啟動和擁塞避免是屬于TCP發送方必須(MUST)要實現的,防止TCP發送方向網絡傳入大量的突發數據造成網絡阻塞。

先介紹幾個相關參數,是在通信雙方中需要考慮但不在TCP包中體現的一些參數:

擁塞窗口(congestion window,cwnd),是指發送方在接收到對方的ACK確認前向允許網絡發送的數據量,數據發送后,擁塞窗口縮小;接收到對方的ACK后,擁塞窗口相應增加,擁塞窗口越大,可發送的數據量越大。擁塞窗口初始值的RFC2581中被規定為不超過發送方MSS的兩倍,而且不能超過兩個TCP包,在RFC3390中更新了初始窗口大小的設置方法。

通告窗口(advertised window,rwnd),是指接收方所能接收的沒來得及發ACK確認的數據量,接收方數據接收后,通告窗口縮小;發送ACK后,通告窗口相應擴大。

慢啟動閾值(slow start threshold, ssthresh),用來判斷是否要使用慢啟動或擁塞避免算法來控制流量的一個參數,也是隨通信過程不斷變化的。

當cwnd < ssthresh時,擁塞窗口值已經比較小了,表示未經確認的數據量增大,需要啟動慢啟動算法;當cwnd > ssthresh時,可發送數據量大,需要啟動擁塞避免算法。

擁塞窗口cwnd是根據發送的數據量自動減小的,但擴大就需要根據對方的接收情況進行擴大,慢啟動和擁塞避免算法都是描述如何擴大該值的。

在啟動慢啟動算法時,TCP發送方接收到對方的ACK后擁塞窗口最多每次增加一個發送方MSS字節的數值,當擁塞窗口超過sshresh后或觀察到擁塞才停止算法。

啟動擁塞避免算法時,擁塞窗口在一個連接往返時間RTT內增加一個最大TCP包長度的量,一般實現時用以下公式計算:
      cwnd += max(SMSS*SMSS/cwnd, 1)            (2.1)
SMSS為發送方MSS。

TCP發送方檢測到數據包丟失時,需要調整ssthresh,一般按下面公式計算:
      ssthresh = max (FlightSize / 2, 2*SMSS)    (2.2)
其中FlightSize表示已經發送但還沒有被確認的數據量。
 
3. 快速重傳(fast retransmit)和快速恢復(fast recovery)

TCP接收方收到錯序的TCP包時要發送復制的ACK包回應,提示發送方可能出現網絡丟包;發送方
收到連續3個重復的ACK包后啟動快速重傳算法,根據確認號快速重傳那個可能丟失的包而不必等
重傳定時器超時后再重傳,普通的重傳是要等到重傳定時器超時還沒收到ACK才進行的。這個算
法是TCP發送方應該(SHOULD)實現的,不是必須。TCP發送方進行了快速重傳后進入快速恢復階段
,直到沒再接收重復的ACK包。

快速重傳和快速恢復具體過程為:
1. 當收到第3個重復的ACK包時,ssthreh值按公式2.2重新設置;
2. 重傳丟失的包后,將擁塞窗口cwnd設置為sshresh+3*SMSS,人工擴大了擁塞窗口;
3. 對于每個接收到的重復的ACK包,cwnd相應增加SMSS,擴大擁塞窗口;
4. 如果新的擁塞窗口cwnd值和接收方的通告窗口值允許的話,可以繼續發新包;
5. 當收到下一個ACK確認了新數據時,將cwnd大小調整為sshresh,減少窗口;對接收方
   來說,接收到重發的TCP包后就要發此ACK確認當前接收的數據。
 
4. 結論
這些算法重點在于保持網絡的可靠性和可用性,防止網絡阻塞造成的網絡崩潰,是相對
比較保守的。

5. 附錄討論

A君: 這些算法都是針對通信雙方的事, 但如果從開發防火墻等中間設備的角度來看,
     中間設備有必要考慮這些么?
端木: 這個...我好象也看不出必要性,因為算法的參數都是在雙方內部而不在TCP數據包
      中體現...但應該會讓中間設備輕松點,這個就象在馬路開車,這些算法就是交規
      讓你開得規矩點,交警只關心你開車的情況,而不管你開的是什么車,開得好交警
      也輕松。好車可以讓你很容易開好,但差車也可以開好。

A君: 這些算法原型提出也很早了, 最早是88年的事, 當時網絡都處于初級階段, 有個
     9600bps的貓就很牛了, 計算機性能也很差, 因此實施這些算法還有點用; 但現
     在過了快20年了, 百兆都快淘汰, 千兆, 萬兆網絡都快普及了, 即使PC機的內存
     也都上G了,再規矩這種幾K級別的數據量有意思么? 就好象現在噴氣式戰斗機都到
     第4代了, 再研究螺旋槳戰斗機還有意思么?
端木: 這個...這個就象病毒庫了, 里面不也有無數的DOS時代的病毒, 你以后這輩子估計
      都見不著的,但沒有哪個防病毒廠商會把這些病毒從庫中剔除,庫是只增不減的。
      有這么個東西也是一樣,正因為平時沒用,誰也不注意,知道了就可以吹一吹,
      尤其拿去唬唬人是很有效的!

A君: 你真無聊!
端木: You got it! 不無聊干嗎寫博客啊!

端木: 搞技術有時候是很悲哀的一件事,必須牽扯七大姑八大姨的很多老東西,也就是向下
      兼容,到一定程度將成為進一步發展的最大障礙,講一個從smth看到的不是笑話
      的笑話:

    現代鐵路的鐵軌間距是4英尺8點5英寸,鐵軌間距采用了電車輪距的標準,而電車輪距
的標準則沿襲了馬車的輪距標準。
    馬車的輪距為何是4英尺8點5英寸?原來,英國的馬路轍跡的寬度是4英尺8點5英寸。
如果馬車改用其他尺寸的輪距,輪子很快就會在英國的老馬路上撞壞。
    英國馬路的轍跡寬度又從何而來?這可以上溯到古羅馬時期。整個歐洲(包括英國)的老路都是羅馬人為其軍隊鋪設的,4英尺8點5英寸正是羅馬戰車的寬度。
    羅馬戰車的寬度又是怎么來的?答案很簡單,它是牽引一輛戰車的兩匹馬的屁股的總寬度。
    段子到這里還沒有結束。美國航天飛機的火箭助推器也擺脫不了馬屁股的糾纏———火箭助推器造好之后要經過鐵路運送,而鐵路上必然有一些隧道,隧道的寬度又是根據鐵軌的寬度而來。代表著尖端科技的火箭助推器的寬度,竟然被兩匹馬的屁股的總寬度決定了。
轉自:
http://www.shnenglu.com/prayer/archive/2009/04/20/80527.html
posted on 2010-01-08 23:34 chatler 閱讀(590) 評論(0)  編輯 收藏 引用 所屬分類: Network
<2008年7月>
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789

常用鏈接

留言簿(10)

隨筆分類(307)

隨筆檔案(297)

algorithm

Books_Free_Online

C++

database

Linux

Linux shell

linux socket

misce

  • cloudward
  • 感覺這個博客還是不錯,雖然做的東西和我不大相關,覺得看看還是有好處的

network

OSS

  • Google Android
  • Android is a software stack for mobile devices that includes an operating system, middleware and key applications. This early look at the Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language.
  • os161 file list

overall

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            一本久久综合| 午夜精品久久久久久久白皮肤| 欧美在线免费观看亚洲| 亚洲一区国产| 国产精品区一区二区三| 欧美在线免费观看亚洲| 欧美一区二区三区的| 国产亚洲精品久久飘花| 久久视频在线看| 老司机免费视频久久| 亚洲伦理精品| 亚洲天堂第二页| 国产亚洲欧洲997久久综合| 另类激情亚洲| 欧美电影免费观看高清| 亚洲伊人网站| 欧美一区激情视频在线观看| 在线观看日韩av| 亚洲精品老司机| 国产欧美精品日韩精品| 久久久五月婷婷| 欧美精品在欧美一区二区少妇| 亚洲视频一区二区在线观看 | 欧美在线日韩在线| 久久久噜噜噜久久狠狠50岁| 亚洲人成人77777线观看| 夜夜嗨av一区二区三区网站四季av| 国产精品成人av性教育| 蜜臀91精品一区二区三区| 一区二区激情| 国产亚洲成av人在线观看导航| 蜜桃久久精品乱码一区二区| 欧美激情二区三区| 亚洲一区制服诱惑| 久久亚洲国产精品日日av夜夜| 中文网丁香综合网| 久久中文在线| 先锋a资源在线看亚洲| 欧美91大片| 欧美一区二区视频在线| 欧美a一区二区| 久久精品二区亚洲w码| 欧美日本高清视频| 久久久久久精| 国产九九精品| 一本色道久久综合亚洲91| 亚洲第一伊人| 性欧美video另类hd性玩具| 亚洲免费观看高清完整版在线观看熊| 亚洲欧美日韩在线不卡| 夜久久久久久| 欧美激情精品久久久久久| 久久久久久穴| 国产日韩欧美日韩大片| 一区二区三区免费看| 亚洲日本中文| 美女精品视频一区| 久久资源在线| 国产一区二区视频在线观看 | 午夜日韩激情| 国产精品福利网| 日韩亚洲精品电影| 99精品国产在热久久婷婷| 另类图片综合电影| 蜜臀av在线播放一区二区三区 | 久久久蜜臀国产一区二区| 欧美一区二区三区四区视频| 欧美天天影院| 一区二区日韩精品| 亚洲综合色丁香婷婷六月图片| 欧美精品v国产精品v日韩精品 | aa级大片欧美| 欧美日韩一区高清| 亚洲视频久久| 欧美中文字幕在线观看| 国产乱肥老妇国产一区二| 亚洲伊人网站| 久久精品在线播放| 激情综合色丁香一区二区| 久久成人资源| 欧美国产日韩一区| 亚洲激情一区二区三区| 欧美激情偷拍| 中文无字幕一区二区三区| 欧美一区二区三区免费视| 国产欧美一区二区在线观看| 欧美一区二区日韩一区二区| 久久免费视频观看| 亚洲成色最大综合在线| 欧美成人久久| 亚洲性图久久| 久热精品在线视频| 亚洲美女91| 国产精品人成在线观看免费| 欧美在线精品免播放器视频| 免费欧美在线视频| 99爱精品视频| 国产午夜精品一区二区三区视频| 久久精品国产亚洲精品| 亚洲国产精品久久| 欧美一区成人| 亚洲国产另类久久久精品极度| 欧美区日韩区| 久久久91精品国产一区二区精品| 欧美激情视频一区二区三区不卡| 一区二区三区四区精品| 国产一区二区三区在线免费观看| 麻豆久久精品| 亚洲欧美日韩国产成人| 亚洲第一在线| 欧美在线一级视频| 日韩一区二区久久| 国语自产精品视频在线看抢先版结局 | 国产精品日日摸夜夜摸av| 午夜精品一区二区三区在线| 久久香蕉精品| 国产在线不卡精品| 欧美日韩中文字幕在线| 欧美一区二区日韩一区二区| 欧美国产大片| 午夜精品久久久久久久男人的天堂| 国产尤物精品| 国产精品系列在线播放| 另类春色校园亚洲| 亚洲一区二区综合| 亚洲国产日韩一区二区| 香港成人在线视频| 在线天堂一区av电影| 国内精品久久久久久影视8| 久久精品一区二区三区中文字幕| 亚洲高清二区| 久久精品视频在线观看| 亚洲永久网站| 亚洲美女福利视频网站| 国产午夜精品久久| 欧美日韩免费高清| 欧美激情五月| 久久久青草青青国产亚洲免观| 99精品免费| 欧美激情一区二区三区高清视频| 午夜日韩视频| 国产一区视频网站| 国产精品国产三级国产普通话99 | 欧美福利视频| 欧美亚洲自偷自偷| 亚洲私拍自拍| 日韩一级大片在线| 99热免费精品| 亚洲另类自拍| 亚洲激情另类| 欧美第十八页| 亚洲国产精品久久久久秋霞蜜臀| 久久久午夜视频| 久久久久一本一区二区青青蜜月| 亚洲一区影音先锋| 亚洲精品欧美激情| 一区二区三区成人精品| 日韩视频在线观看国产| 91久久线看在观草草青青| 禁断一区二区三区在线| 国产一区二区观看| 国产有码一区二区| 黄色成人精品网站| 黑丝一区二区三区| 国产一区二区在线免费观看 | 欧美 日韩 国产一区二区在线视频| 欧美一级大片在线免费观看| 亚洲精品男同| 99在线|亚洲一区二区| 最新日韩在线| 日韩系列在线| 亚洲一区二区四区| 欧美在线观看网址综合| 欧美在线观看视频在线| 久久久精品日韩| 久久综合国产精品| 久久婷婷国产综合尤物精品| 久久久噜噜噜久久久| 六月婷婷一区| 亚洲无线观看| 久久先锋影音av| 女女同性精品视频| 国产精自产拍久久久久久蜜| 国产亚洲福利| 亚洲成色最大综合在线| 99精品欧美一区二区三区| 一区二区三区黄色| 久久成人国产精品| 欧美本精品男人aⅴ天堂| 亚洲人成亚洲人成在线观看| 夜夜嗨一区二区三区| 性色av一区二区怡红| 欧美jizz19hd性欧美| 欧美日韩日本国产亚洲在线| 国产精品综合| 最新中文字幕亚洲| 欧美一区二区三区成人| 欧美va天堂| 亚洲一区二区欧美| 久久久一区二区|