Port-Range Rule Management and Matching-Path Measurement for eBPF-Based Network Functions
Questo articolo propone un'ottimizzazione leggera per la funzione di rete basata su eBPF ZFW che riordina le regole degli intervalli di porte in base ai loro limiti inferiori e implementa la terminazione anticipata nel percorso dei dati, riducendo significativamente i passaggi di scansione e la latenza, migliorando al contempo la prevedibilità dell'elaborazione delle regole.
Articolo originale sotto licenza CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Questa è una spiegazione generata dall'IA dell'articolo qui sotto. Non è stata scritta né approvata dagli autori. Per precisione tecnica, consulta l'articolo originale. Leggi il disclaimer completo
Nella vasta e invisibile infrastruttura che trasporta le nostre vite digitali, esiste uno strato di software che funge da guardiano per le reti informatiche. Questo software, noto come funzione di rete, decide quali pacchetti di dati sono autorizzati a passare e quali devono essere fermati, proprio come una guardia giurata che controlla i documenti d'identità all'ingresso di un edificio. Per anni, queste guardie hanno operato su regole fisse e rigide. Tuttavia, i sistemi moderni si sono evoluti per utilizzare una tecnologia flessibile chiamata eBPF, che consente a questi controlli di sicurezza di essere programmati dinamicamente all'interno del nucleo del computer. Questo cambiamento offre un grande potere, permettendo agli amministratori di aggiornare le politiche di sicurezza istantaneamente senza riavviare il sistema. Eppure, questa flessibilità introduce una sfida nascosta: man mano che l'elenco delle regole cresce, il tempo necessario al software per trovare la regola corretta può diventare imprevedibile. Se l'elenco non è ben organizzato, il sistema potrebbe sprecare tempo controllando decine di regole irrilevanti prima di trovare quella che conta, rallentando l'intera rete.
Un ricercatore di nome Bo Xie, del Wuhan Digital Engineering Research Institute, si è posto l'obiettivo di risolvere questo specifico problema di inefficienza all'interno di uno strumento di rete open-source chiamato ZFW. Il problema centrale identificato era che lo strumento manteneva il suo elenco di regole per intervalli di porte nell'esatto ordine in cui venivano aggiunte, invece di organizzarle logicamente. Immaginate una biblioteca in cui i libri vengono riposti su uno scaffale nell'ordine in cui sono stati consegnati all'edificio, piuttosto che in ordine alfabetico per titolo. Se un utente desidera un libro che è stato consegnato per ultimo, deve passare davanti a ogni singolo altro libro sullo scaffale per trovarlo. Nel mondo digitale, questo significava che se un servizio internet popolare veniva aggiunto alla lista di sicurezza tardivamente, ogni singolo traffico per quel servizio doveva scansionare ogni regola non correlata prima di raggiungere quella corretta. Il ricercatore ha anche scoperto che il sistema mancava di un segnale di "stop"; anche se era matematicamente impossibile che una regola successiva corrispondesse al traffico corrente, il software continuava comunque a controllare.
Per risolvere questo problema, il team ha introdotto due modifiche semplici ma efficaci al modo in cui il sistema gestisce e controlla queste regole. In primo luogo, hanno modificato il lato della gestione in modo che, ogni volta che viene aggiunta una nuova regola, il sistema la inserisca automaticamente nella posizione corretta in base al suo numero iniziale, invece di limitarsi ad appenderla alla fine dell'elenco. In secondo luogo, hanno aggiornato il meccanismo di controllo ad alta velocità all'interno del computer per interrompere la scansione non appena incontra una regola che inizia con un numero superiore al traffico che sta cercando di far corrispondere. Poiché l'elenco è ora ordinato, il sistema sa che, se ha superato un certo punto, nessuna regola futura può necessariamente corrispondere, permettendogli di interrompere immediatamente la ricerca. Questo approccio si basa sull'assunto che le regole non si sovrappongano in modo da creare confusione, una condizione che i ricercatori hanno garantito fosse rispettata dal livello di policy prima che le regole venissero installate.
I risultati dei test su queste modifiche sono stati sorprendenti nella loro chiarezza. In un esperimento controllato in cui il sistema doveva gestire cento regole, il metodo originale richiedeva al software di scansionare in media cento voci per trovare una corrispondenza per una porta popolare. Con il nuovo metodo di ordinamento e di arresto anticipato, quella media è scesa a una sola voce. I ricercatori hanno misurato questo contando l'esatto numero di passaggi compiuti dal software, una metrica che riflette direttamente lo sforzo richiesto per elaborare ogni pezzo di dato. In scenari in cui la regola target era stata posizionata alla fine dell'elenco originale, il miglioramento è stato di una riduzione del novantanove per cento del lavoro che il computer doveva compiere. Anche nei casi in cui il traffico non corrispondeva ad alcuna regola, il nuovo sistema poteva spesso interrompere la scansione dopo aver controllato la prima voce, se il numero del traffico era inferiore alla regola più piccola presente nell'elenco.
Tuttavia, lo studio ha anche rivelato una distinzione importante tra l'efficienza del software stesso e la velocità totale della connessione di rete. Quando i ricercatori hanno testato il sistema su un server cloud pubblico, dove il traffico internet viaggia su lunghe distanze e attraverso molti altri computer, il tempo totale impiegato da una richiesta per completarsi è migliorato solo di circa il due per cento. Questo piccolo guadagno è avvenuto perché il tempo trascorso in attesa che i dati viaggiassero attraverso internet e il tempo che il computer impiega per gestire i propri compiti interni hanno sovrastato i minuscoli risparmi ottenuti dal controllo delle regole più veloce. Al contrario, quando i test sono stati esegtti in un ambiente locale strettamente controllato, dove i dati non dovevano viaggiare lontano, il tempo totale per una richiesta è sceso di quasi il venti per cento. Questa differenza ha dimostrato che, sebbene l'ottimizzazione abbia reso il processo di controllo delle regole molto più efficiente, la velocità complessiva di una connessione è ancora pesantemente influenzata da fattori esterni al software, come la distanza di rete e il carico di sistema.
I ricercatori hanno anche testato il sistema sotto varie condizioni, inclusi modelli di traffico misti in cui alcune richieste corrispondevano alle regole e altre no, e hanno confrontato diverse versioni del software per isolare gli effetti dell'ordinamento rispetto all'arresto anticipato. Hanno scoperto che l'ordinamento delle regole era il driver principale del miglioramento per il traffico comune, mentre la funzione di arresto anticipato forniva una spinta significativa per il traffico che non corrispondeva ad alcuna regola. Lo studio ha concluso che questo approccio leggero offre un modo affidabile per rendere la sicurezza di rete più prevedibile ed efficiente senza richiedere una ristrutturazione completa del sistema esistente. Ha dimostrato che, semplicemente organizzando l'elenco delle regole e dando al software il permesso di interrompere la ricerca quando conosce la risposta, gli amministratori possono garantire che le loro funzioni di rete operino in modo costante, anche all'aumentare del numero di regole di sicurezza. Il lavoro rappresenta una dimostrazione pratica che, nei complessi sistemi digitali, l'ordine in cui le cose sono disposte può essere importante quanto le regole stesse.
Sommerso dagli articoli nel tuo campo?
Ricevi digest giornalieri degli articoli più recenti corrispondenti alle tue parole chiave di ricerca — con riassunti tecnici, nella tua lingua.