Администрирование Cisco Пример настройки приоритезации трафика (QoS) для IP-телефонии Tue, April 16 2024  

Поделиться

Нашли опечатку?

Пожалуйста, сообщите об этом - просто выделите ошибочное слово или фразу и нажмите Shift Enter.

Пример настройки приоритезации трафика (QoS) для IP-телефонии Печать
Добавил(а) microsin   

Исходные данные - имеем роутер C831, во внутренней сети которого имеются устройства, генерирующие трафик IP-телефонии. Трафик телефонии должен получать приоритет перед всем остальным трафиком.

Для этого на выходном интерфейсе маршрутизатора этот трафик при отправке наружу получает класс обслуживания 5. Скорость на выходном (внешнем) интерфейсе - 2 мбит/сек.

Пример 1.
...
class-map match-all cmLimit2m
 match access-group 120
class-map match-all cmVoip
 match access-group 160
!
!
policy-map pmVoip
 class cmVoip
  priority percent 50
  set ip precedence 5
 class class-default
  fair-queue
policy-map pmLimit2m
 class cmLimit2m
  shape peak 2000000
  service-policy pmVoip
...
interface Ethernet1
 description External Interface
 ip address a.b.0.128 255.255.255.0
 service-policy output pmLimit2m
 duplex auto
 speed auto
...
access-list 120 remark Outside traffic from this router
access-list 120 permit ip c.d.96.0 0.0.15.255 10.0.0.0 0.255.255.255
access-list 160 remark -----------------------------
access-list 160 remark ----Nortel_VoIP_traffic------
access-list 160 remark -----------------------------
access-list 160 permit tcp any any range 1720 1721
access-list 160 permit udp any any eq 1718
access-list 160 permit udp any any eq 1719
access-list 160 permit udp any any eq 4100
access-list 160 permit udp any any eq 5100
access-list 160 permit udp any any eq 7300
access-list 160 permit udp any any eq 5105
access-list 160 permit udp any any range 5200 5262
access-list 160 permit udp any any eq 5000
access-list 160 permit udp any any eq 15000
access-list 160 permit udp any any range 17300 17363
access-list 160 permit udp any any range 2001 2002
access-list 160 permit udp any any range 2300 2363
access-list 160 permit udp any range 5000 5201 any
access-list 160 permit udp any any range 16384 32768
access-list 160 remark -----------------------------
...

Все, что тут указано, проще рассмотреть по шагам на диаграмме.



1. Трафик, который имеет высокий приоритет, фильтруется access-list 160 (блок 1). Трафик, который уходит наружу (в его состав как часть входит высокоприоритетный трафик), определен access-list 120 в форме source-net source-mask destination-net destination-mask (блок 2).
2. Далее трафик, соответствующий access-листам, группируется в таблицы классов - access-list 160 попадает в class-map с именем cmVoip (блок 3), а access-list 120 попадает в class-map с именем cmLimit2m (блок 4). Ключевое слово match-all означает, что удовлетворение классу будет срабатывать на записи в классе по логической операции AND (то есть при условии,
что трафик удовлетворяет одновременно всем access-листам, перечисленным в определении class-map). В данном случае слово match-all не несет никакой смысловой нагрузки (оно нужно только для требований синтаксиса), поскольку в определении класса только одна запись со ссылкой на access-list. В данном примере можно с равным успехом применить ключевое слово match-any, что означает соответствие классу, если трафик удовлетворяет хотя бы одному из условий списка в определении class-map.
3. Далее создаются правила для управления трафиком - policy-map. В нашем случае создаются 2 правила - pmVoip и pmLimit2m, причем правило pmVoip используется правилом pmLimit2m. Рассмотрим, что делает каждое правило.
- pmVoip (блок 5)
policy-map pmVoip
 class cmVoip
  priority percent 50
  set ip precedence 5
 class class-default
  fair-queue
  Здесь указано, что под трафик, принадлежащий классу cmVoip, будет гарантированно выделяться 50% от доступной полосы пропускания (priority percent 50), и он будет маркироваться классом обслуживания 5 (устанавливаются биты 7 и 5 байта ToS, бит 6 сбрасывается. Обычно байт ToS при этом равен 0xA0. Это означает наивысший приоритет, используемый для речевого трафика). Вся оставшаяся часть полосы пропускания будет предоставлена прочему неклассифицированному трафику (который обозначается как class class-default) с равномерным делением полосы между всеми сервисами (fair-queue).
- pmLimit2m (блок 6)
policy-map pmLimit2m
 class cmLimit2m
  shape peak 2000000
  service-policy pmVoip
Здесь указано, что к трафику, принадлежащему классу cmLimit2m, применяется шейпинг (ограничение полосы пропускания) на уровне 2000000 бит/сек по методу peak (есть ещё метод average). Кроме того, на трафик накладывается правило pmVoip.
4. Далее правило запускается на внешнем интерфейсе, или "привязывается" к нему (блок 7).
interface Ethernet1
 service-policy output pmLimit2M

Пример 2.
...
class-map match-all cmVoip
 match access-group 160
!
policy-map pmLimit
 class cmVoip
  shape peak 2000000
  set ip precedence 5
 class class-default
  shape peak 1500000
...
interface Ethernet1
 ip address a.b.0.128 255.255.255.0
 service-policy output pmLimit
 duplex auto
 speed auto
...
access-list 160 remark -----------------------------
access-list 160 remark ----Nortel_VoIP_traffic------
access-list 160 permit tcp any any range 1720 1721
access-list 160 permit udp any any eq 1718
access-list 160 permit udp any any eq 1719
access-list 160 permit udp any any eq 4100
access-list 160 permit udp any any eq 5100
access-list 160 permit udp any any eq 7300
access-list 160 permit udp any any eq 5105
access-list 160 permit udp any any range 5200 5262
access-list 160 permit udp any any eq 5000
access-list 160 permit udp any any eq 15000
access-list 160 permit udp any any range 17300 17363
access-list 160 permit udp any any range 2001 2002
access-list 160 permit udp any any range 2300 2363
access-list 160 permit udp any range 5000 5201 any
access-list 160 permit udp any any range 16384 32768
...

Здесь диаграмма существенно проще:



1. Как и в прошлом примере, трафик, который имеет приоритет, фильтруется access-list 160. Трафик, который уходит из внутренней сети наружу и ранее фильтруемый access-list 120, теперь рассматривается в контексте class-default, и для него никакого фильтра нет - access-list 120 не нужен.
2. Как и в первом примере, создается класс трафика cmVoip. Класс cmLimit2m теперь не нужен.
class-map match-all cmVoip
 match access-group 160
3. Создается правило policy-map pmLimit. В нем указывается, что для класса трафика cmVoip доступна пиковая полоса 2000000 бит/сек, и этот трафик на выходе маркируется классом 5 (как и в предыдущем примере). Всему остальному трафику (class class-default) гарантируется не более 1500000 бит/сек. Таким образом, для cmVoip неявным образом всегда гарантируется 2000000 - 1500000 = 500000 бит/сек.
policy-map pmLimit
 class cmVoip
  shape peak 2000000
  set ip precedence 5
 class class-default
  shape peak 1500000
4. Правило запускается на внешнем интерфейсе.
interface Ethernet1
 service-policy output pmLimit

Резюме. Для конфигурирования QoS используются 3 основных шага:
- использование команды class-map для определения одного или более классов трафика с помощью критериев, по которым этот трафик классифицируется.
- использование команды policy-map для определения одной или более политик QoS (например, шейпинг или маркировка трафика). Эти политики связываются с трафиком, выделенным с class-map.
- использование команды service-policy для привязки policy-map к сетевому интерфейсу.

 

Комментарии  

 
+6 #1 Gvozd 11.07.2011 19:00
Супер! Спасибо автору, очень доступно и понятно! :-)
Цитировать
 

Добавить комментарий


Защитный код
Обновить

Top of Page