鍍金池/ 問答/Java  PHP  Python  Linux  網(wǎng)絡(luò)安全/ 關(guān)于Tcp TIME_WAIT的疑問

關(guān)于Tcp TIME_WAIT的疑問

如果客戶端與服務(wù)器的一個socket關(guān)閉了(tcp連接關(guān)閉了)那么在短時間內(nèi)(書上說是兩分鐘)客戶端是不能重新建立起一個一模一樣的socket的。那么我的理解是:加入我連接了百度,那么因?yàn)槟撤N原因tcp連接終止了,那么我在兩分鐘之內(nèi)不能再訪問百度?這顯然是不可能的因?yàn)楝F(xiàn)實(shí)中從來沒有遇到過這種問題。那么又該怎么理解TIME_WAIT這個東西呢?

回答
編輯回答
熊出沒

local peer主動調(diào)用close后,此時的TCP連接進(jìn)入TIME_WAIT狀態(tài),處于該狀態(tài)下的TCP連接不能立即以同樣的四元組建立新連接,即發(fā)起active close的那方占用的local port在TIME_WAIT期間不能再被重新分配。由于TIME_WAIT狀態(tài)持續(xù)時間為2MSL,這樣保證了舊TCP連接雙工鏈路中的舊數(shù)據(jù)包均因過期(超過MSL)而消失,此后,就可以用相同的四元組建立一條新連接而不會發(fā)生前后兩次連接數(shù)據(jù)錯亂的情況。

2017年2月24日 00:52
編輯回答
玩控

有些系統(tǒng)中是有這個限制的

2017年8月31日 16:06