Реализация алгоритмов WFQ в маршрутизаторах Cisco Flow-based WFQ - равные веса для индивидуальных потоков (микропотоков) Поток - IP Dest., IP Source, TCP/UDP Port Dest., TCP/UDP Port Source, TOS Потоки TOS=100 TOS=
Реализация алгоритмов WFQ в маршрутизаторах Cisco Class-based WFQ (CBWFQ) - настраиваемые взвешенные очереди для: 1. QoS-групп - веса задаются администратором (1% всегда резервируется за группой 0, куда входя не попавшие ни в одну группу пакеты) 2. TOS-классов (2 младших бита поля IP Precedence) по умолчанию класс % класс % класс % класс % Изменение весов - по команде weight Выбор типа обслуживания очереди - по командам: fair-queue – равные веса fair-queue qos-group fair-queue tos – 4 класса TOS TOS=010
Биты IP Precedence 000 – обычный трафик (best effort) 101 – высокоприритетный пользовательский трафик 111 – системные сообщения (ICNP, SNMP)
interface Hssi0/0/0 ip address fair-queue qos-group fair-queue qos-group 2 weight 10 fair-queue qos-group 6 weight 30 ! access-list rate-limit 2 2 – условие совпадения, IP Prec = 2 access-list rate-limit 6 6 Пример конфигурирования параметров обслуживания классов
Сочетание CBWFQ с приоритетным обслуживанием priority bandwidth – направляет трафик класса в очередь с абсолютными приоритетами и гарантирует минимальную пропускную способность в bandwidth Кбит/c router(config)# class-map voice router(config-cmap)# match access-group 102 router(config)# policy-map policy1 router(config-pmap)# class voice router(config-pmap-c)# priority 50
Алгоритмы профилирования и формирования трафика Профилирование (policing) - проверка соответствия трафика заданному профилю - например: { объем пульсации, время пульсации} Формирование (shaping) - придание трафику определенной «формы» Random Early Detection - случайное раннее обнаружение перегрузок P Средняя длина очереди N1N2 P - вероятность отбрасывания пакетов
Алгоритм Leaky Bucket (дырявого ведра») T Bc CIR Bc = CIR x T BeBe Пакет-нарушитель DE=1 Min (C, Bc) каждые T cек Контролирует CIR, Bc, Be на периоде T Формирование не выполняет
Алгоритм Token Bucket («ведро токенов») Сервер b бит - объем ведра r бит/с - скорость наполнения ведра Очередь пакетов Входной потокВыходной поток (сглаженный) Условие пропуска пакета сервером: Объем данных в ведре больше или равен объему данных пакета Выполняет профилирование средняя скорость r бит/с, пульсация
Алгоритм Token Bucket («ведро токенов») Выполняет профилирование и отбрасывание не удовлетворяющего условиям профиля трафика – при использовании на входе устройства
Механизм классификации и профилирования Commited Access Rate, CAR (Cisco) Пример: interface Fddi2/1/0 rate-limit input access-group rate-limit conform-action transmit exceed-action drop ip address ! access-list rate-limit e0.34b interface interface-type interface-number rate-limit {input | output} [access-group [rate-limit] acl-index] bps burst-normal burst-max conform-action action exceed-action action Действия, выполняемые командой rate-limit: continue - evaluate the next rate-limit command. drop- drop the packet. set-prec-continue new-prec set-prec-transmit new-prec transmit Классификация
Шаг 1. Определить класс трафика с помощью команды class-map Шаг 2. Определить Создать политику сервиса с помощью команды policy-map Шаг 3. Определить Связать политику сервиса с интерфейсом с помощью команды service-policy Управление качеством обслуживания на основе правил политики в маршрутизаторах Cisco
Синтаксис команд match при задание класса class-map
Синтаксис команд задания политики сервиса policy-map
Синтаксис команд задания политики сервиса policy-map (продолжение)
Связывание политики сервиса с интерфейсом
Шаг 1. Определение 2-х классов Router(config)# class-map class1 Router(config-cmap)# match access-group 101 Router(config-cmap)# exit Router(config)# class-map class2 Router(config-cmap)# match access-group 102 Router(config-cmap)# exit Пример конфигурирования маршрутизатора
Фильтрация пакетов с помощью маршрутизаторов (продолжение) Язык фильтрации маршрутизаторов Cisco Systems: 1. Расширенный (extended) список доступа: access-list [list number] [permit|deny] [protocol|protocol key word] [source address source-wildcard mask] [source port] [destination address destination-wildcard mask] [destination port] [log options] Запрещает ли список 101 доступ к серверу по TCP, разрешая остальной доступ по IP? access-list 101 permit IP any host access-list 101 deny TCP any host Запрет ping хоста : access-list 101 deny ICMP any host eq 8 in out serial 0 serial 1 Задача – не принимать (in) или не отправлять (out) пакеты, удовлетворяюшие определенным признакам
Шаг 2. Задание политики сервиса Router(config)# policy-map policy1 Router(config-pmap)# class class1 Router(config-pmap-c)# bandwidth 3000 Router(config-pmap-c)# queue-limit 30 Router(config-pmap)# exit Router(config-pmap)# class class2 Router(config-pmap-c)# bandwidth 2000 Router(config-pmap)# exit
Шаг 3. Связывание политик сервиса с интефейсом Router(config)# interface e1/1 Router(config-if)# service-policy output policy1 Router(config-if)# exit Router(config)# interface fa1/0/0 Router(config-if)# service-policy output policy1 Router(config-if)# exit
Механизм классификации трафика Policy-based Routing (Cisco) route-map map-tag [permit | deny] [sequence-number] Задает список правил преобразования пакетов и маршрутов match length min max или match ip address {access-list-number | name} [...access-list-number | name] Классифицирует пакеты по условиям списка доступа set ip precedence [number | name] set ip next-hop ip-address [... ip- address] Назначает новые значения поля IP Precedence пакета или Next Hop для таблицы маршрутизации
Пример классификации трафика с помощью Policy- Based Routing access-list 1 permit ip access-list 2 permit ip ! interface ethernet 1 ip policy route-map Texas ! route-map Texas permit 10 match ip address 1 set ip precedence priority set ip next-hop ! route-map Texas permit 20 match ip address 2 set ip precedence critical set ip next-hop
Архитектура интегрированных сервисов Integrated Services Трафик «Приложение-приложение» 1.QoS узла - - Admission Control - Policy Control - очереди - shaping Протокол сигнализации - RSVP
Резервирование параметров QoS с помощью RSVP
Формат TSpec
Команда заставляет Router A генерировать сообщения RESV: ip rsvp reservation UDP Et2 FF RATE 8 1 Пример резервирования пропускной способности между маршрутизаторами с помощью RSVP Команда заставляет Router A генерировать сообщения PATH: ip rsvp sender UDP Hs Router ARouter BRouter C Hs0 Eth1 Hs0 Eth2 Маршрутизаторы в примере сами организуют резервирование, без участия хостов
Архитектура дифференцированных сервисов Differentiated Services Классы трафика (агрегированные потоки) 1.QoS узла - - Admission Control - Policy Control - очереди - shaping 2. Протокол сигнализации - биты DSCP (TOS) Каждый маршрутизатор сам решает, какое качество обслуживания применить к данному классу - Per Hop Behavior, PHB
Положение поля задания класса трафика в пакетах IPv4 и IPv6
Переопределение TOS-байта в DS-Field Поле DS-field переносит значение DS Cope Point - DSCP Биты 0 - 3: селектор класса обслуживания (Expedition или Assured Forwarding) Биты 4-5: предпочтительность отбрасывания пакетов при перегрузках Бит 6: признак нарушителя профиля (аналог DE или CLP)
Сервис «Быстрая доставкка» (RFC 2598 An Expedited Forwarding PHB Group) DSCP = (46 10 ) Наивысшее качество обслуживания в сетях DiffServ Сервис предназначен для эмуляции выделенных каналов (Premium Service) Уровень задержек должен быть минимизирован Если для его реализации применяется приоритетное обслуживание, то рекомендуеися ограничить среднюю скорость (параметр r алгоритма Token Bucket
Сервис «Гарантированная доставка» ( RFC 2597 Assured Forwarding PHB Group) Определяет 4 класса обслуживания (001, 010, 011, 100) и три группы предпочтения по отбрасыванию - всего 12 классов Class 1 Class 2 Class 3 Class Low Drop Prec | | | | | Medium Drop Prec | | | | | High Drop Prec | | | | | – отбрасывать можно – отбрасывать крайне нежелательно Обслуживание - без гарантий задержек, но с гарантированной средней пропускной способностью Рекомендуемый метод - настраиваемое взвешенное обслуживание
Пример конфигурирования маршрутизаторов для обеспечения QoS на основе DiffServ
class-map match-all EF match access-group 101 class-map match-all AF1 match access-group 102 class-map match-all AF21 match access-group 108 class-map match-all AF22 match access-group 109 class-map match-all AF23 match access-group 110 class-map match-all AF3 match access-group 104 policy-map SETDSCP class EF set ip dscp 46 class AF1 set ip dscp 10 class AF21 set ip dscp 18 class AF22 set ip dscp 20 ……. Классификация и маркировка поля DSCP access-list 101 permit udp any any range access-list 102 permit tcp any any eq tacacs access-list 104 permit tcp any any eq www access-list 105 permit ip any any access-list 108 permit tcp any any eq telnet access-list 109 permit tcp any any eq smtp access-list 110 permit tcp any any eq ftp
class-map match-all premium match ip dscp 46 class-map match-all gold match ip dscp class-map match-all silver match ip dscp class-map match-all bronze match ip dscp class-map best-effort match access-group 105 Окончательное определение классов – добавление всех вариантов предпочтения отбрасывания
policy-map VOIP class premium priority 500 class gold bandwidth percent 35 class silver shape average bandwidth percent 25 class bronze bandwidth percent 15 class best-effort police conform-action set-dscp-transmit 0 Задание политики сервиса для классов
Рекомендуемые области применения протоколов QoS
Согласованное качество обслуживания на основе политики
Архитектура Policy-based QoS Правила политики:
Политика - набор правил
Пример применения правил политики