• <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>
            隨筆-159  評論-223  文章-30  trackbacks-0
               本文根據RFC793協議規范和BSD 4.4的實現,總結了TCP分組丟失時的狀態變遷,如下圖所示:實線箭頭表示客戶端的狀態變遷,線段虛線箭頭表示服務端的狀態變遷,圓點虛線箭頭表示客戶端或服務端的狀態變遷;黑色文字表示正常時的行為,紅色文字表示分組丟失時的行為。

               這里假設重傳時分組依然會丟失,當在不同狀態(CLOSED除外)分組丟失后,最終會關閉套接字而回到CLOSED狀態。下面逐個分析各狀態時的情景。

            SYN_SENT
               連接階段第1次握手,客戶端發送的SYN分組丟失,因此超時收不到服務端的SYN+ACK而重傳SYN,嘗試幾次后放棄,關閉套接字。

            SYN_RCVD
               1)連接階段第2次握手,服務端響應的SYN+ACK分組丟失,因此超時收不到客戶端的ACK而重傳SYN+ACK,嘗試幾次后放棄,發送RST并關閉套接字。
               2)連接階段第3次握手,客戶端發送的ACK分組丟失,因此服務端超時收不到ACK而重傳SYN+ACK,嘗試幾次后放棄,發送RST并關閉套接字。
               3)同時打開第2次握手,本端響應的SYN+ACK分組丟失,因此對端超時收不到SYN+ACK而重傳SYN、嘗試幾次后放棄、發送RST并關閉套接字,而此時本端收到RST。

            ESTABLISHED
               1)連接階段第3次握手,客戶端發送ACK分組后,雖然丟失但會進入該狀態(因為ACK不需要確認),但此時服務端還處于SYN_RCVD狀態,因為超時收不到客戶端的ACK而重傳SYN+ACK、嘗試幾次后放棄、發送RST并關閉套接字,而此時客戶端收到RST。
               2)數據傳輸階段,本端發送的Data分組丟失,因此超時收不到對數據的確認而重傳、嘗試幾次后放棄、發送RST并關閉套接字,而此時對端收到RST。

            FIN_WAIT_1
               1)關閉階段第1次握手,客戶端發送的FIN分組丟失,因此超時收不到服務端的ACK而重傳FIN,嘗試幾次后放棄,發送RST并關閉套接字。
               2)關閉階段第2次握手,服務端響應的ACK分組丟失,因此客戶端超時收不到ACK而重傳FIN,嘗試幾次后放棄,發送RST并關閉套接字。
             
            FIN_WAIT_2
               關閉階段第3次握手,服務端發送的FIN分組丟失,因此超時收不到客戶端的ACK而重傳FIN、嘗試幾次后放棄、發送RST并關閉套接字,而此時客戶端收到RST。
             
            CLOSING
               同時關閉第2次握手,本端發送的ACK分組丟失,導致對端超時收不到ACK而重傳FIN、嘗試幾次后放棄、發送RST并關閉套接字,而此時本端收到RST。

            TIME_WAIT
               關閉階段第4次握手,客戶端響應的ACK分組丟失,導致服務端超時收不到ACK而重傳FIN、嘗試幾次后放棄、發送RST并關閉套接字,而此時客戶端收到RST。

            CLOSE_WAIT
               關閉階段第2次握手,服務端響應的ACK分組丟失,導致客戶端超時收不到ACK而重傳FIN、嘗試幾次后放棄、發送RST并關閉套接字,而此時服務端收到RST。

            LAST_ACK
               關閉階段第3次握手,服務端發送的FIN分組丟失,導致超時收不到客戶端的ACK而重傳FIN、嘗試幾次后放棄、發送RST并關閉套接字。
            posted on 2015-10-05 00:44 春秋十二月 閱讀(3302) 評論(1)  編輯 收藏 引用 所屬分類: Network

            評論:
            # re: TCP分組丟失時的狀態變遷 2015-10-06 15:45 | Binky
            不錯  回復  更多評論
              
            狠狠色狠狠色综合久久| 国产精品免费久久久久久久久| 99久久精品国产一区二区| 一本伊大人香蕉久久网手机| 香蕉久久一区二区不卡无毒影院| 欧美日韩成人精品久久久免费看| 要久久爱在线免费观看| 一本久久a久久精品vr综合| 久久免费视频6| 一本色综合网久久| 国内精品伊人久久久久影院对白| 亚洲精品第一综合99久久 | 日本久久中文字幕| 亚洲国产成人久久综合一区77| 久久综合给合久久狠狠狠97色69| 99久久精品免费看国产一区二区三区| 中文字幕精品无码久久久久久3D日动漫 | 中文字幕久久欲求不满| 无码日韩人妻精品久久蜜桃| 国产精品gz久久久| 久久亚洲AV成人无码电影| 伊人久久成人成综合网222| 91久久精品91久久性色| 久久午夜免费视频| 人妻中文久久久久| 国产激情久久久久影院老熟女免费| 一本久久知道综合久久| 久久夜色撩人精品国产| 99久久精品免费看国产| 99久久精品无码一区二区毛片| 77777亚洲午夜久久多喷| 四虎国产精品成人免费久久| 久久香蕉一级毛片| 久久久久久久综合日本亚洲| 国产亚洲精品美女久久久| 久久人妻AV中文字幕| 午夜精品久久久久久久| 久久婷婷人人澡人人爽人人爱| 亚洲日韩欧美一区久久久久我| 亚洲AⅤ优女AV综合久久久| 久久久久亚洲精品无码网址 |