Port-Range Rule Management and Matching-Path Measurement for eBPF-Based Network Functions
Dit artikel stelt een lichtgewicht optimalisatie voor de eBPF-gebaseerde netwerkfunctie ZFW voor die poortbereikregels herordent op basis van hun ondergrenzen en vroege terminatie implementeert in het datapad, wat het aantal scansteppen en de latentie aanzienlijk vermindert terwijl de voorspelbaarheid van de regelverwerking wordt verbeterd.
Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven of goedgekeurd door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer
In de uitgestrekte, onzichtbare infrastructuur die ons digitale leven draagt, bestaat een laag software die fungeert als een poortwachter voor computernetwerken. Deze software, bekend als een netwerkfunctie, beslist welke datapakketjes mogen passeren en welke moeten worden tegengehouden, vergelijkbaar met een beveiligingsbeambte die ID-bewijzen controleert bij de ingang van een gebouw. Jarenlang werkten deze bewakers op basis van vaste, rigide regels. Echter, moderne systemen zijn geëvolueerd om gebruik te maken van een flexibele technologie genaamd eBPF, die deze beveiligingscontroles dynamisch binnen de kern van de computer kan programmeren. Deze verschuiving biedt grote kracht, omdat het beheerders in staat stelt om beveiligingsbeleid direct bij te werken zonder het systeem te herstarten. Toch introduceert deze flexibiliteit een verborgen uitdaging: naarmate de lijst met regels groeit, kan de tijd die de software nodig heeft om de juiste regel te vinden onvoorspelbaar worden. Als de lijst niet goed georganiseerd is, kan het systeem tijd verspillen aan het controleren van tientallen irrelevante regels voordat het de regel vindt die er werkelijk toe doet, wat het hele netwerk vertraagt.
Een onderzoeker genaamd Bo Xie van het Wuhan Digital Engineering Research Institute zette zich af om dit specifieke probleem van inefficiëntie binnen een open-source netwerktool genaamd ZFW op te lossen. Het kernprobleem dat werd geïdentificeerd, was dat de tool de lijst met poortbereikregels in de exacte volgorde bijhield waarin ze waren toegevoegd, in plaats van ze logisch te organiseren. Stel je een bibliotheek voor waar boeken op een plank worden geplaatst in de volgorde waarin ze het gebouw zijn binnengekomen, in plaats van alfabetisch op titel. Als een bezoeker een boek wil dat als laatste is geleverd, moet hij langs elk ander boek op de plank lopen om het te vinden. In de digitale wereld betekende dit dat als een populaire internetdienst laat aan de beveiligingslijst werd toegevoegd, elke vorm van verkeer voor die dienst door alle ongerelateerde regels moest scannen voordat het de juiste regel bereikte. De onderzoeker ontdekte ook dat het systeem een "stop"-signaal miste; zelfs als het wiskundig onmogelijk was dat een latere regel overeenkwam met het huidige verkeer, bleef de software toch controleren.
Om dit op te lossen, introduceerde het team twee eenvoudige maar effectieve wijzigingen in de manier waarop het systeem deze regels beheert en controleert. Ten eerste hebben ze de beheerkant aangepast zodat wanneer een nieuwe regel wordt toegevoegd, het systeem deze automatisch op de juiste positie sorteert op basis van het startgetal, in plaats van deze simpelweg aan het einde van de lijst toe te voegen. Ten tweede hebben ze het hogesnelheidscontrolemechanisme binnen de computer bijgewerkt om te stoppen met scannen op het moment dat het een regel tegenkomt die begint met een getal dat hoger is dan het verkeer dat het probeert te matchen. Omdat de lijst nu gesorteerd is, weet het systeem dat als het een bepaald punt is gepasseerd, geen toekomstige regels meer mogelijk kunnen matchen, waardoor het de zoekopdracht onmiddellijk kan afbreken. Deze aanpak berust op de aanname dat de regels elkaar niet overlappen op een manier die verwarring creëert, een voorwaarde die de onderzoekers door de beleidslaag hebben gewaarborgd voordat de regels werden geïnstalleerd.
De resultaten van de tests van deze wijzigingen waren opvallend helder. In een gecontroleerd experiment waarbij het systeem honderd regels moest beheren, vereiste de oorspronkelijke methode dat de software gemiddeld honderd vermeldingen moest scannen om een match te vinden voor een populair poortnummer. Met de nieuwe sorteer- en vroege-stopmethode daalde dat gemiddelde naar slechts één vermelding. De onderzoekers maten dit door het exacte aantal stappen te tellen dat de software ondernam, een metriek die direct de inspanning reflecteert die nodig is om elk stukje data te verwerken. In scenario's waarin de doelregel aan het uiterste einde van de oorspronkelijke lijst stond, was de verbetering een reductie van negentig procent in de hoeveelheid werk die de computer moest verrichten. Zelfs in gevallen waarin het verkeer helemaal niet bij een regel paste, kon het nieuwe systeem vaak al na het controleren van de eerste vermelding stoppen als het nummer van het verkeer kleiner was dan de kleinste regel op de lijst.
Het onderzoek onthulde echter ook een belangrijk onderscheid tussen de efficiëntie van de software zelf en de totale snelheid van de netwerkverbinding. Wanneer de onderzoekers het systeem testten op een publieke cloudserver, waar internetverkeer lange afstanden aflegt en door veel andere computers reist, verbeterde de totale tijd die een verzoek nodig had om te voltooien slechts met ongeveer twee procent. Deze kleine winst kwam doordat de tijd die nodig is voor data om over het internet te reizen en de tijd die de computer besteedt aan het beheren van zijn eigen interne taken, de kleine besparingen van de snellere regelcontrole overstemden. In contrast hiermee, toen de tests werden uitgevoerd in een strikt gecontroleerde lokale omgeving waar de data niet ver hoefde te reizen, daalde de totale tijd voor een verzoek met bijna twintig procent. Dit verschil bewees dat hoewel de optimalisatie het proces van regelcontrole aanzienlijk efficiënter maakte, de algehele snelheid van een verbinding nog steeds sterk wordt beïnvloed door factoren buiten de software, zoals netwerkafstand en systeembelasting.
De onderzoekers testten het systeem ook onder diverse omstandigheden, waaronder gemengde verkeerspatronen waarbij sommige verzoeken overeenkwamen met regels en andere niet, en ze vergeleken verschillende versies van de software om de effecten van sorteren versus vroegtijdig stoppen te isoleren. Ze ontdekten dat het sorteren van de regels de primaire drijfveer was voor de verbetering bij algemeen verkeer, terwijl de functie van vroegtijdig stoppen een significante boost bood voor verkeer dat helemaal niet bij een regel paste. De studie concludeerde dat deze lichtgewicht aanpak een betrouwbare manier biedt om netwerkbeveiliging voorspelbaarder en efficiënter te maken zonder een volledige herziening van het bestaande systeem te vereisen. Het toonde aan dat door simpelweg de lijst met regels te organiseren en de software toestemming te geven om de zoekopdracht te staken wanneer het antwoord bekend is, beheerders ervoor kunnen zorgen dat hun netwerkfuncties consistent presteren, zelfs naarmate het aantal beveiligingsregels groeit. Het werk dient als een praktische demonstratie dat in complexe digitale systemen de volgorde waarin zaken zijn gerangschikt even belangrijk kan zijn als de regels zelf.
Verdrinkt u in papers in uw vakgebied?
Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.