TCP delayed ACKs

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

 



Hi all!

While reading the source code for the TCP implementation in Linux (2.2.18) I 
noticed that delayed ACKs in Linux are implemented differently than in BSD. 
In BSD, a timer that goes off every 200 ms is used for sending those ACKs, 
which makes the delay a trifle hard to predict. Linux seems to set one timer 
per connection and ACK, and if the ACK can be piggybacked on a data packet, 
the timer is canceled. The timer interval seems to depend on the round-trip 
time of the connection. The algorithm also seems to use delayed ACKs only 
when the sender has gone out of slow start. Am I right?

I would be interested to know if anyone had more information on the delayed 
ACK timeout calculation, the slow start optimization, and the rationale for 
implementing it this way instead of the BSD way.

/adam
-- 
Adam Dunkels <adam@sics.se>
http://www.sics.se/~adam

-
: send the line "unsubscribe linux-net" in
the body of a message to majordomo@vger.kernel.org


[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