A Linux 5.7 magjában felgyorsítják a bonyolult listás összehasonlításokat a NetFilter-ben

A Netfilter hálózati csomagok szűrése és módosítása alrendszer fejlesztői közzétették egy olyan patch-gyűjtemény, amely jelentősen felgyorsítja a nagy összehasonlító listák (nftables set) feldolgozását, ahol szükséges a hálózati alhálózatok, portok, protokollok és MAC-címek kombinációjának ellenőrzése. A patch-ek már elfogadásra kerültek a nf-next, amely a Linux 5.7 kernelbe lesz javasolva. A legnagyobb sebességnövekedést az AVX2 utasítások kihasználásával sikerült elérni (a jövőben hasonló optimalizálásokat terveznek NEON utasítások alapján ARM-ra vonatkozóan).

Az optimalizálások a nft_set_pipapo (PIle PAcket POlicies) modulba lettek beépítve, amely a csomag tartalmának összehasonlítását végzi a szűrési szabályokban alkalmazott tetszőleges állapotmezők tartományával, például IP és hálózati port tartományokkal (nft_set_rbtree és nft_set_hash manipulálja a tartományok és értékek közvetlen tükrözésének összehasonlítását). Az AVX2 256 bites utasítások által vektorozott pipapo verzió egy AMD Epyc 7402 processzorral rendelkező rendszeren 420%-os teljesítményjavulást mutatott 30 000 bejegyzés feldolgozása során, amelyek port-protokoll párokat tartalmaztak. Az alhálózatból és portszámból álló páros összehasonlítása 1000 bejegyzés feldolgozása során 87%-os növekedést mutatott IPv4 esetén és 128%-os növekedést IPv6 esetén.

A Linux 5.7 magjában felgyorsítják a bonyolult listás összehasonlításokat a NetFilter-ben

Egy másik optimalizálás, amely lehetővé teszi a 8 bites összehasonlító csoportok használatát a 4 bitesek helyett, szintén érezhető teljesítményjavulást mutatott: 66%-ot 30 000 port-protokoll bejegyzés feldolgozása során, 43%-ot alhálózat_IPv4-port esetén és 61%-ot alhálózat_IPv6-port esetén. Összességében, figyelembe véve az AVX2 optimalizálásokat, a pipapo teljesítménye a megadott tesztekben 766%-kal, 168%-kal és 269%-kal növekedett. Az összetett összehasonlítások jellemzői a rbtree ellenőrzéseinél (kivéve a port+protokoll páros teszteredményeit), de még mindig elmaradnak a közvetlen ellenőrzésekhez viszonyítva, amelyeket hash-ek és netdev alapú drop-kezelők használnak.

A Linux 5.7 magjában felgyorsítják a bonyolult listás összehasonlításokat a NetFilter-ben

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster