Глобальная синхронизация TCP в компьютерных сетях — это закономерность, при которой каждый отправитель уменьшает и увеличивает скорость передачи в то же время, что и другие отправители. Это может произойти с потоками протокола управления передачей (TCP) в периоды перегрузки, поскольку каждый отправитель будет уменьшать свою скорость передачи в то же время, когда происходит потеря пакетов.
Маршрутизаторы в Интернете обычно имеют очереди пакетов, что позволяет им удерживать пакеты, когда сеть занята, а не отбрасывать их.
Поскольку маршрутизаторы имеют ограниченные ресурсы, размер этих очередей также ограничен. Простейший метод ограничения размера очереди известен как отбрасывание хвоста . Очереди разрешается заполниться до максимального размера, а затем любые новые пакеты просто отбрасываются, пока в очереди снова не появится место.
Это вызывает проблемы при использовании на маршрутизаторах TCP/IP , обрабатывающих несколько потоков TCP, особенно во время пиков трафика. Пока сеть стабильна, очередь постоянно заполнена, и нет никаких проблем, за исключением того, что заполненная очередь приводит к высокой задержке. Однако введение внезапного всплеска трафика может привести к тому, что большое количество установленных, устойчивых потоков одновременно потеряют пакеты.
TCP имеет автоматическое восстановление после потери пакетов, что он интерпретирует как перегрузку в сети (что обычно верно). Отправитель снижает скорость отправки на определенное время, а затем пытается выяснить, не перегружена ли сеть, снова увеличивая скорость с учетом нарастания. Это известно как алгоритм медленного старта .
Почти все отправители будут использовать одну и ту же задержку перед увеличением своих скоростей. Когда эти задержки истекают в одно и то же время, все отправители отправят дополнительные пакеты, и очередь маршрутизатора снова переполнится в повторяющемся цикле обратной связи. Эта модель называется «глобальной синхронизацией» и приводит к неэффективному использованию полосы пропускания из-за большого количества отброшенных пакетов, которые необходимо повторно передать, и из-за того, что отправители имеют пониженную скорость отправки по сравнению со стабильным состоянием, в то время как они отступают после каждой потери. Эта модель похожа на проблему громоподобного стада в управлении процессами .
Эта проблема была предметом многих исследований. Похоже, консенсус заключается в том, что алгоритм отбрасывания хвоста является основной причиной проблемы, а другие алгоритмы управления размером очереди, такие как случайное раннее обнаружение (RED) и взвешенное RED, уменьшат вероятность глобальной синхронизации, а также сохранят размеры очереди на низком уровне в условиях большой нагрузки и неожиданного пикового трафика.