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