[TCP] TCP關閉的四步程序

URL Link //n.sfs.tw/10390

2016-12-06 23:10:21 By 張○○

TCP三向交握大概普遍的人都知道,但是TCP關閉的四個步驟可能比較少人瞭解,此文說明TCP close 4 steps

原本是記載於我的紙本筆記,因為筆記發霉了,又常常找不到,所以做成數位典藏。

關於 MSL[1][2]

MSL 是 the maximum segment lifetime

在發起者收到接收者的FIN封包時,並不會立即關閉,而是會等待2個MSL時間,預設1MSL是120分鐘,2MSL即4分鐘。這樣做是為了防止發送者最後送出的ACK(N+1)沒被接收者收到,接收者未接收到ACK(N+1)就會在LAST_ACK狀態,會再重發FIN給發起者,此時發起者若在TIME_WAIT狀態,就能重發ACK給接收者。

參考資料

[1] 輕描淡寫的低調 TCP TIME_WAIT的釋義 

[2] 關於MSL http://www.vorlesungen.uni-osnabrueck.de