Tail drop
Tail drop (Отбрасывание конца очереди или Обрубание хвоста) — один из простейших алгоритмов AQM для управления переполнением очередей маршрутизаторов. В отличие от более сложных алгоритмов, таких как RED и WRED, в Tail Drop трафик не разделяется по типам пакетов.
Общие положения
Принцип алгоритма
Задается максимальный размер очереди (в пакетах или в байтах), вновь прибывающий пакет помещается в конец очереди, когда очередь заполняется до некоторого заданного максимального размера, все вновь поступающие пакеты отбрасываются, пока очередь не будет иметь место, достаточное для поступления входящего трафика.[1].
Недостатки
При использовании протокола TCP, когда пакеты начинают теряться, модули TCP в рабочих станциях решают, что в сети перегрузка и замедляют передачу пакетов. При заполненной очереди возможны случаи, когда несколько сообщений отбрасываются друг за другом - в результате целый ряд приложений решит замедлить передачу. Затем приложения начнут зондировать сеть, чтобы определить, насколько она загружена, и буквально через несколько секунд возобновят передачу в прежнем темпе, что опять приведет к потерям сообщений.[2].
В некоторых ситуациях данный алгоритм может вызвать так называемый эффект «локаута» (lock-out). Это происходит в тех случаях, когда очередь монополизирует либо один поток пакетов, либо несколько потоков, случайно или по необходимости синхронизированных (например, потоков, несущих изображение и его звуковое сопровождение), что препятствует попаданию в очередь пакетов остальных потоков.
Выводы
Алгоритм Tail Drop нерационально использует пространство памяти маршрутизатора: очереди оказываются заполненными (или почти заполненными) в течение длительного периода времени. Так происходит, поскольку алгоритм сигнализирует только о том, что очередь полна. Большой размер очередей сильно увеличивает время доставки пакета от одной рабочей станции к другой. Поэтому желательно, чтобы средний размер очередей в маршрутизаторах был невелик. С другой стороны, известно, что трафик в сети, как правило, неравномерен, и поэтому маршрутизатор должен иметь буфер, размер которого достаточен для того, чтобы «амортизировать» неравномерность трафика.
Примечания
- Качество обслуживания в сетях IP-телефонии (недоступная ссылка)
- Управление трафиком: очереди и шейпинг
Литература
- Comer, Douglas E. Internetworking with TCP/IP (неопр.). — 5. — Prentice Hall: Upper Saddle River, NJ, 2006..
- Гольдштейн Б.С., Пинчук А.В., Суховицкий А.Л. IP-Телефония. — СПб.: БХВ-Петербург, 2014.