En el núcleo de Linux 5.7 se acelerarán las coincidencias complejas en listas en NetFilter.

Los desarrolladores del subsistema de filtrado y modificación de paquetes de red Netfilter publicaron han lanzado un conjunto de parches que aceleran significativamente el procesamiento de grandes listas de coincidencias (nftables set), donde se requiere la verificación de combinaciones de subredes, puertos de red, protocolos y direcciones MAC. Los parches ya han sido aceptados en la rama nf-next, que se propondrá para su inclusión en el núcleo de Linux 5.7. Se logró la mayor aceleración gracias a la utilización de instrucciones AVX2 (se planea publicar optimizaciones similares basadas en instrucciones NEON para ARM en el futuro).

Las optimizaciones se han incorporado en el módulo nft_set_pipapo (PIle PAcket POlicies), que resuelve la tarea de coincidir el contenido del paquete con rangos de estado arbitrarios establecidos en las reglas de filtrado, como rangos de IP y puertos de red (nft_set_rbtree y nft_set_hash manipulan la coincidencia de intervalos y el reflejo directo de valores). La versión de pipapo vectorizada con instrucciones AVX2 de 256 bits en un sistema con un procesador AMD Epyc 7402 mostró un aumento de rendimiento del 420% al analizar 30.000 entradas que incluyen combinaciones puerto-protocolo. El aumento en la coincidencia de combinaciones de subred y número de puerto al analizar 1.000 entradas fue del 87% para IPv4 y del 128% para IPv6.

En el núcleo de Linux 5.7 se acelerarán las coincidencias complejas en listas en NetFilter.

Otra optimización, que permite el uso de grupos de coincidencia de 8 bits en lugar de 4 bits, también mostró un incremento significativo en el rendimiento: 66% al analizar 30.000 entradas de puerto-protocolo, 43% para subred_IPv4-puerto y 61% para subred_IPv6-puerto. En total, considerando las optimizaciones AVX2, el rendimiento de pipapo aumentó en las pruebas mencionadas en un 766%, 168% y 269% respectivamente. Las características obtenidas para coincidencias complejas superan las verificaciones de campos aislados en rbtree (excepto en la prueba de la combinación puerto+protocolo), aunque todavía se quedan atrás en comparación con las verificaciones directas utilizando hashes y drop-handlers basados en netdev.

En el núcleo de Linux 5.7 se acelerarán las coincidencias complejas en listas en NetFilter.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster