协议簇:TCP 解析: 连接断开
生活随笔
收集整理的這篇文章主要介紹了
协议簇:TCP 解析: 连接断开
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
簡介
接前文 協(xié)議簇:TCP 解析: 建立連接, 我們這篇文章來看看 TCP 連接斷開的過程,也就是眾所周知的”四次揮手“的具體流程.
系列文章
協(xié)議簇:TCP 解析:基礎
協(xié)議簇:TCP 解析:建立連接
協(xié)議簇:TCP 解析:連接斷開
協(xié)議簇:TCP 解析:Sequence Number
協(xié)議簇:TCP 解析:數(shù)據(jù)傳輸
斷開連接
通常情況
MSL: Maximum Segment Lifetime.
這里,我們假定 A 端為關閉連接的發(fā)起方.
從此刻此,A 端發(fā)送的任何數(shù)據(jù)包都會被 B端拒絕,但是,與此同時 A 端可以正常接收 B端發(fā)送的數(shù)據(jù)
處在這個狀態(tài)的 A 端會重傳FIN以及之前的數(shù)據(jù)包,直到接收到對方的 ACK.
B 端在收到 A 端的 ACK 之后,不會立馬發(fā)送 FIN 包. 只有當上層用戶調用 TCP Close 接口時才會發(fā)送 FIN 包到 A 端.
我們再使用 wireshark 抓包看看這個流程
上圖中的四條記錄便對應于上面流程中的 2-5 項. 至于數(shù)據(jù)包中各個字段的值,這里我們不關注.
雙發(fā)同時發(fā)起關閉連接
假設,A 端發(fā)送了 FIN,且還未收到 B 端發(fā)送的 FIN。 B端也發(fā)送了 FIN,且還未收到 A端發(fā)送的FIN.
發(fā)送完FIN之后,雙方的狀態(tài)均切換為 FIN-WAIT-1
稍后,雙發(fā)均收到了對方發(fā)送的 FIN, 需要回復對應的 ACK 給對方
收到對方的 ACK 之后,雙方狀態(tài)切換為 CLOSING 狀態(tài).
END!!!
總結
以上是生活随笔為你收集整理的协议簇:TCP 解析: 连接断开的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ios framework 调用第三方
- 下一篇: 天池竞赛-津南数字制造算法挑战赛【赛场二