LINUX.ORG.RU
ФорумAdmin

вопрос по conntrack таблице


0

0

Объясните, пож., что по смыслу означает параметр ядра
/proc/sys/net/ipv4/netfilter/ip_conntrack_buckets, который учавствует в 
установлении значения ширины таблицы conntrack?
То, что /proc/sys/net/ipv4/netfilter/ip_conntrack_max означает максимальное
количество одновременных сессий, это мне понятно.
Прошу не отсылать меня к английской документации - я ее читал
(http://www.wallfire.org/misc/netfilter_conntrack_perf.txt), но смысла
этих buckets все равно не понял. Что это за обьединенные листы
(linked lists), для чего они используются и какую информацию
они содержат?
Заранее благодарю всех, кто поможет.
anonymous

linked lists --- это связные списки. Лучше всего прочитать русский перевод любой книги, описывающий связные списки, хеши и т.д. Там просто приводится простой рисунок, который здесь не изобразить.

А так, для ускорения поиска элемента из conntrack (пришел пакет и надо быстро найти) таблица разделена на ip_conntrack_buckets списков. По искомому значению (в случае conntrack это ip-адреса, ip-протокол и порты) вычисляется его hash (число от 0 до ip_conntrack_buckets), фактически являющийся номером списка. После этого поиск идет уже внутри этого списка.

mky ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.