Re: TCP being hoodwinked into spurious retransmissions by lack of timestamps?

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

 



On 03/03/2014 04:29 PM, Rick Jones wrote:
I've been looking at some packet traces of an application looking to
upload a Large Quantity (tm) of data to a server across the Big Bad
Internet (tm).  They've been Linux senders, and the destination while
supporting SACK and window scaling does not support TCP timestamps. (TCP
timestamp support was requested of the supplier of said server many many
months ago now.)

This destination system has been issuing RSTs at seemingly random points
in the middle of a large fraction of the attempted transfers.  In
looking at the traces, they all seem to be variations on the theme of
what is shown by:

ftp://netperf.org/retrans_question/for_netdev.png

which is a passing of ftp://netperf.org/retrans_question/for_netdev.pcap
through tcptrace -nG and zoomed-in to the end.  I've seen this with a
3.2.0 kernel as the sender, have reports of it happening with whatever
is in Fedora Core 20, and the traces above are from a 3.11.0 kernel as
the sender.

The large quantity of (likely) unnecessary retransmissions shouldn't be
triggering a RST by the receiver, but the failures consistently show
that and I was wondering if the (spurious) retransmissions were perhaps
"encouraged" (so to speak) by the lack of TCP Timestamps.

I have learned why the receiving TCP has reset the connection. It would seem that stack has a heuristic whereby if it receives more than 255 retransmissions in a window it will abort the connection.

rick jones
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel Discussion]     [TCP Instrumentation]     [Ethernet Bridging]     [Linux Wireless Networking]     [Linux WPAN Networking]     [Linux Host AP]     [Linux WPAN Networking]     [Linux Bluetooth Networking]     [Linux ATH6KL Networking]     [Linux Networking Users]     [Linux Coverity]     [VLAN]     [Git]     [IETF Annouce]     [Linux Assembly]     [Security]     [Bugtraq]     [Yosemite Information]     [MIPS Linux]     [ARM Linux Kernel]     [ARM Linux]     [Linux Virtualization]     [Linux IDE]     [Linux RAID]     [Linux SCSI]