390 likes | 646 Views
Реализация алгоритмов WFQ в маршрутизаторах Cisco. Flow-based WFQ - равные веса для индивидуальных потоков (микропотоков) Поток - IP Dest., IP Source, TCP/UDP Port Dest., TCP/UDP Port Source, TOS. TOS=100. 1056. 1045. TOS=010. 1056. 1045. 1025. 21. 53. 1035. 206.200.4.56.
E N D
Реализация алгоритмов WFQ в маршрутизаторах Cisco Flow-based WFQ - равные веса для индивидуальных потоков (микропотоков) Поток - IP Dest., IP Source, TCP/UDP Port Dest., TCP/UDP Port Source, TOS TOS=100 1056 1045 TOS=010 1056 1045 1025 21 53 1035 206.200.4.56 Потоки 192.10.34.56
Реализация алгоритмов WFQ в маршрутизаторах Cisco • Class-based WFQ (CBWFQ) - настраиваемые взвешенные очередидля: • 1. QoS-групп - веса задаются администратором (1% всегда резервируется за группой 0, куда входя не попавшие ни в одну группу пакеты) • 2. TOS-классов (2 младших бита поля IP Precedence) • по умолчанию • класс 0 - 10% • класс 1 - 20% • класс 2 - 30% • класс 3 - 40% • Изменение весов - по команде 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 188.1.3.70 255.255.255.0 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 Средняя длина очереди N1 N2 P - вероятность отбрасывания пакетов
Алгоритм Leaky Bucket (“дырявого ведра») Be Пакет-нарушитель DE=1 Bc = CIR x T Bc Контролирует CIR, Bc, Be на периоде T Формирование не выполняет CIR T Min (C, Bc) каждые T cек
Алгоритм Token Bucket («ведро токенов») rбит/с - скорость наполнения ведра bбит - объем ведра Очередь пакетов Сервер Входной поток Выходной поток (сглаженный) Условие пропуска пакета сервером: Объем данных в ведре больше или равен объему данных пакета Выполняет профилирование средняя скорость r бит/с, пульсация <= b бит на любом периоде и сглаживание (при использовании на выходном порту)
Алгоритм Token Bucket («ведро токенов») Выполняет профилирование и отбрасывание не удовлетворяющего условиям профиля трафика – при использовании на входе устройства
Механизм классификации и профилирования Commited Access Rate, CAR (Cisco) Классификация interfaceinterface-typeinterface-number rate-limit {input | output} [access-group [rate-limit]acl-index] bps burst-normal burst-max conform-actionaction 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 Пример: interface Fddi2/1/0 rate-limit input access-group rate-limit 100 80000000 64000 80000 conform-action transmit exceed-action drop ip address 200.200.6.1 255.255.255.0 ! access-list rate-limit 100 00e0.34b0.7777
Управление качеством обслуживания на основе правил политики в маршрутизаторах Cisco Шаг 1. Определить класс трафика с помощью командыclass-map Шаг 2. Определить Создать политику сервиса с помощью командыpolicy-map Шаг 3. Определить Связать политику сервиса с интерфейсом с помощью командыservice-policy
Синтаксис команд 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
Фильтрация пакетов с помощью маршрутизаторов (продолжение) out in serial 1 serial 0 Задача – не принимать (in) или не отправлять (out) пакеты, удовлетворяюшие определенным признакам Язык фильтрации маршрутизаторов 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 доступ к серверу 192.78.46.8 по TCP, разрешая остальной доступ по IP? access-list 101 permit IP any host 192.78.46.8 access-list 101 deny TCP any host 192.78.46.8 Запрет ping хоста 192.78.46.8: access-list 101 deny ICMP any host 192.78.46.8 eq 8
Шаг 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)
Пример классификации трафика с помощью Policy-Based Routing access-list 1 permit ip 1.1.1.1 access-list 2 permit ip 2.2.2.2 ! 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 3.3.3.3 ! route-map Texas permit 20 match ip address 2 set ip precedence critical set ip next-hop 3.3.3.5
Архитектура интегрированных сервисов Integrated Services 2. Протокол сигнализации - RSVP 1.QoS узла - - Admission Control - Policy Control - очереди - shaping - ... Трафик «Приложение-приложение»
Резервирование параметров QoS с помощью RSVP
Пример резервирования пропускной способности между маршрутизаторами с помощью RSVP Router A Router B Router C Hs0 Hs0 Hs0 Eth2 Eth1 Eth1 Маршрутизаторы в примере сами организуют резервирование, без участия хостов Команда заставляет Router A генерировать сообщения PATH: ip rsvp sender 225.1.1.1 12.1.2.1 UDP 7001 7000 12.1.2.1 Hs0 20 1 Команда заставляет Router A генерировать сообщения RESV: ip rsvp reservation 225.1.1.1 12.1.2.1 UDP 7001 7000 9.1.2.1 Et2 FF RATE 8 1
Архитектура дифференцированных сервисов Differentiated Services 2. Протокол сигнализации - биты DSCP (TOS) 1.QoS узла - - Admission Control - Policy Control - очереди - shaping Классы трафика (агрегированные потоки) Каждый маршрутизатор сам решает, какое качество обслуживания применить к данному классу - 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 = 101110 (4610) Наивысшее качество обслуживания в сетях DiffServ Сервис предназначен для эмуляции выделенных каналов(Premium Service) Уровень задержек должен быть минимизирован Если для его реализации применяется приоритетное обслуживание, то рекомендуеися ограничить среднюю скорость (параметр r алгоритма Token Bucket
Сервис «Гарантированная доставка» ( RFC 2597Assured Forwarding PHB Group) Определяет 4 класса обслуживания (001, 010, 011, 100) и три группы предпочтения по отбрасыванию - всего 12 классов Class 1 Class 2 Class 3 Class 4 +----------+----------+----------+----------+ Low Drop Prec | 001010 | 010010 | 011010 | 100010 | Medium Drop Prec | 001100 | 010100 | 011100 | 100100 | High Drop Prec | 001110 | 010110 | 011110 | 100110 | +----------+----------+----------+----------+ 00 – отбрасывать можно 01 - 10 - 11 – отбрасывать крайне нежелательно Обслуживание - без гарантий задержек, но с гарантированной средней пропускной способностью Рекомендуемый метод - настраиваемое взвешенное обслуживание
Пример конфигурирования маршрутизаторов для обеспечения 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 16384 32768 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 10 12 14 class-map match-all silver match ip dscp 18 20 22 class-map match-all bronze match ip dscp 26 28 30 class-map best-effort match access-group 105
Задание политики сервиса для классов policy-map VOIP class premium priority 500 class gold bandwidth percent 35 class silver shape average 320000 bandwidth percent 25 class bronze bandwidth percent 15 class best-effort police 56000 1750 1750 conform-action set-dscp-transmit 0
Рекомендуемые области применения протоколов QoS
Согласованное качество обслуживания на основе политики
Архитектура Policy-based QoS Правила политики:
Пример применения правил политики