Linux kjarna 5.7 mun flýta fyrir flókinni samsvörun lista í NetFilter

Hönnuðir Netfilter síunar og breytinga undirkerfis fyrir netpakka birt sett af plástra sem flýta verulega fyrir vinnslu stórra samsvörunarlista (nftables sett), sem krefjast þess að athuga sambland af undirnetum, nettengi, samskiptareglum og MAC vistföngum. Plástrar hafa þegar verið samþykktir í útibúið nf-næst, sem lagt verður til að verði tekið upp í Linux 5.7 kjarnanum. Mest áberandi hröðun náðist þökk sé grípandi AVX2 leiðbeiningar (í framtíðinni er fyrirhugað að birta svipaðar hagræðingar byggðar á NEON leiðbeiningum fyrir ARM).

Hagræðingar innifalin í einingunni nft_set_pipapo (PIle Packet POlicies), sem leysir vandamálið við að passa innihald pakka við handahófskenndar sviðsástandssvið sem notuð eru í síunarreglum, svo sem IP og netgáttasvið (nft_set_rbtree og nft_set_hash vinna millibilssamsvörun og beina endurspeglun gilda). Útgáfan af pipapo vektorvædd með því að nota 256 bita AVX2 leiðbeiningar á kerfi með AMD Epyc 7402 örgjörva sýndi 420% frammistöðuaukningu þegar 30 þúsund færslur voru flokkaðar, þ. Aukningin þegar borin var saman samsetning af undirneti og gáttarnúmeri við þáttun 1000 færslur var 87% fyrir IPv4 og 128% fyrir IPv6.

Linux kjarna 5.7 mun flýta fyrir flókinni samsvörun lista í NetFilter

Önnur hagræðing, sem leyfði notkun 8-bita samsvörunarhópa í stað 4-bita, sýndi einnig verulegan árangursauka: 66% við þáttun 30 þúsund port-samskiptareglur, 43% fyrir subnet_IPv4-port og 61% fyrir subnet_IPv6-port. Alls, að teknu tilliti til AVX2 hagræðingar, jókst árangur Pipapo í þessum prófum um 766%, 168% og 269%, í sömu röð. Eiginleikar sem fást fyrir flókinn samanburð eru á undan innritun á einni vettvangi rbtré (að undanskildum port+protocol prófinu), en enn sem komið er eru þeir á eftir beinni eftirliti með því að nota kjötkássa og fallhöndlarar byggðir á netdev.

Linux kjarna 5.7 mun flýta fyrir flókinni samsvörun lista í NetFilter

Heimild: opennet.ru

Bæta við athugasemd