summaryrefslogtreecommitdiff
path: root/High Latency TCP Might Be Caused By TCP No Delay.md
diff options
context:
space:
mode:
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.