Релиз операционной системы NetBSD 6.0 с новым пакетным фильтром NPF
17 октября 2012 года
Спустя почти два года с момента прошлой значительной версии представлен релиз операционной системы NetBSD 6.0. Новая версия примечательна интеграцией нового пакетного фильтра NPF, улучшением работы на многоядерных системах, новыми и обновлёнными драйверами, а также расширением возможностей портов Xen и MIPS.
NetBSD является рекордсменом по числу поддерживаемых аппаратных платформ. Релиз NetBSD 6.0 официально доступен в сборках для 57 системных архитектур и 16 различных семейств CPU. Отдельно выделены 8 первично поддерживаемых портов, составляющих ядро стратегии развития NetBSD: amd64, evbarm, evbmips, evbppc, hpcarm, i386, sparc64 и xen. Остальные 49 портов, связанных с такими CPU, как alpha, hppa, m68010, m68k, sh3, sparc и vax, отнесены ко второй категории, т.е. ещё поддерживаются, но уже потеряли актуальность или не имеют достаточного числа заинтересованных в их развитии разработчиков.
Ключевые улучшения NetBSD 6.0:
- В состав включён новый пакетный фильтр NPF, вобравший в себя лучшие черты PF и IP Filter.
Особенности NPF:
- Параллельная обработка пакетов в многопоточном режиме с минимальным числом блокировок позволяет добиться максимальной производительности на современных многоядерных процессорах;
- Гибкие средства фильтрации трафика с учетом состояния соединений. NPF снабжён мощным и высокопроизводительным движком инспектирования пакетов, основанным на использовании интерпретатора байткода и идеях, реализованных в интерфейсе BPF (Berkeley Packet Filter). Попадание пакетов под правила обеспечивается через формирование набора RISC-подобных инструкций и CISC-подобных команд для выполнения типовых операций;
- Поддержка нескольких режимов трансляции адресов, включая NAPT (несколько внутренних адресов могут быть привязаны к одному реальному IP с разделением по номеру порта), ALG (Application-Level Gateway, учет особенностей прикладных протоколов при организации трансляции адресов, например, позволяет работать через NAT ftp, p2p, h.323, sip и т.п.), двунаправленный NAT, форвардинг портов.
- Поддержка пересборки пакетов, очистки отдельных полей в заголовках пакетов, выборочного блокирования ICMP и TCP RST пакетов;
- Возможность ведения лога пакетов, настраиваемого через систему фильтров;
- Использование эффективных хэш-таблиц и красно-черных деревьев для ускорения выборки элементов;
- Похожий на PF и IP Filter синтаксис файла конфигурации и типовой набор утилит;
- Легкость разработки и подключения дополнений, расширяющих базовую функциональность. Функции NPF могут расширяться через загрузку дополнительных модулей, обращение к которым может производиться непосредственно из правил фильтрации. Для создания модулей и расширений подготовлен специальный API.
- Поддержка TLS ( Thread-Local Storage), техники использования изолированной локальной памяти для нитей внутри одного процесса для ухода от использования блокировок при доступе к общим ресурсам.
- Поддержка LVM (Logical Volume Manager), менеджера логических томов, используемого в Linux. Поддерживаются все базовые операции с логическими разделами, включая возможность записи данных;
- Полностью переписана подсистема работы с дисковыми квотами. Информация о квотах теперь сохраняется в новом формате и интегрирована с метаданными FFS. Для перестроения квот больше не требуется выполнять quotacheck, так как все необходимые действия совершаются при выполнении fsck_ffs. Для включения новой реализации квот требуется пересборка ядра с опцией QUOTA2;
- Новая подсистема для работы с Flash-накопителями и NAND-контроллерами. В состав включена реализация новой файловой системы CHFS, специально созданной для Flash-накопителей.
- Поддержка протокола MPLS (Multiprotocol Label Switching);
- Расширены возможности порта Xen: для ядер Xen domU добавлена поддержка SMP; обеспечена возможность перехода гостевой системы в спящий режим; добавлена поддержка проброса PCI-устройств; добавлен драйвер balloon, который позволяет динамически ограничивать объём доступной оперативной памяти и передавать неиспользуемую память окружениям, нуждающимся в памяти.
- Улучшена поддержка платформы MIPS: добавлена поддержка SMP и 64-разрядных процессоров (ABI O32, N32, N64), поддержка использования расширения DSP v2 ASE, поддержка процессоров NetLogic/RMI и Loongson, а также новых одночиповых систем;
- Улучшена поддержка SMP для платформы PowerPC, добавлена поддержка процессоров Book E Freescale MPC85xx (e500 core);
- В порты для архитектуры ARM добавлена поддержка процессоров Cortex-A8 и различных SoC, а также начальная поддержка Raspberry Pi;
- Для платформы i386 добавлена поддержка PAE (Physical Address Extension);
- Используемый для учёта времени тип time_t теперь определяется 64-разрядным значением (решена проблема 2037 года);
- Улучшена поддержка файловых систем UDF и Ext2. В экспериментальном режиме импортирован код ZFS. Добавлена поддержка загрузки с GPT-разделов (GUID Partition Table). Для платформ i386 и amd64 инсталлятор теперь по умолчанию предлагает UFS2;
- Добавлена поддержка нового оборудования, в том числе различных аппаратных сенсоров, проводных и беспроводных адаптеров (Broadcom AirForce / Apple Airport Extreme, Atheros AR9100U, AR813x/AR815x, SMSC LAN9118, Conexant/Intersil PrismGT SoftMAC USB IEEE 802.11b/g, Agere/LSI ET1310/ET1301, Broadcom BCM5709 и BCM5716 ), новых RAID-контроллеров LSI, SATA и SCSI-контроллеров.
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.