<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>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                ## 三次握手 置位概念:根據TCP的包頭字段,存在3個重要的標識ACK、SYN、FIN > ACK:表示驗證字段 SYN:位數置1,表示建立TCP連接 FIN:位數置1,表示斷開TCP連接 ![](https://img.kancloud.cn/10/12/10120c842c2d4eafbf0a615f08afb272_685x508.png) 三次握手過程說明: ?1.由客戶端發送建立TCP連接的請求報文,其中報文中包含seq序列號,是由發送端隨機生成的,并且將報文中的SYN字段置為1,表示需要建立TCP連接。(SYN=1,seq=x,x為隨機生成數值) 2.由服務端回復客戶端發送的TCP連接請求報文,其中包含seq序列號,是由回復端隨機生成的,并且將SYN置為1,而且會產生ACK字段,ACK字段數值是在客戶端發送過來的序列號seq的基礎上加1進行回復,以便客戶端收到信息時,知曉自己的TCP建立請求已得到驗證。(SYN=1,ACK=x+1,seq=y,y為隨機生成數值)這里的ack加1可以理解為是確認和誰建立連接。 3.客戶端收到服務端發送的TCP建立驗證請求后,會使自己的序列號加1表示,并且再次回復ACK驗證請求,在服務端發過來的seq上加1進行回復。(SYN=1,ACK=y+1,seq=x+1) ## 四次揮手 ![](https://img.kancloud.cn/94/d9/94d99e490ca3b3ffa2291f7f34cfa8dd_654x498.png) 四次揮手過程說明: 1.客戶端發送斷開TCP連接請求的報文,其中報文中包含seq序列號,是由發送端隨機生成的,并且還將報文中的FIN字段置為1,表示需要斷開TCP連接。(FIN=1,seq=x,x由客戶端隨機生成) 2.服務端會回復客戶端發送的TCP斷開請求報文,其包含seq序列號,是由回復端隨機生成的,而且會產生ACK字段,ACK字段數值是在客戶端發過來的seq序列號基礎上加1進行回復,以便客戶端收到信息時,知曉自己的TCP斷開請求已經得到驗證。(FIN=1,ACK=x+1,seq=y,y由服務端隨機生成) 3.服務端在回復完客戶端的TCP斷開請求后,不會馬上進行TCP連接的斷開,服務端會先確保斷開前,所有傳輸到A的數據是否已經傳輸完畢,一旦確認傳輸數據完畢,就會將回復報文的FIN字段置1,并且產生隨機seq序列號。(FIN=1,ACK=x+1,seq=z,z由服務端隨機生成) 4.客戶端收到服務端的TCP斷開請求后,會回復服務端的斷開請求,包含隨機生成的seq字段和ACK字段,ACK字段會在服務端的TCP斷開請求的seq基礎上加1,從而完成服務端請求的驗證回復。(FIN=1,ACK=z+1,seq=h,h為客戶端隨機生成) 至此TCP斷開的4次揮手過程完畢 ## 11種狀態 ![](https://img.kancloud.cn/6d/eb/6deb966d7ab30e9437657cbe46d8a126_570x442.png) 1.一開始,建立連接之前服務器和客戶端的狀態都為CLOSED; 2.服務器創建socket后開始監聽,變為LISTEN狀態; 3.客戶端請求建立連接,向服務器發送SYN報文,客戶端的狀態變味SYN\_SENT; 4.服務器收到客戶端的報文后向客戶端發送ACK和SYN報文,此時服務器的狀態變為SYN\_RCVD; 5.然后,客戶端收到ACK、SYN,就向服務器發送ACK,客戶端狀態變為ESTABLISHED; 6.服務器端收到客戶端的ACK后變為ESTABLISHED。此時3次握手完成,連接建立! ![](https://img.kancloud.cn/46/6d/466d6615b720db48409fe28e8ae33a2c_530x441.png) 由于TCP連接是全雙工的,斷開連接會比建立連接麻煩一點。 1.客戶端先向服務器發送FIN報文,請求斷開連接,其狀態變為FIN\_WAIT1; 2.服務器收到FIN后向客戶端發送ACK,服務器的狀態圍邊CLOSE\_WAIT; 3.客戶端收到ACK后就進入FIN\_WAIT2狀態,此時連接已經斷開了一半了。如果服務器還有數據要發送給客戶端,就會繼續發送; 4.直到發完數據,就會發送FIN報文,此時服務器進入LAST\_ACK狀態; 5.客戶端收到服務器的FIN后,馬上發送ACK給服務器,此時客戶端進入TIME\_WAIT狀態; 6.再過了2MSL長的時間后進入CLOSED狀態。服務器收到客戶端的ACK就進入CLOSED狀態。 至此,還有一個狀態沒有出來:CLOSING狀態。 CLOSING狀態表示:?客戶端發送了FIN,但是沒有收到服務器的ACK,卻收到了服務器的FIN,這種情況發生在服務器發送的ACK丟包的時候,因為網絡傳輸有時會有意外。 ?LISTEN:等待從任何遠端TCP 和端口的連接請求。 ?SYN\_SENT:發送完一個連接請求后等待一個匹配的連接請求。 ?SYN\_RECEIVED:發送連接請求并且接收到匹配的連接請求以后等待連接請求確認。 ?ESTABLISHED:表示一個打開的連接,接收到的數據可以被投遞給用戶。連接的數據傳輸階段的正常狀態。 ?FIN\_WAIT\_1:等待遠端TCP 的連接終止請求,或者等待之前發送的連接終止請求的確認。 ?FIN\_WAIT\_2:等待遠端TCP 的連接終止請求。 ?CLOSE\_WAIT:等待本地用戶的連接終止請求。 ?CLOSING:等待遠端TCP 的連接終止請求確認。 ?LAST\_ACK:等待先前發送給遠端TCP 的連接終止請求的確認(包括它字節的連接終止請求的確認) ?TIME\_WAIT:等待足夠的時間過去以確保遠端TCP 接收到它的連接終止請求的確認。 ?TIME\_WAIT?兩個存在的理由: ?可靠的實現tcp全雙工連接的終止; ?允許老的重復分節在網絡中消逝。 ?CLOSED:不在連接狀態(這是為方便描述假想的狀態,實際不存在)
                  <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>

                              哎呀哎呀视频在线观看