Средства управления переполнением

Одним из способов, используемых сетевыми элементами для предотвращения переполнения, является применение какого-либо алгоритма очередности для сортировки потоков данных и выбор одного из методов задания приоритетов на выходных каналах. Программное обеспечение IOS Cisco позволяет использовать несколько методов организации очереди, описанных ниже.

•      Очередь "первым вошел — первым вышел" (First-In, First-Out — FIFO).

•      Приоритетная очередность (Priority Queuing — PQ).

•      Настраиваемая очередность (Custom Queuing — CQ).

•          Основанная на потоках справедливая взвешенная очередность (Weighted Fair Queuing – WFQ).

•          Основанная на классах справедливая взвешенная очередность (Class-Based Weighted Fair Queuing – CBWFQ).

Каждый алгоритм очередности предназначен для решения определенной задачи сетевого обмена и по-своему влияет на производительность сети.

Примечание

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

Очередность FIFO: простейший способ промежуточного хранения

Простейшая очередь FIFO заключается в сохранении пакетов, если сеть перегружена, и их передаче в порядке поступления, когда сеть больше не перегружена. Иногда FIFO является стандартным алгоритмом установки очередности и, таким образом, не требует настройки, но у такого подхода есть ряд недостатков. Прежде всего очередь FIFO не решает вопросы приоритетности пакета; выделение полосы пропускания, скорость передачи и выделение места в буфере определяются порядком поступления пакетов. FIFO также не обеспечивает защиту от некорректно работающих приложений (источников). Источники, генерирующие всплески при передаче данных, могут вызывать большие задержки при доставке чувствительных ко времени данных и, возможно, управляющих и сигнальных сообщений. Очередь FIFO была необходимым первым шагом в управлении сетевым потоком, но современные интеллектуальные сети нуждаются в более сложных алгоритмах. Кроме того, заполнение очереди приводит к отбрасыванию концевых пакетов, а это нежелательно, потому что отброшенный пакет может иметь высокий приоритет. Маршрутизатор не может предотвратить отбрасывание этого пакета, так как для него в очереди нет места (не говоря о том, что FIFO не отличает пакеты с высоким приоритетом от пакетов с низким приоритетом). В программном обеспечении Cisco IOS реализованы алгоритмы очередности, лишенные недостатков FIFO.

PQ: задание данным приоритетов

Алгоритм приоритетной очередности (Priority Queuing — PQ) обеспечивает первоочередную обработку важных данных в каждой точке, где он используется. Приоритетная очередность может гибко изменяться в соответствии с сетевым протоколом (IP, IPX или AppleTalk), входящим интерфейсом, размером пакета, адресом источника или приемника и т.п. При использовании очередности PQ каждый пакет помещается в одну из четырех очередей, в зависимости от присвоенного ему приоритета — высокого, среднего, нормального или низкого. Пакеты, не классифицированные по этой системе, попадают в нормальную очередь (рис. 59.5). При передаче алгоритм оказывает абсолютное предпочтение очередям высшего приоритета по сравнению с очередями низкого приоритета.

Рис. 59.5. Алгоритм приоритетной очередности помещает данные в одну из четырех очередей: высокого, среднего, нормального или низкого приоритета

Применение очередности PQ полезно в тех случаях, когда требуется гарантировать приоритетную передачу критически важных данных по различным каналам распределенных сетей WAN. Например, в продуктах Cisco PQ обеспечивается доставка важных отчетов по продажам на базе Oracle ранее других, менее важных данных. В настоящее время в PQ применяется статическая конфигурация, поэтому этот метод не может автоматически адаптироваться к изменяющимся требованиям сети.

CQ: гарантированная полоса пропускания

Назначение алгоритма настраиваемая очередность (Custom Queuing — CQ) состоит в совместном использовании сети приложениями, требующими гарантированной минимальной полосы пропускания или задержки, не превышающей некоего заданного максимума. В таких средах полоса пропускания должна быть пропорционально распределена между приложениями и пользователями. Эта функция Cisco CQ обеспечивает гарантированную полосу пропускания в потенциальной точке перегрузки, предоставляя каждому виду данных фиксированную часть доступной полосы пропускания. Остаток распределяется между другими типами данных. Каждому классу пакетов в настраиваемой очереди отводится определенная часть очереди, после чего очередь обслуживается циклически (рис. 59.6).

Например, передача инкапсулированных данных архитектуры системной сетевой архитектуры (Systems Network Architecture — SNA) требует гарантированного минимального уровня обслуживания. В этом случае можно зарезервировать половину доступной полосы пропускания для данных протокола SNA, а оставшуюся половину отдать другим протоколам, таким, например, как IP и IPX (Internet Packet Exchange).

Алгоритм очередности размещает сообщения в одной из 17 очередей (очередь О предназначена для системных сообщений, таких как сообщения об активности и сигнализация) и освобождает эти очереди согласно взвешенному приоритету. Маршрутизатор циклически обслуживает очереди с 1 по 16, извлекая в течение каждого цикла определенное количество байтов из каждой очереди. Такая особенность гарантирует, что никакое приложение (или группа приложений) не получит больше заранее определенной части полосы пропускания в случае большой нагрузки

Основанная на потоках очередность WFQ: создание равноправных потоков

В тех случаях, когда желательно обеспечить быстрый отклик как для крупных, так и для мелких сетевых пользователей, не увеличивая полосу пропускания, можно применить основанную на потоках взвешенную справедливую очередность (Weighted Fair Queueing — WFQ), обычно называемую просто очередностью WFQ. WFQ — одна из первых технологий очередности, разработанных корпорацией Cisco. Это потоковый алгоритм очередности, который устанавливает "битовое равенство", поскольку в одном цикле обслуживает равное количество байтов из каждой очереди. Например, если в 1-й очереди номер находятся 100-байтовые пакеты а во 2-й очереди номер — 50-байтовые, то согласно алгоритму WFQ в каждом цикле будут выбираться два пакета из очереди 2 и один из очереди 1. Таким образом, все очереди обслуживаются равноправно — каждый раз из них выбирается по 100 байтов.

на канал. Подобно PQ, очередность CQ конфигурируется статически и не адаптируется автоматически к изменениям условий в сети.

Рис. 59.6. Настраиваемая очередь обрабатывает потоки данных, предоставляя определенное место каждому классу пакетов и затем обслуживая до 17 очередей по кругу

Алгоритм WFQ исключает нехватку полосы пропускания для очередей и обеспечивает предсказуемое обслуживание данных. Потоки с низкой плотностью передачи данных — а таких большинство – обслуживаются чаще и из них передается столько же байтов, сколько из потоков с высокой плотностью передачи. Это выглядит как режим благоприятствования для потоков малой плотности, однако в действительности является просто установлением равноправия (рис. 59.7).

Рис. 59.7. При интенсивном обмене данными применение WFQ обеспечивает гораздо более предсказуемые скорость передачи и интервал между двумя приемами данных

Одной из целей создания очередности WFQ было сведение к минимуму усилий по конфигурированию за счет автоматической адаптации к изменяющимся условиям прохождения данных по сети. В действительности очередность WFQ столь хорошо подходит для многих приложений, что в большинстве последовательных интерфейсов, работающих на скоростях Е1 (2048 Мбит/с) и ниже она используется по умолчанию.

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

Примечание

Общими характеристиками, определяющими поток, являются адреса источника и приемника, номера сокетов и идентификаторы сеанса. Точные критерии, определяющие поток, описываются в технической документации Cisco Systems (http://www.cisco.com). Следует отметить, что для разных протоколов используются разные критерии.

Связанная с заданием весов часть алгоритма WFQ для улучшенного обслуживания определенных очередей опирается на использование битов IP-очередности. Используя значения от 0 до 5 (значения 6 и 7 зарезервированы), WFQ с помощью своего алгоритма определяет, какой уровень обслуживания предоставить очереди. Подробнее такой процесс описывается в следующем ниже разделе "Взаимодействие между технологиями передачи сигналов WFQ и QoS".

Эффективность использования WFQ достигается за счет возможности передавать данные из потоков с низким приоритетом, если потоки с высоким приоритетом отсутствуют. В этом очередность WFQ отличается от обычной мультиплексной передачи с разделением времени (Time-Division Multiplexing — TDM), в которой полоса пропускания просто делится и, если данные определенного типа отсутствуют, не используется.

WFQ может работать как с IP-приоритетами, так и с протоколом резервирования ресурсов (RSVP), описанными далее в этой главе, обеспечивая дифференцированное качество обслуживания QoS и гарантированные службы.

Алгоритм WFQ также решает проблему переменной задержки, связанной с подтверждением приема сигнала. Если ведется несколько интенсивных диалогов, то благодаря использованию WFQ скорость передачи и время между поступлением сигналов становятся гораздо более предсказуемыми. Это достигается за счет битового равноправия. Если в последовательных циклах диалоги обслуживаются устойчивым образом, то колебание задержки (дребезжание) стабилизируется. Применение WFQ значительно улучшает работу таких алгоритмов, как управление логическим соединением (Logical Link Control — LLC) в сетях SNA и управление перегрузкой и функции "затяжного старта" в протоколе TCP. Результатом является более предсказуемые пропускная способность сети и время отклика для каждого активного потока (рис. 59.8).

Взаимодействие между технологиями передачи сигналов в WFQ и QoS

Как уже упоминалось, очередность WFQ распознает IP-приоритеты, благодаря чему обнаруживает пакеты с более высоким приоритетом, маркированные IP-источником, и обрабатывает их быстрее, обеспечивая таким данным уменьшенное время отклика. Эта часть алгоритма WFQ относится к заданию весов. Поле IP-приоритета принимает значения от 0 (по умолчанию) до 7 (значения 6 и 7 зарезервированы и обычно не устанавливаются сетевым администратором). Чем выше приоритет, тем большую полосу пропускания выделяет алгоритм для данного диалога, чтобы обеспечить ему ускоренное обслуживание в случае перегрузки. WFQ присваивает вес каждому потоку, что определяет порядок передачи пакетов из очереди. По такой схеме чем ниже вес, тем скорее обслуживается поток. IP-приоритет стоит в знаменателе этого весового коэффициента. Например, данные с IP-приоритетом, равным 7, получают более низкий вес, чем данные с IP-приоритетом, равным 3, и, таким образом, имеют перед ним преимущество при передаче.

Примечание

Вес представляет собой значение, вычисляемое на основании IP-очередности пакета в

потоке. По весу алгоритм WFQ определяет последовательность обслуживания пакетов.

Вес = (4096 / (IP-приоритет + 1)

Вес = (32384 / (IP-приоритет + 1)

В версии v12.0 числитель изменился с 4096 на 32384.

Для просмотра весов используется команда show queue <интерфейс>.

Результат назначения IP-очередности

Если на каждом уровне IP-приоритета в интерфейсе есть только один поток, то каждому потоку будет выделена часть канала, равная его приоритету + 1: 1+2 + 3 + 4 + 5 + 6 + 7 + 8 = 36

Потоки получат 8/36, 7/36, 6/36, 5/36 и т.д.полосы пропускания канала. Однако если на всех уровнях по одному потоку, а на одном — 18, то формула будет выглядеть следующим образом:

1 + 18×2 + 3 + 4 + 5 + 6 + 7 + 8 = 36- 2+ 18×2 = 70

Потоки получат 8/70, 7/70, 6/70, 5/70, 4/70, 3/70, 2/70 и 1/70 канала, а каждый из 18 пото- ков получит приблизительно по 2/70 канала.            

Рис. 59.8. Пример интерактивной задержки потоков данных (канал WAN-сети, Frame Relay, 128 Кбит/с)

Алгоритм WFQ также поддерживает использование протокола RSVP. Протокол RSVP использует очередность WFQ для выделения буферов и планирования передачи пакетов, что гарантирует полосу пропускания для зарезервированных потоков. Кроме того, в сетях Frame Relay для уведомления о перегрузке используется установка в сообщениях битов FECN и BECN. При прохождении данных через коммутирующий модуль Frame Relay, бит очередности при отбрасывании (DE), биты FECN и BECN фрейма влияют на установленные значения весов WFQ. В случае установки битов переполнения веса, используемые алгоритмом, изменяются так, чтобы данные диалога, испытывающего перегрузку, передавался реже.

Литература:

Руководство по технологиям объединенных сетей, 4-е издание. : Пер. с англ. — М.: Издательский дом «Вильяме», 2005. — 1040 с.: ил. – Парал. тит. англ.

Вы можете следить за любыми ответами на эту запись через RSS 2.0 ленту. Вы можете оставить ответ, или trackback с вашего собственного сайта.

Оставьте отзыв

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

 
Rambler's Top100