Dodgy SYN/mysterious ACK

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi there,

I'm trying to debug a TCP problem and I've rather run out of ideas, I
was wondering if anyone might be able to help me...

The problem I'm seeing relates to re-use of port/IP address
combinations. I'm connecting from port 12345 to Linux/lighttpd on port
80. I do an HTTP/1.0 request, the server sends me some data, then a
FIN/ACK. I ACK that, then send my own FIN/ACK. The connection goes
away for me, and goes to TIME_WAIT on the server.

If I try to reuse the the IP/port combination, normally everything
works fine, as lighttpd appears to use SO_REUSEADDR.

Sometimes, however, things do not go so well - I send a SYN to
initiate a new connection, and Linux/lighttpd responds by re-sending
the final ACK - I think I'm doing something wrong with either the
teardown of the old socket, or the SYN of the new connection which is
causing Linux/lighttpd to think the SYN is somehow part of the old
connection, so it retransmits the ACK as a reminder that the old
conversation is over. I respond with a RST, back off for three
seconds, then try again and connect OK. I'm mystified by the
retransmitted ACK though - can anyone explain what I'm doing wrong?

A capture is attached, taken on the Linux/lighttpd server.

Thanks,


Peter

Attachment: mystery_ack.pcap
Description: Binary data


[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux 802.1Q VLAN]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Git]     [Bugtraq]     [Yosemite News and Information]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux PCI]     [Linux Admin]     [Samba]

  Powered by Linux