Hi there,
currently I'm debugging the network traffic between two devices in the same network. The network architecture is quite simple.
Device 1 <-> Switch 1 <-> Switch 2 <-> Device 2
To verify the software on the devices, I check different scenarios. One of them is the correct reconnection after I unplugged the network cable between Switch 1 and Switch 2 and plugged it in again after few seconds.
I uploaded a wireshark capture to my onedrive: Wireshark capture
Packets 1-9 are correct communication.
Between Packet 9 and Packet 10 the cable is unplugged.
In Packet 10 Device 1 tries to send data to Device 2 without receiving ACK.
In Packets 11/12 Device 2 sends Keep-Alive messages.
Between Packet 12 and 13 the cable is plugged in again.
Packet 13 ACKs the last Keep-Alive message, which seems fine.
From now on, it gets weird. I only see TCP Dup ACK messages.
I assume that the TCP stacks get confused on the difference in the sequence numbers. While Device 1 thinks it's own sequence number is 49, Device 2 thinks it is 37. Device 1 does not support Fast Retransmission.
Can someone explain what is happening here? I'm struggeling to understand where the problem is. Is the problem in Device 1 where the TCP stack thinks it is on sequence number 49 while the package is not yet acknowledged or is it in Device 2?
I really appreciate your help.
Kindly, Philipp