Доступна платформа оптимизации трафика LibreQoS 1.4

Опубликован выпуск платформы LibreQoS 1.4, предназначенной для организации справедливого распределения имеющейся полосы пропускания между пользователями и снижения негативных эффектов, возникающих из-за промежуточной буферизации пакетов (Bufferbloat) сетевым оборудованием. Платформа может использоваться провайдерами или администраторами частных сетей для оптимизации потоков трафика, поддержания задержек на минимальном уровне и распределения полосы пропускания с учётом приоритетов. Код проекта написан на языках Си, Python и Rust, и распространяется под лицензией GPLv2. Проект развивается под руководством Дэйва Тахта (Dave Taht), сооснователя проекта Bufferbloat, создателя дистрибутива CeroWrt и автора многочисленных RFC, связанных с обработкой сетевых очередей.

LibreQoS позволяет снизить задержки и повысить надёжность работы интерактивных сеансов, игр, платформ online-обучения, VoIP-трафика и видеовызовов в условиях большой нагрузки на сеть, например, из-за загрузки некоторыми пользователями фильмов в несколько потоков или активности любителей torrent-ов (LibreQoS решает проблему с заиканием видеовызовов, когда кто-то в той же сети начинает загружать 4K-видео). Применение LibreQoS снижает доступную одному пользователю пиковую пропускную способность, но зато даёт возможность значительно уменьшить задержки и справедливо распределить ресурсы между всеми участниками обмена данных. В проведённом тесте
использование LibreQoS позволило снизить задержки при приёме данных со 106 до 9 мс, а при передаче с 517 до 23 мс, ценой снижения скорости непрерывной загрузки с 74 до 25 Mbps и передачи с 29 до 8 Mbps.

В основе LibreQoS лежит применение алгоритма управления сетевыми очередями CAKE (Common Applications Kept Enhanced), механизма управления очередями ожидающих отправки пакетов fq_codel (Fair Queuing Controlled Delay) и использования eBPF и XDP для выполнения обработчиков на уровне сетевого драйвера с возможностью прямого доступа к DMA-буферу пакетов. Алгоритм CAKE спроектирован для замены и упрощения сложной иерархии дисциплин обработки очередей пакетов, и способен выжать максимально возможную пропускную способность и предоставить минимальный уровень задержек даже на самых медленных каналах связи с провайдером и при работе на маломощных устройствах. LibreQoS

LibreQoS также предоставляет средства для отслеживания задержек между отправкой запроса и получением ответа (RTT, round-trip time), в привязке к отдельным пользователям, точкам доступа и сайтам. Для анализа состояния разработан web-интерфейс, дающий возможность наглядно оценить трафик в сети, проследить изменение нагрузки и задержек, выявить наиболее активных пользователей. Возможно создание гибкие иерархических схем ограничения трафика и интеграция с UISP и Splynx для маппинга топологий и клиентов.

LibreQoS устанавливается на сервер, размещаемый между граничным маршрутизатором провайдера и базовым маршрутизатором локальной сети. Один сервер с LibreQoS может выполнять урезание трафика для многих тысяч пользователей (например, сервера с 16-ядерным CPU Xeon Gold достаточно для обработки трафика клиентов ISP с пропускной способностью 11 gbit/s).

В новой версии:

  • Задействована новая архитектура на основе бэкенда, написанного на языке Rust. Бэкенд включает в себя:
    • Фоновый процесс lqosd, отвечающий за загрузку и настройку программ eBPF, извлечения статистики напрямую из eBPF и предоставления шины для обмена данными между компонентами.
    • утилиту lqtop для просмотра текущей активности.
    • web-интерфейс lqos_node_manager для категоризации трафика, мониторинга, учёта состояния системы и анализа текущей активности.
    • обвязку lqos_python для организации доступа к шине из скриптов на языке Python.
    • генератор файлов конфигурации lqos_setup.
    • система аутентификации пользователей lqos_users.
  • Добавлена возможность использования сетевых мостов ускорителя на базе XDP вместо штатной подсистемы ядра bridge. В данном режиме можно добиться повышения производительности на 30%.
  • Добавлена поддержка анализа пакетов и потоков трафика.
  • Добавлен режим работы Single-interface, позволяющий использовать
    один сетевой интерфейс и VLAN-ов для для внешнего (провайдер) и внутреннего (локальная сеть) трафика.
  • Предложен новый web-интерфейс с большим числом новых графиков.








Release. Ссылка here.