È stato rilasciato LibreQoS 1.4, una piattaforma progettata per garantire una distribuzione equa della larghezza di banda disponibile tra gli utenti e ridurre gli effetti negativi causati dal bufferbloat nelle reti. La piattaforma può essere utilizzata dai fornitori o dagli amministratori di reti private per ottimizzare il traffico, mantenere la latenza al minimo e distribuire la larghezza di banda secondo priorità. Il codice del progetto è scritto in C, Python e Rust e distribuito con licenza GPLv2. Il progetto è guidato da Dave Taht, co-fondatore del progetto Bufferbloat, creatore della distribuzione CeroWrt e autore di numerosi RFC riguardanti la gestione delle code di rete.
LibreQoS consente di ridurre la latenza e migliorare l'affidabilità delle sessioni interattive, dei giochi, delle piattaforme di e-learning, del traffico VoIP e delle videochiamate in condizioni di elevato carico della rete, ad esempio a causa del download simultaneo di film da parte di alcuni utenti o dell'attività di downloader torrent (LibreQoS risolve il problema del lag nelle videochiamate quando qualcuno in rete inizia a scaricare video in 4K). L'uso di LibreQoS riduce la larghezza di banda massima disponibile per un singolo utente, ma consente di ridurre significativamente la latenza e distribuire equamente le risorse tra tutti i partecipanti allo scambio di dati. Nei test condotti, l'utilizzo di LibreQoS ha ridotto la latenza nella ricezione dei dati da 106 a 9 ms e nella trasmissione da 517 a 23 ms, a costo di una riduzione della velocità di download continuo da 74 a 25 Mbps e della trasmissione da 29 a 8 Mbps.
Il cuore di LibreQoS è l'implementazione del sistema di gestione delle code di rete CAKE (Common Applications Kept Enhanced) e dello scheduler fq_codel (Fair Queuing Controlled Delay), oltre all'uso di eBPF e XDP (Express Data Path) per eseguire gestori a livello del driver di rete con accesso diretto ai buffer DMA dei pacchetti. L'algoritmo CAKE è progettato per sostituire e semplificare la complessa gerarchia delle discipline di gestione delle code dei pacchetti, in grado di massimizzare la larghezza di banda disponibile e fornire livelli minimi di latenza anche su canali di comunicazione molto lenti con il fornitore e su dispositivi a bassa potenza. LibreQoS
LibreQoS fornisce anche strumenti per monitorare la latenza tra l'invio di una richiesta e la ricezione di una risposta (RTT, round-trip time), in riferimento a singoli utenti, punti di accesso e siti web. È stato sviluppato un'interfaccia web per analizzare le condizioni, che consente di valutare visivamente il traffico in rete, monitorare i cambiamenti nel carico e nella latenza, identificare gli utenti più attivi. È possibile creare schemi flessibili di limitazione del traffico e integrare con UISP e Splynx per il mapping delle topologie e dei clienti.
LibreQoS può essere installato su un server, posizionato tra il router di confine del fornitore e il router di base della rete locale. Un singolo server con LibreQoS può gestire la limitazione del traffico per migliaia di utenti, ad esempio, server un CPU Xeon Gold a 16 core è sufficiente per elaborare il traffico dei clienti ISP con una larghezza di banda di 11 gbit/s.
Nella nuova versione:
- È stata implementata una nuova architettura basata su un backend scritto in Rust. Il backend include:
- Un processo in background lqosd, responsabile per il caricamento e la configurazione dei programmi eBPF, l'estrazione di statistiche direttamente da eBPF e la fornire un bus per lo scambio di dati tra i componenti.
- L'utilità lqtop per visualizzare l'attività corrente.
- L'interfaccia web lqos_node_manager per categorizzare il traffico, monitorare, tenere traccia dello stato del sistema e analizzare l'attività attuale.
- Il wrapper lqos_python per organizzare l'accesso al bus da script scritti in Python.
- Il generatore di file di configurazione lqos_setup.
- Un sistema di autenticazione degli utenti lqos_users.
- È stata aggiunta la possibilità di utilizzare un acceleratore di bridge di rete basato su XDP al posto del sottosistema di base del kernel bridge. In questa modalità è possibile ottenere un aumento delle prestazioni del 30%.
- È stata aggiunta la supporto per l'analisi dei pacchetti e dei flussi di traffico.
- È stata introdotta la modalità Single-interface, che consente di utilizzare un'interfaccia di rete e VLAN per il traffico esterno (fornitore) e interno (rete locale).
- È stata proposta una nuova interfaccia web con un numero maggiore di nuovi grafici.




Fonte: opennet.ru
