TCP

** TCP NOTES **

TCP global synchronization occurs when a sudden burst of traffic causes simultaneous packet loss across many TCP sessions using a single (congested) link.  Each affected TCP session backs off its send rate at the same time, causing link utilization to go way down.  When link utilization is down packet loss is low or non-existent and therefore each affected TCP session increases its send rate at the same time, causing link utilization to go way up and causing severe congestion again, and the cycle repeats.  The result is a saw tooth shaped bandwidth utilization on the single link causing inefficient use of available bandwidth and inconsistent application throughput.

The leading cause of TCP global synchronization is sudden congestion causing numerous packet drops and simultaneously affecting many TCP flows all at once, as would typically happen in classic tail-drop queue management.  More intelligent queue management such as WRED (weighted random early discard) is designed to improve overall network performance by avoiding numerous and sudden packet drops that can cause TCP global synchronization.  WRED will randomly drop packets from a queue as it begins to fill, hoping that end stations who’s packets were dropped will offer less load and avoid the more consequential full queue scenario when tail drop begins dropping many packets.

The difference between RED and WRED is that WRED can take into consideration QoS markings in making decisions of which packets to drop, supporting a broader network wide or device specific QoS policy.