Kernel Linux 5.7 dê lihevhatina navnîşa tevlihev a di NetFilter de bilez bike

Pêşdebirên binepergala fîlterkirin û guheztina Netfilter ji bo pakêtên torê weşandin komek paçên ku bi girîngî pêvajokirina navnîşên maçên mezin (nftables set) bi girîngî bilez dikin, ku hewcedariya wan bi kontrolkirina tevneheviya jêrtorê, portên torê, protokol û navnîşanên MAC-ê heye. Pîşe jixwe di şaxê de hatine qebûlkirin nf-paş, ku dê ji bo tevlêbûna di kernel Linux 5.7 de were pêşniyar kirin. Leza herî berbiçav bi saya wê hate bidestxistin mijûlkirin Rêbernameyên AVX2 (di pêşerojê de tê plan kirin ku xweşbîniyên bi vî rengî li ser bingeha rêwerzên NEON ji bo ARM werin weşandin).

Optimîzasyonên ku di modulê de hene nft_set_pipapo (POLÎSÎYÊN PAKETA PILE), ku pirsgirêka lihevhatina naveroka pakêtê bi rêzikên rewşa zeviyê yên kêfî yên ku di qaîdeyên fîlterkirinê de têne bikar anîn, çareser dike, wek IP û rêzikên porta torê (nft_set_rbtree û nft_set_hash lihevhatina navberê û ravekirina rasterast a nirxan manîpule dikin). Guhertoya pipapo vectorized ku bi karanîna rêwerzên AVX256-ya 2-bit li ser pergalek bi pêvajoyek AMD Epyc 7402 ve hatî vektor kirin dema ku 420 hezar tomar di nav de kombînasyona port-protokolê par dike% 30 zêdebûnek performansê nîşan da. Zêdebûna dema berhevdana tevnek subnet û jimareyek portê dema parskirina 1000 tomaran ji bo IPv87% 4 û ji bo IPv128% 6 bû.

Kernel Linux 5.7 dê lihevhatina navnîşa tevlihev a di NetFilter de bilez bike

Optimîzasyonek din, ku destûrê dide karanîna komên maçê 8-bit li şûna 4-bit, di heman demê de destkeftiyên performansê yên girîng jî destnîşan kir: 66% dema parkirina 30 hezar navnîşên port-protokolê, 43% ji bo subnet_IPv4-port, û 61% ji bo subnet_IPv6-port. Bi tevahî, girtina xweşbîniyên AVX2, performansa pipapo di van ceribandinan de bi rêzê 766%, 168% û 269% zêde bû. Taybetmendiyên ku ji bo danberhevên tevlihev hatine bidestxistin li pêşiya kontrolên zeviyê yên yekane ne rbtree (ji bilî ceribandina port + protokolê), lê heya nuha ew li paş kontrolên rasterast ên ku têne bikar anîn paşde dimînin hashes û hilgirên li ser bingeha netdev davêjin.

Kernel Linux 5.7 dê lihevhatina navnîşa tevlihev a di NetFilter de bilez bike

Source: opennet.ru

Add a comment