天天看點

Linux ubuntu PF_RING+libpcap 極速捕獲千兆網資料包,不丢包

Linux ubuntu PF_RING+libpcap 極速捕獲千兆網資料包,不丢包  

2011-09-23 09:37:24|  分類: 預設分類|舉報|字号 訂閱

上一篇文章講到了 libpcap 捕獲資料包,尤其在千兆網的條件下,大量的丢包,網上搜尋好久,大概都是PF_PACKET +MMAP,NAPI,PF_RING之類的方法,我對PF_RING+libpcap進行實驗,發現千兆網條件下,捕獲資料包的性能很好,幾乎不丢包,Linux  Fedora 14(本人實驗的環境為:ubuntu11.04)實驗環境搭配流程如下:

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檢視。

DLP

繼續閱讀