Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Войти
 
Страницы: 1 2 След.
RSS
Оптимизация правил файрвола
 
Обсуждение статьи Оптимизация правил файрвола
 
Спасибо за перевод статьи. Если бы автор самого замечательного фаервола прикрутил бы к нему altq по человечески, цены бы ему не было. А так приходится использовать одновременно pf для фильтрации  и ipfw+dummynet для шейпинга :(
 
>>
Чтобы уяснить это, давайте посмотрим, как в реальности пакеты проходят через хост. Принимаемые из сети данные сначала накапливаются в небольшом  внутреннем буфере сетевого адаптера. Когда он заполняется, сетевая карта генерирует прерывание, заставляющее её драйвер скопировать пакет(ы) в сетевой буфер ядра (т.н. mbufs). Пакеты передаются стеку TCP/IP в том виде, в каком они находятся в mbufs. Когда пакет попадает в буфер ядра, большинство операций, производимых с ним, не зависят от его размера, т.к. для них имеет значение только заголовки, а не некоторая общая нагрузка. Это также верно и для пакетного фильтра,  через который проходит пакет в единицу времени, и который принимает решение, заблокировать либо пропустить данный пакет. Если пакет следует перенаправить (forwarding), стек TCP/IP передаст его сетевой карте, которая, в свою очередь извлечет пакет из mbufs и передаст обратно в линию связи.
<<

не всегда так,
во freebsd есть режим polling, когда сетева карта опрашивается ядром 1000 раз в сек (эту величину можно менять), это намного снижает нагрузку на сететевую карту при работе в гигабитной сети
 
статья хорошая
с pf знаком недавнно посему про такое явление как «skip steps» не знал и не подозревал.
 
Замечательная статья.
автору и переводчику большое спасибо за труды
 
Цитата
kran пишет:
Спасибо за перевод статьи. Если бы автор самого замечательного фаервола прикрутил бы к нему altq по человечески, цены бы ему не было. А так приходится использовать одновременно pf для фильтрации и ipfw+dummynet для шейпинга
OMFG!
а что там нечеловеческого?
 
Цитата
Гость пишет:
во freebsd есть режим polling, когда сетева карта опрашивается ядром 1000 раз в сек (эту величину можно менять), это намного снижает нагрузку на сететевую карту при работе в гигабитной сети
1)не на nic, а на процессор.
2)openbsd нет device polling. Максимум что есть в openbsd - irq moderation(mitigation), что описано как возможность отдавать за одно прерывание несколько фреймов.
3)п.2 ограничивает область применения openbsd слабонагруженными роутерами.
4)device polling увеличивает латентность.
5)в linux и solaris поллинг адаптивный - при низких fps nic работает в режиме irq, при высоких - polling.
 
В linux polling тоже есть http://linux-net.osdl.org/index.php/NAPI но видимо "включается" в зависимости от драйвера.
 
неплохо в том плане, что быстро и без воды
можно, кое-где подискутировать и добавить парочку замечаний, но в целом - афтару респект и красную  *  книжку
побольше таких статей. а то 90% - какой-то навоз для(или от?) людей, слабо разбирающихся в ИТ
 
Цитата
не всегда так,
во freebsd есть режим polling, когда сетева карта опрашивается ядром 1000 раз в сек (эту величину можно менять), это намного снижает нагрузку на сететевую карту при работе в гигабитной сети
я бы сказал, совсем не так
сетевая карта опрашивается всегда. просто когда буфер забивается, слив его содержимого происходит сразу же (ну или пытается происходить), а если там горстка пакетов, то они будут валяться там не до заполнения буфера, а до наступления момента слива по таймеру
 
Цитата
OMFG!
а что там нечеловеческого?
Нечеловечно то, что при помощи pf+altq не сделать ограничение трафика per host. Существует вариант создать на каждый хост отдельную очередь, но так же есть ограничение не более 256. А если хостов больше 500? Более того, такое количество очередей не очень сказывается на производительности роутера.
 
огромное спасибо за статью!
в мемориз :)
 
Это просто вольный перевод статьи про оптимизацию pf. На сколько я знаю в оригинале было три части.... Тут, честно признаюсь, доконца не дочитал. Лень повторно читать :)
 
Хороший перевод, спасибо.
 
Цитата
3)п.2 ограничивает область применения openbsd слабонагруженными роутерами.

акстись красноглазый

ибо здесь не дятлы http://www.openbsd.org/users.html
 
Откровенно говоря ожидал прочитать про оптимизацию с точки зрения защиты а не производительности... Но всеравно интересная статья )) (больше всего меня удивил поряок просмотра записей: почему, правила просматриваются до последнего совпадения, а не до первого как в линухе - ведь так быстрее!? )

Но тут есть и вопросы:
1. почемубы не использовать для таких задачь специализированные средства: роутеры и МСЭ - и не париться. Если уж разговор идет о задержках в мс, то не надо морщить попу и выдумывать велосипед - берите PIX. Или я не прав и вопрос стоит в получении удовольствия? ;)
2. Частоли МСЭ работают на стыке 100 мегабитных сетей? Наверное, наиболее распространенный случай - как раз случай актуальный для мелких организаций экономящих бабло - когда их ставят на крнцах выделенных каналов - а это, согласитесь, совсем не те скорости пусть даже xDSL. Пусть даже со стороны ЛВС Гб, окно TCP не позволит использовать его на 100%.
 
"....больше всего меня удивил поряок просмотра записей: почему, правила просматриваются до последнего совпадения, а не до первого как в линухе - ведь так быстрее!?"
есть заветное pass (block) quick on ... но пользоваться нужно аккуратно.

1. мне например бесит ковыряться в командной строке PIX хотя router'ы в этом плане у cisco привосходные, + цена вопроса. В pix самое замечательное это failover ;-) но с приходом carp & ifstated ситуация в корне меняется ;-)
2. мнооого вариантов существует ;-)
 
>акстись красноглазый
>ибо здесь не дятлы http://www.openbsd.org/users.html

Ню-ню. Чего-же это все нормальные люди первой строкой в acl established да related ставят ? Дятлы наверное, да ?

зы Статья понравилась
 
хых, в acl established ставить действительно косяк ... Почитайте про флаги TCP.
 
Цитата
Гость пишет:
акстись красноглазый

ибо здесь не дятлы http://www.openbsd.org/users.html
и чего? Например, если MIT сделает университетскую сеть на SOHO-железках от DLINK, то это не значит что dlink лучше 3com/hp/cisco.

PS: freebsd 6.1 на машине с Duron 1.4ГГц и интеловской гигабиткой(em) без поллинга при 100-110kpps жрёт 80-85% cpu(это прерывания). ifconfig em0 polling снижает нагрузку до 10-14%. С учётом того openbsd медленнее freebsd, ситуция там будет хуже.
Страницы: 1 2 След.
Читают тему