Необходимо зарезать скорость на 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


Комментариев нет:
Отправить комментарий