Drag-and-drop
- 1 year ago
- 0
- 0
Tail drop ( Отбрасывание конца очереди или Обрубание хвоста ) — один из простейших алгоритмов AQM для управления переполнением очередей маршрутизаторов . В отличие от более сложных алгоритмов, таких как RED и WRED , в Tail Drop трафик не разделяется по типам пакетов.
Задается максимальный размер очереди (в пакетах или в байтах), вновь прибывающий пакет помещается в конец очереди, когда очередь заполняется до некоторого заданного максимального размера, все вновь поступающие пакеты отбрасываются, пока очередь не будет иметь место, достаточное для поступления входящего трафика. .
При использовании протокола TCP , когда пакеты начинают теряться, модули TCP в рабочих станциях решают, что в сети перегрузка и замедляют передачу пакетов. При заполненной очереди возможны случаи, когда несколько сообщений отбрасываются друг за другом - в результате целый ряд приложений решит замедлить передачу. Затем приложения начнут зондировать сеть, чтобы определить, насколько она загружена, и буквально через несколько секунд возобновят передачу в прежнем темпе, что опять приведет к потерям сообщений. .
В некоторых ситуациях данный алгоритм может вызвать так называемый эффект «локаута» (lock-out). Это происходит в тех случаях, когда очередь монополизирует либо один поток пакетов, либо несколько потоков, случайно или по необходимости синхронизированных (например, потоков, несущих изображение и его звуковое сопровождение), что препятствует попаданию в очередь пакетов остальных потоков.
Алгоритм Tail Drop нерационально использует пространство памяти маршрутизатора: очереди оказываются заполненными (или почти заполненными) в течение длительного периода времени. Так происходит, поскольку алгоритм сигнализирует только о том, что очередь полна. Большой размер очередей сильно увеличивает время доставки пакета от одной рабочей станции к другой. Поэтому желательно, чтобы средний размер очередей в маршрутизаторах был невелик. С другой стороны, известно, что трафик в сети, как правило, неравномерен, и поэтому маршрутизатор должен иметь буфер, размер которого достаточен для того, чтобы «амортизировать» неравномерность трафика.