Udgaven af platformen LibreQoS 1.4 er offentliggjort, designet til at skabe en retfærdig fordeling af den tilgængelige båndbredde mellem brugerne og reducere de negative effekter forårsaget af bufferbloat i netværksudstyr. Platformen kan anvendes af udbydere eller administratorer af private netværk til at optimere trafikstrømme, holde forsinkelser på et minimum og fordele båndbredden baseret på prioriteter. Projektkoden er skrevet i C, Python og Rust og distribueres under GPLv2 licensen. Projektet ledes af Dave Taht, medstifter af Bufferbloat-projektet, skaber af CeroWrt-distributionen og forfatter til adskillige RFC'er relateret til håndtering af netværkskøer.
LibreQoS hjælper med at reducere forsinkelser og øge pålideligheden af interaktive sessioner, spil, online læringsplatforme, VoIP-trafik og videoopkald under høj belastning af netværket, for eksempel når nogle brugere downloader film i flere streams, eller når torrent-fans er aktive (LibreQoS løser problemet med hakken ved videoopkald, når nogen i det samme netværk begynder at downloade 4K-video). Anvendelse af LibreQoS reducerer den tilgængelige spidsbåndbredde for en enkelt bruger, men giver mulighed for betydeligt at mindske forsinkelser og retfærdigt fordele ressourcerne mellem alle deltagere i datadeling. I en udført test reducerede anvendelsen af LibreQoS forsinkelserne ved modtagelse af data fra 106 til 9 ms, og ved transmission fra 517 til 23 ms, på bekostning af en reduktion i den kontinuerlige downloadhastighed fra 74 til 25 Mbps og transmission fra 29 til 8 Mbps.
Kernen i LibreQoS er anvendelsen af CAKE (Common Applications Kept Enhanced) netværkskøstyringssystemet og fq_codel (Fair Queuing Controlled Delay) pakkeplanlæggeren, samt brugen af eBPF og XDP (Express Data Path) til at udføre håndteringsrutiner på netværksdrivere med direkte adgang til DMA-pakkebufferen. CAKE-algoritmen er designet til at erstatte og forenkle den komplekse hierarki af kødiscipliner, og kan presse den maksimale båndbredde, der er mulig og give et minimalt niveau af forsinkelser, selv på de langsomste forbindelser fra udbyderen og ved brug på lavenergi enheder. LibreQoS
LibreQoS giver også værktøjer til at overvåge forsinkelser mellem afsendelse af anmodning og modtagelse af svar (RTT, round-trip time), knyttet til individuelle brugere, adgangspunkter og websteder. Der er udviklet et webinterface til at analysere tilstanden, hvilket giver mulighed for visuelt at vurdere trafik i netværket, følge ændringer i belastning og forsinkelser samt identificere de mest aktive brugere. Der kan oprettes fleksible hierarkiske trafikbegrænsningsskemaer og integration med UISP og Splynx til kortlægning af topologier og kunder.
LibreQoS installeres på server, der placeres mellem grænserouteren fra udbyderen og den grundlæggende router i det lokale netværk. Én server med LibreQoS kan håndtere trafikbegrænsning for mange tusinde brugere, for eksempel server med en 16-kernet CPU Xeon Gold, hvilket er tilstrækkeligt til at behandle trafik fra ISP-kunder med en båndbredde på 11 gbit/s.
I den nye version:
- Der er implementeret en ny arkitektur baseret på en backend skrevet i Rust. Backend omfatter:
- En baggrundsproces lqosd, der er ansvarlig for indlæsning og konfiguration af eBPF-programmer, udtrækning af statistik direkte fra eBPF og levering af en bus til dataudveksling mellem komponenterne.
- Et værktøj lqtop til at se den aktuelle aktivitet.
- Webinterfacet lqos_node_manager til kategorisering af trafik, overvågning, systemtilstand og analyse af den aktuelle aktivitet.
- En bundt lqos_python til at organisere adgang til bussen fra Python-scripts.
- En konfigurationsfilgenerator lqos_setup.
- Et brugergodkendelsessystem lqos_users.
- Muligheden for at bruge en XDP-baseret netværksbroaccelerator er blevet tilføjet i stedet for den indbyggede kernel bridge subsystem. I denne tilstand kan der opnås en ydeevneforøgelse på 30%.
- Support til pakke- og trafikstrømsanalyse er blevet tilføjet.
- Tilføjet en Single-interface tilstand, der muliggør brug af en enkelt netværksgrænseflade og VLAN'er til både ekstern (udbyder) og intern (lokalt netværk) trafik.
- Et nyt webinterface er blevet foreslået med et større antal nye grafer.




Kilde: opennet.ru
