Netgraph для пользователя

Jan 18, 2011 04:01

Многие слышали о сетевой подсистеме Netgraph во FreeBSD, но далеко не все представляют себе, что же это такое, как оно работает, и зачем оно нужно - кроме того, что на нем работает mpd (известная очень производительная реализация PPP/PPTP/L2TP). Да еще по сети ходят многочисленные Howto типа "как считать Netflow на нетграфе", где приводят примеры ( Read more... )

netgraph, объяснение, freebsd

Leave a comment

Comments 33

filonov January 17 2011, 22:21:51 UTC
в мемориз в общем. А то когда лет пять его не трогаешь - оно забывается.

Reply


kondybas January 18 2011, 03:14:23 UTC
Замечательно. Особенно в части ООП-подхода.

Reply

kondybas January 29 2011, 16:40:22 UTC
Возник сугубо практический вопрос:
Есть ряд портов, которые слушаются на внешнем интерфейсе, и затем редиректятся вовнутрь на локальные машины, каждый порт на свою машину. На обратном пути выполняется трансляция адресов.

Что эффективнее - держать одну ноду ng_nat с набором редирект_портов, или же пачку индивидуальных нод с тупыми редирект_адресами внутри, в которые нетграфить из IPFW в зависимости от порта прибытия/хоста убытия?

Я так понимаю, что каждая нода нг_ната держит внутри динамическую таблицу пробегающих через нее соединений, в которой выполняется лукап на каждый обрабатываемый пакет. Если вместо одной общей ноды (с общей таблицей) сделать пачку отдельных нод с отдельными таблицами, то, по логике, удельное время лукапа в таблицах на пакет должно уменьшиться? И, как следствие, уменьшится нагрузка на проц?

Reply

nuclight January 29 2011, 18:37:23 UTC
Да, именно так. Таблица libalias держится под одним локом, поэтому, если более-менее равномерно распределить нагрузку между разными нодами, только так оно сможет параллелиться на нескольких ядрах ( ... )

Reply

kondybas January 29 2011, 19:10:35 UTC
Я имел в виду немножко другое. Вместо одной большой таблицы - много сравнительно мелких. Тот же принцип, что и у разбиения кеша сквида на двухуровневое дерево. А что статический редирект адреса порождает такой же конфиг, как и редирект одного порта - это я уже понял.

В любом случае, распараллеливание обработки отдельных нод - это песня. Об этом аспекте я даже не думал.

Reply


boorick January 18 2011, 03:15:29 UTC
Отличная работа. Спасибо.
Повешу линк.

Reply


l2tp January 18 2011, 03:35:40 UTC
Утащила в мемориз для дальнейших медитаций

Reply


levgem January 18 2011, 10:09:30 UTC
Хорошо расписано, хоть мне самому с этим и не приходится работать.

Вопрос такой: а как у всей этой динамической диспетчеризации запросов со скоростью обработки хотя бы на 4-5 гигабитах? Ведь статическая линковка быстрее, или тут происходит при связывании узлов статическая линковка?

Reply

nuclight January 18 2011, 10:33:13 UTC
> со скоростью обработки хотя бы на 4-5 гигабитах?

У меня таких стендов нет.

> Ведь статическая линковка быстрее

Популярная чушь.

Reply

levgem January 18 2011, 10:34:13 UTC
> У меня таких стендов нет.

Жалко, ведь до нескольких гигабит разницы чем раздавать тот же MPEG-TS нет.

> Популярная чушь

Это почему?

Reply

nuclight January 18 2011, 10:43:36 UTC
> Жалко, ведь до нескольких гигабит разницы чем раздавать тот же MPEG-TS нет.

Ну, пусть кто-нибудь забенчит. По логике разница должна быть, другими задачами сия логика ранее подтверждалась.

> Это почему?

А по какой причине вообще быть разнице? Есть бенчмарки, показывающее обратное?

Reply


Leave a comment

Up