我正在尝试使用libpcap(~100mbps但是> 100k包/秒)在Linux上进行高速数据包发送。限制似乎是(尽管我不确定)对pcap_send的调用次数。
Winpcap有pcap_sendqueue_transmit,它允许一次发送多个数据包。我不相信libpcap有这个功能。
话虽如此,AFAIK,libpcap使用PF_PACKET https://stackoverflow.com/a/22996556/4381435。数据包mmap可以执行此单个系统调用send http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/plain/Documentation/networking/packet_mmap.txt?id=HEAD
那么,是否有一些我无法找到的libpcap方法?
答案 0 :(得分:0)
那么,是否有一些我无法找到的libpcap方法?
没有。你必须自己直接发送环缓冲区。