原文:TCP釋放連接時為什么time_wait狀態必須等待2MSL時間

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

2017-01-09 19:37 1 13360 推薦指數:

查看詳情

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

Wed Jun 10 19:26:00 CST 2015 0 9478
什么是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
TCP四次揮手為何需要TIME_WAIT以及為何是2MSL

根據第三版《UNIX網絡編程 卷1》2.7節,TIME_WAIT狀態的主要目的有兩個: 優雅的關閉TCP連接,也就是盡量保證被動關閉的一端收到它自己發出去的FIN報文的ACK確認報文; 處理延遲的重復報文,這主要是為了避免前后兩個使用相同四元組的連接中的前一個連接的報文干擾后一個 ...

Sat Mar 14 01:31:00 CST 2020 0 1004
TCP連接TIME_WAIT和CLOSE_WAIT 狀態解說

相信很多運維工程師遇到過這樣一個情形: 用戶反饋網站訪問巨慢, 網絡延遲等問題, 然后就迫切地登錄服務器,終端輸入命令"netstat -anp | grep TIME_WAIT | wc -l " 查看一下, 接着發現有幾百幾千甚至幾萬個TIME_WAIT 連接數. 頓時慌了 ...

Tue Nov 20 21:12:00 CST 2018 2 7336
Time-wait狀態(2MSL)一些理解

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

Sat Oct 10 02:54:00 CST 2020 0 876
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM