First page Back Continue Last page Overview Graphics
The Nagle Algorithm
The goal of the Nagle algorithm is to eliminate packets with one byte of TCP data
- 40 bytes of header,1 byte of data = 4000% overhead!
- This is usually ok on a LAN, but will rapidly congest a WAN
The Nagle algorithm forces TCP to refrain from transmitting a “small” packet until it receives an ACK for at least some of the data transmitted in the previous packet
- E.g.: Telnet characters accumulate for an RTT
- Self-clocking: very efficient!
- In many implementations “small” means anything less than the MSS
Not as important today as it was in 1984
- WAN links are much faster, most RTT’s are under 500 ms
- People type about 1 character per 200 ms
- Still manages to save bandwidth, but turned off in many performance critical applications (e.g., web servers)
- Also turned off in traffic generators that need to create TCP packets of a particular size