在学习序列号和确认号时,有一件事困扰着我。如果主机 A 通过使用某些已建立的 TCP 连接向主机 B 发送数据的以下场景是可能的,我无法为自己排除:主机 A 向主机 B 发送具有序列号 X 和确认号 Y 的数据。主机作为回报,B 发送回具有序列号 Y 和确认号 X+1 的数据。现在假设主机 B 发送的数据很慢。同时,来自 A 和 B的相同套接字之间的较早连接的数据仍然存在于网络中,并且意外地也具有序列号 X 到达主机 A。在这种情况下,A 会接受错误的数据包吗?它如何能够检测到它不是正确的数据包?还是我的场景根本没有意义?
编辑:添加了斜体部分。