Networking 重新连接后TCP Dup ACK-序列号问题?

Networking 重新连接后TCP Dup ACK-序列号问题?,networking,tcp,wireshark,Networking,Tcp,Wireshark,目前,我正在调试同一网络中两个设备之间的网络流量。网络架构非常简单 设备1开关1开关2设备2 为了验证设备上的软件,我检查了不同的场景。 其中之一是在我拔下交换机1和交换机2之间的网络电缆并在几秒钟后再次插入后正确的重新连接 我将wireshark捕获上传到我的onedrive: 数据包1-9是正确的通信 在数据包9和数据包10之间,电缆被拔下 在数据包10中,设备1尝试向设备2发送数据而不接收ACK 在数据包11/12中,设备2发送保持活动的消息 在数据包12和13之间,再次插入电缆 数据包1

目前,我正在调试同一网络中两个设备之间的网络流量。网络架构非常简单

设备1开关1开关2设备2

为了验证设备上的软件,我检查了不同的场景。 其中之一是在我拔下交换机1和交换机2之间的网络电缆并在几秒钟后再次插入后正确的重新连接

我将wireshark捕获上传到我的onedrive:

数据包1-9是正确的通信

在数据包9和数据包10之间,电缆被拔下

在数据包10中,设备1尝试向设备2发送数据而不接收ACK

在数据包11/12中,设备2发送保持活动的消息

在数据包1213之间,再次插入电缆

数据包13确认最后一条保持活动状态的消息,这似乎没有问题

从现在开始,它变得很奇怪。我只看到TCP Dup ACK消息

我假设TCP堆栈会因为序列号的不同而混淆。 设备1认为它自己的序列号是49,而设备2认为它是37。 设备1不支持快速重传

有人能解释一下这里发生了什么吗?我很难理解问题出在哪里。 设备1中的问题是TCP堆栈认为它在序列号49上,而包尚未确认,还是设备2中的问题

我真的很感谢你的帮助

好心,
Philipp

如何配置第2层交换机来处理断开和重新连接?如果他们必须运行STP,可能需要一段时间。看起来两者都没有对重复的ack做出响应,如果他们收到它们,他们应该这样做;也许他们不是,尽管你确实看到了对话的双方。您是如何获取网络捕获的?我不知道它们是如何配置的。我会调查的。这是一个有趣的想法,他们甚至可能不会收到重复的ACK,即使他们被捕获。有一台捕获计算机连接到开关2。交换机2将整个通信量镜像到此端口。我假定您的意思是您跨越了交换机2上的一个端口,并且该端口是连接到交换机1的端口。我不确定STP运行时span是如何工作的。您可能希望分别跨越交换机2上的设备2端口和交换机1上的设备1端口,以查看它们各自看到的内容。