Глобальная синхронизация TCP
Тон или стиль этой статьи могут не отражать энциклопедический тон , используемый в Википедии . ( декабрь 2008 г. ) |
Глобальная синхронизация TCP в компьютерных сетях представляет собой схему, при которой каждый отправитель уменьшает и увеличивает скорость передачи данных одновременно с другими отправителями. Это может произойти с потоками TCP/IP в периоды перегрузки, поскольку каждый отправитель снижает скорость передачи одновременно с потерей пакетов.
Причины
[ редактировать ]Маршрутизаторы в Интернете обычно имеют очереди пакетов, позволяющие удерживать пакеты, когда сеть занята, а не отбрасывать их.
Поскольку ресурсы маршрутизаторов ограничены, размер этих очередей также ограничен. Самый простой метод ограничения размера очереди известен как отбрасывание хвоста . Очереди разрешается заполниться до максимального размера, а затем любые новые пакеты просто отбрасываются до тех пор, пока в очереди снова не появится место.
Это вызывает проблемы при использовании на маршрутизаторах TCP/IP , обрабатывающих несколько потоков TCP , особенно при наличии пакетного трафика. Пока сеть стабильна, очередь постоянно заполнена, и проблем не возникает, за исключением того, что полная очередь приводит к высокой задержке. Однако внезапный всплеск трафика может привести к одновременной потере пакетов большого количества установленных устойчивых потоков.
TCP имеет автоматическое восстановление после отброшенных пакетов, что интерпретируется как перегрузка в сети (что обычно верно). Отправитель снижает скорость отправки на определенное время, а затем пытается выяснить, не перегружена ли сеть, снова увеличивая скорость при условии ее увеличения. Это известно как алгоритм медленного старта .
Почти все отправители будут использовать одинаковую задержку перед повышением ставок. Когда эти задержки истекают одновременно, все отправители отправят дополнительные пакеты, и очередь маршрутизатора снова переполнится, больше пакетов будет отброшено, все отправители отключатся на фиксированную задержку... до бесконечности. Этот шаблон называется «глобальной синхронизацией» и приводит к неэффективному использованию полосы пропускания из-за большого количества отброшенных пакетов, которые необходимо передать повторно, а также из-за того, что отправители имеют пониженную скорость отправки по сравнению со стабильным состоянием, в то время как они отменяются после каждой потери. Эта закономерность аналогична проблеме громоподобного стада в управлении процессами .
Решения
[ редактировать ]Эта проблема стала предметом многих исследований. Похоже, что консенсус заключается в том, что алгоритм отбрасывания хвоста является основной причиной проблемы, а другие алгоритмы управления размером очереди, такие как случайное раннее обнаружение (RED) и взвешенный RED, уменьшат вероятность глобальной синхронизации, а также сохранят размеры очередей на низком уровне. в условиях большой нагрузки и интенсивного движения.
См. также
[ редактировать ]- Протокол управления передачей (TCP)
- Алгоритм предотвращения перегрузки TCP
- Перегрузка сети
- Громовая проблема стада
Ссылки
[ редактировать ]- Вегесна, Шринивас (2001). Качество обслуживания IP, гл. 6 . Пресса Сиско. ISBN 1-57870-116-3 .
- Сигети, Тим (2005). Проектирование сквозной сети QoS, гл. 6 . Пресса Сиско. ISBN 1-58705-176-1 .