Strange SACK behavior in 2.2.x

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

 



Hello,

During experiments with delays and packet losses I have
noticed a strange behavior of the 2.2.17..19 kernels.

What I observe is that one or two segments are lost due to a full buffer
in a gateway (fbsd dummynet), and so subsequent segments are
selectively acknowledged.

After a while, the lost segments are retransmitted and properly
acknowledged. However, the segments previously SACK'ed are not
included in this acknowledgement, forcing retransmission of them.

AFAIK, since the reciever has sent an SACK for a segment, it is received
OK and probably buffered to be taken advantage of later, but
in my experiments they seem to have been discarded. It would be more
efficient (in terms of network utilization) to preserve them
and ACK them all when the missing segment(s) arrive.

For a visual description, see the zoomed tcptrace/xplot output at
http://www.cse.kau.se/~di5alfs/tt/closeup.ps

The xplot + pcap file is available in the 'tt' directory as well. The capture
is taken on the receiver. Also there is a delay + filled router buffer
between the sender and receiver, which is why there is no direct fast
retransmit after the dupacks, as I understand it.

Has anyone seen this before, or know what is going on?

Regards,
 Stefan



-
: send the line "unsubscribe linux-net" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[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