Hacker News new | past | comments | ask | show | jobs | submit login

"Also, the Linux kernel doesn't always enable delayed ACKs -- to reproduce this I actually had to write a Python program that explicitly turns them on. I haven't been able to find a clear explanation of exactly when delayed ACKs are used."

Delayed ACKs can be enabled on Linux kernels 3.11+ with ip(8).

  ip route change ROUTE quickack 1
On MacOS and Windows, delayed ACKs can be configured through sysctl and the registry, respectively.

Delayed ACKs may be used in response to congestion.

For example, in bulk, i.e., non-interactive, transfers with large packets, delayed ACKs can be useful.

This is covered in Chapters 15 (15.3) and 16 of Stevens' TCP/IP Illustrated Vol. 1.

This draft suggests delayed ACKs are useful during TLS handshake.

https://tools.ietf.org/id/draft-stenberg-httpbis-tcp-03.html

Also, socat allows for setting TCP options via setsockopt. No need to write a new program.




   ip route change ROUTE quickack 1 dev STRING




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: