The OpenNET Project / Index page

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

Выпуск фреймворка PFQ 4.0, предназначенного для обработки трафика в Linux

10.01.2015 21:11

Представлен выпуск фреймворка PFQ 4.0, предназначенного для написания обработчиков для эффективного захвата сетевых пакетов и классификации трафика в Linux. Фреймворк оптимизирован для работы на многоядерных системах и с устройствами с несколькими аппаратными очередями обработки пакетов. На базе PFQ развивается вариант библиотеки libpcap и анализатора трафика tcpdump. Код модуля ядра распространяется под лицензией GPLv2, а библиотек и утилит - под лицензией BSD.

Основой PFQ выступает специальный модуль ядра, в который встроен движок обработки трафика. Поддерживается работа с любыми драйверами устройств в Linux, для которых предоставляется скрипт pfq-omatic, позволяющий на основе их исходных текстов собрать оптимизированный для PFQ вариант драйвера. При использовании pfq-omatic PFQ встраивается между драйвером и ядром, задействует в драйвере буферы сокетов PFQ и организует передачу пакетов в PFQ непосредственно от драйвера. На сервере с процессором Xeon и 10-гигабитным сетевым адаптером Intel 82599 фреймворка PFQ позволяет обработать и перенаправить в пространство пользователя 14.8 млн пакетов в секунду, c распределением нагрузки на 2-3 потока внутри ядра.

С модулем ядра взаимодействует ряд интерфейсных библиотек, выполняемых в пространстве пользователя и позволяющих создавать обработчики трафика как на типовых языках C, C++ и Haskell, так и на специальном предметно-ориентированном языке Q-Lang (eDSL для C++11 и Haskell). Возможно написание обработчиков пакетов, их диспетчеризации между сокетами и перенаправление на другие устройства, что может быть использовано, например, для создания собственных межсетевых экранов, балансировщиков или систем ранней обработки пакетов.

В новой версии добавлена поддержка технологии HugePages, обеспечена высокая скорость захвата и передачи трафика при использовании штатных немодифицированных драйверов, переработан предметно ориентированный язык определения обработчиков PFQ, подготовлен новый выпуск ускоренной библиотеки pcap, обеспечена совместимость с LTS Haskell 1.0.

  1. Главная ссылка к новости (http://www.reddit.com/r/linux/...)
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/41427-pfq
Ключевые слова: pfq, linux, traffic
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (5) RSS
  • 1.1, Дворник (??), 21:15, 10/01/2015 [ответить]  
  • +4 +/
    Попробовал его - на 5 гигабитах, как ни странно, варианты tcpdump host $ip libpcap и pfq выдали примерно одинаковый результат по нагрузке. Хорошо... Вот только ядро через несколько дней почему-то в панику свалилось. Но это была предыдущая версия, надеюсь, тут поправили.
     
  • 1.2, Аноним (-), 21:32, 10/01/2015 [ответить]  
  • –3 +/
    Теперь надо встроить эту штуку в robdns, и тогда один сервер на raspberrypi будет держать зону "." вместе со всем потомством.
     
  • 1.3, Crazy Alex (ok), 23:35, 10/01/2015 [ответить]  
  • –3 +/
    Кто-нибудь может просветить - это маразм или нет? Так, наскидку, судя по заигрыванию с хаскелем - должно быть мутью, но а вдруг?
     
     
  • 2.4, ол (?), 01:38, 11/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Для компактного (когда компактность описания важнее предсказуемой скорости работы) описания конечного автомата нормально.
     

  • 1.9, бедный буратино (ok), 10:11, 11/01/2015 [ответить]  
  • +/
    звучит, как "пофигу"
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



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

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