原文:TCP狀態轉換圖、滑動窗口、半連接狀態、2MSL

一 TCP狀態轉換圖 下圖對排除和定位網絡或系統故障時大有幫助,也幫助我們更好的編寫Linux程序,對嵌入式開發也有指導意義。 先回顧一下TCP建立連接的三次握手過程,以及關閉連接的四次握手過程: 建立連接協議 三次握手 客戶端發送一個帶SYN標志的TCP報文到服務器。這是三次握手過程中的報文 。 服務器端回應客戶端的,這是三次握手中的第 個報文,這個報文同時帶ACK標志和SYN標志。因此它表示對 ...

2017-03-31 11:13 0 3729 推薦指數:

查看詳情

TCP連接狀態2MSL等待時間

1 連接狀態圖 2 建立連接:三次握手,不使用DNS和使用DNS 3 關閉連接-四次握手 連接雙方任何一方調用close()后,連接的兩個傳輸方向都關閉,不能再發送數據了。如果一方調用shutdown()則連接處於半關閉狀態,仍可接收對方發來的數據。 如果出現半關閉 ...

Wed Jun 10 19:26:00 CST 2015 0 9478
Linux:TCP狀態/半關閉/2MSL/端口復用

TCP狀態 CLOSED:表示初始狀態。 LISTEN:該狀態表示服務器端的某個SOCKET處於監聽狀態,可以接受連接。 SYN_SENT:這個狀態與SYN_RCVD遙相呼應,當客戶端SOCKET執行CONNECT連接時,它首先發送SYN報文,隨即進入到了SYN_SENT狀態,並等待 ...

Tue Apr 10 18:56:00 CST 2018 0 1631
TCP釋放連接時為什么time_wait狀態必須等待2MSL時間

為什么上圖中的A在TIME-WAIT狀態必須等待2MSL時間呢? 第一,為了保證A發送的最后一個ACK報文能夠到達B。這個ACK報文段有可能丟失,因而使處在LAST-ACK狀態的B收不到對已發送的FIN+ACK報文段的確認。B會超時重傳這個FIN+ACK報文段,而A就能在2MSL時間內收到這個重傳 ...

Tue Jan 10 03:37:00 CST 2017 1 13360
為什么TCP的TIME_WAIT狀態要維持2MSL

本文主要分析為什么TIME_WAIT狀態的持續時間是2MSL而不是1MSL,3MSL或其它的時長,而不會詳細描述為什么需要TIME_WAIT狀態。 閱讀本文需要的預備知識: 了解TCP協議的狀態變遷; 了解TCP拆鏈的四次揮手過程; 了解為什么需要TIME_WAIT狀態 ...

Tue Jul 14 18:11:00 CST 2020 0 756
為什么tcp的TIME_WAIT狀態要維持2MSL

本文主要分析為什么TIME_WAIT狀態的持續時間是2MSL而不是1MSL,3MSL或其它的時長,而不會詳細描述為什么需要TIME_WAIT狀態。 閱讀本文需要的預備知識: 了解TCP協議的狀態變遷; 了解TCP拆鏈的四次揮手過程; 了解為什么需要TIME_WAIT狀態 ...

Wed Jun 05 01:02:00 CST 2019 2 1798
Time-wait狀態(2MSL)一些理解

1. 編寫TCP/SOCK 服務時,SO_REUSEADDR到底是什么意思? 這個套接字選項通知內核,如果端口忙,但TCP狀態處於TIME_WAIT,可以重用端口。如果端口忙,TCP狀態處於其他狀態,重用端口時依舊指明“地址已經在使用中”。如果你的服務程序停止后向立刻重啟,而新套接字依舊使用 ...

Sat Oct 10 02:54:00 CST 2020 0 876
TCP的三次握手以及TCP狀態轉換圖詳解

今天來討論一下TCP的三次握手以及TCP狀態轉換圖。首先發一個三次握手的流程圖如下: 圖 2.4-3、三向交握之封包連接模式 A:封包發起 當用戶端想要對服務器端發起連接時,就必須要送出一個要求連線的封包,此時用戶端必須隨機取用一個大於1024 以上的端口來 ...

Wed Jan 21 09:38:00 CST 2015 0 2173
線程的狀態轉換圖

轉:http://www.blogjava.net/liver/archive/2009/06/04/279924.html 線程在一定條件下,狀態會發生變化。線程變化的狀態轉換圖如下:   1、新建狀態(New):新創建了一個線程對象。   2、就緒狀態(Runnable):線程對象創建后 ...

Tue Mar 11 21:01:00 CST 2014 0 4490
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM