目前大多需要進行高速流量處理的場景,基本都是使用DPDK進行數據包處理加速,DPDK雖然是開源免費的,但是DPDK提供的API很簡單,進行開發十分復雜,耗時,應用困難,于是許多人開始尋找替代方案--虹科PF_RING ZC。
細談區別
DPDK
假如你一名經驗豐富的開發人員(抱歉,DPDK API 非常簡單),您需要在從頭開始編寫您的應用程序,您可以使用所有 DPDK API 調用來分配/管理數據包,并且您必須了解您所使用的 NIC。
舉個例子:假如你使用英特爾 X710/XL710,它是英特爾當前的旗艦 10/40 Gbit 適配器。當您啟用巨型幀時,NIC 將返回 2K 長的 RX 數據包(因此,如果您有一個入口 5k 數據包,您將收到部分 2 x 2K 緩沖區和剩余的 1k 緩沖區),如果您想發送一個數據包,則大小為 9K(因此您需要發送 1x8K 部分緩沖區以及以下緩沖區中的其余部分)。本質上,開發人員必須知道這一點,準備用應用程序來處理這些問題,并確保當您移動到另一個不能以這種方式工作的 NIC(例如 Intel X520/X540)時,您能夠處理巨型幀。
PF_RING ZC
相反,在 PF_RING ZC 中,庫根據 MTU 分配內存緩沖區,無論您使用什么網卡,庫都將始終返回完整的數據包(即緩沖區中的所有這些數據包分段不會暴露給將始終使用的用戶,開發人員唯一要做的就是確保他的應用程序可以處理巨型數據包。使用PF_RING ZC API,開發人員無需記住的 NIC 的硬件細節,無需更改一行代碼、只需將設備名稱從:
-i eth1
更改為
-i zc:eth13
就可以將應用程序在不同硬件設備上進行轉移。
比較
1) ZC 需要支付少許的許可證費用,DPDK 是免費的,;
2) DPDK 與ZC的性能基本持平;
3)ZC提供易于使用的應用層API,開發難度遠小于DPDK;
PF_RING ZC提供的API
PF_RINGZC帶有一個簡單的API,能夠用幾行代碼創建一個復雜的應用程序。以下示例顯示了如何用6行代碼創建一個聚合器+負載均衡器應用程序。
PF_RING ZC加速Zeek
Zeek是一個開源網絡流量分析器。許多用戶將Zeek用作網絡安全監視器(NSM),以支持對可疑或惡意活動的調查。Zeek還支持安全領域以外的各種流量分析任務,包括性能評估和故障排除。使用PF_RING ZC(zero copy)驅動程序可實現極高的數據包捕獲/傳輸速度,極大提升Zeek的流量處理能力。
使用帶有 PF_RING 的 Suricata
Suricata是一個免費、開源、成熟、快速、健壯的網絡威脅檢測引擎。Suricata引擎能夠進行實時入侵檢測(IDS)、內聯入侵預防(IPS)、網絡安全監控(NSM)和離線pcap處理。Suricata使用強大而廣泛的規則和簽名語言來檢查網絡流量,應用十分廣泛。使用PF_RING ZC讓你您現在可以在 IDS 和 IPS 模式下高速使用 Suricata。
Snort高速數據采集
許多用戶還可以在使用Snort(最受歡迎的 IDS/IPS 之一),且目前正受益于 PF_RING ZC 的速度。使用PF_RING ZC (Snort 數據采集)庫比標準的PF_RING速度提高 20% 到 50% ,它可以在 IPS 和 IDS 模式下運行。
虹科提供網絡流量監控與分析的軟件解決方案-ntop。該方案可在物理,虛擬,容器等多種環境下部署,部署簡單且無需任何專業硬件即可實現高速流量分析。解決方案由多個組件構成,每個組件即可單獨使用,與第三方工具集成,也可以靈活組合形成不同解決方案。包含的組件如下:
PF_RING:一種新型的網絡套接字,可顯著提高數據包捕獲速度。
nProbe:網絡探針,可用于處理NetFlow/sFlow流數據或者原始流量。
n2disk:用于高速連續流量存儲處理和回放。
ntopng:基于Web的網絡流量監控分析工具,用于實時監控和回溯分析。
編輯:jq
-
英特爾
+關注
關注
61文章
9953瀏覽量
171702 -
Web
+關注
關注
2文章
1262瀏覽量
69446 -
API
+關注
關注
2文章
1499瀏覽量
61971 -
NIC
+關注
關注
0文章
23瀏覽量
12417 -
DPDK
+關注
關注
0文章
13瀏覽量
1725
原文標題:虹科PF_RING ZC | 高速流量處理DPDK替代方案
文章出處:【微信號:Hongketeam,微信公眾號:廣州虹科電子科技有限公司】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論