1

About TCP global synchronization.

If we have several hosts having TCP connections with some other hosts (over the internet, for example) and our network is congested, if there was a burst of traffic, or generally, if too much traffic was being sent, the queue of the device receiving all this traffic would fill up and tail drop would occur, which would cause packets related to all these TCP connections to be dropped, retransmitted and sent at lower rates due to the window size? So every single TCP connection would just slow down?

2 Answers 2

2

Basically, yes. Any increase in traffic beyond the path capacity increases packet loss. TCP detects that loss and decreases the send window for that connection, decreasing individual bandwidth demand (highly simplified).

However, there's no "TCP global synchronization". Each individual hosts tracks each of its TCP connections and adjusts their window sizes accordingly.

Any congestion is specific to certain hops or links (even directional). Only traffic passing through those hops is affected by that congestion. Traffic running elsewhere is unaffected (unless there's congestion in its path as well).

1
  • 1
    "TCP global synchronization" is an emergent behaviour where TCP connections synchronize their window sizes even though they are running individually.
    – user253751
    Oct 19, 2022 at 16:53
3

TCP Global Synchronization refers to a queuing phenomenon. The Global means that all the TCP connections sending traffic through a queue will inadvertently synchronize send windows in congestion because of queue tail-drop when the queue is full. When TCP connections using the queue lose packets to tail-drop at the same time, they simultaneously shrink their send windows and grow them back until there is tail-drop again, alternately filling and starving the queue.

That is why RED (Random Early Detection) was conceived to randomly drop packets in the queue to keep it from ever filling and causing tail-drop. RED (or Cisco WRED) configured on a queue has a level at which it starts randomly dropping packets from the queue, never letting the queue fill and tail drop. That evens out the loss to all TCP connections and reduces TCP Global Synchronization.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.