歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux Fedora 14(內核2.6.35.6) PF_RING+libpcap 極速捕獲千兆網數據包,不丟包

Linux Fedora 14(內核2.6.35.6) PF_RING+libpcap 極速捕獲千兆網數據包,不丟包

日期:2017/2/28 16:19:09   编辑:Linux教程

前面講到了libpcap 捕獲數據包,尤其在千兆網的條件下,大量的丟包,網上搜索好久,大概都是PF_PACKET +MMAP,NAPI,PF_RING之類的方法,我對PF_RING+libpcap進行實驗,發現千兆網條件下,捕獲數據包的性能很好,幾乎不丟包,Linux Fedora 14實驗環境搭配流程如下:

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查看。

Copyright © Linux教程網 All Rights Reserved