Nagle Algorithm
Early TCPs sent every application write in a separate packet
This was death for character-at-a-time logins over slow links
- link header + 40 bytes TCP/IP header + 1 byte data
Nagle algorithm (RFC896, Jan 1984) applies simple heuristic:
- If data avail for a max packet, send it
- Else, send only if no unacked data in flight
- I.e., stop-and-wait until requested throughput > 1 packet/round trip time