Увидел свет (https://github.com/pfq/PFQ/releases/tag/v3.0) релиз проекта PFQ 3.0 (http://www.pfq.io/), в рамках которого развивается фреймворк для написания обработчиков сетевого трафика для Linux, обеспечивающих эффективный захват сетевых пакетов и классификацию трафика. Фреймворк оптимизирован для работы на многоядерных системах и с устройствами с несколькими аппаратными очередями обработки пакетов. На базе PFQ развивается (https://github.com/pfq/PFQ-pcap) вариант библиотеки libpcap и анализатора трафика tcpdump.
Основой PFQ выступает специальный модуль ядра (https://github.com/pfq/PFQ/wiki/PFQ-Kernel-Module), в который встроен движок обработки трафика. Поддерживается работа с любыми драйверами устройств в Linux, для которых предоставляется скрипт pfq-omatic (https://github.com/pfq/PFQ/wiki/PFqOmatic), позволяющий на основе их исходных текстов собрать оптимизированный для PFQ вариант драйвера. При использовании pfq-omatic PFQ встраивается между драйвером и ядром, задействует в драйвере буферы сокетов PFQ и организует передачу пакетов в PFQ непосредственно от драйвера.
<center><a href="https://camo.githubusercontent.com/7f56edd5dedc1a6a9dc5aed4f... src="http://www.opennet.me/opennews/pics_base/0_1402915375.png" style="border-style: solid; border-color: #606060; border-width: 1px;max-width:100%;" title="" border=0></a></center>С модулем ядра взаимодействует ряд интерфейсных библиотек, выполняемых в пространстве пользователя и позволяющих создавать обработчики трафика как на типовых языках C (http://pfq.github.io/PFQ/api/c/html/index.html), C++ (http://pfq.github.io/PFQ/api/cpp/html/index.html) и Haskell (http://pfq.github.io/PFQ/api/haskell/index.html), так и на специальном предметно-ориентированном языке Q-Lang (eDSL для C++11 (http://pfq.github.io/PFQ/lang/cpp/html/index.html) и Haskell (http://pfq.github.io/PFQ/lang/haskell/index.html)). Возможно написание обработчиков пакетов, их диспетчеризации между сокетами и перенаправление на другие устройства, что может быть использовано, например, для создания собственных межсетевых экранов, балансировщиков или систем ранней обработки пакетов. В состав также входит пример инструментов для диагностики сетевых проблем.
Из особенностей PFQ отмечается поддержка групп сокетов для параллельного мониторинга нескольких многопоточных приложений; cредства для распределения групп пакетов по сокетам с использованием алгоритмов рандомизированного хэширования или методов детерминированной классификации; возможность добавления для каждой группы фильтров на основе BPF (Berkeley packet filter) или VLAN. Код (https://github.com/pfq/) модуля ядра распространяется под лицензией GPLv2, а библиотеки и утилит - под лицензией BSD.
Производительность PFQ во многом зависит от используемого аппаратного обеспечения, например, на сервере с процессором Xeon и 10-гигабитным сетевым адаптером Intel 82599, PFQ позволяет обработать и перенаправить в пространство пользователя 14.8 млн пакетов в секунду, c распределением нагрузки на 2-3 потока внутри ядра.
URL: https://twitter.com/nicolabonelli/status/476673983749029888
Новость: http://www.opennet.me/opennews/art.shtml?num=40010
супер
> суперсупер фреймоврк?
он хотел сказать "превосходно", но от избытка эмоций не смог
Что люди только не понапишут, лишь бы не покупать Cisco :)
Где все приколочено гвоздями и напихано бэкдоров от АНБ? А при введении санкций против энной компании оно таки превратится в тыкву, если установлено в филиале компании?
> Что люди только не понапишут, лишь быНаписать курсачок и продавать свои не-сискоу.
> не покупать Cisco :)
А что, на цисках своя, написанная с нуля мега крутая операционка?
Что люди только не понапишут, лишь бы не использовать FreeBSD с NetGraph.
очевидно, freebsd с netgraph никому кроме изеньки на форумах ненужно
К сожалению в росии исторически сложился высокий процент фряхи. Купились на университетский проект, сетевой стек и т.д.
Но время расставляет все по своим местам. Админы вырастают работая на линуксе. Времена почкования фряшников уходят вместе с говнопровайдерами.
> К сожалению в росии исторически сложился высокий процент фряхи. Купились на университетский проект, сетевой стек и т.д.Нет, Windows — стоила 60 рублей за диск на рынке.
> Но время расставляет все по своим местам. Админы вырастают работая на линуксе.
Кто или что этому способствует? Не уверен, что Ubuntu и всякие разные Alt'ы.
> Времена почкования фряшников уходят вместе с говнопровайдерами.На *BSD просто никаких неожиданностей не происходит — интереса и известности нет. Большинство проблем уже решены и известны их выхлопы. А с линуксом можно повозиться — вдруг что-нибудь интересненькое выйдет (те же "коробки" виртуализации).
Вот и весь расклад.
> Поддерживается работа с любыми драйверами устройств в Linux, для которых предоставляется скрипт pfq-omatic, позволяющий на основе их исходных текстов собрать оптимизированный для PFQ вариант драйвера.сразу в гроб.