原文:TCP四次揮手為何需要TIME_WAIT以及為何是2MSL?

根據第三版 UNIX網絡編程 卷 . 節,TIME WAIT狀態的主要目的有兩個: 優雅的關閉TCP連接,也就是盡量保證被動關閉的一端收到它自己發出去的FIN報文的ACK確認報文 處理延遲的重復報文,這主要是為了避免前后兩個使用相同四元組的連接中的前一個連接的報文干擾后一個連接。 很明顯,要實現上述兩個目標,TIME WAIT狀態需要持續一段時間,但這段時間應該是多長呢 如果只考慮上述第一個目標, ...

2020-03-13 17:31 0 1004 推薦指數:

查看詳情

TCP time_wait為什么持續2MSL

time_wait timewait先發起close的一端的第二階段: a fin b,b ack a,b fin a 此時a收到b的fin之后,a處於time_wait,a無法確定自己接下來的ack of fin是否被b收到,所以time_wait還是會持續一段時間。接着可能發生兩件事 ...

Thu Apr 11 23:05:00 CST 2019 0 806
tcp四次揮手為什么要等待2MSL

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

Sun Aug 04 07:39:00 CST 2019 0 1406
為什么四次揮手等待2MSL

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

Fri Sep 20 05:33:00 CST 2019 0 681
為什么TCPTIME_WAIT狀態要維持2MSL

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

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

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

Wed Jun 05 01:02:00 CST 2019 2 1798
TCP連接和TCP四次揮手及大量TIME_WAIT解決方法:

1.TCP建立連接,三 建立的TCP連接可靠的連接,必須經過三建立連接才能正式通信彼此傳輸數數據。 客戶端請求服務端建立連接 第一:客戶給服務發送一個請求報文SYN, 客戶端的狀態置SYN_SENT狀態 第二:服務端在收到客戶端發過來的SYN請求報文后 ...

Wed May 11 21:05:00 CST 2016 0 4625
tcp四次揮手,短連接time_wait問題(附有案例分析)

1.TCP圖: 2.TCP四次揮手圖: ①第一:主機1(可以使客戶端,也可以是服務器端),設置Seqr和Ack,向主機2發送一個FIN報文段;此時,主機1進入FIN_WAIT_1狀態;這表示主機1沒有數據要發送給主機2了; ②第二:主機2收到 ...

Thu Nov 08 01:09:00 CST 2018 0 1142
什么是2MSL以及TIME_WAIT的作用

TIME_WAIT主要是用來解決以下幾個問題: 1)上面解釋為什么主動關閉方需要進入TIME_WAIT狀態中提到的: 主動關閉方需要進入TIME_WAIT以便能夠重發丟掉的被動關閉方FIN包的ACK。如果主動關閉方不進入TIME_WAIT,那么在主動關閉方對被動關閉方FIN包的ACK丟失 ...

Wed Nov 21 18:34:00 CST 2018 0 3477
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM