Upload
rashad
View
79
Download
0
Embed Size (px)
DESCRIPTION
Реализация алгоритмов 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. - PowerPoint PPT Presentation
Citation preview
Реализация алгоритмов WFQ в маршрутизаторах Cisco
Flow-based WFQ - равные веса для индивидуальных потоков (микропотоков)
Поток - IP Dest., IP Source, TCP/UDP Port Dest., TCP/UDP Port Source, TOS
Потоки
10451045
1056
1056
TOS=100
TOS=010
102521
103553
192.10.34.56206.200.4.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 (“дырявого ведра»)
T
Bc
CIR
Bc = CIR x T
BeПакет-нарушитель
DE=1
Min (C, Bc) каждые T cек
Контролирует CIR, Bc, Be на периоде T
Формирование не выполняет
Алгоритм Token Bucket («ведро токенов»)
Сервер
b бит - объем ведра
r бит/с - скорость наполнения ведра
Очередь пакетов
Входной поток Выходной поток (сглаженный)Условие пропуска пакета сервером:
Объем данных в ведре больше или равен объему данных пакета
Выполняет профилирование
средняя скорость r бит/с, пульсация <= b бит на любом периоде
и сглаживание (при использовании на выходном порту)
Алгоритм Token Bucket («ведро токенов»)
Выполняет профилирование и отбрасывание не удовлетворяющего условиям профиля трафика – при использовании на входе устройства
Механизм классификации и профилирования Commited Access Rate, CAR (Cisco)
Пример:
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
interface interface-type interface-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
Классификация
Шаг 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 доступ к серверу 192.78.46.8 по TCP, разрешая остальной доступ по IP?
access-list 101 permit IP any host 192.78.46.8access-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
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 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
Трафик «Приложение-приложение»
1.QoS узла - - Admission Control- Policy Control- очереди- shaping- ...
2. Протокол сигнализации - RSVP
Резервирование параметров QoS с помощью RSVP
Формат TSpec 31 24 23 16 15 8 7 0
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1 | 0 (a) | reserved | 7 (b) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
2 | 1 (c) |0| reserved | 6 (d) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
3 | 127 (e) | 0 (f) | 5 (g) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
4 | Token Bucket Rate [r] (32-bit IEEE floating point number) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5 | Token Bucket Size [b] (32-bit IEEE floating point number) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6 | Peak Data Rate [p] (32-bit IEEE floating point number) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
7 | Minimum Policed Unit [m] (32-bit integer) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
8 | Maximum Packet Size [M] (32-bit integer) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Команда заставляет 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
Пример резервирования пропускной способности между маршрутизаторами с помощью RSVP
Команда заставляет 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 Router B Router CHs0 Eth1 Eth1 Hs0 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 = 101110 (4610)
Наивысшее качество обслуживания в сетях 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 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
Правила политики:
Политика - набор правил
Пример применения правил политики