Na twee jaar ontwikkeling is de release van het LibreQoS 2.0-platform beschikbaar, bedoeld voor het eerlijke verdelen van de beschikbare bandbreedte tussen gebruikers en het verminderen van de negatieve effecten van bufferbloat door netwerkapparatuur. Het platform kan worden gebruikt door providers of beheerders van particuliere netwerken om datastromen te optimaliseren, vertragingen op een minimum te houden en bandbreedte te verdelen op basis van prioriteiten. De code van het project is geschreven in de talen C, JavaScript, Python en Rust, en wordt verspreid onder de GPLv2-licentie. Het platform wordt geĆÆnstalleerd op server, geplaatst tussen de randrouter van de provider en de basisrouter van het lokale netwerk.
LibreQoS maakt het mogelijk om vertragingen te verminderen en de betrouwbaarheid van interactieve sessies, games, online leerplatforms, VoIP-verkeer en videobelletjes te verbeteren onder zware netwerkbelasting, bijvoorbeeld door sommige gebruikers die films in meerdere streams downloaden of door de activiteit van torrent-liefhebbers (LibreQoS lost het probleem van haperende videobelletjes op wanneer iemand in hetzelfde netwerk begint met het downloaden van 4K-video). Het gebruik van LibreQoS verlaagt de piekbandbreedte voor een enkele gebruiker, maar maakt het mogelijk om de vertragingen aanzienlijk te verminderen en de middelen eerlijk te verdelen tussen alle deelnemers aan de gegevensuitwisseling.
LibreQoS is gebaseerd op het gebruik van het CAKE (Common Applications Kept Enhanced) queue management systeem en de fq_codel (Fair Queuing Controlled Delay) packet scheduler, en maakt ook gebruik van eBPF en XDP (Express Data Path) om handlers op het niveau van de netwerkdriver uit te voeren met directe toegang tot de DMA-buffer van pakketten. Het CAKE-algoritme is ontworpen om een complexe hiƫrarchie van packet queue beheer discplines te vervangen en te vereenvoudigen, en in staat om de maximale mogelijke bandbreedte te benutten en een minimaal niveau van vertraging te bieden, zelfs op de langzaamste verbindingen met de provider en bij gebruik van low-power apparaten.
Het project biedt ook middelen voor het volgen van vertragingen tussen het verzenden van een aanvraag en het ontvangen van een antwoord (RTT, round-trip time), gekoppeld aan individuele gebruikers, toegangspunten en websites. Voor een analyse van de status is een webinterface ontwikkeld, die de mogelijkheid biedt om het verkeer in het netwerk visueel te evalueren, veranderingen in belasting en vertragingen te volgen, en de meest actieve gebruikers te identificeren. Flexibele hiƫrarchische schema's voor het beperken van verkeer kunnen worden gemaakt en de integratie met UISP en Splynx voor het in kaart brengen van topologieƫn en klanten is mogelijk.
De release van LibreQoS 2.0 is opgedragen aan Dave Taht, die een jaar geleden op 59-jarige leeftijd is overleden. Dave leidde de ontwikkeling van LibreQoS en was medeoprichter van het Bufferbloat-project, maker van de CeroWrt-distributie en auteur van talrijke RFC's met betrekking tot netwerkqueueverwerking.
Belangrijke wijzigingen in versie LibreQoS 2.0:
- De webinterface voor de operator is gemoderniseerd, met uitgebreide mogelijkheden voor het diagnosticeren van netwerkproblemen en nieuwe rapporten en grafieken.

- In de boomweergave (Tree view) is de hiƫrarchische structuur van het netwerk weergegeven, is de verwerking van de topologie verbeterd en is het gedrag van de knooppunten gedetailleerd.
- Nieuwe probleemdiagnosetools zijn toegevoegd, waarmee de status van netwerkqueues kan worden geanalyseerd, verkeersstromen kunnen worden gevolgd, verkeer visueel kan worden weergegeven in de vorm van Sankey-diagrammen, monitoring van retransmissies kan worden uitgevoerd en de TCP-initiatiecyclus (RTT) kan worden gevisualiseerd.

- Nieuwe visualisatiemodi voor kaarten en verkeersstromen zijn toegevoegd, evenals een analyzer voor autonome systemen (ASN Analysis).

- De integratie met systemen voor klantrelatiebeheer (CRM) en netwerkbeheersystemen (NMS) is verbeterd. Ondersteuning voor integratie met UISP, Splynx, Netzur, VISP, WISPGate, Powercode en Sonar is toegevoegd.
- De mogelijkheden voor bandbreedtebeperking (shaping) zijn verbeterd, gerelateerd aan queue management en het gebruik van TreeGuard en StormGuard om overbelasting te voorkomen.
- De monitoring van de status van de scheduler en de informatie over kritieke problemen zijn verbeterd.
Bron: opennet.ru



