TIME_WAIT状态的一些总结
前言:
TCP斷開連接的四次握手中, 主動關閉連接的一方的TIME_WAIT狀態尤為重要。
1:TCP連接的三次握手和斷開的四次揮手
2:由上圖可知
在主動關閉的一方, 會經歷TIME_WAIT狀態, 而TIME_WAIT的持續時間是2MSL, 在這期間, 系統不會建立與此連接相同的連接(Sip:Sport and Dip:Dport),TIME_WAIT主要有兩個作用。
? ? ? ?2.1 實現可靠的四次揮手斷開連接
首先, 鏈路狀態是不可靠的, 但是TCP之所以在不可靠的鏈路上稱為可靠協議是因為他比較全面的報文確認機制, 假設沒有TIME_WAIT狀態, client收到對端的FIN分節發送ACK分節之后就變為了CLOSED狀態, 因為鏈路的不可靠, 這個ACK分節可能會丟失, 一旦超時服務器端就會重新發送FIN給client, 但此時的client已經CLOSED, 只能回應RST分節, 會造成server的異常關閉, 有了TIME_WAIT, 可在TIME_WAIT處再次接收FIN并回復ACK。
2.2 清除前一個連接的舊報文影響
所謂前一個連接, 是指前后兩個連接的四元組是一樣的,? 因為TIME_WAIT的時間是2MSL, 在這期間是禁止建立相同四元組的連接, 2MSL正好從FIN, ACK倆個方向上確保了舊連接的報文已經消失在了鏈路中了。
?
轉載于:https://www.cnblogs.com/Flychown/p/8024711.html
總結
以上是生活随笔為你收集整理的TIME_WAIT状态的一些总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Github 新学入门
- 下一篇: xenserver 脚本学习之/opt/