The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Порядок прохождения пакетов в пакетных фильтрах FreeBSD"
Отправлено www2, 28-Сен-08 10:43 
>Не знаете разницы между таблицами и цепочками? слышали про быстрый поиск с
>хеш-таблицами? нет? погуглите.

Погуглил, нашёл вот такой интересный тест:
http://bulk.fefe.de/scalability/
Правда он к обсуждаемому вопросу не имеет отношения...

>Время поиска по цепочке правил линейно зависит от количества правил. Поиск же
>по хеш таблице практически не зависит от количества записей в таблице.
>Вот цитата с букваря по pf "a table is ideal for
>holding a large group of addresses as the lookup time on
>a table holding 50,000 addresses is only slightly more than for
>one holding 50 addresses"

Аналогом таблиц pf в iptables является модуль ipset. Поиск же по спискам правил точно так же линеен.

В Linux эмпирическим путём обнаружилась интересная особенность - кэширование совпадений для правил, правда не нашёл прямых упоминаний об этом от разработчиков netfilter. В цепочках iptables долго идёт только первый поиск. Если приходит пакет с такими же атрибутами, что и уже проверенный, для этого пакета правило определяется из кэша: http://www.protocols.ru/Papers/iptables-test.shtml

>>Нечего не зеркало пенять коли рожа (то есть руки) крива.
>А как иначе разруливать ситуацию когда есть 600 адресов которые нужно дропнуть,
>и 400 адресов которые нужно натить, причем эти адреса постоянно добавляются/удаляются?
>в случае с pf мы добавляем 2 правила:
>block from <drops> to any
>nat from <nats> to any

В случае с iptables точно так же, почитайте man:
http://ipset.netfilter.org/ipset.man.html

>Начинку таблиц без проблем можно менять на лету. Время поиска по такой
>таблице очень и очень маленькое.
>В случае с линухом мы вынуждены держать 1000 правил, поиск по 1000
>правил идет настолько долго что ksoftirqd вылазит вверх (это симптом, никогда
>такого не видели?) и машина просто не вылазит из прерываний. LA
>растер вверх а количество успешно прошедших пакетов - вниз.

Я же говорю - руки кривые.

>Есть патч для linux который добавляет такой функционал, но не очень хочется
>приключений связанных с глюками third level патча.

Каждый сильно востребованный патч со временем попадёт в upstream.

>> Очень глубокомысленный вывод. Ценю. "Таблицы" звучит круче чем "Цепочки".
>Не просто звучит, но и работает =) Простой линейный поиск гораздо медленеей
>поиска по self-ballancing binary tree (хотя я не уверен что в
>pf именно такое дерево, лень в исходники лезть)

Ну и iptables тоже не просто звучит, но и работает =)

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру