V jadre Linux 5.7 sa urýchlia zložitá porovnania pomocou zoznamov v NetFilter

Vývojári podsystemu filtrovania a modifikácie sieťových paketov Netfilter publikovali súbor záplat, ktoré významne urýchľujú spracovanie veľkých zoznamov porovnania (nftables set), v ktorých sa vyžaduje kontrola kombinácie podsietí, sieťových portov, protokolu a MAC adries. Záplaty už boli prijaté do vetvy nf-next, ktorá bude navrhnutá na zaradenie do jadra Linux 5.7. Najvýraznejšieho zrýchlenia sa podarilo dosiahnuť vďaka využitiu inštrukcií AVX2 (v budúcnosti je plánované zverejniť podobné optimalizácie založené na inštrukciách NEON pre ARM).

Optimalizácie boli zavedené do modulu nft_set_pipapo (PIle PAcket POlicies), ktorý rieši úlohu porovnania obsahu paketu s používanými pravidlami filtrovania na základe akýchkoľvek rozsahov stavových polí, ako sú rozsahy IP a sieťových portov (nft_set_rbtree a nft_set_hash manipulujú s porovnávaním intervalov a priamym zrkadlením hodnôt). Vektorovaná pomocou 256-bitových inštrukcií AVX2 verzia pipapo na systéme s procesorom AMD Epyc 7402 vykázala nárast výkonu o 420% pri analýze 30 tisíc záznamov, vrátane dvojíc port-protokol. Nárast pri porovnaní dvojice z podsiete a čísla portu pri analýze 1000 záznamov dosiahol 87% pre IPv4 a 128% pre IPv6.

V jadre Linux 5.7 sa urýchlia zložitá porovnania pomocou zoznamov v NetFilter

Ďalšia optimalizácia, ktorá umožňuje používať 8-bitové skupiny porovnávania namiesto 4-bitových, tiež vykázala zjavný nárast výkonu: 66% pri analýze 30 tisíc záznamov port-protokol, 43% — podsieť_IPv4-port a 61% — podsieť_IPv6-port. Celkovo, z ohľadom na optimalizácie AVX2, sa výkon pipapo zvýšil v uvedených testoch o 766%, 168% a 269% v poriadku. Výsledné vlastnosti pre zložené porovnania predčia kontroly jednotlivých polí v rbtree (s výnimkou testu dvojice port+protokol), ale zatiaľ zaostávajú za priamymi kontrolami pomocou hashov a drop-spracovateľov na báze netdev.

V jadre Linux 5.7 sa urýchlia zložitá porovnania pomocou zoznamov v NetFilter

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster