Die Veröffentlichung von LibreQoS 1.4 wurde bekanntgegeben. Diese Plattform dient der fairen Verteilung der verfügbaren Bandbreite zwischen Nutzern und der Reduzierung negativer Effekte, die durch Paket-Pufferung (Bufferbloat) von Netzwerkgeräten entstehen können. Die Plattform kann von Anbietern oder Administratoren privater Netzwerke zur Optimierung des Datenverkehrs, zur Minimierung der Latenzzeiten und zur gerechten Verteilung der Bandbreite unter Berücksichtigung der Prioritäten genutzt werden. Der Projektcode ist in C, Python und Rust geschrieben und wird unter der GPLv2-Lizenz verbreitet. Das Projekt wird von Dave Taht, einem Mitbegründer des Bufferbloat-Projekts, dem Schöpfer der CeroWrt-Distribution und Autoren zahlreicher RFCs zur Verarbeitung von Netzwerk-Puffern, geleitet.
LibreQoS ermöglicht es, die Latenzen zu senken und die Zuverlässigkeit von interaktiven Sitzungen, Spielen, Online-Lernplattformen, VoIP-Traffic und Videoanrufen unter hoher Netzlast zu erhöhen, beispielsweise wenn einige Nutzer Filme in mehreren Streams herunterladen oder Torrent-Aktivitäten unternehmen (LibreQoS löst das Problem des Einfrierens von Videoanrufen, wenn jemand im selben Netzwerk 4K-Videos herunterlädt). Der Einsatz von LibreQoS verringert die maximale Bandbreite, die einem einzelnen Nutzer zur Verfügung steht, ermöglicht aber eine signifikante Reduzierung der Latenz und eine gerechte Verteilung der Ressourcen unter allen Teilnehmern des Datenaustauschs. In einem durchgeführten Test konnte mit LibreQoS die Latenz für den Datenempfang von 106 ms auf 9 ms und für den Datentransfer von 517 ms auf 23 ms gesenkt werden, was mit einer Reduzierung der kontinuierlichen Downloadgeschwindigkeit von 74 Mbps auf 25 Mbps und des Uploads von 29 Mbps auf 8 Mbps einherging.
Die Grundlage von LibreQoS bildet die Anwendung des CAKE (Common Applications Kept Enhanced) Netzwerk-Pufferverwaltungssystems und des fq_codel (Fair Queuing Controlled Delay) Paketplaners sowie die Verwendung von eBPF und XDP (Express Data Path) zur Ausführung von Handlern auf der Ebene des Netzwerktreibers mit direktem Zugriff auf den DMA-Puffer der Pakete. Der CAKE-Algorithmus wurde entwickelt, um die komplexe Hierarchie der Paketverarbeitung zu ersetzen und zu vereinfachen und ist in der Lage, die maximal mögliche Bandbreite auszuschöpfen und selbst bei den langsamsten Verbindungskanälen mit dem Anbieter ein minimales Latenzniveau und den Betrieb auf ressourcenarmen Geräten zu gewährleisten.
LibreQoS bietet auch Mittel zur Überwachung der Verzögerungen zwischen der Anfrage und dem Empfang der Antwort (RTT, Round-Trip-Zeit) in Bezug auf einzelne Benutzer, Access-Points und Websites. Zur Analyse des Status wurde eine Weboberfläche entwickelt, die es ermöglicht, den Netzwerkverkehr visuell zu bewerten, die Änderungen der Last und Verzögerungen nachzuvollziehen und die aktivsten Benutzer zu identifizieren. Es ist möglich, flexible hierarchische Schemen zur Verkehrsbegrenzung zu erstellen und zu UISP sowie Splynx für die Topologiemappung und Kundenintegration.
LibreQoS wird auf Server, installiert zwischen dem Border Router des Anbieters und dem Basisrouter des lokalen Netzwerks. Ein Server mit LibreQoS kann den Datenverkehr für viele tausend Benutzer verwalten, beispielsweise Server mit einer 16-Kern-CPU Xeon Gold ausreichend für die Verarbeitung des ISP-Datenverkehrs mit einer Bandbreite von 11 Gbit/s.
In der neuen Version:
- Es wird eine neue Architektur auf Basis eines Backends verwendet, das in Rust geschrieben ist. Das Backend umfasst:
- Den Hintergrundprozess lqosd, der für das Laden und Konfigurieren von eBPF-Programmen, das Abrufen von Statistiken direkt aus eBPF und die Bereitstellung eines Bus für den Datenaustausch zwischen den Komponenten verantwortlich ist.
- Das Tool lqtop zur Anzeige der aktuellen Aktivität.
- Die Weboberfläche lqos_node_manager zur Kategorisierung von Datenverkehr, Monitoring, Überwachung des Systemstatus und Analyse der aktuellen Aktivität.
- Die Bindung lqos_python für den Zugriff auf den Bus aus Python-Skripten.
- Der Konfigurationsdateigenerator lqos_setup.
- Das Benutzerauthentifizierungssystem lqos_users.
- Die Möglichkeit zur Verwendung eines XDP-basierten Netzwerkbrückenbeschleunigers anstelle der Standard Bridge-Kernelunterstützung wurde hinzugefügt. In diesem Modus kann eine Leistungssteigerung von 30 % erzielt werden.
- Die Unterstützung für die Analyse von Paketen und Datenverkehrsströmen wurde hinzugefügt.
- Ein Single-Interface-Modus wurde hinzugefügt, der die Verwendung eines einzigen Netzwerkinterfaces und VLANs für den externen (Anbieter) und internen (lokales Netzwerk) Datenverkehr ermöglicht.
- Eine neue Weboberfläche mit einer größeren Anzahl neuer Diagramme wurde vorgeschlagen.




Quelle: opennet.ru
