原文:TCP連接狀態與2MSL等待時間

連接狀態圖 建立連接:三次握手,不使用DNS和使用DNS 關閉連接 四次握手 連接雙方任何一方調用close 后,連接的兩個傳輸方向都關閉,不能再發送數據了。如果一方調用shutdown 則連接處於半關閉狀態,仍可接收對方發來的數據。 如果出現半關閉,例如客戶 gt 服務器方向關閉。則服務器還可以發,客戶端還可以收。 協議規定主動關閉一方,進入FIN WAIT gt TIME WAIT,必須等待 ...

2015-06-10 11:26 0 9478 推薦指數:

查看詳情

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狀態轉換圖、滑動窗口、半連接狀態2MSL

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

Fri Mar 31 19:13:00 CST 2017 0 3729
tcp四次揮手為什么要等待2MSL

  之前所說了解有兩個原因:   1、防止客戶端最后一次發給服務器的確認在網絡中丟失以至於客戶端關閉,而服務端並未關閉,導致資源的浪費。   2、等待最大的2msl可以讓本次連接的所有的網絡包在鏈路上消失,以防造成不必要的干擾。   但對於第二條造成不必要的干擾之前沒有做過多的解讀,今天在 ...

Sun Aug 04 07:39:00 CST 2019 0 1406
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

本文主要分析為什么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
為什么四次揮手等待2MSL

一、防止第四次揮手的報文段丟失,服務器端無法正常關閉。如果第四次揮手丟失,服務器端會重新發送第三次揮手的報文,請求斷開連接。 二、2MSL時間可以保證本次連接所有報文失效失效,防止“已失效的連接請求報文段”出現在本連接中,避免被服務器端認為是一個新的連接請求。 ...

Fri Sep 20 05:33:00 CST 2019 0 681
TCP time_wait為什么持續2MSL

情: 收到b的fin重傳(因為b沒有收到ack) 相當長一段時間——2MSL,都沒有收到b的fin ...

Thu Apr 11 23:05:00 CST 2019 0 806
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM