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 (Express Data Path) для выполнения обработчиков на уровне сетевого драйвера с возможностью прямого доступа к 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-интерфейс с большим числом новых графиков.
Источник: http://www.opennet.ru/opennews/art.shtml?num=60202