Re: TCP delayed ACKs

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

 



On Thu, Apr 12, 2001 at 05:26:03PM +0200, Adam Dunkels wrote:
> 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?

Out of the beginning of slow start. It's also cancelled when two rcvmss
sized packets arrive. Yes.

> 
> 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.

Main goal was to make slow lines like PPP over 28.000baud behave better, where 200ms
leads to some suboptimal behaviour. Also it was easy enough with the linux TCP 
framework (I believe newer BSD are also moving to similar algorithms using finegrained
timers) 

-Andi

-
: 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