În kernelul Linux 5.7 se vor accelera corespondențele complexe pe liste în NetFilter

Dezvoltatorii subsistemului de filtrare și modificare a pachetelor de rețea Netfilter au publicat o serie de patch-uri care accelerează semnificativ procesarea listelor mari de potrivire (seturi nftables), în care este necesară verificarea combinației de subrețele, porturi de rețea, protocoale și adrese MAC. Patch-urile au fost deja acceptate în ramura nf-next, care va fi propusă pentru includerea în nucleul Linux 5.7. Cea mai notabilă accelerare a fost obținută datorită utilizării instrucțiunilor AVX2 (în continuare se planifică publicarea unor optimizări similare bazate pe instrucțiunile NEON pentru ARM).

Optimizările au fost integrate în modulul nft_set_pipapo (PIle PAcket POlicies), care abordează problema potrivirii conținutului pachetului cu intervalele de stare aplicate în reguli de filtrare, cum ar fi intervalele IP și porturile de rețea (nft_set_rbtree și nft_set_hash manipulează potrivirea intervalelor și reflectarea directă a valorilor). Versiunea pipapo vectorizată cu ajutorul instrucțiunilor AVX2 pe un sistem cu procesor AMD Epyc 7402 a arătat un câștig de performanță de 420% la analiza a 30 de mii de înregistrări, incluzând combinații port-protocol. Câștigul la potrivirea unei combinații din subrețea și număr de port la analiza a 1000 de înregistrări a fost de 87% pentru IPv4 și 128% pentru IPv6.

În kernelul Linux 5.7 se vor accelera corespondențele complexe pe liste în NetFilter

O altă optimizare, care permite utilizarea grupurilor de potrivire de 8 biți în loc de cele de 4 biți, a arătat de asemenea o îmbunătățire semnificativă a performanței: 66% la analiza a 30 de mii de înregistrări port-protocol, 43% - subrețea_IPv4-port și 61% - subrețea_IPv6-port. În total, având în vedere optimizările AVX2, performanța pipapo a crescut în testele menționate cu 766%, 168% și 269% respectiv. Caracteristicile obținute pentru potriviri complexe depășesc verificările de câmpuri unice în rbtree (cu excepția testului combinației port+protocol), dar deocamdată rămân în urmă față de verificările directe utilizând hash-uri și gestionarea drop bazată pe netdev.

În kernelul Linux 5.7 se vor accelera corespondențele complexe pe liste în NetFilter

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster