Byl zveřejněn vydání platformy LibreQoS 1.4, určené k zajištění spravedlivého rozdělení dostupné šířky pásma mezi uživateli a ke snížení negativních efektů způsobených mezilehlým vyrovnáváním paketů (Bufferbloat) síťovým vybavením. Platforma může být využívána poskytovateli nebo správci privátních sítí pro optimalizaci toků provozu, udržení latencí na minimální úrovni a rozdělení šířky pásma s ohledem na priority. Kód projektu je napsán v jazycích C, Python a Rust, a je distribuován pod licencí GPLv2. Projekt se rozvíjí pod vedením Davea Tahta, spoluzakladatele projektu Bufferbloat, tvůrce distribuce CeroWrt a autora mnoha RFC týkajících se zpracování síťových front.
LibreQoS umožňuje snížit latence a zvýšit spolehlivost interaktivních sezení, her, online vzdělávacích platforem, VoIP provozu a videohovorů za podmínek vysokého zatížení sítě, například kvůli stahování filmů v několika streamovaných kanálech některými uživateli nebo aktivitám milovníků torrentů (LibreQoS řeší problém se sekáním videohovorů, když někdo ve stejné síti začne stahovat 4K video). Použití LibreQoS snižuje dostupnou maximální šířku pásma pro jednoho uživatele, ale umožňuje výrazně snížit latence a spravedlivě rozdělit zdroje mezi všechny účastníky výměny dat. V provedeném testu použití LibreQoS umožnilo snížit latence při příjmu dat z 106 ms na 9 ms a při odesílání z 517 ms na 23 ms, na úkor snížení rychlosti nepřetržitého stahování z 74 Mbps na 25 Mbps a odesílání z 29 Mbps na 8 Mbps.
Na základě LibreQoS leží použití systému řízení síťových front CAKE (Common Applications Kept Enhanced) a plánovače paketů fq_codel (Fair Queuing Controlled Delay), stejně jako použití eBPF a XDP (Express Data Path) k provádění zpracovatelů na úrovni síťového ovladače s možností přímého přístupu k DMA bufferu paketů. Algoritmus CAKE je navržen tak, aby nahradil a zjednodušil složitou hierarchii disciplin zpracování front paketů, dokáže vyždímat maximální možnou šířku pásma a poskytnout minimální úroveň latencí i na těch nejpomalejších komunikačních kanálech s poskytovatelem a při práci na slabších zařízeních.
LibreQoS také poskytuje nástroje pro sledování zpoždění mezi odesláním požadavku a přijetím odpovědi (RTT, round-trip time), vztahující se k jednotlivým uživatelům, přístupovým bodům a webovým stránkám. Pro analýzu stavu byl vyvinut webový rozhraní, které umožňuje vizuálním způsobem ocenit provoz v síti, sledovat změny zatížení a zpoždění, a identifikovat nejaktivnější uživatele. Je možné vytvářet flexibilní hierarchické schémata omezení provozu a integraci s UISP a Splynx pro mapování topologií a klientů.
LibreQoS se instaluje na server, umístěný mezi hraničním směrovačem poskytovatele a základním směrovačem místní sítě. Jeden server s LibreQoS může provádět omezení provozu pro tisíce uživatelů, například serveru se 16jádrovým CPU Xeon Gold je dostatečný pro zpracování provozu klientů ISP s propustností 11 gbit/s.
V nové verzi:
- Byla použita nová architektura založená na backendu napsaném v jazyce Rust. Backend zahrnuje:
- Pozadí proces lqosd, odpovědný za načítání a nastavení programů eBPF, získávání statistik přímo z eBPF a poskytování sběrnice pro výměnu dat mezi komponenty.
- nástroj lqtop pro zobrazení aktuální aktivity.
- webové rozhraní lqos_node_manager pro kategorizaci provozu, monitorování, sledování stavu systému a analýzu aktuální aktivity.
- wrapper lqos_python pro zajištění přístupu k sběrnici ze skriptů v jazyce Python.
- generátor konfiguračních souborů lqos_setup.
- systém autentizace uživatelů lqos_users.
- Byla přidána možnost použití akcelerátoru síťových mostů založeného na XDP místo standardní subsystému jádra bridge. V tomto režimu lze dosáhnout zvýšení výkonu o 30%.
- Byla přidána podpora analýzy paketů a toků provozu.
- Byl přidán režim Single-interface, který umožňuje používat jedno síťové rozhraní a VLANy pro externí (poskytovatel) a interní (lokální síť) provoz.
- Bylo navrženo nové webové rozhraní s větším počtem nových grafů.




Zdroj: opennet.ru
