Главная » Простые сети » Сложные сети » Теория » Практические приемы » Технология » ПО » Работа в сети » Прочее

Cisco QoS для начинающих. ( часть 2)

Автор статьи Эдуард Афонцев

3.3. Предотвращение перегрузок (Congestion avoidance).

3.3.1. RED

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).

Параметры команды.

CAR

rate-limit {input|output} access-group ACCESS_LIST BIT_RATE BURST_NORMAL BURST_MAX conform-action ACTION exceed-action ACTION

POLICE

police BIT_RATE BURST_NORMAL BURST_MAX conform-action ACTION exceed-action ACTION

обозначения:

ACCESS_LIST – аксесс лист классификации

BIT_RATE – допустимая скорость (bit/s)

BURST_NORMAL – размер всплеска (в байтах)

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

! police – ограничитель (аналог CAR), МАКСИМАЛЬНАЯ полоса,
! предоставляемая классу
police bps burst-normal burst-max conform-action ACTION exceed-action ACTION violate-action ACTION

! шейпер
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

interface FastEthernet0/0
service-policy output clients-policy

Назад

Спасибо за внимание!


/ Обмен ссылками / Неизвестные сети /