Общие сведения
Предварительные условия
Требования
Используемые компоненты
Условные обозначения
Параметры функции применения политик QoS
Расчет параметров
Действия политик
Функции применения политик, поддерживаемые Catalyst 6500/6000
Новые функции применения политик для Supervisor Engine 720
Настройка и мониторинг функции применения политик в ПО CatOS
Настройка и мониторинг применения политик в ПО Cisco IOS
Дополнительные сведения
Применение политик QoS в сети определяет соответствие сетевого трафика заданному профилю (контракту). Функция применения политик может сбрасывать непрофильный трафик или понижать значение трафика, устанавливая для него другое значение кода дифференцированных услуг DSCP, для обеспечения уровня обслуживания, обусловленного контрактом. (DSCP — показатель уровня QoS для фрейма.)
Следует различать применение политик к трафику и формирование трафика. В обоих случаях трафик остается в рамках параметров профиля (контракта). При применении политик к трафику, непрофильные пакеты не помещаются в буфер. Поэтому это не влияет на задержку передачи. Трафик либо сбрасывается, либо понижается до более низкого уровня QoS (снижение кода DSCP). Напротив, при формировании трафика происходит буферизация непрофильного трафика и сглаживание пульсаций объема трафика. Это влияет на задержку и колебания задержки. Формирование трафика применяется только к выходному интерфейсу. Применение политик возможно как к входному, так и к выходному интерфейсам.
Платы Catalyst 6500/6000 Policy Feature Card (PFC) и PFC2 поддерживают применения политик только для входящего трафика. PFC3 поддерживает применение политик как для входящего, так и для исходящего трафика. Формирование трафика поддерживается только на определенных модулях WAN для Catalyst серии 6500/7600, например, на модулях оптических служб OSM и FlexWAN. Дополнительную информацию см. в документе Примечания по настройке модуля маршрутизатора Cisco серии 7600.
Для данного документа нет особых требований.
Данный документ не ограничен отдельными версиями программного и аппаратного обеспечения.
Дополнительную информацию об условных обозначениях см. в документе Технические рекомендации Cisco. Условные обозначения.
Чтобы настроить контроль, необходимо определить диспетчеры политик и применить их к портам (QoS на основе портов) или VLAN (QoS на основе VLAN). Каждый диспетчер политик определяет имя, тип, скорость, размер блока и действия для профильного и непрофильного трафика. Диспетчеры политик на Supervisor Engine II также поддерживают параметры превышения скорости. Существуют два типа диспетчеров политик: диспетчер политик для микропотоков и общий диспетчер политик.
Диспетчер политик для микропотоков — регулирует трафик для каждого порта и VLAN индивидуально, в зависимости от потока.
Общий диспетчер политик — регулирует трафик для всех портов и VLAN.
Каждый диспетчер политик можно использовать для нескольких портов или VLAN. Поток определяется следующими параметрами:
IP-адрес источника;
IP-адрес назначения;
протокол уровня 4 (например, протокол дейтаграмм пользователя [UDP]);
номер порта источника;
номер порта назначения.
Можно указать, что пакеты, соответствующие конкретному набору определенных параметров, принадлежат одному потоку. (Эта концепция потока, по существу, аналогична концепции, используемой коммутацией NetFlow.)
Например, если настраивается диспетчер политик для микропотока для ограничения TFTP трафика значением 1 Мбит/с в VLAN 1 и VLAN 3, тогда скорость 1 Мбит/с разрешена для каждого потока в VLAN 1 и 1 Мбит/с — для каждого потока в VLAN 3. Другими словами, если в VLAN 1 существуют три потока, а в VLAN 3 — четыре потока, то диспетчер политик микропотока разрешает каждому из этих потоков скорость 1 Мбит/с. При настройке общего диспетчера политик он ограничивает TFTP трафик для всех потоков в VLAN 1 и VLAN 3 значением 1 Мбит/с.
Если действуют и общий диспетчер политик, и диспетчер политик для микропотока, QoS всегда применяет наиболее жесткое действие из установленных диспетчеров. Например, если один диспетчер указывает сбросить пакет, а другой — понизить значение DSCP пакета, то пакет сбрасывается.
По умолчанию диспетчеры политик для микропотоков действуют только для маршрутизируемого трафика (уровень 3 [L3]). Чтобы контролировать также и мостовой трафик (уровень 2 [L2]), необходимо включить применение политик для мостовых микропотоков. На Supervisor Engine II необходимо включить применение политик для мостовых микропотоков даже для контроля микропотоков L3.
Функция применения политик учитывает протокол. Весь трафик делится на три типа:
IP;
межсетевой пакетный обмен (IPX);
другой.
Применение политик реализуется на Catalyst 6500/6000 согласно концепции "дырявое ведро". Маркеры, соответствующие пакетам входящего трафика, помещаются в ведро. (Каждый маркер представляет один бит, поэтому большой пакет представлен большим числом маркеров, по сравнению с маленьким пакетом.) С постоянным интервалом определенное число маркеров удаляется из ведра и отправляется по маршруту. Если в ведре нет места для приема входящих пакетов, эти пакеты считаются непрофильными. Они или сбрасываются или получают более низкий приоритет, в зависимости от настроенного действия политики.
Примечание. Трафик не буферизуется в ведре, как можно подумать, взглянув на модель, изображенную на рисунке выше. Реальный трафик вообще не проходит через ведро; ведро используется только для определения соответствия или несоответствия пакета профилю.
Несколько параметров управляют работой ведра для маркеров как показано ниже:
Скорость — определяет количество маркеров, удаляемых с каждым интервалом. Этот параметр фактически задает ограничительную скорость трафика. Трафик, не превышающий ограничительную скорость, считается профильным;
Интервал — определяет частоту удаления маркеров из ведра. Для интервала установлено фиксированное значение 0,00025 с, что соответствует удалению маркеров из ведра 4000 раз в секунду. Этот интервал нельзя менять;
Блок — определяет максимальное количество маркеров, которые могут храниться в ведре в любой момент времени. Для поддержания заданной скорости трафика, блок должен быть не меньше количества маркеров, удаляемых за каждый интервал. Следует также учитывать, что в ведре должен умещаться пакет максимального размера.
Определить размер блока можно по следующей формуле:
Блок = (Скорость [бит/с]) * 0,00025 [сек/интервал]) или (максимальный размер пакета [бит]), выбрав большее из этих значений.
Например, чтобы вычислить минимальный размер блока, необходимый для поддержания скорости 1 Мбит/с в сети Ethernet, эта скорость определяется как 1 Мбит/с, а максимальный размер пакета Ethernet считается равным 1518 байтам. Получаем выражение:
Блок = (1000000 бит/с * 0,00025) или (1518 байт * 8 бит/байт) = 250 или 12144.
Наибольшим значением является 12144, которое округляется до 13 Кбит/с.
Примечание. В ПО Cisco IOS® ограничиваемая диспетчером скорость определяется в бит/с, а не в Кбит/с как в Catalyst OS (CatOS). Кроме того, в ПО Cisco IOS размер блока определяется в байтах, а не в килобитах как в CatOS.
Примечание. Ввиду дискретности настроек аппаратных политик, значения точной скорости передачи данных и размера блока округляются до ближайшего поддерживаемого значения. Следует выбирать размер блока не меньше максимального размера пакета. В противном случае, все пакеты, превышающие размер блока, сбрасываются.
Например, если попытаться установить размер блока равным 1518 в ПО Cisco IOS, это значение будет округлено до 1000. Это приведет к тому, что все кадры, размер которых превышает 1000 байт, будут сброшены. Решением будет установить размер блока равным 2000.
При настройке размера блока учитывайте, что некоторые протоколы (например, TCP) используют механизм управления потоком, реагирующий на потери пакетов. Например, ТСР уменьшает окно кадрирования в два раза при каждой потере пакета. В результате, фактическое использование канала ниже настроенной ограничительной скорости. Можно увеличить размер блока, чтобы повысить использование. Для начала можно увеличить размер блока в два раза. (Для этого примера размер блока увеличивается с 13 Кбит/с до 26 Кбит/с.) Затем оцените производительность и внесите дополнительные поправки при необходимости.
По этой причине не рекомендуется использовать трафик на основе соединений для сравнительной оценки функционирования диспетчера политик. Как правило, в этом случае производительность ниже той, которую обеспечивает диспетчер политик.
Как упоминалось в разделе Общие сведения, функция применения политик может выполнить одно из двух действий с непрофильным пакетом:
сбросить пакет (параметр drop в конфигурации);
понизить значение DSCP пакета (параметр policed-dscp в конфигурации).
Чтобы понизить значение DSCP пакета, необходимо изменить схему политик DSCP. Значение кода DSCP из схемы политик устанавливается по умолчанию для пометки пакета этим DSCP. (Понижение не происходит.)
Примечание. Если "непрофильные" пакеты понижаются до значения кода DSCP, сопоставленного с другой очередью исходящих пакетов, а не до значения DSCP, сопоставленного с исходной очередью, некоторые пакеты могут отправляться без сохранения порядка. По этой причине, если важен порядок отправки пакетов, рекомендуется понижать непрофильные пакеты до значения DSCP, сопоставленного с той очередью исходящих пакетов, в которой находятся профильные пакеты.
Для модуля Supervisor Engine II, поддерживающего превышение скорости, возможны два триггера:
когда скорость трафика превышает нормальную скорость;
когда скорость трафика превышает максимальную скорость.
Одно из применений максимальной скорости заключается в понижении пакетов, превышающих нормальную скорость, и сбрасывании пакетов, превышающих максимальную скорость.
Как упоминалось в разделе Общие сведения, PFC1 на Supervisor Engine 1a и PFC2 на Supervisor Engine 2 поддерживают контроль только входящего трафика (входной интерфейс). PFC3 на Supervisor Engine 720 поддерживает применение политик как для входящего, так и для исходящего трафика (выходной интерфейс).
Catalyst 6500/6000 поддерживает до 63 диспетчеров политик для микропотока и до 1023 общих диспетчеров политик.
Supervisor Engine 1a поддерживает применение политик к входящему трафику, начиная с ПО CatOS Release 5.3(1) и ПО Cisco IOS Release 12.0(7)XE.
Примечание. PFC или PFC2 — дочерняя плата, необходимая для применения политик с помощью Supervisor Engine 1a.
Supervisor Engine 2 поддерживает применение политик к входящему трафику, начиная с ПО CatOS Release 6.1(1) и ПО Cisco IOS Release 12.1(5с)EХ. Supervisor Engine II поддерживает параметр диспетчера политик превышения скорости.
Конфигурации с платами распределенной пересылки (DFC) поддерживают только схемы политик на основе портов. Кроме того, общий диспетчер политик подсчитывает трафик только на основе модулей пересылки, а не на основе систем. DFC и PFC являются модулями пересылки; если модуль (линейная плата) не имеет DFC, он использует PFC в качестве модуля пересылки.
Примечание. Если вы не знакомы с функцией применения политик QoS на Catalyst 6500/6000, обязательно прочитайте разделы Параметры применения политик QoS и Функции применения политик, поддерживаемые Catalyst 6500/6000 в данном документе.
Supervisor Engine 720 предоставляет новые функции применения политик QoS:
Применение политик к исходящему трафику. Supervisor Engine 720 поддерживает применение политик для входящего трафика на порту или интерфейсе VLAN. Он поддерживает применение политик для исходящего трафика на порту или интерфейсе маршрутизации L3 (при использовании системного ПО Cisco IOS). Работа всех портов в VLAN осуществляется с применением политик для исходящего трафика независимо от режима QoS портов (QoS на основе портов или на основе VLAN). Применение политик для микропотоков не поддерживается для исходящего трафика. Примеры конфигураций приведены в разделах Настройка и мониторинг применения политик в ПО CatOS и Настройка и мониторинг применения политик в ПО Cisco IOS данного документа.
Применение политик для микропотоков для каждого пользователя. Supervisor 720 поддерживает новую функцию применения политик для микропотоков, называемую применение политик для микропотоков для каждого пользователя. Эта функция поддерживается только при использовании системного ПО Cisco IOS. Она позволяет предоставлять определенную полосу пропускания каждому пользователю (на каждый IP-адрес) после конкретных интерфейсов. Это достигается путем задания маски потока в политике обслуживания. Маска потока определяет информацию, используемую для отличия потоков. Например, если указать маску потока только источника, весь трафик с одного IP-адреса считается одним потоком. Используя этот способ, можно контролировать трафик для каждого пользователя на некоторых интерфейсах (где настроена соответствующая политика обслуживания), а на других интерфейсах продолжать использовать маску потока по умолчанию. Допускается одновременное использование не более двух различных масок потоков QoS в системе. С одной маской потока можно связать только один класс. В политике можно использовать не более двух различных масок.
Другим важным изменением в функции применения политик на Supervisor Engine 720 является ее способность подсчитывать трафик по длине L2 фрейма. Supervisor Engine 2 и Supervisor Engine 1 подсчитывают IP и IPX фреймы по их длине L3. В некоторых приложениях, длины L2 и L3 могут отличаться. Один из примеров – небольшой пакет L3 внутри большого фрейма L2. В этом случае ограничиваемая диспетчером политик скорость трафика, отображаемая Supervisor Engine 720, может отличаться от значения скорости, полученного Supervisor Engine 1 и Supervisor Engine 2.
Настройка функции применения политик в ПО CatOS состоит из трех основных этапов:
Определение диспетчеров политик — нормальная скорость трафика, максимальная скорость (если используется), блок и действие политики.
Создание QoS ACL для выбора контролируемого трафика и присоединение диспетчера политик к этому ACL.
Применение QoS ACL ко всем нужным портам или VLAN.
Этот пример демонстрирует, как на порту 2/8 ограничить весь трафик трафиком UDP-порта 111.
Catalyst 6500/6000 |
---|
set qos enable !--- Включение QoS. set qos policer aggregate udp_1mbps rate 1000 burst 13 drop !--- Определение диспетчера политик. Чтобы вычислить скорость и размер !--- блока см. "Расчет параметров". set qos acl ip udp_qos_port dscp 0 aggregate udp_1mbps udp any any eq 111 !--- Создание QoS ACL для выбора трафика и присоединение !--- диспетчера политик для QoS ACL. commit qos acl all !--- Компиляция этого QoS ACL. set qos acl map udp_qos_port 2/8 !--- Сопоставление этого QoS ACL с портом коммутатора. |
Следующий пример аналогичен предыдущему. Однако в этом примере диспетчер политик присоединяется к VLAN. Порт 2/8 принадлежит VLAN 20.
Примечание. Необходимо изменить режим QoS порта на режим vlan-based. Для этого используйте команду set port qos.
Этот диспетчер политик оценивает трафик со всех портов в VLAN, настроенных для режима QoS на основе VLAN.
Catalyst 6500/6000 |
---|
set qos enable !--- Включение QoS. set qos policer aggregate udp_1mbps rate 1000 burst 13 drop !--- Определение диспетчера политик. Чтобы вычислить скорость и размер !--- блока см. "Расчет параметров". set qos acl ip udp_qos_vlan dscp 0 aggregate udp_1mbps udp any any eq 111 !--- Создание QoS ACL для выбора трафика и присоединение !--- диспетчера политик к QoS ACL. commit qos acl all !--- Компиляция этого QoS ACL. set port qos 2/8 vlan-based !--- Настройка порта для режима QoS на основе виртуальной локальной сети. set qos acl map udp_qos_vlan 20 !--- Сопоставление QoS ACL с виртуальной локальной сетью 20. |
Далее, вместо сбрасывания непрофильных пакетов с DSCP 32 понизим значение DSCP до 0 (наилучшее решение).
Catalyst 6500/6000 |
---|
set qos enable !--- Включение QoS. set qos policer aggregate udp_1mbps rate 1000 burst 13 policed-dscp !--- Определение диспетчера политик. Чтобы вычислить скорость и размер !--- блока см. "Расчет параметров". set qos acl ip udp_qos_md trust-ipprec aggregate udp_1mbps udp any any eq 111 dscp-field 32 !--- Примечание. Указанная выше команда должна размещаться на одной строке. !--- Создание QoS ACL для выбора трафика и присоединение !--- диспетчера политик для QoS ACL. commit qos acl all !--- Компиляция этого QoS ACL. set qos policed-dscp-map 32:0 !--- Изменение ограничительного сопоставления DSCP для понижения DSCP 32 до DSCP 0. set port qos 2/8 vlan-based !--- Настройка порта для режима QoS на основе виртуальной локальной сети. set qos acl map udp_qos_md 20 !--- Сопоставление QoS ACL с виртуальной локальной сетью 20. |
Этот пример демонстрирует настройку применения политик для исходящего трафика только на Supervisor Engine 720. Он иллюстрирует способ применения политик для всего исходящего IP-трафика на VLAN 3 общей скоростью 10 Мбит/с.
Catalyst 6500/6000 |
---|
set qos enable !--- Включение QoS. set qos policer aggregate egress_10mbps rate 10000 burst 20 drop !--- Определение диспетчера политик. Чтобы вычислить скорость и размер блока, !--- см. Расчет параметров. set qos acl ip egress_pol trust-ipprec aggregate egress_10mbps ip any any !--- Создание QoS ACL для выбора трафика и присоединение !--- диспетчера к этому QoS ACL. commit qos acl all !--- Компиляция этого QoS ACL. set qos acl map egress_pol 3 output !--- Сопоставление этого QoS ACL с VLAN 3 в исходящем направлении. |
Используйте команду show qos maps runtime policed-dscp-map для просмотра текущей схемы политик DSCP.
Используйте команду show qos policer runtime {policer_name | all} для проверки параметров диспетчера политики. Также можно просмотреть QoS ACL, к которому присоединен диспетчер политик.
Примечание. При использовании Supervisor Engine 1 и 1a невозможно получить статистику о применении политики для отдельных общих диспетчеров политик. Чтобы просмотреть статистику о применении политик по системам, используйте эту команду:
Cat6k> (enable) show qos statistics l3stats Packets dropped due to policing: 1222086 IP packets with ToS changed: 27424 IP packets with CoS changed: 3220 Non-IP packets with CoS changed: 0
Чтобы просмотреть статистику о диспетчере политик для микропотоков, используйте эту команду:
Cat6k> (enable) show mls entry qos short Destination-IP Source-IP Port DstPrt SrcPrt Uptime Age --------------- --------------- ----- ------ ------ -------- -------- IP bridged entries: 239.77.77.77 192.168.10.200 UDP 63 63 00:22:02 00:00:00 Stat-Pkts : 165360 Stat-Bytes : 7606560 Excd-Pkts : 492240 Stat-Bkts : 1660 239.3.3.3 192.168.11.200 UDP 888 777 00:05:38 00:00:00 Stat-Pkts : 42372 Stat-Bytes : 1949112 Excd-Pkts : 126128 Stat-Bkts : 1628 Only out of the profile MLS entries are displayed Cat6k> (enable)
При использовании Supervisor Engine II можно просмотреть статистику о применении политик для отдельных общих диспетчеров политик, используя команду show qos statistics aggregate-policer.
В этом примере, генератор трафика прикреплен к порту 2/8. Он отправляет UDP трафик 17 Мбит/с в порт назначения 111. Ожидается, что диспетчер политик сбрасывает 16/17 трафика и пропускает только 1 Мбит/с:
Cat6k> (enable) show qos statistics aggregate-policer udp_1mbps QoS aggregate-policer statistics: Aggregate policer Allowed packet Packets exceed Packets exceed count normal rate excess rate ------------------------------- -------------- -------------- -------------- udp_1mbps 582439 9732108 9732108 Cat6k> (enable) show qos statistics aggregate-policer udp_1mbps QoS aggregate-policer statistics: Aggregate policer Allowed packet Packets exceed Packets exceed count normal rate excess rate ------------------------------- -------------- -------------- -------------- udp_1mbps 582504 9733198 9733198
Примечание. Обратите внимание, что число разрешенных пакетов увеличилось на 65, а число избыточных пакетов на 1090. Это значит, что диспетчер политик сбросил 1090 пакетов и пропустил 65. Простое вычисление 65 / (1090 + 65) = 0,056 дает, приблизительно, 1/17. Следовательно, диспетчер политик работает правильно.
Настройка применения политик в ПО Cisco IOS состоит из следующих этапов:
Определение диспетчера политик.
Создание ACL для выбора контролируемого трафика.
Определение схемы класса для выбора трафика с ACL и/или DSCP/IP-приоритета.
Создание политики обслуживания, использующей класс, и применение диспетчера политик к заданному классу.
Применение политики обслуживания к порту или VLAN.
Рассмотрим пример, приведенный в разделе Настройка и мониторинг применения политик в ПО CatOS, но теперь с использованием ПО Cisco IOS. В этом примере, генератор трафика прикреплен к порту 2/8. Он отправляет UDP трафик 17 Мбит/с в порт назначения 111:
Catalyst 6500/6000 |
---|
mls qos !--- Включение QoS. mls qos aggregate-policer udp_1mbps 1000000 2000 conform-action transmit exceed-action drop !--- Примечание. Указанная выше команда должна быть на одной строке. !--- Определение диспетчера политик. Чтобы вычислить скорость и размер блока, !--- см. Расчет параметров. !--- Примечание. Размер блока равен 2000, а не 1518, из-за дискретности настроек аппаратного обеспечения. access-list 111 permit udp any any eq 111 !--- Определение ACL для выбора трафика. class-map match-all udp_qos match access-group 111 !--- Определение класса трафика для применения политики. policy-map udp_policy class udp_qos police aggregate udp_1mbps !--- Определение схемы политик QoS, присоединяющей политику к классу трафика. interface GigabitEthernet2/8 switchport service-policy input udp_policy !--- Применение политики QoS к интерфейсу. |
В ПО Cisco IOS существуют два типа общих диспетчеров политик: именованный и для каждого интерфейса. Именованный общий диспетчер политик контролирует общий трафик со всех интерфейсов, к которым он применяется. Диспетчер этого типа использован в вышеприведенном примере. Диспетчер для каждого интерфейса контролирует трафик отдельно на каждом входном интерфейсе, к которому он применяется. Диспетчер для каждого интерфейса определяется в конфигурации схемы политики. Рассмотрим следующий пример с общим диспетчером политик для ограничения скорости по каждому интерфейсу:
Catalyst 6500/6000 |
---|
mls qos !--- Включение QoS. access-list 111 permit udp any any eq 111 !--- Определение ACL для выбора трафика. class-map match-all udp_qos match access-group 111 !--- Определение класса трафика для контроля. policy-map udp_policy class udp_qos !--- Определение схемы политики QoS, присоединяющей диспетчер политик к классу трафика. police 1000000 2000 2000 conform-action transmit exceed-action drop !--- Создание общего диспетчера политик !--- для каждого интерфейса и применение его к классу трафика. interface GigabitEthernet2/8 switchport service-policy input udp_policy !--- Применение политики QoS к интерфейсу. |
Диспетчеры политик для микропотоков определяются в конфигурации схемы политик, как и общие диспетчеры политик для каждого интерфейса. В следующем примере каждый поток от узла 192.168.2.2, приходящий в VLAN 2, ограничен скоростью 100 Кбит/с. Весь трафик от 192.168.2.2 ограничен общей скоростью 500 Кбит/с. VLAN 2 включает интерфейсы fa4/11 и fa4/12:
Catalyst 6500/6000 |
---|
mls qos !--- Включение QoS. access-list 1 permit 192.168.2.2 !--- Определение списка доступа для выбора трафика от узла 192.168.2.2. class-map match-all host_2_2 match access-group 1 !--- Определение класса трафика для применения политики. policy-map host class host_2_2 !--- Определение схемы политики QoS. police flow 100000 2000 conform-action transmit exceed-action drop !--- Определение диспетчера политик для микропотока. Чтобы вычислить скорость и размер блока, !--- см. Расчет параметров. police 500000 2000 2000 conform-action transmit exceed-action drop !--- Определение общего диспетчера политик для ограничения !--- трафика от узла совокупной скоростью 500 Кбит/с. interface fa4/11 mls qos vlan-based interface fa4/12 mls qos vlan-based !--- Настройка интерфейсов в VLAN 2 для режима QoS на основе VLAN. interface vlan 2 service-policy input host !--- Применение схемы политики QoS к VLAN 2. |
Следующий пример демонстрирует настройку применения политик для исходящего трафика на Supervisor Engine 720. Устанавливает ограничение всего исходящего трафика на интерфейсе Gigabit Ethernet 8/6 значением 100 Кбит/с:
Catalyst 6500/6000 |
---|
mls qos !--- Включение QoS. access-list 111 permit ip any any !--- Определение ACL для выбора трафика. Применение политик ко всему IP трафику. class-map match-all cl_out match access-group 111 !--- Определение класса трафика для применения политики. policy-map pol_out class cl_out police 100000 3000 3000 conform-action transmit exceed-action drop !--- Создание диспетчера политик и прикрепление его к классу трафика. interface GigabitEthernet8/6 ip address 3.3.3.3 255.255.255.0 service-policy output pol_out !--- Прикрепление схемы политики к интерфейсу. |
Следующий пример демонстрирует настройку функции применения политик для каждого пользователя на Supervisor Engine 720. Устанавливается ограничение трафика, передаваемого от каждого пользователя после порта 1/1 в Интернет, значением 1 Мбит/с. Трафик, передаваемый из Интернета пользователям, ограничен значением 5 Мбит/с для каждого пользователя:
Catalyst 6500/6000 |
---|
mls qos !--- Включение QoS. access-list 111 permit ip any any !--- Определение ACL для выбора трафика пользователя. class-map match-all cl_out match access-group 111 !--- Определение класса трафика для применения политики. policy-map pol_out class cl_out police flow mask src-only 1000000 32000 conform-act transmit exceed-act drop !--- Только IP-адрес источника учитывается при создании потока !--- на интерфейсах, для которых действует схема политики. interface gigabit 1/1 !--- 1/1 это восходящий канал к пользователям. service-policy input pol_out !--- Трафик исходит от пользователей, поэтому политика применяется !--- в направлении входа. class-map match-all cl_in match access-group 111 policy-map pol_in class cl_in police flow mask dest-only 5000000 32000 conform-act transmit exceed-act drop !--- Только IP-адрес назначения учитывается при создании потока !--- на интерфейсах, для которых действует политика. interface gigabit 1/2 !--- 1/2 это восходящий канал к Интернету. service-policy input pol_in |
Для мониторинга применения политик можно использовать следующие команды:
bratan# show mls qos QoS is enabled globally Microflow policing is enabled globally QoS global counters: Total packets: 10779 IP shortcut packets: 0 Packets dropped by policing: 2110223 IP packets with TOS changed by policing: 0 IP packets with COS changed by policing: 0 Non-IP packets with COS changed by policing: 0 bratan# show mls qos ip gigabitethernet 2/8 [In] Policy map is udp_policy [Out] Default. QoS Summary [IP]: (* - shared aggregates, Mod - switch module) Int Mod Dir Class-map DSCP AgId Trust FlId AgForward-Pk AgPoliced-Pk ------------------------------------------------------------------------------ Gi2/8 1 In udp_qos 0 1* No 0 127451 2129602 bratan# show mls qos ip gigabitethernet 2/8 [In] Policy map is udp_policy [Out] Default. QoS Summary [IP]: (* - shared aggregates, Mod - switch module) Int Mod Dir Class-map DSCP AgId Trust FlId AgForward-Pk AgPoliced-Pk ------------------------------------------------------------------------------ Gi2/8 1 In udp_qos 0 1* No 0 127755 2134670
Примечание. Число разрешенных пакетов увеличилось на 304, а число сброшенных — на 5068. Это значит, что диспетчер политик сбросил 5068 пакетов и пропустил 304. При скорости входящего трафика 17 Мбит/с диспетчер политик должен пропускать 1/17 долю трафика. Если сравнить число сброшенных и пересланных пакетов, можно в этом убедиться: 304 / (304 + 5068) = 0,057 или, приблизительно, 1/17. Возможно некоторое незначительное отклонение из-за дискретности настроек ограничений для аппаратного обеспечения.
Чтобы просмотреть статистику диспетчера политик для микропотоков, используйте команду show mls ip detail:
Orion# show mls ip detail IP Destination IP Source Protocol L4 Ports Vlan Xtag L3-protocol --------------+---------------+--------+-------------+----+----+-----------+ 192.168.3.33 192.168.2.2 udp 555 / 555 0 1 ip 192.168.3.3 192.168.2.2 udp 63 / 63 0 1 ip [IN/OUT] Ports Encapsulation RW-Vlan RW-MACSource RW-MACDestination Bytes --------------+-------------+-------+--------------+-----------------+------------+ Fa4/11 - ---- ARPA 3 0030.7137.1000 0000.3333.3333 314548 Fa4/11 - ---- ARPA 3 0030.7137.1000 0000.2222.2222 314824 Packets Age Last Seen QoS Police Count Threshold Leak ------------+-----+---------+-----------+------------+---------+-----------+ 6838 36 18:50:09 0x80 346197 62*2^5 3*2^0 6844 36 18:50:09 0x80 346695 62*2^5 3*2^0 Drop Bucket Use-Tbl Use-Enable ----+-------+-------+----------+ YES 1968 NO NO YES 1937 NO NO
Примечание. В поле Police Count отображается число ограничиваемых пакетов в потоке обработанных диспетчером политик.