service policy input для чего
Модульная командная строка QoS в Cisco
Switch(config)# class-map match-any cisco
Switch(config-cmap)# match access-group name test
Switch(config-cmap)# match interface fastethernet 0/1
Команда service policy используется для присоединения политики трафика, указанную командой policy-map, на интерфейс.
— Может быть применен как для входящих так и для исходящих пакетов на указанном интерфейсе, поэтому в данной команде необходимо указывать направление трафика.
Пример:
Switch(config)#interface fastethernet 0/1
Switch(config-if)#service-policy output policy1
Switch(config-if)#exit
Все пакеты покидающие указанные интерфейс должны быть совместимы с критериями указанными в политике трафика названной policy1.
Теперь попробуем объединить все что у нас получилось в единую конфигурацию, с небольшими разъяснениями:
1. Добавляем политику трафика к интерфейсу.
Switch(config)#interface fastethernet 0/1
Switch(config-if)#service-policy output policy1
2. Идентифицируем функцию QoS данной политики, используя классы.
Switch(config)#policy-map policy1
Switch(config-pmap)#class cisco
Switch(config-pmap-c)#bandwidth 3000
Switch(config-pmap)#class class-default
Switch(config-pmap-c)#bandwidth 2000
3. Классификация потока трафика, как принадлежащего к указанному классу QoS.
Switch(config)# class-map match-any cisco
Switch(config-cmap)# match access-group name test
Switch(config-cmap)# match interface fastethernet 0/1
Примерно так и функционирует модель QoS основанная на Cisco IOS, надеюсь я хоть немного смог раскрыть алгоритм данного функционала. Конечно данная статья является только лишь верхушкой айсберга под названием QoS, но надеюсь, что она поможет приобрести небольшую базу в построении политик QoS на устройствах Cisco.
Cisco QoS для начинающих
Автор статьи Эдуард Афонцев
1. Определения и термины.
Необходимый сервис описывается многими параметрами, отметим среди них самые важные.
Время передачи пакета через канал Transmit time [s] = packet size [bytes] / bw [bytes/s].
Например, найдем время передачи пакета размером 64 байта по каналу шириной 64 килобита/c:
Packet size = 64*8=512 (bit) Transmit Time = 512/64000 = 0.008 (c)
2. Сервисные модели QoS.
2.1. Best Effort Service.
2.2. Integrated Service (IntServ).
2.3. Differentiated Service (DiffServ).
3. Базовые функции QoS.
3.1. Классификация и разметка (Classification and Marking).
Классификация пакетов (Packet Classification) представляет собой механизм соотнесения пакета к определенному классу трафика.
В зависимости от уровня рассмотрения (имеется в виду OSI) эти задачи решаются по-разному.
3.1.1. Layer 2 Classification and Marking.
Коммутаторы Ethernet (Layer 2) используют протоколы канального уровня. Протокол 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.
3.1.2. Layer 3 Classification and Marking.
MPLS содержит индикатор QoS внутри метки в соответствующих битах MPLS EXP (3 бита).
Промаркировать IP пакеты значением QoS можно разными способами: PBR, CAR, BGP.
Пример 1. Маркировка PBR
Policy Based Route (PBR) можно использовать с целью маркировки, производя ее в соответствующей подпрограмме (Route-map может содержать параметр set ip precedence):
!
interface FastEthernet0/0
ip address 192.168.0.2 255.255.255.0
ip policy route-map MARK
speed 100
full-duplex
no cdp enable
!
access-list 1 permit 192.168.0.0 0.0.0.255
!
route-map MARK permit 10
match ip address 1
set ip precedence priority
!
На выходе интерфейса можно увидеть результат (например, программой tcpdump под unix):
Пример 2. Маркировка CAR.
Механизм Committed Access Rate (CAR) разработан для ограничения скорости, однако дополнительно может и маркировать пакеты (параметр set-prec-transmit в rate-limit):
!
interface FastEthernet0/0
ip address 192.168.0.2 255.255.255.252
rate-limit input access-group 1 1000000 10000 10000 conform-action set-prec-transmit 3 exceed-action set-prec-transmit 3
no cdp enable
!
access-list 1 permit 192.168.0.0 0.0.0.255
!
#sh interface FastEthernet0/0 rate-limit
3.2. Управление перегрузками (Congestion Management). Механизм очередей.
3.2.1. Перегрузки (Congestions).
3.2.2. Layer 2 Queuing.
Физическое устройство классического коммутатора можно упрощенно представить следующим образом: пакет приходит на входной порт, обрабатывается механизмом коммутации, который решает, куда направить пакет, и попадает в аппаратные очереди выходного порта. Аппаратные очереди представляет собой быструю память, хранящую пакеты перед тем, как они попадут непосредственно на выходной порт. Далее, согласно определенному механизму обработки, пакеты извлекаются из очередей и покидают коммутатор. Изначально очереди равноправны и именно механизм обработки очередей (Scheduling) определяет приоритезацию. Обычно каждый порт коммутатора содержит ограниченное число очередей: 2, 4, 8 и так далее.
В общих чертах настройка приоритезации заключается в следующем:
1. Изначально очереди равноправны. Поэтому предварительно необходимо их настроить, то есть определить очередность (или пропорциональность объема) их обработки. Чаще всего это делается привязкой приоритетов 802.1P к очередям.
2. Необходимо сконфигурировать обработчик очередей (Scheduler). Чаще всего используются взвешенный циклический алгоритм (Weighted Round Robin WRR) или строгая очередь приоритетов (Strict Priority Queuing).
3. Назначение приоритета поступающим пакетам: по входному порту, по CoS или, в случае дополнительных возможностей (Layer 3 switch), по каким-то полям IP.
Работает все это следующим образом:
1. Пакет попадает в коммутатор. Если это обычный Ethernet пакет (клиентский Access Port), то он не имеет меток приоритета и таковая может выставляться коммутатором, например, по номеру входного порта, если это нужно. Если входной порт транковый (802.1Q или ISL), то пакет может нести метку приоритета и коммутатор может ее принять или заменить на необходимую. В любом случае пакет на данном этапе попал в коммутатор и имеет необходимую разметку CoS.
2. После обработки процессом коммутации пакет в соответствии с меткой приоритета CoS направляется классификатором (Classify) в соответствующую очередь выходного порта. Например, критический трафик попадает в высокоприоритетную, а менее важный в низкоприоритетную очереди.
3. Механизм обработки (Scheduling) извлекает пакеты из очередей согласно их приоритетам. Из высокоприоритетной очереди за единицу времени будет выдано на выходной порт больше пакетов, чем из низкоприоритетной.
3.2.3. Layer 3 Queuing.
Маршрутизирующие устройства оперируют пакетами на третьем уровне OSI (Layer 3). Чаще всего поддержка очередей обеспечивается программно. Это означает в большинстве случаев отсутствие аппаратных ограничений на их число и более гибкое конфигурирование механизмов обработки. Общая парадигма QoS Layer 3 включает маркировку и классификацию пакетов на входе (Marking & Classification), распределение по очередям и их обработку (Scheduling) по определенным алгоритмам.
И еще раз подчеркнем, что приоритезация (очереди) требуется в основном только в узких, загруженных местах, когда пропускной способности канала не хватает для передачи всех поступающих пакетов и нужно каким-то образом дифференцировать их обработку. Кроме того, приоритезация необходима и в случае предотвращения влияния всплесков сетевой активности на чувствительный к задержкам трафик.
Проведем классификацию Layer 3 QoS по методам обработки очередей.
3.2.3.1. FIFO.
3.2.3.2. PQ. Очереди приоритетов.
Priority Queuing (PQ) обеспечивает безусловный приоритет одних пакетов над другими. Всего 4 очереди: high, medium, normal и low. Обработка ведется последовательно (от high до low), начинается с высокоприоритетной очереди и до ее полной очистки не переходит к менее приоритетным очередям. Таким образом, возможна монополизация канала высокоприоритетными очередями. Трафик, приоритет которого явно не указан, попадет в очередь по умолчанию (default).
Параметры команды.
распределение протоколов по очередям:
priority-list LIST_NUMBER protocol PROTOCOL
определение очереди по умолчанию:
priority-list LIST_NUMBER default
определение размеров очередей (в пакетах):
priority-list LIST_NUMBER queue-limit HIGH_QUEUE_SIZE MEDIUM_QUEUE_SIZE NORMAL_QUEUE_SIZE LOW_QUEUE_SIZE
1. Определяем 4 очереди
access-list 110 permit ip any any precedence network
access-list 120 permit ip any any precedence critical
access-list 130 permit ip any any precedence internet
access-list 140 permit ip any any precedence routine
priority-list 1 protocol ip high list 110
priority-list 1 protocol ip medium list 120
priority-list 1 protocol ip normal list 130
priority-list 1 protocol ip low list 140
priority-list 1 default low
Дополнительно можно установить размеры очередей в пакетах
priority-list 1 queue-limit 30 60 90 120
2. Привязываем к интерфейсу
!
interface FastEthernet0/0
ip address 192.168.0.2 255.255.255.0
speed 100
full-duplex
priority-group 1
no cdp enable
!
3. Просмотр результата
# sh queueing priority
Current priority queue configuration:
List | Queue Args | — | — |
1 | low | default | — |
1 | high | protocol ip | list 110 |
1 | medium | protocol ip | list 120 |
1 | normal | protocol ip | list 130 |
1 | low | protocol ip | list 140 |
#sh interfaces fastEthernet 0/0
:
Queueing strategy: priority-list 1
:
#sh queueing interface fastEthernet 0/0
Interface FastEthernet0/0 queueing strategy: priority
Output queue utilization (queue/count)
high/19 medium/0 normal/363 low/0
3.2.3.3. CQ. Произвольные очереди.
Custom Queuing (CQ) обеспечивает настраиваемые очереди. Предусматириваетмя управление долей полосы пропускания канала для каждой очереди. Поддерживается 17 очередей. Системная 0 очередь зарезервирована для управляющих высокоприоритетных пакетов (маршрутизация и т.п.) и пользователю недоступна.
Очереди обходятся последовательно, начиная с первой. Каждая очередь содержит счетчик байт, который в начале обхода содержит заданное значение и уменьшается на размер пакета, пропущенного из этой очереди. Если счетчик не ноль, то пропускается следующий пакет целиком, а не его фрагмент, равный остатку счетчика.
Параметры команды.
определение полосы пропускания очередей:
queue-list LIST-NUMBER queue QUEUE_NUMBER byte-count
BYTE_COUT
определение размеров очередей:
queue-list LIST-NUMBER queue QUEUE_NUMBER limit QUEUE_SIZE
1. Определяем очереди
access-list 110 permit ip host 192.168.0.100 any
access-list 120 permit ip host 192.168.0.200 any
queue-list 1 protocol ip 1 list 110
queue-list 1 protocol ip 2 list 120
queue-list 1 default 3
queue-list 1 queue 1 byte-count 3000
queue-list 1 queue 2 byte-count 1500
queue-list 1 queue 3 byte-count 1000
Дополнительно можно установить размеры очередей в пакетах
queue-list 1 queue 1 limit 50
queue-list 1 queue 2 limit 50
queue-list 1 queue 3 limit 50
2. Привязываем к интерфейсу
!
interface FastEthernet0/0
ip address 192.168.0.2 255.255.255.0
speed 100
full-duplex
custom-queue-list 1
no cdp enable
!
3. Просмотр результата
#sh queueing custom
Current custom queue configuration:
List | Queue | Args | — |
1 | 3 | default | — |
1 | 1 | protocol ip | list 110 |
1 | 2 | protocol ip | list 120 |
1 | 1 | byte-count 1000 | — |
1 | 2 | byte-count 1000 | — |
1 | 3 | byte-count 2000 | — |
#sh interface FastEthernet0/0
:
Queueing strategy: custom-list 1
:
#sh queueing interface fastEthernet 0/0
Interface FastEthernet0/0 queueing strategy: custom
Output queue utilization (queue/count)
0/90 1/0 2/364 3/0 4/0 5/0 6/0 7/0 8/0
9/0 10/0 11/0 12/0 13/0 14/0 15/0 16/0
3.2.3.4. WFQ. Взвешенные справедливые очереди.
Weighted Fair Queuing (WFQ) автоматически разбивает трафик на потоки (flows). По умолчанию их число равно 256, но может быть изменено (параметр dynamic-queues в команде fair-queue). Если потоков больше, чем очередей, то в одну очередь помещается несколько потоков. Принадлежность пакета к потоку (классификация) определяется на основе TOS, протокола, IP адреса источника, IP адреса назначения, порта источника и порта назначения. Каждый поток использует отдельную очередь.
Вместе с WFQ работает RSVP. По умолчанию WFQ включается на низкоскоростных интерфейсах.
2. Включаем WFQ на интерфейсе
interface FastEthernet0/0
fair-queue
interface FastEthernet0/0
fair-queue CONGESTIVE_DISCARD_THRESHOLD DYNAMIC_QUEUES
3. Просмотр результата
# sh queueing fair
# sh queueing interface FastEthernet0/0
3.2.3.5. CBWFQ.
Class Based Weighted Fair Queuing (CBWFQ) соответствует механизму обслуживания очередей на основе классов. Весь трафик разбивается на 64 класса на основании следующих параметров: входной интерфейс, аксесс лист (access list), протокол, значение DSCP, метка MPLS QoS.
Общая пропускная способность выходного интерфейса распределяется по классам. Выделяемую каждому классу полосу пропускания можно определять как в абсолютное значение (bandwidth в kbit/s) или в процентах (bandwidth percent) относительно установленного значения на интерфейсе.
Пакеты, не попадающие в сконфигурированные классы, попадают в класс по умолчанию, который можно дополнительно настроить и который получает оставшуюся свободной полосу пропускания канала. При переполнении очереди любого класса пакеты данного класса игнорируются. Алгоритм отклонения пакетов внутри каждого класса можно выбирать: включенное по умолчанию обычное отбрасывание (tail-drop, параметр queue-limit) или WRED (параметр random-detect). Только для класса по умолчанию можно включить равномерное ( честное ) деление полосы (параметр fair-queue).
CBWFQ поддерживает взаимодействие с RSVP.
критерии отбора пакетов классом:
class-map match-all CLASS
match access-group
match input-interface
match protocol
match ip dscp
match ip rtp
match mpls experimental
class CLASS
bandwidth BANDWIDTH
bandwidth percent BANDWIDTH_PERCENT
queue-limit QUEUE-LIMIT
random-detect
определение класса по умолчанию (default):
class class-default
bandwidth BANDWIDTH
bandwidth percent BANDWIDTH_PERCENT
queue-limit QUEUE-LIMIT
random-detect
fair-queue
По умолчанию абсолютное значение Bandwidth в классе CBWFQ не может превышать 75% значение Bandwidth на интерфейсе. Это можно изменить командой max-reserved-bandwidth на интерфейсе.
class-map match-all Class1
match access-group 101
4. Просмотр результата
#sh class Class1
#sh policy Policy1
#sh policy interface FastEthernet0/0
Деление общей полосы по классам в процентном соотношении (40, 30, 20).
access-list 101 permit ip host 192.168.0.10 any
access-list 102 permit ip host 192.168.0.20 any
access-list 103 permit ip host 192.168.0.30 any
class-map match-all Platinum
match access-group 101
class-map match-all Gold
match access-group 102
class-map match-all Silver
match access-group 103
policy-map Isp
class Platinum
bandwidth percent 40
class Gold
bandwidth percent 30
class Silver
bandwidth percent 20
interface FastEthernet0/0
bandwidth 256
service-policy output Isp
3.2.3.6. LLQ.
class-map match-all Voice
match ip precedence 6
class-map match-all Class1
match access-group 101
Аналогично CBWFQ, только для приоритетного класса (он один) указывается параметр priority.
policy-map Policy1
class Voice
priority 1000
class Class1
bandwidth 100
queue-limit 20
class class-default
bandwidth 50
random-detect
Пример 1.
Относим класс Voice к PQ, а все остальное к CQWFQ.
!
class-map match-any Voice
match ip precedence 5
!
policy-map Voice
class Voice
priority 1000
class VPN
bandwidth percent 50
class class-default
fair-queue 16
!
interface X
Sevice-policy output Voice
!
Пример 2.
Дополнительно ограничиваем общую скорость для PQ в LLQ, чтобы он не монополизировал весь канал в случае неправильной работы.
!
class-map match-any Voice
match ip precedence 5
!
policy-map Voice
class Voice
priority 1000
police 1024000 32000 32000 conform-action transmit exceed-action drop
class Vpn
bandwidth percent 50
class class-default
fair-queue 16
!
interface FastEthernet0/0
service-policy output Voice
!
3.3. Предотвращение перегрузок (Congestion avoidance).
3.3.1. RED
Настройка заключается в активации RED на интерфейсе.
interface FastEthernet0/0
random-detect
3.3.2 ECN
Explicit Congestion Notification (ECN) использует ту же логику, что и RED, но не отбрасывает пакеты, а уведомляет о необходимости ограничения, маркируя их (устанавливает в IP заголовке ECN биты).
3.4. Регулирование интенсивности.
3.4.1. Layer 2 Регулирование интенсивности.
Современные коммутаторы позволяют регулировать интенсивность трафика несколькими способами.
Flow control предназначен для детектирования и сигнализации передающей стороне о превышении скорости поступления пакетов.
Storm control ограничивает предельное значение скорости пакетов на интерфейсе, выше которого будет происходить отбрасывание.
Bandwidth чаще всего дискретно регулирует полосу пропускания на портах.
3.4.2. Layer 3 Регулирование интенсивности.
3.4.2.1. Police.
Ограничитель (Policer) соответственно ограничивает поток трафика до нужной величины методом простого отбрасывания пакетов, поступающих с выходящей за рамки скоростью. Может работать как на входящем, так и на выходящем интерфейсах. Кратко можно охарактеризовать как ОГРАНИЧИТЕЛЬ интенсивности методом ОТБРАСЫВАНИЯ при превышении заданной скорости.
Назначение применения: ограничение трафика до скорости контракта, то есть управление интенсивностью. Следует отметить, что ограничение трафика может помочь и в случае предотвращения DOS атак.
Область применения: как на входных, так и на выходных портах. Чаще всего на входных, так как в этом случае отбрасываемые пакеты не доходят до процесса маршрутизации и таким образом экономятся ресурсы. К ограничителям трафика относится механизм Committed Access Rate (CAR).
rate-limit access-group ACCESS_LIST BIT_RATE BURST_NORMAL BURST_MAX conform-action ACTION exceed-action ACTION
police BIT_RATE BURST_NORMAL BURST_MAX conform-action ACTION exceed-action ACTION
CAR ограничение UDP до 8 кбит, TCP и ICMP до 80 кбит.
!
interface Ethernet0/1
ip address 192.168.0.5 255.255.255.252
rate-limit output access-group 100 8000 2000 2000 conform-action drop exceed-action drop
rate-limit output access-group 101 80000 8000 8000 conform-action drop exceed-action drop
full-duplex
priority-group 1
no cdp enable
!
access-list 100 permit udp any any
access-list 101 permit tcp any any
access-list 101 permit icmp any any
!
CAR ограничение трафика клиента 192.168.0.2 до 128 kbit/s со стороны ISP.
!
interface FastEthernet0/0
description INTERNET
ip address 194.226.248.67 255.255.255.252
rate-limit output access-group 101 128000 8000 8000 conform-action transmit exceed-action drop
no cdp enable
!
interface FastEthernet0/1
description CLIENT
ip address 192.168.0.1 255.255.255.252
rate-limit output access-group 102 128000 8000 8000 conform-action transmit exceed-action drop
!
access-list 101 permit ip host 192.168.0.2 any
access-list 102 permit ip any host 192.168.0.2
!
Police ограничение трафика клиента 192.168.0.2 до 128 kbit/s со стороны ISP.
!
class-map match-all Traf1
match access-group 101
!
!
class-map match-all Traf2
match access-group 102
!
policy-map Policy1
class Traf1
police 128000 8000 8000 conform-action transmit exceed-action drop
!
policy-map Policy2
class Traf2
police 128000 8000 8000 conform-action transmit exceed-action drop
!
interface FastEthernet0/0
description INTERNET
ip address 194.226.248.67 255.255.255.252
service-policy output Policy1
no cdp enable
!
interface FastEthernet0/1
description CLIENT
ip address 192.168.0.1 255.255.255.252
service-policy output Policy2
no cdp enable
!
access-list 101 permit ip host 192.168.0.2 any
access-list 102 permit ip any host 192.168.0.2
!
3.4.2.2. Shaping.
Формирователь (шейпер, Shaper) обычно задерживает исходящий трафик, используя буфер или механизм очередей, формируя поток с нужными параметрами. Выполняет функции сглаживания. Применяется для ограничения пропускной способности на выходе из интерфейса. Кратко можно охарактеризовать как ОГРАНИЧИТЕЛЬ-ВЫРАВНИВАТЕЛЬ интенсивности методом ЗАДЕРЖКИ (буферизации пакетов) и дальнейшей пересылки с согласованной интенсивностью при превышении заданной скорости. Декларируется, что шейпинг более дружественен к TCP, чем полисинг.
1. В случае, если где-то далее в сети применяется полисинг, который, как известно, приводит к отбрасыванию пакетов. Лучше заранее на подходах «мягко» ограничить трафик перед полисингом.
2. В случае, если где-то далее в сети возможно переполнение входных очередей, а QoS там не настроен или невозможен.
3. Ограничение скорости доступа до контрактных значений.
Область применения: всегда на выходном интерфейсе.
traffic-shape group ACCESS_LIST BIT_RATE BURST_SIZE EXCESS_BURST_SIZE BUFFER_LIMIT
Ограничение UDP до 8 kbit/s.
!
interface Ethernet0/1
ip address 192.168.0.5 255.255.255.252
full-duplex
traffic-shape group 100 8000 1500 2000 1000
no cdp enable
!
access-list 100 permit udp any any
!
Ограничение UDP до 8 kbit/s, TCP и ICMP до 14 kbit/s.
!
interface FastEthernet0/0
ip address 192.168.0.5 255.255.255.252
traffic-shape group 101 8000 2000 2000 2000
traffic-shape group 102 14000 2000 2000 2000
no cdp enable
!
access-list 101 permit udp any any
access-list 102 permit tcp any any
access-list 102 permit icmp any any
!
#sh traffic-shape FastEthernet0/0
Ограничение TCP и ICMP до 64 kbit/s.
!
class-map match-all Traf1
match access-group 102
!
policy-map Policy1
class Traf1
shape peak 64000
!
!
interface FastEthernet0/0
ip address 192.168.0.2 255.255.255.252
no cdp enable
!
interface FastEthernet0/1
ip address 192.168.0.5 255.255.255.252
service-policy output Policy1
no cdp enable
!
access-list 102 permit tcp any any
access-list 102 permit icmp any any
!
Ограничение трафика клиента 192.168.0.2 до 128 kbit/s со стороны ISP.
!
interface FastEthernet0/0
description INTERNET
ip address 194.226.248.67 255.255.255.252
traffic-shape group 101 128000 7936 7936 1000
no cdp enable
!
interface FastEthernet0/1
description CLIENT
ip address 192.168.0.1 255.255.255.252
traffic-shape group 102 128000 7936 7936 1000
!
access-list 101 permit ip host 192.168.0.2 any
access-list 102 permit ip any host 192.168.0.2
!
Ограничение трафика клиента (до 64 kbit/s) со стороны ISP.
!
class-map match-all Traf1
match access-group 101
!
!
class-map match-all Traf2
match access-group 102
!
policy-map Policy1
class Traf1
shape peak 64000
!
policy-map Policy2
class Traf2
shape peak 64000
!
interface FastEthernet0/0
description INTERNET
ip address 194.226.248.67 255.255.255.252
service-policy output Policy1
no cdp enable
!
interface FastEthernet0/1
description CLIENT
ip address 192.168.0.1 255.255.255.252
service-policy output Policy2
no cdp enable
!
access-list 101 permit ip host 192.168.0.2 any
access-list 102 permit ip any host 192.168.0.2
3.5. Сигнализация.
3.5.1. RSVP.
Протокол RSVP определен IETF в качестве сигнального протокола для архитектуры IntServ. Данный протокол позволяет конечным системам произвести запрос резервирования ресурсов по доступному маршрутизируемому пути в сети и повлиять на обработку своих потоков.
Процесс резервирования разбивается на несколько этапов:
1. Отправитель данных посылает управляющее сообщение RSVP PATH по пути предполагаемого распространения данных.
2. Все маршрутизаторы (поддерживающие RSVP) заменяют IP адрес отправителя на свой и отправляют измененное PATH сообщение дальше.
3. Получатели отвечают на PATH сообщением RSVP RESV, в котором описываются требования к сетевой среде (резервирование ресурсов). RSVP RESV идут от получателя к отправителю в противоположном направлении по отношению к маршруту RSVP PATH.
5. Отправитель, получив в итоге RESV, считает процедуру резервирования состоявшейся. Отметим, что реальное резервирование осуществляется сообщениями RESV.
Протокол RSVP является только средством сигнализации, обеспечением QoS занимаются другие механизмы.
4. Автоматизация.
4.1. Cisco QoS Policy manager.
Cisco QoS Policy manager является инструментом конфигурирования QoS. Предоставляет возможность централизованного управления политикой QoS.
4.2. Cisco AutoQoS.
Упрощает конфигурирование QoS. Заключается в:
1. Автоматический сбор информации о трафике для всех протоколов (а значит и приложений), используя NBAR, DSCP. Запускается AutoDiscovery для профилирования трафика:
Включение на интерфейсе
interface FastEthernet0/0
auto discovery qos
# sh auto discovery qos
2. Автоматическое генерирование параметров QoS (политик) и их применение:
interface FastEthernet0/0
auto qos
Приложения.
Модульный интерфейс.
Структура модульного интерфейса (Command Line Interface CLI QoS) при использовании классовой политики:
!описание класса class-map CLASS
! критерии по которым классифицируется пакет
match access-group
match input-interface
match ip dscp
match ip rtp
match protocol
match mpls experimental
match not
!описание политики
policy-map POLICY
! входящий в политику класс (классов может быть несколько)
class CLASS
! абсолютное значение
bandwidth kbps
! в процентах от полосы, определенной на интерфейсе
bandwidth percent
queue-limit NUMBER-OF-PACKETS- максимальное число пакетов, которое поддеоживается очередью класса (означает tail-drop)
! дополнительно можно произвести маркировку
set cos COS-VALUE
set ip dscp IP-DSCP-VALUE
set ip precedence
set qos-group QOS-GROUP-VALUE
set mpls experimental VALUE
! применение политики к интерфейсу
interface INTERFACE
service-policy output POLICY
Иерархические политики.
Внутри базового ограниченного класса организуются полосы для подклассов трафика.
class-map tcp
match
class-map telnet
match
class-map ftp
match
! определяем подклассы по 1 мбит
policy-map telnet-ftp
class telnet
rate-limit 1000000
class ftp
rate-limit 1000000
! определяем базовый класс 10 мбит
policy-map tcp-hier
class tcp
rate-limit 10000000
service-policy telnet-ftp
interface X
service-policy tcp-hier
policy-map client1-classes
class gold
bandwidth percent 50
class silver
bandwidth percent 25
class bronze
bandwidth percent 10
policy-map client2-classes
class gold
bandwidth percent 30
class silver
bandwidth percent 10
class bronze
bandwidth percent 5
policy-map clients-policy
class client1
shape average 128000
service-policy client1-classes
class client2
shape peak 512000
service-policy client2-classes
interface FastEthernet0/0
service-policy output clients-policy