I am relatively new to TCP. I am writing a small stack for our embedded system to eventually send an email. I have actually gotten it to connect to our email server and login. However, I'm getting retransmissions, and I don't know why. I'm hoping some of you experts can enlighten me as to why. https://www.cloudshark.org/captures/1e8542d7b55c Looking at this mostly 3 way handshake capture, the server sends a PSH ACK 220 packet (708), in which I ACK (709). Then, the retransmissions start. It looks like my sequence numbers are correct, so I'm not sure why the server didn't accept it. General Questions on the capture:
Thanks in advance. Sutton asked 28 Feb '17, 11:03 dodge55 |
One Answer:
1st) You've uploaded a filtered capture, so your packet numbers are useless. 2nd) Your ACK has a (relative) number of 2, which means only the first byte of the received 181 bytes are acknowledged, hence the retransmissions. answered 28 Feb '17, 11:37 Jaap ♦ |
When the client is taking over 800ms to ACK the SYN/ACK from the Server, I wouldn't expect too much "good" to follow.
Thanks for the tip. I found my problem in the sequence numbers. So, for now, things are working much better.
Sorry for the packet numbers. I didn't realize that exporting selective packets made the numbering scheme different.
I still haven't found out why my ACK to the SYN/ACK is taking so long. It seems to be fast some times and very slow others.
If an answer has solved your issue, please accept the answer for the benefit of other users by clicking the checkmark icon next to the answer. Please read the FAQ for more information.