码迷,mamicode.com
首页 > 系统相关 > 详细

linux fedora 14(内核2.6.35.6) PF_RING+libpcap 极速捕获千兆网数据包,不丢包

时间:2015-08-09 01:42:11      阅读:326      评论:0      收藏:0      [点我收藏+]

标签:

   前面讲到了libpcap 捕获数据包,尤其在千兆网的条件下,大量的丢包,网上搜索好久,大概都是PF_PACKET +MMAP,NAPI,PF_RING之类的方法,我对PF_RING+libpcap进行实验,发现千兆网条件下,捕获数据包的性能很好,几乎不丢包, 实验环境搭配流程如下:

     1)下载PF_RING:svn co https://svn.ntop.org/svn/ntop/trunk/PF_RING/ 

    2)下载完后,在PF_RING/kernel下面make编译pf_ring,生成pf_ring.ko

    3)insmod pf_ring.ko thansparent_mode =1

    4)cd 进入lib目录下,修改MakeFile,将安装目录指向usr/,如果不修改,就会指向/usr/local

    5)在lib目录下,make,然后make install

    6)cd 进入libpcap-1.1.1-ring目录下,修改源码,将pf_ring的内核ring缓冲区设为2M,默认0.5M,然后修改MakeFile, 将安装目录指向usr/,默认指向usr/local。接着编译make,然后make install;

    7)这样,就将libpfring.so ,pfring_e1000e_dna.h,pfring.h,libpfring.a拷贝到了usr/include或usr/lib下,同时用 libpcap-1.1.1-ring的库文件替换了原来的libpcap库文件;

    8)环境搭建完了,应用记得在应用程序的头文件中加入#define HAVE_PF_RING ;

    9)大功告成,你会发现性能有极大的提高,提高了60%以上。但是cpu占用率也会相应的提高,cpu占用率采用在终端采用top查看。

以上摘自:http://blog.csdn.net/smilestone_322/article/details/6281395

 

linux fedora 14(内核2.6.35.6) PF_RING+libpcap 极速捕获千兆网数据包,不丢包

标签:

原文地址:http://www.cnblogs.com/jacklikedogs/p/4714259.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!