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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

TCP 的状态转换

發布時間:2024/9/30 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 TCP 的状态转换 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉換圖如下:

其中粗實線代表主動方動作;
虛線代表被動方動作;
細實線代表主動方和被動方同時的動作。

1、主動方

(1)主動建立連接過程:一般來講:客戶端主動、服務器被動(但不絕對)。
主動方原始處于 CLOSE(關閉狀態);然后向被動方發送 SYN 請求連接 ,這時 主動方處于 SYN_SENT
(主動打開狀態),此時等待被動方的 ACK 應答 ,得到應答的同時,被動方也會向主動方發送 SYN請求連接 ,主動方接收到這 2 個消息,同時回復被動方的請求 ,這時主動方處于 ESTABLISHED(數據傳輸狀態)。與三次握手對應如下:

(2)主動關閉連接過程:
主動方通信時處于 ESTABLISHED(數據傳輸狀態);當主動方向被動方發送 FIN 請求關閉時主動方端處于FIN_WAIT_1 狀態,此時等待被動方的ACK應答 ,當獲得被動方的ACK應答 時主動方處于FIN_WAIT_2(半關閉狀態);當獲得被動方 FIN 關閉請求,同時給予 ACK 應答時主動方處于 TIME_WAIT 狀態;經 過 2MSL 后主動方完全關閉,處于 CLOSE 狀態。
特別注意:FIN_WAIT_2(半關閉狀態)、 TIME_WAIT 這 2 個狀態是主動關閉方獨有的。

2、被動方

(1)被動建立連接過程:比如服務器。

(2)被動關閉連接過程:

查看當前運行狀態的 shell 命令:

netstat -apn | grep 端口號

在網絡編程中:
啟動./server 程序時服務器處于 LISTEN 狀態,等待客戶端連接;
接著./client 程序運行這時雙方都處于 ESTABLISHED即數據傳輸狀態;
數據傳輸過程中雙方都處于 ESTABLISHED 狀態;
一方主動調用 close ,這時主動方處于 FIN_WAIT_2(半關閉狀態),被動方處于 CLOSE_WAIT狀態;
然后另一方調用 close ,這時主動方先切換到 TIME_WAIT,經 2MSL,再到 CLOSE 被動方也處于 CLOSE狀態。

總結

以上是生活随笔為你收集整理的TCP 的状态转换的全部內容,希望文章能夠幫你解決所遇到的問題。

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