Исходные данные - имеем роутер 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 к сетевому интерфейсу. |
Комментарии
RSS лента комментариев этой записи