LINUX.ORG.RU

pcap. величина дропа.


0

0

Может кто подскажет, какова зависимость кол-ва дропаных пакетов к сетевой активности? например если 100-150 впн соединений пропустить через пкап, насколько много пакетов дропнется?

Deleted

Возьми ifconfig, посмотри сколько за определенный промежуток времени прошло пакетов через интерфейс (запустив ifconfig дважды, в начале и в конце), сравни с тем, сколько наловилось pcap-ом (или tcpdump>>/dev/null-ом, если только планируешь что-то кодить).

Все сильно зависит от конкретных условий, от производительности железа и пропускной способности сети (с 10GBit оптикой даже самый современный core duo вряд-ли справиться). Так-же это зависит и от того, как долго ты будешь обрабатывать каждый пойманный pcap-ом пакет, что тоже величина непредсказуемая без дополнительной информации.

anonymous
()
Ответ на: комментарий от anonymous

в догонку:

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

anonymous
()
Ответ на: комментарий от anonymous

тут где-то народ предлагал из юзерспейса перейти в кернелспейс. на сколько оправданно? как считаешь?

Deleted
()
Ответ на: комментарий от Deleted

> тут где-то народ предлагал из юзерспейса перейти в кернелспейс. на сколько оправданно? как считаешь?

Если нужно просто как-то обрабатывать данные, и не передавать никому более, -- то может дать существенный выйгрышь в производительности, из-за отсутсвия необходимости копировать данные. В данном случае проще всего будет сделать на базе netfilter-а. Однако, если реализация сделанная в userspace-е будет справляться по производительности (надо уже эксперементировать) то лучше оставаться в userspace-е, - меньше времени на разработку уйдет и меньше геммороя с поддержкой, хотя тут уже все от приоритетов которые у тебя есть и от того, что тебе важнее - время разработки, красота решения, что-то еще, итп..

anonymous
()
Ответ на: комментарий от anonymous

дело в том, что мне нужно в пакет заглянуть, разобрать на tcp udp и иже с ними. на сколько сильно это повлияет на производительность?

Deleted
()
Ответ на: комментарий от Deleted

если только это - то это копейки. А если "на основании полученных из пакета данных что-то где-то посчитать, что-то где-то учесть (допустим в мапе найти запись и увеличить значение на 1)" -- это уже гораздо накладнее.

anonymous
()
Ответ на: комментарий от anonymous

дело в том что я сделал набросок в виде программы которая снифит ppp ифейс и тупо выводит tcp|udp|icmp|other srcip:port dstip:port size на одном ифейсе робит, не дропает :) но млин уже начитался страстей про дропание и боюсь в продакшн такой механизм вживлять. точнее реализовывать на базе такого подхода ибо потом если упрусь в грабли, то переделывать будет шипко дорого (.

Deleted
()
Ответ на: комментарий от Deleted

Используя ядреный модуль и netfilter можно полностью исключить возможность дропа, т.к. пока ты не спроцессиш пакет, он дальше не пойдет, т.е. будет тормозить, но пропускать не будет ;)

Если дропы так фатальны - можно тогда и в ядре сделать все. Однако лишний код в ядре, на продакшене - тоже не всегда желателен ;)

P.S. Я думаю в твоей тестовой утилите, большую часть времени тратит printf или кого ты там используешь ;)

anonymous
()
Ответ на: комментарий от anonymous

ну это понятно что в моем тестовом случает вообще не показательны какие-либо измерения ;) то что вывод это боооольшой тормоз я знаю :). но я ведь в процессе работы не буду юзать принтф, только агрегация и слив в файл. тобишь сведу к минимуму IO.

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.