Контроль перегрузки TCP


Протокол управления передачей (TCP) использует алгоритм предотвращения перегрузки сети , который включает в себя различные аспекты схемы аддитивного увеличения/мультипликативного уменьшения (AIMD), наряду с другими схемами, включая медленный старт [1] и окно перегрузки (CWND), для предотвращения перегрузки. . Алгоритм предотвращения перегрузки TCP является основной основой для управления перегрузкой в ​​Интернете. [2] [3] [4] В соответствии со сквозным принципом контроль перегрузки в значительной степени является функцией интернет-хостов ., а не сама сеть. Существует несколько вариаций и версий алгоритма, реализованного в стеках протоколов операционных систем компьютеров, подключенных к Интернету .

Чтобы избежать перегрузки , TCP использует многогранную стратегию управления перегрузкой. Для каждого соединения TCP поддерживает CWND, ограничивая общее количество неподтвержденных пакетов, которые могут находиться в сквозной передаче. Это чем-то похоже на скользящее окно TCP , используемое для управления потоком .

Алгоритм аддитивного увеличения/мультипликативного уменьшения (AIMD) представляет собой алгоритм управления с обратной связью . AIMD сочетает в себе линейный рост окна перегрузки с экспоненциальным уменьшением при возникновении перегрузки. Несколько потоков, использующих управление перегрузкой AIMD, в конечном итоге сойдутся, чтобы использовать равное количество оспариваемых каналов. [5]

В TCP окно перегрузки (CWND) является одним из факторов, определяющих количество байтов, которые могут быть отправлены в любое время. Окно перегрузки поддерживается отправителем и является средством предотвращения перегрузки канала между отправителем и получателем из-за слишком большого трафика. Это не следует путать со скользящим окном, поддерживаемым отправителем, которое существует для предотвращения перегрузки получателя . Окно перегрузки рассчитывается путем оценки степени перегрузки на канале.

Когда соединение установлено, окно перегрузки, значение, поддерживаемое независимо на каждом хосте, устанавливается равным небольшому кратному максимальному размеру сегмента ( MSS ), разрешенному для этого соединения. Дальнейшая дисперсия в окне перегрузки определяется подходом аддитивного увеличения/мультипликативного уменьшения (AIMD). Это означает, что если все сегменты получены и подтверждения доходят до отправителя вовремя, к размеру окна добавляется некоторая константа. Он будет работать по разным алгоритмам.

Системный администратор может настроить ограничение максимального размера окна или настроить константу, добавляемую во время аддитивного увеличения, как часть настройки TCP .