Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
30 lines (23 sloc) 1.2 KB

简述 TCP 的四次挥手,三次挥手可以吗

::: tip Issue 欢迎在 Issue 中交流与讨论: Issue 183 :::

::: tip Author 回答者: manondidi :::

第一次挥手 客户端 发送 fin 给服务端 第二次回收 服务端 发送 ack 给客户端 中间服务端 可能还有数据传输 第三次挥手 服务端 发送 fin 给客户端 第四次挥手 客户端 发送 ack 给 客户端 上述四个挥手 分别 类比 两人再打电话 A对B说 我说完了 B对A说 我知道了 中间 b还有话说 B再对A说 我也说完了 A再对B说 我知道了 双方挂断电话

如果只有两次 即A对B说我说完了 而没有ack, A不确定B是否知道"A我说完了"这句话B听到没有 同理,第三次挥手 B对A说我说完了, 还没等A回答我知道了就挂断,有可能A不知道B已经说完.

tcp协议之所以可靠 就是由于 三次握手四次挥手 建立的连接, 以及ack回执机制, 如果传输过程中连接断开 又会重新三次握手建立连接, 如果一直没收到ack, 发送方会一直发送相同的消息,等待另一方发ack回执回来

You can’t perform that action at this time.