Utgitt en utgave av plattformen LibreQoS 1.4, designet for å organisere rettferdig fordeling av tilgjengelig båndbredde mellom brukere og redusere negative effekter som oppstår fra bufferbloat i nettverksutstyr. Plattformen kan brukes av leverandører eller administratorer av private nettverk for å optimalisere trafikkstrømmer, opprettholde forsinkelser på et minimumsnivå og fordele båndbredden med hensyn til prioriteringer. Koden for prosjektet er skrevet på språkene C, Python og Rust, og distribueres under GPLv2-lisensen. Prosjektet utvikles under ledelse av Dave Taht, medgrunnlegger av Bufferbloat-prosjektet, skaperen av CeroWrt-distribusjonen og forfatter av mange RFC-er relatert til behandling av nettverkskøer.
LibreQoS bidrar til å redusere forsinkelser og forbedre påliteligheten til interaktive økter, spill, plattformer for online læring, VoIP-trafikk og videokonferanser under høy belastning på nettverket, for eksempel når noen brukere strømmer filmer i flere samtidige strømmer eller torrent-aktiviteter (LibreQoS løser problemet med hakking i videokonferanser når noen i samme nettverk begynner å laste opp 4K-videoer). Bruken av LibreQoS reduserer den tilgjengelige toppbåndbredden for en enkelt bruker, men gir samtidig mulighet for betydelig lavere forsinkelser og rettferdig ressursfordeling mellom alle deltakere i datadelingen. I en utført test var bruken av LibreQoS i stand til å redusere forsinkelser ved datamottak fra 106 ms til 9 ms, og ved overføring fra 517 ms til 23 ms, med en kostnad for reduksjon av kontinuerlig opplastingshastighet fra 74 Mbps til 25 Mbps og overføring fra 29 Mbps til 8 Mbps.
I kjernen av LibreQoS ligger bruken av det nettverkskøadministrasjonssystemet CAKE (Common Applications Kept Enhanced) og pakkeskeduleringsalgoritmen fq_codel (Fair Queuing Controlled Delay), samt bruk av eBPF og XDP (Express Data Path) for å utføre håndterere på nivået til nettverksdriveren med mulighet for direkte tilgang til DMA-pakkebufferet. CAKE-algoritmen er designet for å erstatte og forenkle den komplekse hierarkiske behandlingen av pakke-køer, og klarer å presse ut maksimal mulig båndbredde og opprettholde minimumsnivå av forsinkelser selv på de tregeste forbindelsene med leverandører og når det jobbes på lite kraftige enheter. LibreQoS
LibreQoS tilbyr også verktøy for å overvåke forsinkelser mellom sending av forespørsel og mottak av svar (RTT, round-trip time), knyttet til enkeltbrukere, tilgangspunkter og nettsteder. For å analysere status er det utviklet et webgrensesnitt som gir mulighet for visuell evaluering av trafikken i nettverket, overvåking av endringer i belastning og forsinkelser, og identifikasjon av de mest aktive brukerne. Det er mulig å lage fleksible hierarkiske begrensningsskjemaer for trafikk og integrasjon med UISP og Splynx for kartlegging av topologier og kunder.
LibreQoS installeres på server, plassert mellom leverandørens grense-router og basisruteren til det lokale nettverket. Én server med LibreQoS kan håndtere trafikkområder for mange tusen brukere, for eksempel serveren med en 16-kjerners CPU Xeon Gold, som er tilstrekkelig for å håndtere trafikken til ISP-kunder med en båndbredde på 11 gbit/s.
I den nye versjonen:
- En ny arkitektur er implementert basert på en backend skrevet i Rust. Backend inkluderer:
- Bakgrunnsprosessen lqosd, ansvarlig for lasting og konfigurasjon av eBPF-programmer, henting av statistikk direkte fra eBPF og levering av en buss for datautveksling mellom komponentene.
- Verktøyet lqtop for å se nåværende aktivitet.
- Webgrensesnittet lqos_node_manager for kategorisering av trafikk, overvåking, registrering av systemstatus og analyse av nåværende aktivitet.
- Biblioteket lqos_python for å organisere tilgang til bussen fra skripter skrevet i Python.
- Filgeneratoren lqos_setup for konfigurasjonsfiler.
- Brukerautentiseringssystemet lqos_users.
- Mulighet for å bruke en akselerator for nettverksbroer basert på XDP i stedet for den vanlige brokjerne-systemet. I denne modusen kan man oppnå en ytelsesforbedring på 30%.
- Støtte for analyse av pakker og trafikkstrømmer er lagt til.
- En enkeltsurface-modus er lagt til, noe som gjør det mulig å bruke ett nettverksgrensesnitt og VLAN for både ekstern (leverandør) og intern (lokalt nettverk) trafikk.
- Et nytt webgrensesnitt med et større antall nye grafer er foreslått.




Kilde: opennet.ru
