Ограничение скорости
Шейпинг - это управление трафиком компьютерной сети с целью оптимизации или гарантии производительности, снижения издержек и/или увеличения полезной полосы пропускания путём задержки пакетов, соответствующих определённым критериям. Функционально, это выражается в ограничении пропускной способности канала для отдельного узла ниже технических возмоностей канала до узла. С точки зрения выполнения работы по ограничению скорости - это любое действие с набором пакетов (часто называемое потоком), которое накладывает дополнительную задержку на эти пакеты таким образом, чтобы они соответствовали какому-либо заранее определённому ограничению (контракту или профилю трафика).
Устройство или программу, осуществляющую ограничение пропускной способности, называют шейпер.
Шейпинг обычно используется как средство ограничения максимального потребления трафика со стороны узла сети. Без шейпера, пакеты в брандмауэре обрабатываются по принципу «первый пришёл - первый ушёл».
Traffic Inspector Next Generation позволяет разграничивать пропускную способность Интернет-канала между пользователями и приоритезировать обработку критичного к задержкам трафика (например, VoIP, видео-связь). Рассмотрим наиболее распространенные сценарии использования шейпера, встроенного в TING.
Введение
Ограничение скорости в TING организовано вокруг каналов (англ. «pipes» - пайпы, трубы, каналы), очередей и соответствующих правил. Каналы определяют разрешённую полосу пропускания, очереди могут использоваться для выставления веса в пределах канала, а правила используются для применения шейпинга (методов ограничения пропускной способности) к определённому потоку пакетов. Правила для шейпинга обрабатываются независимо от правил брандмауэра и других настроек.
Использование шейпера Traffic Inspector Next Generation - это надёжное решение для ограничения пропускной способности Интернет-канала или приоритезации трафика, критичного к задержкам (например VoIP, видео-связь), которое можно сочетать с другими функциями, такими как Captive Portal или CARP (Высокая доступность).
Ограничения пропускной способности могут быть определены на основе интерфейса(ов), IP источника и назначения, направления трафика (вход/выход) и номера портов (приложения).
Доступная полоса пропускания может быть равномерно распределена между всеми пользователями, что обеспечивает оптимальную производительность в любое время.
Трафик также может быть приоритезирован путём добавления очередей и определения весов. На самом деле, трафик не является приоритетным, но приложения с более высоким весом могут потреблять больше полосы пропускания, чем другие, когда общая полоса пропускания ограничена.
Реализация шейпера использует инструменты IPFW
и dummynet
для предоставления современного и надёжного решения с низки уровнем нагрузки на процессор.
Dummynet и ipfw
Dummynet
работает, сначала используя брандмауэр для классификации пакетов и разделения их на потоки, при помощи любого шаблона соответствия, который можно быть применён в правилах ipfw
. В зависимости от локальных политик, поток может содержать пакеты для одного TCP-соединения или к определённому хосту (или от него), или всей подсести, или типа протокола и т.д.
Пакеты, принадлежащие одному потоку, затем передаются одному из двух различных объектов, которые реализуют регулирование трафика:
- Канал
Канал эмулирует соединение с заданной пропускной способностью, задержкой распространения, размером очереди и уровнем потерь пакетов. Пакеты ставятся в очередь перед каналом, по мере их поступления из классификатора, а затем передаются в канал, соответственно его параметрам.
- Очередь
Очередь - это абстрация, используемая для реализации политики WF2Q+, которая является более шейпера трафика.эффективным вариантом политики WFQ. Очередь присваивает каждому потоку вес и эталонный канал, а затем все задержанные потоки (т.е. имеющие пакеты в очереди), связанные с одним и тем же каналом, делят пропускную способность пропорционально своим весам. Следует обратить внимание, что веса не являются приоритетами: поток с меньшим весом гарантированно получит свою долю пропускной способности, даже если поток с большим весом будет постоянно задерживаться.
На практике, каналы могут использоваться для установки жёстких ограничений на пропускную способность, которую может использовать поток, в то время, как очереди могут использоваться для определения того, как различные потоки разделяют доступную пропускную способность. Правила шейпинга могут быть определены на вкладке
.Статуc / статистика
Для проверки корректности работы шейпера, можно воспользоваться страницей состояния
.Этот компонент покажет разбивку настроенных каналов, очередей и правил с указанием объёма трафика, прошедшего через них с момента последнего перезапуска службы, включая временную метку, когда это произошло.
Если потоки активны, можно посмотреть подробнные сведения про них, используя флажок Показать активные потоки (не забудьте обновить страницу после изменения этих настроек).
Правила не отображаются по умолчанию: чтобы их включить, надо установить флажок «Показать правила. Эта опция может облегчить выявить неправильную конфигурацию, так как технология, лежащая в основе (ipfw
) отслеживает данные на основе каждого правила.
Совет
Используйте легко находимые описания - это облегчит отладку, если трафик обрабатывается не так как, как ожидалось.