为什么TCP挥手时不能像握手那样三次完成

Posted linsenli

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么TCP挥手时不能像握手那样三次完成相关的知识,希望对你有一定的参考价值。

TCP是全双工的,A发起断开连接操作只能说明A不发送任何数据了,B的ACK确认收到断开请求,而B可以选择不断开,继续向A发送数据。(此时服务器是 CLOSE-WAIT 状态,TCP连接出于半关闭状态,即A已经没有数据要发送了,但B若发送数据,A仍要接受,这个状态可能会持续一段时间)

如果服务器段将ACK(第二次挥手)和FIN(第三次挥手)合并成一块发过去的话,这就意味着一方关闭,另一方也要被迫关闭,同时代表若此时有服务器继续单向的发送片段给客户端的需求则无法实现。

以上是关于为什么TCP挥手时不能像握手那样三次完成的主要内容,如果未能解决你的问题,请参考以下文章

关于TCP的三次握手和四次挥手及其衍生问题

一文搞懂TCP的三次握手和四次挥手

计算机网络 TCP三次握手 四次挥手 以及面试会碰到的相关问题(二次握手 四次握手)

tcp 三次握手,四次挥手

网络 之 三次握手&四次挥手 介绍

TCP三次握手在服务器端是由哪个函数完成的?