В NetBSD будет новый пакетный фильтр - NPF
Добавлено: 2010-09-15 9:26:32
В рамках проекта NetBSD разработан новый пакетный фильтр NPF, вобравший в себя лучшие черты ранее присутствующих в NetBSD систем PF и IP Filter. Главными критериями при разработке NPF выступали: обеспечение высокой производительности на многопроцессорных системах и легкость разработки дополнений, расширяющих базовую функциональность. Отличительной и уникальной чертой нового пакетного фильтра является использование интерпретатора байткода в движке инспектирования пакетов.
Основные возможности NPF:
Изначальная поддержка обработки пакетов в многопоточном режиме и минимизация блокировок в коде. NPF отлично масштабируется на многопроцессорных системах, в отличие от PF, в котором используется однопоточный режим работы.
Использование эффективных хэш-таблиц и красно-черных деревьев для ускорения выборки элементов;
Поддержка фильтрации с учетом состояния TCP-соединений;
Поддержка нескольких режимов трансляции адресов, включая NAPT (несколько внутренних адресов могут быть привязаны к одному реальному IP с разделением по номеру порта) и ALG (Application-Level Gateway, учет особенностей прикладных протоколов при организации трансляции адресов, например, позволяет работать через NAT ftp, p2p, h.323, sip и т.п.);
Привычный, для пользователей PF и IP Filter, синтаксис файла конфигурации и типовой набор утилит;
Модульность и расширяемость: функции NPF могут расширяться через загрузку дополнительных модулей. Для создания модулей и расширений подготовлен специальный API. В заданных пользователем правилах фильтрации могут быть встроены обращения к внешним модулям;
Движок инспектирования пакетов "N-Code processor", основанный на идеях, реализованных в интерфейсе BPF (Berkeley Packet Filter): подпадание пакетов под правила обеспечивается через формирование набора RISC-подобных инструкций и CISC-подобных команд для выполнения типовых операций (например, проверка IPv4-адреса).
Разработку планируется довести до полнофункционального состояния к концу января 2011 года. Ожидается, что в это время NPF сможет обеспечить работу всех функций, свойственных другим пакетным фильтрам:
поддержка пересборки IPv4-пакетов;
двунаправленный NAT и форвардинг портов;
режим FTP-прокси;
возможность очистки флаговых полей в заголовках IP-пакетов;
выборочное блокирования ICMP и TCP RST пакетов;
сохранение и восстановление состояния;
ведение лога пакетов, настраиваемого через систему фильтров.
В настоящее время NPF испытывает трудности с реализацией поддержки IPv6, разработчики NetBSD приглашают присоединиться к проекту энтузиастов, заинтересованных в интеграции поддержки IPv6.
http://www.opennet.ru/opennews/art.shtml?num=27955
Основные возможности NPF:
Изначальная поддержка обработки пакетов в многопоточном режиме и минимизация блокировок в коде. NPF отлично масштабируется на многопроцессорных системах, в отличие от PF, в котором используется однопоточный режим работы.
Использование эффективных хэш-таблиц и красно-черных деревьев для ускорения выборки элементов;
Поддержка фильтрации с учетом состояния TCP-соединений;
Поддержка нескольких режимов трансляции адресов, включая NAPT (несколько внутренних адресов могут быть привязаны к одному реальному IP с разделением по номеру порта) и ALG (Application-Level Gateway, учет особенностей прикладных протоколов при организации трансляции адресов, например, позволяет работать через NAT ftp, p2p, h.323, sip и т.п.);
Привычный, для пользователей PF и IP Filter, синтаксис файла конфигурации и типовой набор утилит;
Модульность и расширяемость: функции NPF могут расширяться через загрузку дополнительных модулей. Для создания модулей и расширений подготовлен специальный API. В заданных пользователем правилах фильтрации могут быть встроены обращения к внешним модулям;
Движок инспектирования пакетов "N-Code processor", основанный на идеях, реализованных в интерфейсе BPF (Berkeley Packet Filter): подпадание пакетов под правила обеспечивается через формирование набора RISC-подобных инструкций и CISC-подобных команд для выполнения типовых операций (например, проверка IPv4-адреса).
Разработку планируется довести до полнофункционального состояния к концу января 2011 года. Ожидается, что в это время NPF сможет обеспечить работу всех функций, свойственных другим пакетным фильтрам:
поддержка пересборки IPv4-пакетов;
двунаправленный NAT и форвардинг портов;
режим FTP-прокси;
возможность очистки флаговых полей в заголовках IP-пакетов;
выборочное блокирования ICMP и TCP RST пакетов;
сохранение и восстановление состояния;
ведение лога пакетов, настраиваемого через систему фильтров.
В настоящее время NPF испытывает трудности с реализацией поддержки IPv6, разработчики NetBSD приглашают присоединиться к проекту энтузиастов, заинтересованных в интеграции поддержки IPv6.
http://www.opennet.ru/opennews/art.shtml?num=27955