Tail drop

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Tail drop (Отбрасывание конца очереди или Обрубание хвоста) — один из простейших алгоритмов AQM для управления переполнением очередей маршрутизаторов. В отличие от более сложных алгоритмов, таких как RED и WRED, в Tail Drop трафик не разделяется по типам пакетов.

Общие положения

[править | править код]

Принцип алгоритма

[править | править код]

Задается максимальный размер очереди (в пакетах или в байтах), вновь прибывающий пакет помещается в конец очереди, когда очередь заполняется до некоторого заданного максимального размера, все вновь поступающие пакеты отбрасываются, пока очередь не будет иметь место, достаточное для поступления входящего трафика.[1].

Недостатки

[править | править код]

При использовании протокола TCP, когда пакеты начинают теряться, модули TCP в рабочих станциях решают, что в сети перегрузка и замедляют передачу пакетов. При заполненной очереди возможны случаи, когда несколько сообщений отбрасываются друг за другом - в результате целый ряд приложений решит замедлить передачу. Затем приложения начнут зондировать сеть, чтобы определить, насколько она загружена, и буквально через несколько секунд возобновят передачу в прежнем темпе, что опять приведет к потерям сообщений.[2].

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

Алгоритм Tail Drop нерационально использует пространство памяти маршрутизатора: очереди оказываются заполненными (или почти заполненными) в течение длительного периода времени. Так происходит, поскольку алгоритм сигнализирует только о том, что очередь полна. Большой размер очередей сильно увеличивает время доставки пакета от одной рабочей станции к другой. Поэтому желательно, чтобы средний размер очередей в маршрутизаторах был невелик. С другой стороны, известно, что трафик в сети, как правило, неравномерен, и поэтому маршрутизатор должен иметь буфер, размер которого достаточен для того, чтобы «амортизировать» неравномерность трафика.

Примечания

[править | править код]
  1. Качество обслуживания в сетях IP-телефонии (недоступная ссылка)
  2. Управление трафиком: очереди и шейпинг. Дата обращения: 26 января 2010. Архивировано 14 октября 2008 года.

Литература

[править | править код]
  • Comer, Douglas E. Internetworking with TCP/IP (неопр.). — 5. — Prentice Hall: Upper Saddle River, NJ, 2006..
  • Гольдштейн Б.С., Пинчук А.В., Суховицкий А.Л. IP-Телефония. — СПб.: БХВ-Петербург, 2014.