Ekuro Linux 5.7 yoo mu kikojọpọ akojọpọ eka pọ si ni NetFilter

Awọn olupilẹṣẹ ti sisẹ Netfilter ati eto isọdọtun fun awọn apo-iwe nẹtiwọọki atejade ṣeto awọn abulẹ ti o ni iyara pupọ si ṣiṣe ti awọn atokọ ere-kere (ṣeto nfttables), eyiti o nilo ṣiṣe ayẹwo apapo awọn subnets, awọn ebute oko oju omi nẹtiwọọki, Ilana ati awọn adirẹsi MAC. Awọn abulẹ ti gba tẹlẹ sinu ẹka naa nf-tókàn, eyi ti yoo jẹ idamọran fun ifisi sinu ekuro Linux 5.7. Isare ti o ṣe akiyesi julọ ti waye ọpẹ si lowosi Awọn itọnisọna AVX2 (ni ọjọ iwaju o ti gbero lati gbejade awọn iṣapeye ti o jọra ti o da lori awọn ilana NEON fun ARM).

Awọn iṣapeye ti o wa ninu module nft_set_pipapo (Awọn Ilana PAcket PIle), eyiti o yanju iṣoro ti ibaamu awọn akoonu ti apo-iwe kan pẹlu awọn sakani ipo ipo lainidii ti a lo ninu awọn ofin sisẹ, gẹgẹbi IP ati awọn sakani ibudo nẹtiwọọki (nft_set_rbtree ati nft_set_hash ṣe afọwọyi ibaramu aarin ati afihan awọn iye taara). Ẹya ti Pipapo vectorized ni lilo awọn ilana 256-bit AVX2 lori eto kan pẹlu ero isise AMD Epyc 7402 fihan ilosoke iṣẹ ṣiṣe 420% nigbati o npa awọn igbasilẹ 30 ẹgbẹrun pẹlu awọn akojọpọ-ilana ibudo. Ilọsi nigbati o ba ṣe afiwe apapo ti subnet kan ati nọmba ibudo kan nigbati sisọ awọn igbasilẹ 1000 jẹ 87% fun IPv4 ati 128% fun IPv6.

Ekuro Linux 5.7 yoo mu kikojọpọ akojọpọ eka pọ si ni NetFilter

Miiran ti o dara ju, gbigba awọn lilo ti 8-bit baramu awọn ẹgbẹ dipo ti 4-bit, tun fihan significant išẹ anfani: 66% nigba ti pase 30 ẹgbẹrun ibudo-protocol awọn titẹ sii, 43% subnet_IPv4-ibudo, ati 61% subnet_IPv6-ibudo. Lapapọ, ni akiyesi awọn iṣapeye AVX2, iṣẹ pipapo pọ si ninu awọn idanwo wọnyi nipasẹ 766%, 168% ati 269%, ni atele. Awọn abuda ti a gba fun awọn afiwera idiju wa niwaju awọn sọwedowo aaye ẹyọkan ni rbtree (ayafi ti ibudo + bèèrè igbeyewo), sugbon ki jina ti won aisun sile taara sọwedowo lilo hashes ati ju handlers da lori netdev.

Ekuro Linux 5.7 yoo mu kikojọpọ akojọpọ eka pọ si ni NetFilter

orisun: opennet.ru

Fi ọrọìwòye kun