Я использую libpcap 1.4.0 для захвата пакетов с/на устройство (я использую linux). Я страдаю от потери пакетов, и после исследования об этом я нашел PF_RING, и теперь я рассматриваю возможность его использования.libpcap (> 1.0.0) и эффективность PF_RING
Проблема в том, что я не понимаю, почему использование PF_RING более эффективно, чем использование PF_PACKET из libpcap, когда метод пакетной загрузки libpcap по умолчанию является «zero-copy» (с libpcap 1.0.0), а также PF_RING. ..
Может кто-нибудь объяснит мне, почему, с помощью libpcap 1.0.0 и более поздних версий, использование PF_RING будет еще более эффективным (если оно действительно более эффективно), чем не использовать его?
Спасибо заранее! :)
ОК, я думаю, что это получилось. Итак, в 'PF_PACKET' у вас есть одна копия из ядра' KSBUFF' в буфер libpcaps, который находится как в пространстве ядра, так и в пространстве пользователя, а в 'PF_RING' вы пропускаете даже эта копия? – user2508653
@ user2508653 по какой скорости передачи данных вы получаете потерю пакетов с помощью libpcap ?? –