Rate limit что это
Перейти к содержимому

Rate limit что это

Rate limit что это

У нас есть два варианта: rate-limit и traffic-shape. Чем эти два способа отличаются?
Все просто: traffic-shape не умеет ставить пакеты в очередь. Вот все, что вышло за рамки указанное пропускной способности — он дропает. А вот rate-limit умеет ставить пакеты в очередь и может отправлять пакеты всплесками, когда появится свободная полоса.

Команда rate-limit вводится в режиме конфигурирации физического интерфейса и имеет следующий синтаксис:

rate-limit input|output [access-group [rate-limit] acl-index] [limit-bps] [nbc] [ebc] conform-action [action] exceed-action [action]

Разберем более детально:

    • access-group — указываем номер нашего ACL, в который ловим трафик, который будем ограничивать.

    Далее идут три значения скорости limit bps, nbc, ebc

      • limit bps — скорость ограничения(в битах!)
        • nbc — допустимый предел трафика, все что свыше — будет попадать в очередь
          • ebc — максимальный предел трафика

          Для расчета всех значений используем такую формулу:

          Далее по синтаксису:

            • conform-action — что делать с трафиком при соответствии ограничения
              • exceed-action action — что делать с трафиком при превышении ограничения.

              И тут есть несколько действий:

                • drop — отбросить пакет
                  • transmit — передать пакет
                    • set-dscp-transmit — пометить пакет

                    Теперь давайте посмотрим на практике. Возьмем GNS3, один маршрутизатор и две виртуальные машины.

                    Топология простейшая, чтобы просто показать как это работает.

                    Ограничим весь трафик из сети 192.168.40.0/24 в сеть 192.168.78.0/24. Для этого на R1 создаем ACL.

                    R1(config)#access-list 101 permit ip 192.168.40.0 0.0.0.255 192.168.78.0 0.0.0.255
                    R1(config)#access-list 101 deny ip any any

                    Ограничиваем абсолютно весь трафик. Пример простой, могут быть более сложные ACL, чтоб ограничивать скорость по каким-то сервисам, портам и пр.

                    Проверим скорость в сети до ограничений.

                    Сейчас скорость закачки около 1Мбит/c.

                    После этого вешаем на физический интерфейс rate-limit, который смотрит в сеть 192.168.40.0/24

                    R1(config)#int fa 0/0
                    R1(config-if)#rate-limit output access-group 101 64000 12000 24000 conform-action transmit exceed-action drop

                    Теперь мы ограничили скорость до 8Кбайт/сек. Проверяем. Скорость стала 64 Кбит/с. Все работает.

                    Примечание! rate-limit нельзя повесить на логический интерфейс, только на физический.

                    Использование 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 указывать нужно обязательно, так как по умолчанию, в зависимости от коммутатора, он равен 128 или 256 Мбайт. Соответственно, прогнав, например, 10 МБайт тафика, может показаться, что фильтр не работает.

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

                    Например, для настройки на порту 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.
                    Настройка производится следующим образом:

                    create meter < meter-name >

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

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

                    configure access-list <aclname> [any | ports <portlist> | vlan <vlanname>]

                    Пример настройки 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;

                    Для выбора метода обработки 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

                    Rate Limiting

                    Protecting APIs from overuse by limiting how often users can access them, comes with it, several benefits. It helps against denial-of-service attacks, brute-force login attempts, and other types of abusive behaviour targeting the application layer.

                    The purpose of this post is to provide a short and concise overview of the various types of rate limiting algorithms.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *