V jádře Linux 5.7 budou zrychleny složité shody podle seznamů v NetFilter

Vývojáři subsystému filtrování a modifikace síťových paketů Netfilter publikovali sada patchů, která výrazně zrychluje zpracování velkých seznamů shod (nftables set), kde je potřeba kontrola kombinace podsítí, síťových portů, protokolu a MAC adres. Patche byly již přijaty do větve nf-next, která bude navržena k zařazení do jádra Linuxu 5.7. Nejvýznamnějšího zrychlení bylo dosaženo díky využití instrukcí AVX2 (v budoucnu se plánuje publikovat podobné optimalizace založené na instrukcích NEON pro ARM).

Optimalizace byly zahrnuty do modulu nft_set_pipapo (PIle PAcket POlicies), který se zabývá úlohou porovnávání obsahu paketu s aplikovanými v pravidlech filtrování libovolnými rozsahy stavových polí, jako jsou rozsahy IP a síťových portů (nft_set_rbtree a nft_set_hash manipulují s porovnáváním intervalů a přímým odražením hodnot). Vektorizovaná pomocí 256bitových instrukcí AVX2 verze pipapo na systému s procesorem AMD Epyc 7402 vykázala nárůst výkonu o 420 % při analýze 30 000 záznamů, zahrnujících páry port-protokol. Nárůst při porovnávání páru ze podsítě a čísla portu při analýze 1000 záznamů činil 87 % pro IPv4 a 128 % pro IPv6.

V jádře Linux 5.7 budou zrychleny složité shody podle seznamů v NetFilter

Další optimalizace, která umožňuje použití 8bitových skupin porovnávání namísto 4bitových, také vykázala výrazný nárůst výkonu: 66 % při analýze 30 000 záznamů port-protokol, 43 % — podsíť_IPv4-port a 61 % — podsíť_IPv6-port. V součtu, s ohledem na optimalizace AVX2, se výkon pipapo zvýšil v uvedených testech o 766 %, 168 % a 269 % příslušně. Získané charakteristiky pro složitá porovnání předčí kontroly jednotlivých polí v rbtree (s výjimkou testu páru port+protokol), ale zatím zaostávají za přímými kontrolami pomocí hashů a drop-zpracovatelů založených na netdev.

V jádře Linux 5.7 budou zrychleny složité shody podle seznamů v NetFilter

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster