Re[3]: WinPcap и захват пакетов с 10 Гбит Ethernet
От: -prus-  
Дата: 02.08.13 21:08
Оценка:
Здравствуйте, cppdev, Вы писали:

C>Пробовал на размере буфера от 1 ГБ до 3 ГБ — не помогает.

C>Да, пробовал получать статистику. Пакеты могут пропускаться как небольшими равными долями в течении всего сеанса захвата, так и сразу может произойти пропуск большого их числа, например 100 — 150 т. пакетов. Причем что интересно: в поле ps_recv находится число захваченных драйвером пакетов и оно не совпадает с тем количеством пакетов, что я получаю в приложении. Пакетов отброшенных драйвером (поле ps_drop) не много — из 3 000 000 только 50 000.

Давайте по порядку... Что за 10 Гбитный адаптер на захватчике?
Специальная железка для генерации трафика — это случайно не ixia?
После получения пакета вы с ним что-то делаете (копируете, разбираете, еще что-то)?

Пока могу сказать лишь, что встречал несовпадение количества отправленных пакетов и принятых из-за того, что драйвер сетевого адаптера их откидывал из-за неправельных контрольных сумм.
Встречал это на Linux'е на 1 Гбитном трафике с дровами tg3. Лечилось это соответственно отключением проверки контрольных сумм пакетов драйвером. Попробуйте отключить данную проверку, если это возможно и отпишите как обстоят дела.

Вообще для обработки сетевого трафика на скоростях 10 Гбит/сек использовать нужно несколько другие специализированные механизы. Например, из дорогих решений это Endace DAG, из дешевых можно посмотрет pf_ring + DNA или dpdk. Правда эти решения заточены под Linux.
С уважением,
Евгений
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.