Random Early Detection (RED) используется в скоростных сетях для предупреждения перегрузок. Затрагивает только TCP. Путем отбрасывания случайным образом пакетов из наиболее мощных потоков вынуждает посылающую сторону уменьшить скорость передачи (используя соответствующие свойства TCP протокола - окно перегрузки, Congestion Window). Доля отбрасываемых пакетов регулируется при конфигурации.
Алгоритм настройки.
Настройка заключается в активации 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).
BURST_MAX – максимальный размер всплеска (в байтах)
conform-action ACTION – действие при соответствии ограничению:
drop – уничтожить transmit - передать set-dscp-transmit – пометить пакет
exceed-action ACTION - действие при превышении ограничения:
drop – уничтожить transmit - передать set-dscp-transmit – пометить пакет
Пример 1.
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 !
Пример 2.
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 !
Пример 3.
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
обозначения:
ACCESS_LIST – аксесс лист классификации
BIT_RATE – допустимая скорость (bit/s)
BURST_SIZE – размер всплеска (в байтах), по умолчанию равен BIT_RATE/8
EXCESS_BURST_SIZE – превышение размера всплеска (в байтах), по умолчанию равен BURST_SIZE
BUFFER_LIMIT – размер буфера
Пример 1.
Ограничение 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 !
Пример 2.
Ограничение 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
Пример 3.
Ограничение 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 !
Пример 4.
Ограничение трафика клиента 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 !
Пример 5.
Ограничение трафика клиента (до 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.
4. RSVP маршрутизаторы, получающие RESV, определяют возможность их выполнения. Если ресурсов хватает, то пакет передается дальше, если нет – отказ.
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
Просмотр
# sh 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
! шейпер shape average – шейпер (максимум того, что может получить очередь) shape peak – шейпер (максимум того, что может получить очередь)
! priority – приоритетный трафик (PQ в LLQ), ГАРАНТИРОВАННАЯ полоса ! абсолютное значение priority BANDWIDTH-KBPS ! в процентах от полосы, определенной на интерфейсе priority percent PERCENTAGE
! bandwidth – МИНИМАЛЬНАЯ полоса (CBWFQ), превышение допустимо в ! случае наличия резервов
! абсолютное значение bandwidth kbps ! в процентах от полосы, определенной на интерфейсе bandwidth percent
queue-limit NUMBER-OF-PACKETS– максимальное число пакетов, которое поддеоживается очередью класса (означает tail-drop)
random-detect – включение RED
fair-queue number-of-queues – WFQ только для класса по умолчанию
! дополнительно можно произвести маркировку 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
Иерархические политики.
Пример 1.
Внутри базового ограниченного класса организуются полосы для подклассов трафика.
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
Пример 2.
Ограничение клиентов. Общий канал делится на двух клиентов. Один получает 128 кбит, другой - 512 кбит. Трафик каждого дополнительно разбивается на полосы в определенной пропорции.
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