我知道客户端和服务器是在三次握手过程中从服务器收到SYN ACK消息并向服务器发送ACK消息后连接起来的。连接后,当客户端将其他消息发送到服务器时,如果这些消息在客户端进行三次握手时发送的ACK消息之前到达服务器,会发生什么情况?
发布于 2020-06-11 14:11:25
如果客户端在进行三次握手时发送的确认消息之前到达服务器,会发生什么情况?
ACK只是TCP报头中的标志和最新接收的数据的序列号。它可以包含在空包中(即没有有效载荷,只有TCP报头),但也可以包含在有有效载荷的数据包中。只要接收到覆盖数据的ACK,则接收到具有ACK的特定分组是无关紧要的。
这意味着只要客户端发送的初始数据覆盖TCP握手的最终ACK就足够了。事实上,根本不需要从客户端发送独立的ACK (没有有效负载)来完成TCP握手,但是一旦客户端从服务器接收到SYN和ACK,客户端就可以开始发送数据。
https://stackoverflow.com/questions/62317699
复制相似问题