Необходимо зарезать скорость на access коммутаторе Juniper EX3200, сделать это необходимо в рамках одного устройства. Я находил несколько способов настройки, но выбрал свой (может оно конечно и коряво вышло, но пока работает и клиент не жалуется).
В моем варианте сначала используется механизм shaping-rate, ограничивающий скорость передачи пакетов, установив максимальную ширину канала
С уровня иерархии edit ограничим максимальную скорость в 4MB/s на 26 порту:
Проверяем результат
{master:0}[edit] juniper@acc-5# set class-of-service interfaces ge-0/0/26 shaping-rate 4000000
Проверяем результат
{master:0}[edit] juniper@acc-5# show class-of-service interfaces { ge-0/0/26 { shaping-rate 4m; } }
Механизм shaping-rate дает примерно вот такой результат (использовалась программа Iperf и графическая оболочка для нее Jperf, на компах с двух сторон стояла Windows 7 64 bit)
Затем использовались механизм policer.
Policerпозволяет контролировать максимальную скорость приема и передачи на интерфейсе, позволяет решить, как дальнейшим образом поступить с трафиком. Пакеты, которые соответствуют ограничению или отбрасываются, или с другим классом передачи.
policer 4m - задается имя для policer-а, будит использоваться в дальнейшем.
Проверяем результат
{master:0}[edit] juniper@acc-5# set firewall policer 4m if-exceeding bandwidth-limit 4m burst-size-limit 250000 {master:0}[edit] juniper@acc-5# set firewall policer 4m then discard
policer 4m - задается имя для policer-а, будит использоваться в дальнейшем.
Проверяем результат
{master:0}[edit] juniper@acc-5#show firewall ................... policer 4m { if-exceeding { bandwidth-limit 4m; burst-size-limit 250000; } then discard; } .................
Используем механизм firewall filters - позволяет управлять пакетами, проходящими через устройство к сети назначения, а также принятыми и переданными пакетами на самом устройстве.
Посмотрим результат
{master:0}[edit] juniper@acc-5#set firewall family ethernet-switching filter 4m term limit4m then accept policer 4m
Посмотрим результат
{master:0}[edit] juniper@acc-5#show firewall ............................. family ethernet-switching { filter shaping { term limit4m { then { accept; policer 4m; } } } } policer 4m { if-exceeding { bandwidth-limit 4m; burst-size-limit 250000; } then discard; } .......................
Осталось применить это правило к интерфейсу
Посмотрим результат
{master:0}[edit interfaces ge-0/0/26] juniper@acc-5#set unit 0 family ethernet-switching filter input 4m
Посмотрим результат
{master:0}[edit ] juniper@acc-5#show interfaces ge-0/0/ 26 unit 0 { family ethernet-switching { filter { input 4m; } } }
Механизм shaping-rate дает примерно вот такой результат (использовалась программа Iperf и графическая оболочка для нее Jperf, на компах с двух сторон стояла Windows 7 64 bit)
Получается, что shaping-rate отвечает за ограничение скорости принятых пакетов, а policer - отвечает за ограничение скорости отправленных пакетов, если смотреть со стороны клиента.
Самая сложная вещь была для меня это расчет burst-size-limit. Я так до конца и не понял, что это за механизм и для чего он нужен. Если считать по формуле, приведенной на официальном сайте, то скорость у меня не поднималась выше 300Kb/s. Как я понял, каждый ее подбирает эмпирическим путем. Я для расчета брал вот такую формулу (4000000*0,5)/8 = 250000
Комментариев нет:
Отправить комментарий