高速數據包捕獲、過濾和分析PF_RING

PF_RING™是一種新型的網絡套接字,可顯着提高數據包捕獲速度,並且具有以下特性:

  1. 適用於Linux內核2.6.32及更高版本。
  2. 無需修補內核:只需加載內核模塊。
  3. 使用商用網絡適配器的10 Gbit硬件數據包過濾
  4. 用戶空間ZC(新一代DNA,Direct NIC Access,直接NIC訪問)驅動程序可實現極高的數據包捕獲/傳輸速度,這是因爲NIC NPU(網絡處理單元)在沒有任何內核干預的情況下將數據包從用戶域推送/獲取數據包。使用10Gbit ZC驅動程序,您可以以線速發送或接收任何大小的數據包。
  5.  PF_RING ZC庫,用於在線程、應用程序、虛擬機之間以零拷貝分發數據包。
  6. 設備驅動程序獨立。
  7.  支持Accolade,Exablaze,Endace,Fiberblaze,Inveatech,Mellanox,Myricom / CSPI,Napatech,Netcope和Intel(ZC)網絡適配器。
  8. 基於內核的數據包捕獲和採樣。
  9. Libpcap支持(請參見下文)可與現有的基於pcap的應用程序無縫集成。
  10. 除BPF外,還可以指定數百個標題過濾器。
  11. 內容檢查,以便僅通過與有效負載過濾器匹配的數據包。
  12. PF_RING™插件,用於高級數據包解析和內容過濾。

Vanilla PF_RING™

PF_RING™正在通過Linux NAPI輪詢來自NIC的數據包。這意味着NAPI將數據包從NIC複製到PF_RING™循環緩衝區,然後userland應用程序從環讀取數據包。在這種情況下,有兩個輪詢程序,即應用程序和NAPI,這會導致用於此輪詢的CPU週期。優點是PF_RING™可以將傳入的數據包同時分發到多個環(因此有多個應用程序)。

 

PF_RING™模塊

PF_RING™具有模塊化架構,可以使用除標準PF_RING™內核模塊以外的其他組件。當前,其他模塊集包括:

  • ZC模塊。
    查看ZC頁面以獲取更多信息。
  • 基於FPGA的板卡模塊。
    這些模塊增加了對許多供應商的支持,包括Accolade,Exablaze,Endace,Fiberblaze,Inveatech,Mellanox,Myricom / CSPI,Napatech,Netcope。
  • 堆棧模塊。
    該模塊可用於將數據包注入linux網絡堆棧。
  • 時間軸模塊。
    該模塊可用於使用PF_RING™API從n2disk轉儲集中無縫提取流量。
  • Sysdig模塊。
    該模塊使用sysdig內核模塊捕獲系統事件。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章