DATE: 08-06-2001 TIME: 18:38:10

Стратегии очередей и борьбы с перегрузками

Используются четыре алгоритма очередей: первый-пришел-первый-обслужен (FCFS), очередь с весами WFQ, очередь приоритетов (priority queueing) и произвольные очереди (custom queueing). Для последовательных интерфейсов скоростью 2Мб/сек и ниже используется очередь с весами (WFQ). На других интерфейсах по умолчанию устанавливается простая очередь (FCFS). Кроме этого существует еще алгоритм избежания перегрузок в канале - random early detection (RED).

Соответственно, кроме простой очереди, могут быть сконфигурированы следующие метода установки приоритетов сетевого траффика:

  • Очередь с весами (WFQ)
  • Очередь приоритетов
  • Произвольные очереди
  • Опознание перегрузок (RED)

Все эти очереди могут быть сконфигурированы в одном роутере одновременно, но на конкретный интерфейс может быть назначен только один тип очереди.

Очередь с весами (Weighted Fair Queuing)

С точки зрения очереди с весами существует две категории потоков данных: потоки с большим объемом данных и потоки с малым объемом данных. Потоки с малым объемом данных имеют приоритет над остальными, а потоки с большим объемом данных разделяют между собой пропускную способность канала пропорционально назначенным весамю

При достижении траффиком на интерфейсе порогового значения загрузки, пакеты из потоков с большим объемом данных отбрасываются. Пакеты же из потоков с малым объемом данных продолжают ставиться в очередь. Таким образом, возможны ситуации, когда число пакетов в очереди превышает заданный порог.

Очередь приоритетов (Priority Queuing)

Очередь приоритетов позволяет администратору установить приоритеты для различнных видов траффика. Пакеты могут быть классифицированы по различным критериям, включая тип протокола и субпротокола, и затем помещены в одну из четырех выходных очередей (high, medium, normal, low).

Когда роутер готов передать пакет он просматривает очереди приоритетов с высшего до низшего в поиска пакета с наивысшим приоритетом. Этот пакет передается, затем роутер просматривает очередь вновь. Если при попытке поместить пакет в очередь обнаруживается, что очередь заполнена, пакет отбрасывается и, в случае IP, отправителю посылается уведомление (source quench).

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

Включение очереди приоритетов увеличивает нагрузку на роутер, которая вполне допустима для случая медленных интерфейсов, но может быть недопустимой, при установке этой очереди на интерфейсах быстрых (такик как Ethernet например).

Существует четыре очереди приоритетов (в порядке убывания приоритета): high, medium, normal, low. Контрольным пакетам проверки работоспособности интерфейсов (keepalives) назначается наивысший приоритет автоматически, Приоритеты другого служебного траффика необходимо указывать явно. Траффик, приоритет которого явно не указан, попадает в очередь с приоритетом normal.

Произвольные очереди (Custom Queuing)

Включение очереди приоритетов может привести к тому, что пакеты, отнесенные к низкоприоритетным очередям не будут доставляться никогда (если траффик в высокоприоритетной очереди достаточно велик)

При использовании произвольных очередей есть возможность управлять долей полосы пропускания канала, выделяемой для определенных типов траффика. Если на интерфейсе включены произвольные очереди, то система поддерживает 17 выходных очередей на данном интерфейсе, 16 из которых можно конфигурировать.

Для очередей с номера с 1 по 16 роутер перебирает очереди последовательно, доставляя пакеты из каждой очереди, прежде чем перейти к следующей очереди. С каждой очередью связан счетчик байт, определяющий сколько байт данных система должна передать из данной очереди, прежде чем перейти к следующей. Система передает данные из очереди до тех пор, пока не превысит значение данного счетчика, или пока очередь не окажется пустой. После этого, система переходит к следующей очереди. Выделенная очереди полоса пропускания задается косвенным образом через величину счетчика байт и длину очереди.

Очередь номер 0 - системная, она опустошается прежде любой очереди с большим номером. В эту очередь помещаются высокоприоритетные пакеты (keepalives). Назначить в эту очередь какой-либо еще траффик невозможно.

При включенных очередях приоритетов или произвольных очередях на передачу пакета тратится больше времени, так как на анализ принадлежности к пакета к одной из очередей затрачиваются ресурсы роутера.

Опознание перегрузки (Random Early Detection)

Используется в скоростных сетях для предупреждения перегрузки каналов (в отличие от очередей, которые позволяют управлять траффиком через перегруженные каналы). После включения на интерфейсе начинает отбрасывать при перегрузке определенную при конфигурации долю пакетов.

Рекомендуется только для TCP/IP сетей, применение в сетях AppleTalk или Novell IPX может привести к <шторму> в сети.

Если на интерфейсе сконфигурирован и RSVP, то RED преимущественно отбрасывает пакеты из других потоков, а не из того, который зарезервирован по RSVP. Так же на выбор отбрасываемых пакетов влияет значение IP precedence, чем оно ниже, тем больше вероятность, что пакет будет отброшен при перегрузке интерфейса.

Конфигурирование очередей

Конфигурирование взвешенной очереди

Для конфигурирования взвешенной очереди на интерфейсе устанавливается <порог перегрузки|>, после которого начинают отбрасываться пакеты из потоков с большим объемом данных и указывается число динамических и резервируемых очередей, следующей командой в режиме конфигурирования интерфейса:

fair-queue [congestive-discard-threshold [dynamic-queues [reservable-queues]]]

Для выключения взвешенной очереди используется команда "no fair-queue". Взвешенная очередь выключается автоматически, если на интерфейсе установлено автономное переключение пакетов, SSE переключение, или режим PPP Multilink.

Взвешенные очереди включены по умолчанию на интерфейсах с полосой пропускания меньше 2Мб/сек и не использующих LAP, LAPB, X.25, SDLC. Включение очереди приоритетов или произвольных очередей на интерфесе, также выключает взвешенную очередь.

Установка приоритетов для различных типов протоколов

Приоритеты различных протоколов для использования в очередях приоритетов, а также назначение протоколов в различных очереди для использования в произвольных очередях устанавливаются следующими командами.

Establish queuing priorities based upon the protocol type.

priority-list list-number protocol protocol-name {high | medium | normal | low} queue-keyword keyword-value

или

queue-list list-number protocol protocol-name queue-number queue-keyword keyword-value

Установка приоритета по умолчанию

priority-list list-number default {high | medium | normal | low}

Assign a queue number for those packets that do not match any other rule in the custom queue list.

queue-list list-number default queue-number

Установка приоритетов по типу интерфейса

Можно устанавливать приоритеты (относить к определенной очереди) не только по характеристикам самого пакета, но и по типу интерфейса, с которого этот пакет пришел в роутер.

priority-list list-number interface interface-type {high | medium | normal | low}

queue-list list-number interface interface-type interface-number queue-number

Задание размера очередей

Задание числа пакетов, ожидающих в очередях:

priority-list list-number queue-limit high-limit medium-limit normal-limit low-limit

или

queue-list list queue queue-number limit limit-number

Задание размера очереди в байтах:

queue-list list-number queue queue-number byte-count byte-count-number

Назначение очереди приоритетов или произвольных очередей на интерфейс

Назначение очереди приоритетов на интерфейс

priority-group list

Назначение списка произвольных очередей на интерфейс

custom-queue-list list

Изучение состояния очередей

Показать состояние очередей приоритетов

show queueing priority

Показать состояние произвольных очередей

show queueing custom

Покаать состояние произвольных очередей для данного интерфейса

show interface type number

Команда show queueing без аргументов показывает состояние всех очередей..

Включение RED на интерфейсе

random-detect [weighting]

Показать статистику по отброшенных пакетам

show interface [type number]

Пример очереди приоритетов

priority-list 1 protocol ip high tcp 23

priority-list 1 protocol ip high list 1

priority-list 1 protocol ip normal

priority-list 1 default low

priority-list 1 queue-limit 15 20 20 30

!

access-list 1 permit 131.108.0.0 0.0.255.255

!

interface serial 0

priority-group 1

На интерфейсе Serial0 установлены очереди приоритетов. Весь траффик IP telnet и ip траффик из сети 131.108.0.0/16 отнесены к наивысшему приоритету. Остальной IP траффик отнесен к приоритету normal. Весь не-IP траффик отнесен к приоритету low.

Конфигурирование ограничения полосы канала (Traffic Shaping)

Ограничение полосы канала позволяет управлять скоростью посылки пакетов в интерфейс, дабы избежать перегрузки линка. Ограничение полосы может быть целесообразным в сети с каналами с различной пропускной способностью или, если необходимо выделить полосу внутри канала.

Ограничение полосы возможно на всех типах каналов и всех типах инкапсуляций. Ограничение полосы можно сконфигурировать с помощью списка доступа.

Для конфигурирования ограничения выходного траффика на интерфейсе, выполните одну из нижеприведенных последовательностей действий:

Ограничение полосы канала в целом на интерфейс

traffic-shape rate bit-rate [burst-size [excess-burst-size]]

Ограничение полосы канала для пакетов, удовлетворяющих списку доступа

traffic-shape group access-list bit-rate [burst-size [excess-burst-size]]

При конфигурировании ограничения полосы на каналах Frame Relay с помощью команды "traffic-shape rate" может также использоваться команда "traffic-shape adaptive" для указания минимальной скорости на интерфейсе.

Конфигурирование минимальной скорости на интерфейсе, с которой посылаются пакеты после получения BECN

traffic-shape adaptive [bit-rate]

Текущее состояние ограничений полосы каналов показывается командами:

show traffic-shape [interface]

show traffic-shape statistics [interface]

Пример ограничения полосы канала

В данном примере траффик UDP-датаграмм ограничен величиной 1Мб/сек на интерфейсе Ethernet0. На интерфейсе же Ethernet1 общий траффик, выходящий с данного интерфейса ограничен величиной 5Мб/сек.

access-list 101 permit udp any any

interface Ethernet0

traffic-shape group 101 1000000 125000 125000

!

interface Ethernet1

traffic-shape rate 5000000 625000 625000

О Компании
Новости
Продукты и Услуги
Клиенты
Контактная информация
Login
Оборудование
Услуги технической службы
Обучение
Документация


Cisco Systems

Home