日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

TCP协议三步挥手与四步挥手

發布時間:2025/3/21 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 TCP协议三步挥手与四步挥手 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

關于TCP協議

TCP(Transmission Control Protocol, 傳輸控制協議)是一種面向連接的、可靠的、基于字節流的傳輸層通信協議。與之對應的是UDP(User Datagram Protocol ,用戶數據報協議),是不可靠傳輸層協議。

三步握手

可以想象兩人用對講機交談。

A:我準備好了你準備好了嗎,收到請回答。 B:收到收到,我也準備好了,收到請回答。 A:收到收到

?

?

  • 客戶端發送 SYN報文給服務器端,序列號是n,進入 SYN_SEND 狀態。

  • 服務器端收到 SYN 報文,回應一個ACK(序列號是n+1)同時發一個 SYN (序列號是m),進入 SYN_RECV 狀態。

  • 客戶端收到服務器端的 SYN 報文,回應一個 ACK(序列號是m+1)報文,進入 Established 狀態。

  • 四步揮手

    ?

    ?

  • 客戶端發送一個 FIN ,告訴服務器想關閉連接。

  • 服務器收到這個 FIN ,發回一個 ACK。

  • 服務器通知應用程序關閉網絡連接,應用程序關閉后通知服務器。服務器發送一個 FIN 給客戶端 。

  • 客戶端發回 ACK 報文確認。

  • 為什么揮手要四步

    這是因為服務端的 LISTEN 狀態下的 SOCKET 當收到客戶端建立連接請求的SYN 報文后,它可以把 ACK 和 SYN ( ACK 起應答作用,而 SYN 起同步作用)放在一個報文里來發送。但關閉連接時,當服務器收到客戶端的 FIN 報文通知時,服務器只能發一個回應報文ACK:“哦,我知道了”,然后通知應用程序。應用程序完成全部數據發送并確定可以終止了,服務器才能發送FIN告訴客戶端可以真正斷開連接了。所以這一步ACK報文和FIN報文需要分開發送,因此多了一個步驟。

    TCP報文格式

    ?

    ?

    • ACK : TCP協議規定,只有ACK=1時有效,也規定連接建立后所有發送的報文的ACK必須為1。

    • SYN(SYNchronization) : 在連接建立時用來同步序號。當SYN=1而ACK=0時,表明這是一個連接請求報文。對方若同意建立連接,則應在響應報文中使SYN=1和ACK=1. 因此, SYN置1就表示這是一個連接請求或連接接受報文。

    • FIN (finis)即完,終結的意思, 用來釋放一個連接。當 FIN = 1 時,表明此報文段的發送方的數據已經發送完畢,并要求釋放連接。

    轉載于:https://www.cnblogs.com/yaokai729/p/11300064.html

    總結

    以上是生活随笔為你收集整理的TCP协议三步挥手与四步挥手的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。