Linux kernel 5.7 мувофиқати рӯйхати мураккабро дар NetFilter суръат мебахшад

Таҳиягарони зерсистемаи филтр ва тағирдиҳии Netfilter барои бастаҳои шабакавӣ нашр кардааст маҷмӯи часпакҳо, ки коркарди рӯйхатҳои мувофиқатро ба таври назаррас суръат мебахшанд (nftables set), ки тафтиши маҷмӯи зершабакаҳо, портҳои шабака, протокол ва суроғаҳои MAC-ро талаб мекунанд. Ба филиал аллакай патчхо кабул карда шудаанд nf-оянда, ки барои дохил шудан ба ядрои Linux 5.7 пешниҳод карда мешавад. Суръати намоёнтарин ба шарофати ба даст оварда шуд ҷалбкунанда дастурҳои AVX2 (дар оянда ба нақша гирифта шудааст, ки оптимизатсияҳои шабеҳ дар асоси дастурҳои NEON барои ARM нашр карда шаванд).

Оптимизатсияҳо дар модул дохил карда шудаанд nft_set_pipapo (PIle PAcket Policies), ки мушкилоти мувофиқ кардани мундариҷаи пакетро бо диапазони ҳолати майдони худсарона, ки дар қоидаҳои филтр истифода мешаванд, ҳал мекунад, ба монанди диапазони IP ва портҳои шабака (nft_set_rbtree ва nft_set_hash мувофиқати фосилавӣ ва инъикоси мустақими арзишҳоро идора мекунанд). Версияи пипапо бо истифода аз дастурҳои 256-битии AVX2 дар система бо протсессори AMD Epyc 7402 векторизатсияшуда ҳангоми таҳлили 420 ҳазор сабтҳо, аз ҷумла комбинатсияи порт-протоколҳо 30% афзоишро нишон дод. Афзоиш ҳангоми муқоисаи маҷмӯи зершабака ва рақами порт ҳангоми таҳлили 1000 сабт 87% барои IPv4 ва 128% барои IPv6.

Linux kernel 5.7 мувофиқати рӯйхати мураккабро дар NetFilter суръат мебахшад

Оптимизатсияи дигар, ки имкон медиҳад, ки ба ҷои 8-бит ба гурӯҳҳои мувофиқати 4-бит истифода баранд, инчунин дастовардҳои назаррасро нишон дод: 66% ҳангоми таҳлили 30 ҳазор вурудоти порт-протокол, 43% барои subnet_IPv4-порт ва 61% барои subnet_IPv6-порт. Дар маҷмӯъ, бо назардошти оптимизатсияи AVX2, иҷрои pipapo дар ин санҷишҳо мутаносибан 766%, 168% ва 269% афзоиш ёфт. Хусусиятҳое, ки барои муқоисаи мураккаб ба даст оварда шудаанд, пеш аз санҷишҳои як саҳроӣ мебошанд rbtree (ба истиснои санҷиши порт+протокол), аммо то ҳол онҳо аз санҷишҳои мустақими истифода ақиб мондаанд хашхо ва коркардкунандагони тарки асоси netdev.

Linux kernel 5.7 мувофиқати рӯйхати мураккабро дар NetFilter суръат мебахшад

Манбаъ: opennet.ru

Илова Эзоҳ