use*_*098 5 linux network-programming linux-kernel libpcap
我明白这个问题已经讨论过很多次了:我应该使用 libpcap 还是 PF_PACKET(数据链接套接字)来捕获数据包?
根据我的研究,几乎所有地方都建议使用 libpcap 而不是 PF_PACKET,主要是因为它的可移植性。
但是,对于我目前的项目(在生产系统中使用),可移植性根本不是问题,我关心的是性能(速度,丢包率)。我的程序在 CentOS 5.10(内核 2.6.18)上运行,据我所知,libpcap 在每个数据包上放置了一个时间戳。这会导致很大的性能损失吗?是否还有其他因素使 libpcap 不适用于高速网络?
小智 4
据我所知,libpcap 在每个数据包上放置了一个时间戳。
不,libpcap 从它使用的操作系统数据包捕获机制中获取数据包的时间戳 - 在 Linux 上是......
...PF_PACKET 套接字。
Linux 内核为传入数据包添加时间戳。PF_PACKET 套接字有多种读取方式:
只要可用,Libpcap 就会使用内存映射访问;如果您关心捕获性能,您可能也想这样做。然而,它并不容易使用。
| 归档时间: |
|
| 查看次数: |
1403 次 |
| 最近记录: |