Доброго времени суток.
Сразу оговорюсь, я вообще практически ничего не знаю о QoS, поэтому любой совет будет к месту.
Имеется VyOS в качестве пограничного устройства. Интерфейс, куда приходит ISP - eth0, интернет используют 3 сети - 2 LAN и один белый маршрутизируемый пул, арендуемый у оператора связи. Мне нужно ограничить исходящий трафик до 256 Мбит, при этом обе LAN можно ограничить сотней Мбит (суммарно на двоих), белый пул, например 220 Мбит/сек. Приведу крайне упрощенную схему:
Вся адресация вымышленная.
В общем, начал я читать документацию по Brocade Vyatta 5400 как наиболее полную, суть механизмов на VyOS и Vyatta одна. Собрал схему в EVE-NG и понял, что ничего не понял (ну, что-то понял, но недостаточно). Задам пару вопросов, уверен здесь есть компетентные в этом плане специалисты.
1. Как я понял, мне нужна traffic-policy либо Shaper, либо Limiter, но так как Limiter предназначена для входящего трафика, то выбираю Shaper. В правильном направлении смотрю?
2. Верно ли я понял, что при использовании Shaper, все, что выше указанной полосы пропускания будет буферизироваться, а не просто дропаться, и это не приведет к куче ретрансмиссий? Судя по описанию Traffic Limiter'а это именно так:
Я просто не уверен, будет ли при 'traffic-policy shaper' все, что выше полосы, буферизироваться, если политика будет висеть на eth0 в направлении out. Я бы дал ссылку на описание traffic-policy, но не знаю, как вставить ссылку с js, сама документация здесь http://www1.brocade.com/downloads/documents/html_product_manuals/vyatta/vyatta_5400_manual/wwhelp/wwhimpl/js/html/wwhelp.htm, раздел QoS.
3. Чем все-таки отличаются traffic-policy от queue-type? Я так понимаю, я могу использовать политику SFQ, а могу использовать политику Shaper и указать SFQ для каждого класса.
4. Предположим, создал я политику Shaper с bandwidth 100mbit, создал 2 класса, указал для них в качестве match адрес источника; для первого класса bandwidth=60%, ceiling=80%; для второго класса bandwidth=70%, ceiling=90%; для default bandwidth=40%, ceiling=50%. Итого имею 3 типа трафика - 2 класса и default. Для всех указал queue-type SFQ (по умолчанию, как я понял, работает FIFO). Т.е. внутри каждого класса каждому дается какой-то квант времени, и, если не вдаваться в детали работы механизма, то внутри каждого класса "всё по-честному". А между классами как? ведь суммарно они могут потребить 170% от 100mbit.
5. Что такое burst? Ок, вот описание:
А вот, что я видел на форуме ubiquiti (EdgeOS, вроде, та же Vyatta):
Ладно, это какая-то корзина, размер которой участник политики может послать за какой-то промежуток времени. По умолчанию 15 KB. Но за какой промежуток времени, и какой интервал между этими промежутками должен пройти до следующего "бурста"?
P.S. рассчитывал в лабе попробовать после включения политики iperf'ом одновременно померить скорость от LAN1, LAN2 и PUBLIC до some_internet, но одновременно никак, даже если сервер включить как демон (iperf -s -D). Есть какой-нибудь такой iperf, чтобы от нескольких клиентов подключиться к одному серверу одновременно?