Nach zwei Jahren Entwicklung ist die Plattform LibreQoS 2.0 verfügbar, die dazu dient, eine gerechte Verteilung der verfügbaren Bandbreite zwischen den Nutzern zu organisieren und die negativen Effekte der Paketpufferung (Bufferbloat) durch Netzwerkgeräte zu reduzieren. Die Plattform kann von Anbietern oder Administratoren privater Netzwerke zur Optimierung des Datenverkehrs, zur Aufrechterhaltung minimaler Latenzen und zur gerechte Verteilung der Bandbreite unter Berücksichtigung von Prioritäten genutzt werden. Der Projektcode wurde in C, JavaScript, Python und Rust geschrieben und steht unter der GPLv2-Lizenz. Die Plattform wird installiert auf Server, die zwischen dem Edge-Router des Anbieters und dem Haupt-Router des lokalen Netzwerks platziert ist.
LibreQoS ermöglicht es, die Latenz zu reduzieren und die Zuverlässigkeit interaktiver Sitzungen, Spiele, Online-Lernplattformen, VoIP-Datenverkehr und Videoanrufe unter hoher Netzwerklast zu erhöhen, beispielsweise wenn einige Nutzer Filme in mehreren Streams herunterladen oder Torrent-Aktivitäten ausführen (LibreQoS löst das Problem mit der Verzögerung von Videoanrufen, wenn jemand im selben Netzwerk beginnt, 4K-Videos herunterzuladen). Die Verwendung von LibreQoS verringert die maximale Bandbreite, die einem einzelnen Benutzer zur Verfügung steht, ermöglicht jedoch eine signifikante Reduzierung der Latenzen und eine gerechte Verteilung der Ressourcen zwischen allen Teilnehmern des Datenaustauschs.
LibreQoS basiert auf der Anwendung des CAKE-Queue-Management-Systems (Common Applications Kept Enhanced) und dem fq_codel-Paketplaner (Fair Queuing Controlled Delay) und verwendet außerdem eBPF und XDP (Express Data Path), um Handler auf der Ebene des Netzwerk-Treibers auszuführen mit direktem Zugang zum DMA-Paketpuffer. Der CAKE-Algorithmus ist so konzipiert, dass er die komplexe Hierarchie der Packet-Queue-Disziplinen ersetzt und vereinfacht, um die maximal mögliche Bandbreite zu erreichen und selbst bei den langsamsten Verbindungen zum Anbieter ein minimales Latenzniveau zu gewährleisten, auch wenn er auf leistungsschwachen Geräten arbeitet.
Das Projekt bietet auch Mittel zur Verfolgung von Verzögerungen zwischen dem Senden einer Anfrage und dem Erhalten einer Antwort (RTT, round-trip time), in Verbindung mit einzelnen Benutzern, Zugangspunkten und Websites. Für die Analyse des Zustands wurde eine Web-Oberfläche entwickelt, die eine visuelle Beurteilung des Netzwerkverkehrs ermöglicht, die Änderung der Last und Verzögerungen verfolgt und die aktivsten Benutzer identifiziert. Es ist möglich, flexible hierarchische Traffic-Limitierungs-Schemata zu erstellen und die Integration mit UISP und Splynx für das Mapping von Topologien und Kunden zu ermöglichen.
Die Veröffentlichung von LibreQoS 2.0 ist Dave Taht gewidmet, der vor einem Jahr im Alter von 59 Jahren plötzlich verstorben ist. Dave leitete die Entwicklung von LibreQoS und war Mitbegründer des Projekts Bufferbloat, der Schöpfer der Distribution CeroWrt und Autor zahlreicher RFCs, die sich mit der Verarbeitung von Netzwerk-Queues befassen.
Wesentliche Änderungen in der Version LibreQoS 2.0:
- Die Web-Oberfläche für Betreiber wurde modernisiert, wobei die Möglichkeiten zur Diagnose von Netzwerkproblemen erweitert und neue Berichte und Grafiken hinzugefügt wurden.

- Im Baumansichtsmodus (Tree view) wird die hierarchische Struktur des Netzwerks angezeigt, die Verarbeitung der Topologie wurde verbessert und das Verhalten der Knoten detaillierter dargestellt.
- Neue Diagnosetools wurden hinzugefügt, die eine Analyse des Zustands von Netzwerk-Queues ermöglichen, den Traffic verfolgen, den Verkehr visuell in Form von Sankey-Diagrammen darstellen, die Überwachung von Paketwiederholungen (retransmit) durchführen und TCP-Übertragungszyklen (RTT) visualisieren.

- Neue Visualisierungsmodi für Karten und Datenströme wurden hinzugefügt, ein Analyse-Tool für autonome Systeme (ASN Analysis) wurde ergänzt.

- Die Integration mit CRM-Systemen und Netzwerkverwaltungs-Systemen (NMS) wurde verbessert. Es wurde Unterstützung für die Integration mit UISP, Splynx, Netzur, VISP, WISPGate, Powercode und Sonar hinzugefügt.
- Die Möglichkeiten zur Bandbreitenbegrenzung (shaping) wurden verbessert, die sich auf das Management von Queues und die Verwendung von TreeGuard und StormGuard zur Vermeidung von Überlastungen beziehen.
- Die Überwachung des Status des Planers und die Benachrichtigung über kritische Probleme wurden verbessert.
Quelle: opennet.ru



