AD+82
.pdf
71
63. Конфигурирование динамической трансляции адресов NAT.
При использовании динамической трансляции адресов преобразования адресов не существуют в NAT-таблице до тех пор, пока маршрутизатор не получит данные, для которых такая трансляция требуется. Динамические преобразования адресов являются временными и в конечном итоге устаревают и удаляются. Для того, чтобы сконфигурировать трансляцию внутренних адресов, следует выполнить действия, описанные ниже.
1.Задать пул глобальных адресов, которые будут использоваться по мере необходимости.
Router (config)#ip nat pool имя нач-ip конеч-ip {netmask маска | prefix-length длинапрефикса}
2.Создать стандартный список доступа для идентификации тех адресов, которые нужно будет транслировать.
Router (config)#access-list номер-списка permit источник [шаблон-источник] 3.Сконфигурировать динамический NAT на основе адресов источника
Router (config)#ip nat inside source list номер-списка-дост pool имя
4.Указать внутренний интерфейс
Router (config)#interface type number Router (config-if)#ip nat inside
5.Указать внешний интерфейс
Router (config)#interface type number Router(config-if)#ip nat outside
Список доступа должен определять только те адреса, которые следует транслировать. Следует помнить о том, что неявная команда deny all присутствует в каждом списке доступа. Недостаточно строгий список доступа может привести к непредсказуемым результатам. Рекомендуется не конфигурировать списки доступа, на которые ссылаются команды NAT с permit any (т.е. разрешить трансляцию для всех). Использование permit any может привести к тому, что NAT будет потреблять слишком много ресурсов маршрутизатора, что может вызвать проблемы в сети.
Приведенные ниже команды конфигурируют соответствующие интерфейсы для выполнения внутренних и внешних функций.
Пример динамической NAT-адресации:
ip nat pool nat-pool1 179.9.8.80 179.9.8.95 netmask 255.255.255.0 ip nat inside source list 1 pool nat-pool1
!
interface fastethernet0/0
ip address 10.1.1.1 255.255.255.0 ip nat inside
!
interface Serial0/0
ip address 192.168.1.1 255.255.255.0 ip nat outside
!
Рисунок - Динамическая NAT-адресация.
В примере происходит трансляция всех адресов, проходящих через список доступа 1 (имеющие адрес источника от 10.0.0.0/16) в адрес из пула с именем nat-pool. Этот пул содержит адреса из диапазона от
179.9.8.80/28 до 179.9.8.95/28.
72
64. Перегрузка NAT/PAT, таблицы TCP/UDP портов.
Перезагрузка NAT
Одной из наиболее мощных функций NAT является способность использовать PAT. Это иногда называется NAT-адресацией "много-в-один" или перегрузкой адреса. При использовании перегрузки (overloading) сотни узлов с частными адресами могут получать доступ к внешней сети (Internet), используя лишь один глобальный адрес. NAT-маршрутизатор отслеживает различные сеансы связи, устанавливая соответствие TCP и UDP номеров портов в таблице трансляции.
Нередко случается так, что имеющийся в распоряжении пользователя пул адресов NAT существенно меньше частного адресного пространства IP, подлежащего преобразованию. Например, для соединений с Internet часто используется только один открытый IP-адрес. Вариант NAT, известный как Port Address Translation (PAT) или Network Address Port Translation (NAPT), позволяет в такой ситуации одновременно задействовать этот открытый IP-адрес для нескольких сетевых компонентов.
В случае PAT устройство NAT также вставляет в IP-пакет вместо адреса отправителя открытый IPадрес. Чтобы можно было отличить IP-пакеты различных отправителей, оно заменяет (возможно, неоднозначный) порт TCP/UDP в заголовке TCP/UDP исходного пакета IP на другой, уникальный порт TCP/UDP и вносит соответствующую запись в таблицу NAT. В последующем таблица NAT становится основой для обратного преобразования IP-адресов.
При таком преобразовании система должна заново рассчитать контрольную последовательность не только заголовка IP, но и заголовка TCP/UDP. После этого она создает новый заголовок TCP/UDP и IP и передает пакет IP соответствующему адресату. Для того, чтобы сконфигурировать перегрузку внутренних глобальных адресов, следует выполнить действия, описанные ниже.
1.Определить стандартный список доступа, разрешающий те адреса, которые должны транслирроваться
Router (config)#access-list номер-списка permit источник [шаблон-источник]
2.Сконфигурировать динамический NAT на основе адресов источников, указать список доступа, определенный на предыдущем этапе.
Router (config)#ip nat inside source list номер-списка-дост interface интерфейс overload
3.Задать набор глобальных адресов, которые будут использоваться для перезагрузки. Router (config)#ip nat pool имя ip-адрес {netmask маска | prefix-length длина-префикса}
4.Задать трансляцию с перезагрузкой.
Router (config)#ip nat inside source list номер-списка-дост pool имя overload
5.Указать внутренний интерфейс
Router (config)#interface type number Router (config-if)#ip nat inside
6.Указать внешний интерфейс
Router (config)#interface tуре number Router(config-if)#ip nat outside
Пример перезагрузки NAT
1. Перезагрузка на интерфейсе.
Router(config)#access-list 1 permit 10.0.0.0 |
0.0.255.255 |
Router(config)#ip nat inside source list 1 interface serial0/0 overload
Router(config)#interface s0
Router(config-if)#ip nat outside
Router(config-if)#interface ethernet 0
Router(config-if)#ip nat inside
2. Перезагрузка с использованием пула.
Router(config)#access-list 1 permit 10.0.0.0 |
0.0.255.255 |
Router(config)#ip nat pool nat-pool2 179.9.8.20 netmask 255.255.255.240
Router(config)#ip nat inside source list 1pool nat-pool2 overload
Router(config)#interface s0
Router(config-if)#ip nat outside
Router(config-if)#interface ethernet 0
Router(config-if}#ip nat inside
нформация о трансляции
show ip nat translation Отображает активные сеансы трансляции адресов show ip nat statistics Отображает статистику трансляций
73
65. Основные параметры, характеризующие качество обслуживания трафика в сетях IP.
В настоящее время все большую часть трафика в корпоративных IP-сетях составляет интерактивная информация, чувствительная к задержкам и гарантированной доставке. Максимальная задержка не должна превышать нескольких десятых долей секунды, причем сюда входит и время обработки информации на конечной станции. Вариацию задержки также необходимо свести к минимуму. Следовательно, устройства IP-сети должны обладать возможностью дифференцированнного обслуживания различных типов сетевого трафика в зависимости от предъявляемых ими требований.
Протокол IP может обеспечить лишь негарантированную доставку данных (besteffort service). Негарантированная доставка данных не предполагает проведения какоголибо различия между тысячами потоков информации в IP-сети. Следовательно, IP-сеть не может обеспечить никакой гарантии надежной доставки трафика приложений. Для разрешения этой проблемы было введено такое понятие, как качество обслуживания (Quality of Service - QoS) в сетях IP.
Необходимый сервис описывается многими параметрами, среди них самые важные:
•Bandwidth (BW) - полоса пропускания, описывает номинальную пропускную способность среды передачи информации (определяет ширину канала).
•Delay - задержка при передаче пакета.
•Jitter - колебание (вариация) задержки при передаче пакетов.
•Packet Loss - потери пакетов, определяет количество пакетов, отбрасываемых сетью во время передачи.
74
66. Сервисные модели реализации QoS, их достоинства и недостатки.
1. Best Effort Service
Сервис негарантированной доставки. Полное отсутствие механизмов QoS. Используются все доступные ресурсы сети без какого-либо выделения отдельных классов трафика и регулирования. Считается, что лучшим механизмом обеспечения QoS является увеличение пропускной способности. Это в принципе правильно, однако некоторые виды трафика (например, голосовой) очень чувствительны к задержкам пакетов и изменению скорости их прохождения. Модель «Best Effort Service» даже при наличии больших резервов допускает возникновение перегрузок в случае резких всплесков трафика. Поэтому были разработаны и другие подходы к обеспечению QoS.
2. Integrated Service (IntServ)
Integrated Service (IntServ, RFC 1633) - модель интегрированного обслуживания. Может обеспечить сквозное (End-to-End) качество обслуживания, гарантируя необходимую пропускную способность. IntServ использует для своих целей протокол сигнализации RSVP. Позволяет приложениям выражать сквозные требования к ресурсам и содержит механизмы обеспечения данных требований. IntServ можно кратко охарактеризовать как резервирование ресурсов
(Resource reservation).
В соответствии с концепциями «Integrated Services» приложения могут выбирать для своих потоков данных любой из многочисленных контролируемых уровней качества обслуживания. Для этого к базовым IP-сервисам добавляются новые компоненты и механизмы. Обслуживание в реальном времени требует гарантий, и эти гарантии не могут быть обеспечены без резервирования. Протокол RSVP предусматривает, что ресурсы резервируются для каждого потока, требующего QoS, на каждом4 промежуточном маршрутизаторе на пути от отправителя к получателю с использованием сигнализации «из конца в конец». Это, в свою очередь, требует хранения на маршрутизаторах данных о состоянии каждого конкретного потока и, как следствие, подразумевает кардинальные изменения в общей модели Internet. Кроме того, такое решение предлагает способ передачи требований приложения элементам сети, расположенным вдоль пути, и обмена служебной информацией QoS между сетевыми элементами и приложением. Недостатки использования протокола RSVP следующие:
•требуется время на прокладку маршрута резервирования, что может быть критичным в больших корпоративных и глобальных сетях;
•дополнительная загрузка промежуточных маршрутизаторов информацией о характере передаваемого
трафика.
3. Differentiated Service (DiffServ)
Differentiated Service (DiffServ, RFC 2474/2475) - модель дифференцированного обслуживания. Определяет обеспечение QoS на основе четко определенных компонентов, комбинируемых с целью предоставления требуемых услуг. Архитектура DiffServ предполагает наличие классификаторов и формирователей трафика на границе сети, а также поддержку функции распределения ресурсов в ядре сети в целях обеспечения требуемой политики пошагового обслуживания (Per-Hop Behavior - PHB). DiffServ разделяет трафик на классы, вводя несколько уровней QoS, и состоит из следующих функциональных блоков:
• граничные формирователи трафика (классификация пакетов, маркировка,управление интенсивностью) и
• модули реализации PHB политики (распределение ресурсов, политика отбрасывания пакетов).
DiffServ можно кратко охарактеризовать как приоритезацию трафика (Prioritization). Механизмы DiffServ усовершенствуют протокол IP с целью преодолеть недостатки IntServ/RSVP и обеспечить масштабируемое избирательное обслуживание в Internet без необходимости запоминать состояние каждого потока и поддерживать сигнализацию. В отличие от RSVP, в случае DiffServ отправитель и получатель не обмениваются информацией о требованиях к качеству обслуживания, что исключает временные затраты на прокладку пути, присущие RSVP.
Механизмы DiffServ ограничиваются только установлением соответствия между услугами и различными уровнями «чувствительности» к задержкам и потерям, то есть не имеют дела с точными значениями или гарантиями. Они не рассчитаны на обеспечение того или иного уровня обслуживания. Вместо этого они стараются обеспечить относительное упорядочивание агрегированных потоков, так что с одним из них «обращаться лучше», чем с другим, в зависимости от определенных правил обслуживания.
Масштабируемость архитектуры DiffServ достигается за счет объединения классификационных признаков трафика, при этом информация о типе трафика передается в заголовке IP-датаграммы. При этом сложные операции классификации, маркировки, определения правил обслуживания и формирования трафика выполняются только на границах сети или же на хостах.
4. Перспективы моделей QoS
Применяемые вместе IntServ и DiffServ могут способствовать внедрению IPтелефонии, видео по требованию и различных критически важных для предприятий немультимедийных приложений. IntServ позволяет хостам запрашивать конкретный объем ресурсов для каждого потока и использовать обратную связь для определения возможности выполнения запросов. DiffServ обеспечивает масштабируемость для крупных корпоративных сетей. В настоящее время предложена гибридная структура. Она предусматривает применение модели, в которой периферийные подсети поддерживают RSVP и IntServ. Эти подсети связаны промежуточными сетями DiffServ. Благодаря масштабируемости сетей DiffServ данная модель позволяет расширить диапазон действия сетей IntServ/RSVP. Промежуточные сети DiffServ выглядят для сетей IntServ/RSVP как одно транзитное звено. Хосты, подключенные к периферийным сетям IntServ/RSVP, передают через сети DiffServ запросы друг другу на резервирование ресурсов для каждого отдельного потока. Внутри периферийных сетей IntServ/RSVP применяется стандартная обработка протоколов IntServ/RSVP, а сигнальные сообщения RSVP передаются через сети DiffServ прозрачным образом. Устройства на границе между сетями IntServ/RSVP и сетями DiffServ обрабатывают сообщения RSVP и обеспечивают входной контроль с учетом наличия ресурсов внутри сети DiffServ.
75
67. Базовые функции (механизмы) QoS, краткая характеристика.
Базовые функции QoS заключаются в обеспечении необходимых параметров сервиса и определяются по отношению к трафику как:
•Packet Classification - классификация;
•Packet Marking - разметка;
•Congestion Management - управление перегрузками;
•Queuing - распределение по очередям;
•Scheduling - механизмы (алгоритмы) обработки очередей;
Каждый алгоритм разрабатывался для решения определённых задач и поэтому специфическим образом воздействует на качество обслуживания различных типов трафика в сети. Возможно комбинированное применение этих алгоритмов.
Предотвращение перегрузок;
Регулирование.
Функционально классификация и разметка чаще всего обеспечиваются на входных портах оборудования, а управление и предотвращение перегрузок – на выходных.
Чаще всего в маршрутизаторах и коммутаторах применяются следующие алгоритмы обработки очередей:
традиционный алгоритм FIFO;
приоритетное обслуживание (Priority Queueing), которое также называют
«подавляющим»;
взвешенные, в том числе настраиваемые очереди (Weighted Queueing ,Custom
Queueing);
взвешенное справедливое обслуживание (Weighted Fair Queueing, WFQ).
68.Классификация и маркировка кадров на уровне Layer 2 (Cos).
Классификация и разметка пакетов (Packet Classification and Marking)
Классификация пакетов (Packet Classification) представляет собой механизм соотнесения пакета к определенному классу трафика. Другой не менее важной задачей при обработке пакетов является маркировка пакетов (Packet Marking) - назначение соответствующего приоритета (метки). В зависимости от уровня модели OSI эти задачи решаются по-разному.
Layer 2 Classification and Marking
Протокол Ethernet в чистом виде не поддерживает поле приоритета. Поэтому на Ethernet портах (Access Port) возможна лишь внутренняя (по отношению к коммутатору) классификация по номеру входящего порта и отсутствует какая-либо маркировка.
Более гибким решением является использование стандарта IEEE 802.1P, который разрабатывался совместно с 802.1Q. Иерархия отношений здесь следующая:
• 802.1D описывает технологию мостов и является базовой для |
802.1Q и 802.1P. |
• 802.1Q описывает технологию виртуальных сетей (VLAN).
• 802.1P обеспечение качества обслуживания.
В целом, включение поддержки 802.1Q автоматически дает возможность использования 802.1P. Согласно стандарту используются 3 бита в заголовке второго уровня, которые называются Class of Service (CoS). Таким образом, CoS может принимать значения от 0 до 7.
76
69. Классификация и маркировка пакетов на уровне Layer 3 (Tos).
Layer 3 Classification and Marking
Маршрутизирующее оборудование (Layer 3) оперирует IP пакетами, в которых под цели маркировки предусмотрено соответствующее поле в IP-заголовке - Type of Service (ToS) размером один байт. ToS может быть заполнен классификатором IP Precedence (IPP) или DSCP в зависимости от задачи. IPP имеет размер 3 бита (принимает значения 0-7). DSCP относится к модели DiffServ и состоит из 6 бит (значения 0-63) (Рисунок).
Рисунок. Поле TOS в IP-заголовке.
Кроме цифровой формы, значения DSCP могут быть выражены с использованием специальных ключевых слов:
•доставка по возможности BE (Best Effort);
•гарантированная доставка AF (Assured Forwarding);
•срочная доставка EF (Expedited Forwarding).
В дополнение к этим трем классам существуют коды селектора классов, которые добавляются к обозначению класса и обратно совместимы с IPP. Например, значение DSCP равное 26 можно записать как
AF31.
70. Способы управления трафиком в условиях перегрузок (Congestion
Management).
Перегрузки возникают в случае переполнения выходных буферов оборудования, передающего трафик. Основными механизмами возникновения перегрузок является агрегация трафика и несогласованность скоростей на интерфейсах (Рисунок).
Рисунок - Возможные причины возникновения перегрузок
Управление пропускной способностью в случае перегрузок (узких мест) осуществляется с помощью механизма очередей. Пакеты помещаются в очереди, которые упорядоченно обрабатываются по определенному алгоритму. Фактически, управление перегрузками - это определение порядка, в котором пакеты выходят из интерфейса (очередей) на основе приоритетов. Если перегрузок нет - очереди не работают. Расмотрим методы обработки очередей.
77
71. Схема процесса обработки пакетов коммутатором (802.1р, 802.lq).
Процедуры QoS для транзитного пакета разбиваются на несколько задач:
•классификация (classification) — исследовать пакет и выработать метку QoS на основе ACL;
•анализ на соответствие политике (policing) — сравнить скорость входящего потока с допустимой скоростью, установленной политикой, и решить, попадает пакет под действие политики или нет;
•отметка (mark) - на основе результата анализа на соответствие политике и настроек принять решение о пропускании пакета, его отметке или отбрасывании;
•создание входных очередей и диспетчеризация (ingress queueing and scheduling) - на основе метки QoS решить, в какую входящую (ingress) очередь поместить пакет, и обслужить очереди согласно установленным весам;
•создание выходных очередей и диспетчеризация (egress queueing and scheduling) - на основе метки QoS решить, в какую выходящую (egress) очередь поместить пакет, и обслужить очереди согласно установленным весам.
Процесс обработки пакета выполняется внутри коммутатора следующим образом:
1.Пакет поступает в коммутатор. Если это обычный Ethernet пакет, то он не имеет меток приоритета и таковая может выставляться коммутатором, например, по номеру входного порта, если это нужно. Если входной порт транковый (802.1Q или ISL), то пакет может нести метку приоритета и коммутатор может ее принять или заменить на необходимую. В любом случае пакет на данном этапе попал в коммутатор и имеет необходимую разметку
CoS.
2.После обработки процессом коммутации пакет в соответствии с меткой приоритета CoS направляется классификатором (Classify) в соответствующую очередь выходного порта. Например, критический трафик попадает в высокоприоритетную, а менее важный -в низкоприоритетную.
3.Механизм обработки (Scheduling) извлекает пакеты из очередей согласно их приоритетам. Из высокоприоритетной очереди за единицу времени будет выдано на выходной порт больше пакетов, чем из низкоприоритетной.
72. Основные алгоритмы обслуживания очередей (QoS), краткая характеристика.
Механизмы (алгоритмы) обработки очередей (Scheduling)
Проведем классификацию Layer 3 QoS по методам обработки очередей. Чаще всего в маршрутизаторах и коммутаторах применяются следующие алгоритмы обработки очередей: 9
•традиционный алгоритм FIFO;
•приоритетное обслуживание (Priority Queueing), которое также называют «подавляющим»;
•взвешенные, в том числе настраиваемые очереди (Weighted Queueing ,Custom Queueing);
•взвешенное справедливое обслуживание (Weighted Fair Queueing, WFQ).
Каждый алгоритм разрабатывался для решения определѐнных задач и поэтому специфическим образом воздействует на качество обслуживания различных типов трафика в сети. Возможно комбинированное применение этих алгоритмов.
FIFO
Обычная очередь с последовательным прохождением пакетов, работающая по принципу первый пришел - первый ушел (First In First Out - FIFO). Здесь нет никакой приоритезации.
Приоритетное обслуживание (Priority Queueing)
Механизм приоритетной обработки трафика предусматривает разделение всего сетевого трафика на небольшое количество классов с назначением каждому классу некоторого числового признака - приоритета. Блок классификации трафика может размещаться как в самом устройстве (рисунок 5), так и вне его.
78
Рисунок 5. Организация приоритетных очередей Priority Queueing.
Независимо от выбранного способа классификации трафика, в сетевом устройстве имеется несколько очередей, в соответствии с количеством классов. Поступивший в период перегрузки пакет помещается в очередь согласно его приоритету. На рисунке 5 приведен пример использования четырех приоритетных очередей: с высоким, средним, нормальным и низким приоритетом. Приоритеты очередей имеют абсолютный характер предпочтения при обработке: - пока из более приоритетной очереди не будут выбраны все пакеты, устройство не переходит к обработке следующей, менее приоритетной. Поэтому пакеты со средним приоритетом всегда обрабатываются только тогда, когда очередь пакетов с высоким приоритетом пуста, а пакеты с низким приоритетом - только когда пусты все вышестоящие очереди.
Конечный размер буферной памяти сетевого устройства предполагает некоторую предельную длину каждой очереди. Обычно по умолчанию всем приоритетным очередям отводятся буферы одинакового размера, но многие устройства разрешают администратору выделять каждой очереди индивидуальный буфер. Его максимальная 10 длина определяет предельное количество пакетов, которые могут храниться в очереди данного приоритета.
Пакет, поступивший в заполненный буфер, отбрасывается.
Приоритетное обслуживание очередей обеспечивает высокое качество сервиса для пакетов из самой приоритетной очереди. Если средняя интенсивность их поступления в устройство не превосходит пропускной способности выходного интерфейса (и производительности внутренних блоков самого устройства, участвующих в продвижении пакетов), то пакеты с наивысшим приоритетом всегда получают ту пропускную способность, которая им необходима.
Поэтому приоритетное обслуживание обычно применяется в том случае, когда в сети есть чувствительный к задержкам трафик, но его интенсивность невелика, так что его наличие не слишком ущемляет остальной трафик. Например, голосовой трафик чувствителен к задержкам, но его средняя интенсивность обычно не превышает нескольких сотен Кбит/с, и, таким образом, при назначении ему наивысшего приоритета остальные классы трафика не пострадают. Однако в сети могут наблюдаться и другие ситуации. В частности, видеотрафик тоже требует первоочередного обслуживания, но имеет гораздо более высокую интенсивность. Для таких случаев разработаны алгоритмы управления очередями, дающие низкоприоритетному трафику некоторые гарантии даже в периоды повышения интенсивности высокоприоритетного трафика.
Custom Queueing - алгоритм настраиваемых очередей.
Алгоритм взвешенных очередей (Weighted Queueing) разработан для того, чтобы для всех классов трафика можно было предоставить определенный минимум пропускной способности или удовлетворить требования к задержкам. Под весом какого-либо класса понимается доля выделяемой данному виду трафика пропускной способности выходного интерфейса. Алгоритм, в котором вес классов трафика может назначаться администратором, называется «настраиваемой очередью» (Custom Queueing, CQ).
Как при взвешенном, так и при приоритетном обслуживании, трафик делится на несколько классов, и для каждого вводится отдельная очередь пакетов. С каждой очередью связывается доля пропускной
79
способности выходного интерфейса, гарантируемая данному классу трафика при перегрузках этого интерфейса. В примере, приведенном на рисунке 6, устройство поддерживает пять очередей для пяти классов трафика. Этим очередям соответствует 10, 10, 30, 20 и 30% пропускной способности выходного интерфейса при перегрузках.
Поставленная цель достигается благодаря тому, что очереди обслуживаются последовательно и циклически, и в каждом цикле из каждой очереди забирается такое число байт, которое
соответствует весу очереди. Например, если цикл просмотра очередей в рассматриваемом примере равен 1 сек, а скорость выходного интерфейса составляет 100 Мбит/с, то при перегрузках в каждом цикле из первой очереди забирается 10 Мбит данных, из второй тоже 10 Мбит, из третьей - 30 Мбит, из четвертой - 20 Мбит, из пятой - 30 Мбит. В результате каждому классу трафика достается гарантированный минимум пропускной способности, что во многих случаях является более желательным результатом, чем подавление низкоприоритетных классов высокоприоритетным.
Точные значения параметров QoS для алгоритма взвешенного обслуживания предсказать трудно. Они существенным образом зависят от динамики изменяющихся параметров нагрузки сетевого устройства - интенсивности пакетов всех классов и вариаций промежутков времени между прибытием пакетов. В общем случае взвешенное обслуживание приводит к большим задержкам и их отклонениям, чем первоочередное обслуживание для самого приоритетного класса, даже при значительном превышении выделенной пропускной способности над интенсивностью входного потока данного класса. Но для более низких приоритетных классов взвешенное равномерное обслуживание часто оказывается более приемлемым с точки зрения создания благоприятных условий обслуживания всех классов трафика.
Weighted Fair Queuing (WFQ) - взвешенное равномерное обслуживание
Взвешенное равномерное (справедливое) обслуживание (Weighted Fair Queuing, WFQ) - это комбинированный механизм обслуживания очередей, сочетающий приоритетное обслуживание со взвешенным, при этом веса классов трафика назначаются автоматически, на основании некоторой адаптивной стратегии.
Производители сетевого оборудования предлагают многочисленные собственные реализации WFQ, отличающиеся способом назначения весов и поддержкой различных режимов работы, поэтому в каждом конкретном случае необходимо внимательно изучить все детали поддерживаемого WFQ.
Наиболее распространенная схема предусматривает существование одной особой очереди, которая обслуживается по приоритетной схеме - всегда в первую очередь и до тех пор, пока все заявки из ^e не будут исполнены. Эта очередь предназначена для системных сообщений, сообщений управления сетью и, возможно, пакетов наиболее критических и требовательных приложений. Во всяком случае, предполагается, что этот трафик имеет невысокую интенсивность, поэтому значительная часть пропускной способности выходного интерфейса остается другим классам трафика.
Остальные очереди устройство просматривает последовательно, в соответствии с алгоритмом взвешенного обслуживания (рисунок 7). Администратор может задать вес для каждого класса трафика аналогично тому, как это делается в случае взвешенного обслуживания. Вариант работы по умолчанию предусматривает для
80
всех остальных классов трафика равные доли пропускной способности выходного интерфейса (за вычетом оставшейся от приоритетного трафика).
Рисунок 7. Взвешенное равномерное обслуживание WFQ.
Производители оборудования дополняют механизм WFQ некоторыми полезными режимами. Например, в маршрутизаторах компании Cisco предусмотрено несколько разновидностей WFQ:
1.Основанный на потоках (Flow-based) режим WFQ (FWFQ);
2.Основанный на классах (Class-based) режим WFQ (CWFQ).
Для FWFQ на базе потоков в маршрутизаторе создается столько очередей, сколько потоков существует в трафике. Каждому потоку соответствует отдельная выходная очередь, для которой в периоды перегрузок механизм WFQ выделяет равные доли пропускной способности порта. Поэтому иногда алгоритм FWFQ называют FQ (Fair Queuing) - справедливое обслуживание.
Вариант CWFQ на базе классов в маршрутизаторах Cisco имеет два подварианта:
•классы трафика определяются на основании так называемых групп QoS, соответствующих набору признаков из списка управления доступом (ACL), например, номеру входного интерфейса или номеру хоста или подсети;
•классы трафика определяются значениями полей ToS.
Для варианта групп QoS администратор задает веса пропускной способности, выделяемой каждой группе QoS, а также (дополнительно) максимальную длину очереди. Пакеты, не отнесенные ни к одной из групп, включаются в группу 0. При назначении весов WFQ нужно принимать во внимание следующее:
•группе QoS с номером 0 автоматически назначается 1% имеющейся пропускной способности;
•общий вес всех остальных групп не может быть более 99%;
•оставшаяся после назначения весов пропускная способность выделяется группе 0.
В варианте классификации на основании значении ToS предусматриваются веса
классов по умолчанию. Они вступают в силу, если администратор явно не задал их с помощью команды weight. Для классификации используется два младших бита трехразрядного подполя IP Precedence из поля ToS, так что в этом варианте имеется всего четыре класса трафика. По умолчанию, классу 0 выделяется 10% выходной пропускной способности, классу 1 - 20%, классу 2 - 30% и классу 3 - 40%. Чем выше класс, тем важнее трафик, поэтому выделение большей доли пропускной способности создает для него более привилегированные условия продвижения.
