C++ libpcap(>;1.0.0)和PF_环效率

C++ libpcap(>;1.0.0)和PF_环效率,c++,linux,networking,libpcap,C++,Linux,Networking,Libpcap,我使用libpcap1.4.0来捕获来自/到设备的数据包(我使用的是linux)。 我正遭受数据包丢失的痛苦,在对它进行研究后,我发现了PF_环,现在我正在考虑使用它 问题是,当libpcap的默认包捕获方法是“零拷贝”(自libpcap 1.0.0以来)以及PF_环时,我真的不明白为什么使用PF_环比使用libpcap的PF_包更有效 有人能解释一下为什么在libpcap 1.0.0及更高版本中,使用PF_环比不使用它更有效(如果它实际上更有效的话) 先谢谢你!:) 根据本文,从内核的套接字缓

我使用libpcap1.4.0来捕获来自/到设备的数据包(我使用的是linux)。 我正遭受数据包丢失的痛苦,在对它进行研究后,我发现了PF_环,现在我正在考虑使用它

问题是,当libpcap的默认包捕获方法是“零拷贝”(自libpcap 1.0.0以来)以及PF_环时,我真的不明白为什么使用PF_环比使用libpcap的PF_包更有效

有人能解释一下为什么在libpcap 1.0.0及更高版本中,使用PF_环比不使用它更有效(如果它实际上更有效的话)


先谢谢你!:)

根据本文,从内核的套接字缓冲区(sk_buff)到您将读取的内存仍然有一个副本
PF_-RING
似乎执行此复制(据我所知,pfring是处理从网卡接收的数据的正常内核机制)。

好的,我想a现在得到了。。因此,在
pfu-PACKET
中,您有一个从内核
KSBUFF
到libpcap缓冲区的副本,该缓冲区位于内核空间和用户空间中,而在
pfu-RING中,您甚至跳过了该副本?@user2508653在使用libpcap时,您的数据包丢失率是多少??