Dopo due anni di sviluppo, è disponibile il rilascio della piattaforma LibreQoS 2.0, progettata per organizzare una distribuzione equa della larghezza di banda disponibile tra gli utenti e ridurre gli effetti negativi causati da bufferizzazione intermedia dei pacchetti (Bufferbloat) da parte dell'hardware di rete. La piattaforma può essere utilizzata da fornitori o amministratori di reti private per ottimizzare i flussi di traffico, mantenere le latenze a un livello minimo e gestire la larghezza di banda tenendo conto delle priorità. Il codice del progetto è scritto in C, JavaScript, Python e Rust, e distribuito con licenza GPLv2. La piattaforma viene installata su server, collocata tra il router di confine del fornitore e il router di base della rete locale.
LibreQoS consente di ridurre le latenze e aumentare l'affidabilità delle sessioni interattive, dei giochi, delle piattaforme di apprendimento online, del traffico VoIP e delle videochiamate in condizioni di elevato carico sulla rete, ad esempio, a causa del download da parte di alcuni utenti di film in streaming multiplo o dell'attività degli appassionati di torrent (LibreQoS risolve il problema del lag nelle videochiamate quando qualcuno nella stessa rete inizia a scaricare video 4K). L'uso di LibreQoS riduce la capacità di picco disponibile per un singolo utente, ma consente di diminuire significativamente le latenze e distribuire equamente le risorse tra tutti i partecipanti allo scambio di dati.
LibreQoS si basa sull'uso del sistema di gestione delle code di rete CAKE (Common Applications Kept Enhanced) e dello scheduler dei pacchetti fq_codel (Fair Queuing Controlled Delay), e utilizza anche eBPF e XDP (Express Data Path) per eseguire i gestori a livello di driver di rete con la possibilità di accesso diretto al buffer DMA dei pacchetti. L'algoritmo CAKE è progettato per sostituire e semplificare la complessa gerarchia delle discipline di elaborazione delle code di pacchetti, in grado di spremere la massima larghezza di banda possibile e di fornire un livello minimo di latenze anche sui canali di comunicazione più lenti con il fornitore e durante il funzionamento su dispositivi a bassa potenza.
Il progetto fornisce anche strumenti per monitorare i ritardi tra l'invio della richiesta e la ricezione della risposta (RTT, round-trip time), collegati a singoli utenti, punti di accesso e siti. Un'interfaccia web è stata sviluppata per analizzare lo stato, consentendo una valutazione visiva del traffico di rete, seguire le variazioni di carico e ritardi, e identificare gli utenti più attivi. È possibile creare schemi di limitazione del traffico flessibili e gerarchici e integrare con UISP e Splynx per la mappatura delle topologie e dei clienti.
Il rilascio di LibreQoS 2.0 è dedicato a Dave Taht, scomparso prematuramente un anno fa all'età di 59 anni. Dave ha guidato lo sviluppo di LibreQoS ed è stato cofondatore del progetto Bufferbloat, creatore della distribuzione CeroWrt e autore di numerosi RFC relativi alla gestione delle code di rete.
Le principali modifiche nella versione LibreQoS 2.0:
- È stata modernizzata l'interfaccia web per gli operatori, ampliando le capacità di diagnosi dei problemi di rete e aggiungendo nuovi rapporti e grafici.

- In modalità di visualizzazione ad albero (Tree view) è stata fornita la rappresentazione della struttura gerarchica della rete, migliorata la gestione della topologia e dettagliato il comportamento dei nodi.
- Sono stati aggiunti nuovi strumenti per diagnosticare i problemi, che consentono di analizzare lo stato delle code di rete, monitorare i flussi di traffico, rappresentare graficamente il traffico utilizzando diagrammi di Sankey, monitorare i pacchetti ritrasmessi e visualizzare i cicli di ricezione-trasmissione TCP (RTT).

- Sono stati introdotti nuovi modi per visualizzare le mappe e i flussi di traffico, con un analizzatore di sistemi autonomi (ASN Analysis) in aggiunta.

- Migliorata l'integrazione con i sistemi di gestione delle relazioni con i clienti (CRM) e i sistemi di gestione della rete (NMS). Aggiunta la compatibilità con UISP, Splynx, Netzur, VISP, WISPGate, Powercode e Sonar.
- Migliorate le capacità di limitazione della larghezza di banda (shaping) relative alla gestione delle code e all'uso di TreeGuard e StormGuard per prevenire sovraccarichi.
- Migliorato il monitoraggio dello stato dello scheduler e informazioni sulle problematiche critiche.
Fonte: opennet.ru



