<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # 關于三次握手 ![](https://box.kancloud.cn/2b2c1266ee365806731e914624526f8c_668x623.png) ## 作用 1. client和server各自同時確認接受能力和發送能力是否正常。 2. 指定初始序列號ISN,為之后的報文傳輸做準備。 3. https協議下,數字證書加密 ## client和server的狀態 * CLIENT * closed:默認狀態 * SYN-SENT:client往server發送syn報文之后 * established:client接收到server的syn+ack,并發送ack報文之后 * SERVER * listen:默認狀態 * SYN_RECEIVED:收到client發出的syn,并且發送ack+syn報文之后 * established:收到client發出的ack報文之后 ## 序列號ISN的作用 syn報文和ack報文中包含了序列號ISN,通過對比ISN來判斷syn和ack是否匹配。 syn和ack報文中的序列號ISN相減,差等于1。 ISN序列號的另外一個功能是,在接收方收到多個包之后根據序列號組裝數據 # 關于四次揮手 ![](https://box.kancloud.cn/52d04b2261838ec5aa1e21bf3e757ad7_674x834.png) ## client和server的狀態基 * client * 發送FIN package:establish -> FIN_WAIT_1 * 接收ACK package:FIN_WAIT_1 -> FIN_WAIT_2 * 接收FIN package,發送ACK package:FIN_WAIT_2 -> TIME_WAIT * 等待2MSL之后:TIME_WAIT -> CLOSED * server * 接收FIN packet,發送ACK packet:establish -> CLOSE_WAIT * 等待數據包發送完畢,發送FIN package:CLOSE_WAIT -> LAST_ACK * 接收ACK package:LAST_ACK -> CLOSED ## Client從TIME_WAIT切換到CLOSED Client確認ACK報文已到達Server之后將狀態由TIME_WAIT切換到CLOSED。 確認到達的方式: 1. Server在沒有收到AKC報文的情況下,會重新往Client發送FIN報文,再等待Client返回AKC報文。如果在一個請求的來回周期內Client沒有重復收到FIN報文,表示Server已經收到了client發送的ACK報文。 ***** # 3次握手,4次揮手,TIME_WAIT的意義 ## 3次握手 * 確認client,server雙方各自的收發能力正常 * 假如server不需要發送syn包,在接收完client的syn包之后就進入establish狀態,由于網絡傳輸的不穩定性,可能出現已被client確認無效的syn包,延遲到達了server,server進入空等client數據的狀態。 ## 四次揮手 * 因為TCP連接是全雙工的網絡協議,需要確認client和server都完成了數據發送 ## TIME_WAIT狀態的意義 client在等待兩個兩個最長等待時間之后,由TIME_WAIT切換為CLOSED。client發送的ack package可能意外丟失,需要重新發送ack package
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看