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

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

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

猜你喜欢

转载自www.cnblogs.com/LinsenLi/p/10480877.html
今日推荐