<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          TCP三次握手和四次揮手以及11種狀態(tài)

          共 2281字,需瀏覽 5分鐘

           ·

          2020-07-29 09:18

          三次握手

          置位概念:根據(jù)TCP的包頭字段,存在3個重要的標識ACK、SYN、FIN

          ACK:表示驗證字段 SYN:位數(shù)置1,表示建立TCP連接 FIN:位數(shù)置1,表示斷開TCP連接

          e322623158992f6a83d7b532751d9b89.webp

          三次握手過程說明:

          1.由客戶端發(fā)送建立TCP連接的請求報文,其中報文中包含seq序列號,是由發(fā)送端隨機生成的,并且將報文中的SYN字段置為1,表示需要建立TCP連接。(SYN=1,seq=x,x為隨機生成數(shù)值)

          2.由服務(wù)端回復客戶端發(fā)送的TCP連接請求報文,其中包含seq序列號,是由回復端隨機生成的,并且將SYN置為1,而且會產(chǎn)生ACK字段,ACK字段數(shù)值是在客戶端發(fā)送過來的序列號seq的基礎(chǔ)上加1進行回復,以便客戶端收到信息時,知曉自己的TCP建立請求已得到驗證。(SYN=1,ACK=x+1,seq=y,y為隨機生成數(shù)值)這里的ack加1可以理解為是確認和誰建立連接。

          3.客戶端收到服務(wù)端發(fā)送的TCP建立驗證請求后,會使自己的序列號加1表示,并且再次回復ACK驗證請求,在服務(wù)端發(fā)過來的seq上加1進行回復。(SYN=1,ACK=y+1,seq=x+1)

          四次揮手

          6081a38910dd4fd24038db7198f34693.webp

          四次揮手過程說明:

          1.客戶端發(fā)送斷開TCP連接請求的報文,其中報文中包含seq序列號,是由發(fā)送端隨機生成的,并且還將報文中的FIN字段置為1,表示需要斷開TCP連接。(FIN=1,seq=x,x由客戶端隨機生成)

          2.服務(wù)端會回復客戶端發(fā)送的TCP斷開請求報文,其包含seq序列號,是由回復端隨機生成的,而且會產(chǎn)生ACK字段,ACK字段數(shù)值是在客戶端發(fā)過來的seq序列號基礎(chǔ)上加1進行回復,以便客戶端收到信息時,知曉自己的TCP斷開請求已經(jīng)得到驗證。(FIN=1,ACK=x+1,seq=y,y由服務(wù)端隨機生成)

          3.服務(wù)端在回復完客戶端的TCP斷開請求后,不會馬上進行TCP連接的斷開,服務(wù)端會先確保斷開前,所有傳輸?shù)紸的數(shù)據(jù)是否已經(jīng)傳輸完畢,一旦確認傳輸數(shù)據(jù)完畢,就會將回復報文的FIN字段置1,并且產(chǎn)生隨機seq序列號。(FIN=1,ACK=x+1,seq=z,z由服務(wù)端隨機生成)

          4.客戶端收到服務(wù)端的TCP斷開請求后,會回復服務(wù)端的斷開請求,包含隨機生成的seq字段和ACK字段,ACK字段會在服務(wù)端的TCP斷開請求的seq基礎(chǔ)上加1,從而完成服務(wù)端請求的驗證回復。(FIN=1,ACK=z+1,seq=h,h為客戶端隨機生成)

          至此TCP斷開的4次揮手過程完畢

          11種狀態(tài)

          476fc0309db904c0b0d00d73213c9828.webp

          1.一開始,建立連接之前服務(wù)器和客戶端的狀態(tài)都為CLOSED;

          2.服務(wù)器創(chuàng)建socket后開始監(jiān)聽,變?yōu)長ISTEN狀態(tài);

          3.客戶端請求建立連接,向服務(wù)器發(fā)送SYN報文,客戶端的狀態(tài)變味SYN_SENT;

          4.服務(wù)器收到客戶端的報文后向客戶端發(fā)送ACK和SYN報文,此時服務(wù)器的狀態(tài)變?yōu)镾YN_RCVD;

          5.然后,客戶端收到ACK、SYN,就向服務(wù)器發(fā)送ACK,客戶端狀態(tài)變?yōu)镋STABLISHED;

          6.服務(wù)器端收到客戶端的ACK后變?yōu)镋STABLISHED。此時3次握手完成,連接建立!

          faeb5711f235bbe79ae034a3eed6e4af.webp

          由于TCP連接是全雙工的,斷開連接會比建立連接麻煩一點點。

          1.客戶端先向服務(wù)器發(fā)送FIN報文,請求斷開連接,其狀態(tài)變?yōu)镕IN_WAIT1;

          2.服務(wù)器收到FIN后向客戶端發(fā)送ACK,服務(wù)器的狀態(tài)圍邊CLOSE_WAIT;

          3.客戶端收到ACK后就進入FIN_WAIT2狀態(tài),此時連接已經(jīng)斷開了一半了。如果服務(wù)器還有數(shù)據(jù)要發(fā)送給客戶端,就會繼續(xù)發(fā)送;

          4.直到發(fā)完數(shù)據(jù),就會發(fā)送FIN報文,此時服務(wù)器進入LAST_ACK狀態(tài);

          5.客戶端收到服務(wù)器的FIN后,馬上發(fā)送ACK給服務(wù)器,此時客戶端進入TIME_WAIT狀態(tài);

          6.再過了2MSL長的時間后進入CLOSED狀態(tài)。服務(wù)器收到客戶端的ACK就進入CLOSED狀態(tài)。

          至此,還有一個狀態(tài)沒有出來:CLOSING狀態(tài)。

          CLOSING狀態(tài)表示:?客戶端發(fā)送了FIN,但是沒有收到服務(wù)器的ACK,卻收到了服務(wù)器的FIN,這種情況發(fā)生在服務(wù)器發(fā)送的ACK丟包的時候,因為網(wǎng)絡(luò)傳輸有時會有意外。

          ?LISTEN:等待從任何遠端TCP 和端口的連接請求。

          ?SYN_SENT:發(fā)送完一個連接請求后等待一個匹配的連接請求。

          ?SYN_RECEIVED:發(fā)送連接請求并且接收到匹配的連接請求以后等待連接請求確認。?ESTABLISHED:表示一個打開的連接,接收到的數(shù)據(jù)可以被投遞給用戶。連接的數(shù)據(jù)傳輸階段的正常狀態(tài)。

          ?FIN_WAIT_1:等待遠端TCP 的連接終止請求,或者等待之前發(fā)送的連接終止請求的確認。

          ?FIN_WAIT_2:等待遠端TCP 的連接終止請求。

          ?CLOSE_WAIT:等待本地用戶的連接終止請求。

          ?CLOSING:等待遠端TCP 的連接終止請求確認。

          ?LAST_ACK:等待先前發(fā)送給遠端TCP 的連接終止請求的確認(包括它字節(jié)的連接終止請求的確認)

          ?TIME_WAIT:等待足夠的時間過去以確保遠端TCP 接收到它的連接終止請求的確認。?TIME_WAIT?兩個存在的理由:?可靠的實現(xiàn)tcp全雙工連接的終止;?允許老的重復分節(jié)在網(wǎng)絡(luò)中消逝。

          ?CLOSED:不在連接狀態(tài)(這是為方便描述假想的狀態(tài),實際不存在)



          來源https://blog.51cto.com/jinlong/2065461

          版權(quán)申明:內(nèi)容來源網(wǎng)絡(luò),版權(quán)歸原創(chuàng)者所有。除非無法確認,我們都會標明作者及出處,如有侵權(quán)煩請告知,我們會立即刪除并表示歉意。謝謝!



          感謝閱讀1c788f0a5848381c9aa7a49151f9744e.webp



          瀏覽 13
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  九色91TM视频 | www.日本在线视频 | 高清无码免费在线 | 欧美性爱午夜视频 | 色色亚洲婷婷 |