Использование Rate Limiters, Meters и Scheduling в коммутаторах Extreme

Как правило, в повседневной жизни сетевые администраторы сталкиваются с необходимостью ограничить входящий или исходящий трафик на порту или VLAN коммутатора. Для этого используются технологии Rate Limiting и Meters. Кроме того, существует технология Scheduling, использующаяся для распределения различного рода трафика внутри одного канала. В представленной ниже статье описывается процесс настройки данных механизмов.

Общая схема компонентов QoS для коммутаторов серий BlackDiamond и Summit представлена на схеме ниже:

 

Данная схема показывает, где и в какой момент применяются механизмы QoS, и упрощает знакомство с компонентами QoS на коммутаторах Extreme. Основные компоненты QoS подробно описаны ниже.

Rate Limiting

Технология rate limiting используется для ограничения исходящего трафика из порта коммутатора.
Для настройки rate limiting используется команды:

configure ports < port_list > rate-limit egress [no-limit | < cir-rate > [Kbps | Mbps |
Gbps] {max-burst-size < burst-size > [Kb | Mb]}]

Параметр max-burst-size указывать нужно обязательно, так как по умолчанию, в зависимости от коммутатора, он равен 128 или 256 Мбайт. Соответственно, прогнав, например, 10 МБайт тафика, может показаться, что фильтр не работает.

Для просмотра настроек rate limiting на порту коммутатора, необходимо выполнить команду:

show ports {mgmt | < port_list > | tag < tag >} information {detail}

Например, для настройки на порту 3:1 ограничение 3 Мбит/с на исходящий трафик, необходимо выполнить команду:

configure port 3:1 rate-limit egress 3 Mbps max-burst-size 5 Mb

Эта же команда используется и для storm control:

configure ports < port_list > rate-limit flood [broadcast | multicast | unknown-destmac] [no-limit | < pps >]

Команда ограничивает входящий в порт коммутатора broadcast, multicast или трафик с неизвестными MAC адресами.

Meters

Meters используются для ограничения входящего в порт коммутатора а так же и для исходящего из порта моделей BlackDiamond c-, xl-, xm-series а так же Summit X480, X650, и X670.
Кроме того, meters можно использовать и для ограничения трафика в VLAN.
Настройка производится следующим образом:

Создание meter:

create meter < meter-name >

Конфигурирование meter:

configure meter < metername > {committed-rate <cir > [Gbps | Mbps | Kbps]} {max-burstsize < burst-size > [Kb | Mb]} {out-actions [drop | set-drop-precedence {dscp [none | < dscp-value >]}}

Создание ACL, использующего meter:

entry <ACLrulename>{
if {
<match-conditions>;
} then {
meter <name>;
}
}

Привязка ACL к интерфейсу:

configure access-list <aclname> [any | ports <portlist> | vlan <vlanname>] {ingress | egress}

Пример настройки meter, ограничивающего полосу пропускания VLAN vl22 до 8 Mbit/s.

create meter POLICE 
configure meter POLICE committed-rate 8 Mbps max-burst-size 16 Mb out-actions drop 
X460-24x.2 # show policy detail 

Policies at Policy Server: 
Policy: POL 
entry cl { 
if match all { 
destination-address 255.255.255.255/32 ; 

then { 
packet-count COUNT ; 
meter POLICE ; 

configure access-list POL vlan vl22 ingress 

Для проверки работы meters используется команды:

show access-list meter ports <port>

Кроме того, можно посмотреть текущую загрузку интерфейса в реальном времени:

show ports <port> utilization <bandwidth>

При ограничении полосы пропускания на интерфейсах, находящихся в LAG (Link Aggregation Group), ограничения применяются не только на master порт, а на все порты, находящиеся в LAG.

Вне зависимости от количества портов в LAG группе (2, 3, 4,5, итд), а так же при любом срезе трафика, выбрав алгоритм балансировки можно добиться равномерного распределения трафика по каналам. Исходя из этого, на каждый порт LAG нужно накладывать ограничение, пропорциональное количеству интерфейсов в LAG.

Scheduling

ExtremeXOS поддерживает следующие механизмы scheduling:

Strict priority queuing;

Weighted Round-robin.

Для выбора метода обработки QoS профайлов на коммутаторе, используется команда:

configure qosscheduler [strict-priority | weighted-round-robin]

Для настройки определенного QoS профайла как strict priority, необходимо выполнить команду:

configure qosprofile <qosprofile> use-strict-priority

Пример настройки QoS профайлов:

create qosprofile qp5
configure dot1p type 4 qosprofile qp5
configure qosprofile qp1 weight 1
configure qosprofile qp5 weight 2