The OpenNET Project / Index page

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



Индекс форумов
Составление сообщения

Исходное сообщение
"Отчёт о развитии FreeBSD за четвёртый квартал 2018 года"
Отправлено Ivan_83, 26-Мрт-19 19:26 
netgraph вполне вменяемый, но с приходом netmap/dpdk планка сместилась.
Конкретно сейчас и нетграфу и pf/ipfw не хватает батчинга для обработки пакетов, который обычно есть у приложений в юзерспейсе на упомянутых фреймворках.
Это исторически так сложилось, что из сетевухи забирался один пакет, он прогонялся по всем внутренностям, и потом брались за следующий.
С другой стороны у приложений в юзерспейсе обычно не полный стёк а какой то узкоспециализированный, в котором сильно меньше проверок и ветвлений.
Хз как в линухе, а для фри сделали загружаемые модули с реализациями tcp - нетфликсу требовалось что то особенное, выкинуть им не давали и они сделали рядом.

В линухе нет ничего похожего на нетграф, просто нет.
Нетграф модуль может цеплятся к л2 сетевухе, к л3 интерфейсу, может создавать сокет, конектится, принимать подключения, подключатся к правилу в фаерволе.
Может произвольно матчить пакеты (бпф), может их менять на лету (патч).
На самом деле это далеко не всё.

Простейший модуль на нетграфе это порядка 40 строчек кода копипасты, может меньше, и там уже можно описывать что делать с пакетом.


Первый модуль который я делал - это был фактически IPv4 стёк фри вытащенный в нетграф ноду. По задумке человек должен был подключатся по впн (л2тп), и для него должен был создаватся не л3 интерфейс а л2, который добавлялся в хаб вместе с реальным эзернет адаптером подключённым к локалке. Всё затевалось ради того чтобы для клиента подключённого по впн был доступен броадкаст трафик из локалки. До конца я не доделал, но оно уже работало. Там по хорошему нужно было ещё и icmp туда втащить, arp, ipv4 я уже втащил. Рефрагментация вроде тоже работала.
Потом я понял что для нескольких клиентом проще написать заковыристые правила в фаервол и после этого удалось таки поиграть по сетке в игрушки :)
Но без знаний полученных при выковыривании стёка в ноду я бы такие правила никогда не написал, и тем более не нашёл в поисковике.

Второй модуль занимался детектом uTP торрент протокола, а дальше его можно было резать, маркировать или ничего не делать. Это вроде даже кто то заюзал чтобы вифи линки не засирали.

Сейчас вот по работе ещё один модуль написал, который позволил в нашей конфигурации избавится от арп запросов.

А уж сколько у меня интересных конфигов нетграфа вида: вот тут мы сматчим пакетик по сигнатуре с помощью бпф а потом его запатчим/разошлём и не перечесть :)

Если бы к нетграфу кто то сподобился сделать мышковозный гуй то это было бы очень популярная штука, а пока тут извращенский консольный гуй, где копатся не легче чем в коде - оно и не расходится.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



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

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