• <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>
            隨筆-162  評論-223  文章-30  trackbacks-0
               本文根據(jù)RFC793協(xié)議規(guī)范和BSD 4.4的實(shí)現(xiàn),總結(jié)了TCP分組丟失時的狀態(tài)變遷,如下圖所示:實(shí)線箭頭表示客戶端的狀態(tài)變遷,線段虛線箭頭表示服務(wù)端的狀態(tài)變遷,圓點(diǎn)虛線箭頭表示客戶端或服務(wù)端的狀態(tài)變遷;黑色文字表示正常時的行為,紅色文字表示分組丟失時的行為。

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

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

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

            ESTABLISHED
               1)連接階段第3次握手,客戶端發(fā)送ACK分組后,雖然丟失但會進(jìn)入該狀態(tài)(因?yàn)锳CK不需要確認(rèn)),但此時服務(wù)端還處于SYN_RCVD狀態(tài),因?yàn)槌瑫r收不到客戶端的ACK而重傳SYN+ACK、嘗試幾次后放棄、發(fā)送RST并關(guān)閉套接字,而此時客戶端收到RST。
               2)數(shù)據(jù)傳輸階段,本端發(fā)送的Data分組丟失,因此超時收不到對數(shù)據(jù)的確認(rèn)而重傳、嘗試幾次后放棄、發(fā)送RST并關(guān)閉套接字,而此時對端收到RST。

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

            TIME_WAIT
               關(guān)閉階段第4次握手,客戶端響應(yīng)的ACK分組丟失,導(dǎo)致服務(wù)端超時收不到ACK而重傳FIN、嘗試幾次后放棄、發(fā)送RST并關(guān)閉套接字,而此時客戶端收到RST。

            CLOSE_WAIT
               關(guān)閉階段第2次握手,服務(wù)端響應(yīng)的ACK分組丟失,導(dǎo)致客戶端超時收不到ACK而重傳FIN、嘗試幾次后放棄、發(fā)送RST并關(guān)閉套接字,而此時服務(wù)端收到RST。

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

            評論:
            # re: TCP分組丟失時的狀態(tài)變遷 2015-10-06 15:45 | Binky
            不錯  回復(fù)  更多評論
              
            久久国产乱子伦精品免费强| 狠狠色狠狠色综合久久| 久久国产成人午夜aⅴ影院| 久久精品女人天堂AV麻| 久久精品久久久久观看99水蜜桃| 久久久久亚洲Av无码专| 99久久免费国产精品| 亚洲综合伊人久久综合| 国内精品久久久久| 2020国产成人久久精品| 激情五月综合综合久久69| 1000部精品久久久久久久久| 久久人人爽人人爽人人片AV麻豆| 国产精品久久久久jk制服| 一本综合久久国产二区| 久久综合中文字幕| 国产高潮国产高潮久久久| 久久人人爽人人爽AV片| 亚洲成色999久久网站| 久久久久亚洲Av无码专| 婷婷国产天堂久久综合五月| 青青青青久久精品国产h| 亚洲人成网亚洲欧洲无码久久| 久久播电影网| 99久久婷婷国产一区二区| 精品一区二区久久| 久久99中文字幕久久| 99久久精品国产免看国产一区| 中文字幕乱码久久午夜| 尹人香蕉久久99天天拍| 精品视频久久久久| 99久久国产主播综合精品| 久久久久国产一级毛片高清版| 国内精品久久久久影院优| 国内精品人妻无码久久久影院| 777米奇久久最新地址| 国产精品久久网| 久久精品不卡| 一本色道久久综合| 国产亚洲精品久久久久秋霞| 天堂久久天堂AV色综合|