Nel kernel Linux 5.7 verranno accelerati i complessi confronti nelle liste in NetFilter

Sviluppatori del sottosistema di filtraggio e modifica dei pacchetti di rete Netfilter hanno pubblicato un insieme di patch che accelera significativamente l'elaborazione di grandi elenchi di corrispondenza (nftables set), in cui è necessaria la verifica della combinazione di sottoreti, porte di rete, protocolli e indirizzi MAC. Le patch sono già state accettate nel ramo nf-next, che sarà proposto per l'inclusione nel kernel di Linux 5.7. Il miglioramento delle prestazioni più significativo è stato ottenuto grazie a l'implementazione di istruzioni AVX2 (in futuro è previsto pubblicare ottimizzazioni simili basate su istruzioni NEON per ARM).

Le ottimizzazioni sono state apportate al modulo nft_set_pipapo (PIle PAcket POlicies), che affronta il problema di mappare il contenuto del pacchetto con intervalli di stato dei campi utilizzati nelle regole di filtraggio, come intervalli IP e porte di rete (nft_set_rbtree e nft_set_hash gestiscono la corrispondenza degli intervalli e la riflessione diretta dei valori). La versione pipapo vettorializzata con istruzioni AVX2 a 256 bit su un sistema con processore AMD Epyc 7402 ha mostrato un incremento delle prestazioni del 420% durante l'analisi di 30.000 record, inclusi l'accoppiamento porta-protocollo. L'incremento nella corrispondenza dell'accoppiamento della sottorete e del numero della porta durante l'analisi di 1000 record è stato del 87% per IPv4 e del 128% per IPv6.

Nel kernel Linux 5.7 verranno accelerati i complessi confronti nelle liste in NetFilter

Un'altra ottimizzazione, che consente di utilizzare gruppi di corrispondenza a 8 bit invece di 4 bit, ha mostrato anche un notevole incremento delle prestazioni: 66% durante l'analisi di 30.000 record porta-protocollo, 43% — sottorete_IPv4-port e 61% — sottorete_IPv6-port. In totale, tenendo conto delle ottimizzazioni AVX2, le prestazioni di pipapo sono aumentate nei test indicati del 766%, 168% e 269% rispettivamente. Le caratteristiche ottenute per le corrispondenze complesse superano i controlli di campi singoli in rbtree (eccetto il test dell'accoppiamento porta+protocollo), ma al momento sono inferiori rispetto ai controlli diretti effettuati tramite hash e gestori di drop basati su netdev.

Nel kernel Linux 5.7 verranno accelerati i complessi confronti nelle liste in NetFilter

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster