TCP第四次挥手为什么要等待2MSL
生活随笔
收集整理的這篇文章主要介紹了
TCP第四次挥手为什么要等待2MSL
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
當客戶端進入TIME-WAIT狀態(tài)的時候(也就是第四次揮手的時候),必須經(jīng)過時間計數(shù)器設置的時間2MSL(最長報文段壽命)后,才能進入關閉狀態(tài),這時為什么呢????
這最主要是因為兩個理由:
1、為了保證客戶端發(fā)送的最后一個ACK報文段能夠到達服務器。因為這個ACK有可能丟失,從而導致處在LAST-ACK狀態(tài)的服務器收不到對FIN-ACK的確認報文。服務器會超時重傳這個FIN-ACK,接著客戶端再重傳一次確認,重新啟動時間等待計時器。最后客戶端和服務器都能正常的關閉。假設客戶端不等待2MSL,而是在發(fā)送完ACK之后直接釋放關閉,一但這個ACK丟失的話,服務器就無法正常的進入關閉連接狀態(tài)。
2、他還可以防止已失效的報文段。客戶端在發(fā)送最后一個ACK之后,再經(jīng)過經(jīng)過2MSL,就可以使本鏈接持續(xù)時間內所產(chǎn)生的所有報文段都從網(wǎng)絡中消失。從保證在關閉連接后不會有還在網(wǎng)絡中滯留的報文段去騷擾服務器。
注意:在服務器發(fā)送了FIN-ACK之后,會立即啟動超時重傳計時器。客戶端在發(fā)送最后一個ACK之后會立即啟動時間等待計時器。
總結
以上是生活随笔為你收集整理的TCP第四次挥手为什么要等待2MSL的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 天猫魔屏N1和当贝D1怎么选?
- 下一篇: 单链表逆序的多种方式