summaryrefslogtreecommitdiff
path: root/High Latency TCP Might Be Caused By TCP No Delay.md
diff options
context:
space:
mode:
authorJasper Ras <jaspert.ras@gmail.com>2025-08-03 16:51:35 +0200
committerJasper Ras <jaspert.ras@gmail.com>2025-08-03 16:51:35 +0200
commit19150baf3963c234158a79dea8974017bd0c0de4 (patch)
treefe2d6ff162bde82629b2bad32ec8dc4f22cefd06 /High Latency TCP Might Be Caused By TCP No Delay.md
parent8800edbb04ae0e1a015c1aa7aeea62174369a401 (diff)
parentcb2d833329c58d00229056c01538fa097ecb03ca (diff)
vault backup: 2025-08-03 16:51:35
Diffstat (limited to 'High Latency TCP Might Be Caused By TCP No Delay.md')
-rw-r--r--High Latency TCP Might Be Caused By TCP No Delay.md14
1 files changed, 14 insertions, 0 deletions
diff --git a/High Latency TCP Might Be Caused By TCP No Delay.md b/High Latency TCP Might Be Caused By TCP No Delay.md
new file mode 100644
index 0000000..a70efc1
--- /dev/null
+++ b/High Latency TCP Might Be Caused By TCP No Delay.md
@@ -0,0 +1,14 @@
+[[TCP]] [[Networking]]
+
+# High Latency TCP Might Be Caused By TCP No Delay
+https://brooker.co.za/blog/2024/05/09/nagle.html
+
+Describes a situation where two algorithms in TCP bite each other:
+- Nagle's algorithm tries to prevent sending very small data packets to minimze header overhead
+- Delayed ACK delays acks until data's ready
+
+So the first holds packets back until an ACK is received, the second holds ACK until the response is ready.
+
+Also due to modern systems the penalty for small datagrams is much lower.
+
+To get rid of Nagle's algorithm when latency matters: enable TCP_NODELAY.