Im Linux-Kernel 5.7 werden komplexe Listenabgleichungen in NetFilter beschleunigt.

Entwickler des Netfilter-Subsystems zur Filterung und Modifikation von Netzwerkpaketen haben ein Satz von Patches, die die Verarbeitung großer Matching-Listen (nftables set), die eine ÜberprĂŒfung der Kombination aus Subnetzen, Netzwerkports, Protokollen und MAC-Adressen erfordern, erheblich beschleunigen. Die Patches wurden bereits in die Branch nf-next, die fĂŒr die Aufnahme in den Linux-Kernel 5.7 vorgeschlagen wird. Die bemerkenswerteste Beschleunigung wurde durch den Einsatz von AVX2-Instruktionen erreicht (eine Ă€hnliche Optimierung auf Basis von NEON-Instruktionen fĂŒr ARM ist vorgesehen).

Die Optimierungen wurden in das Modul nft_set_pipapo eingefĂŒhrt (PIle PAcket POlicies), das die Aufgabe ĂŒbernimmt, den Inhalt eines Pakets mit den in den Filterregeln verwendeten beliebigen BereichszustĂ€nden der Felder, wie beispielsweise IP- und Netzwerkportbereichen, abzugleichen (nft_set_rbtree und nft_set_hash manipulieren den Abgleich von Intervallen und direkten Wertspiegelungen). Die vektorisierten 256-Bit-AVX2-Version von pipapo auf einem System mit einem AMD Epyc 7402-Prozessor zeigte eine Leistungssteigerung von 420 % beim Parsen von 30.000 EintrĂ€gen, darunter Port-Protokoll-Paare. Die Steigerung beim Abgleich eines Paars aus Subnetz und Portnummer beim Parsen von 1.000 EintrĂ€gen betrug 87 % fĂŒr IPv4 und 128 % fĂŒr IPv6.

Im Linux-Kernel 5.7 werden komplexe Listenabgleichungen in NetFilter beschleunigt.

Eine weitere Optimierung, die die Verwendung von 8-Bit-Matching-Gruppen anstelle von 4-Bit-Gruppen ermöglicht, zeigte ebenfalls einen spĂŒrbaren Leistungsschub: 66 % beim Parsen von 30.000 Port-Protokoll-EintrĂ€gen, 43 % — Subnetz_IPV4-Port und 61 % — Subnetz_IPV6-Port. Insgesamt, unter BerĂŒcksichtigung der AVX2-Optimierungen, erhöhte sich die Leistung von pipapo in den genannten Tests um 766 %, 168 % und 269 % entsprechend. Die fĂŒr komplexe Abgleiche erzielten Charakteristika ĂŒbertreffen die ÜberprĂŒfungen einzelner Felder in rbtree (außer im Test des Port+Protokoll-Paars), liegen aber derzeit hinter direkten ÜberprĂŒfungen mithilfe von Hashes und Drop-Handlers auf Basis von netdev zurĂŒck.

Im Linux-Kernel 5.7 werden komplexe Listenabgleichungen in NetFilter beschleunigt.

Quelle: opennet.ru

ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server đŸ”„ ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server - ProHoster