• 正文
    • Part 01●??nDPI框架簡介?●
    • Part 02●??nDPI中Hyperscan的集成?●
    • Part 03●??內存優(yōu)化?●
    • Part 04●? 結論?●
  • 推薦器件
  • 相關推薦
申請入駐 產業(yè)圖譜

五分鐘技術趣談 | 淺析nDPI中Hyperscan的集成方案

2023/12/13
4725
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

作者:李坤明,單位:中國移動智慧家庭運營中心

Hyperscan是英特爾推出的一款高性能的正則表達式匹配庫,非常適用于部署在諸如DPI/IPS/IDS解決方案中。nDPI 是目前應用較為廣泛的開源DPI源碼庫,將nDPI源碼進行二次開發(fā)部署到資源受限的路由器產品中時,其核心模塊耗費了大量的內存。因而本文將英特爾Hyperscan正則表達式匹配庫集成到nDPI中,來顯著減少其資源消耗并提升其在路由器產品中的檢測性能。

Part 01●??nDPI框架簡介?

圖1 nDPI框架圖

nDPI是由ntop負責維護的一款非常流行的開源DPI庫,它同時支持Windows和Unix/Linux兩種系統(tǒng),支持跨平臺體驗[1]。如圖一框架圖所示,nDPI庫主要由網絡數據采集模塊、數據預處理模塊、協(xié)議檢測匹配模塊及特征庫相關模塊組成。數據采集模塊從網卡實時采集數據或解析已有的pcap文件;數據預處理模塊負責對網絡數據進行接收、數據分組及數據整型及過濾;其中協(xié)議檢測匹配模塊是nDPI最核心的模塊,它根據現有的協(xié)議規(guī)則特征庫對整型后的報文數據進行規(guī)則匹配。匹配算法的性能及匹配過程中對內存及CPU硬件資源的消耗對整個系統(tǒng)至關重要。

Part 02●??nDPI中Hyperscan的集成?

 

圖2 集成了hYperscan的DPI框架圖

Hyperscan與nDPI的集成主要集中在以下兩個方面:

字符串多模匹配

nDPI中一個重要的匹配過程是字符串的多模匹配。字符串的多模匹配可以快速過濾掉無法匹配的規(guī)則以減少需要逐條匹配的規(guī)則數,從而提升匹配的性能。nDPI中使用了Aho-Corasick算法進行多字符串的匹配,由于原生Aho-Corasick算法,需要將所有規(guī)則轉化成Trie樹結構,因此占用較大的內存。而Hyperscan擁有自身優(yōu)化過的匹配引擎進行匹配,大量減少了匹配過程中對內存的消耗。我們用Hyperscan替代了這一算法,降低了內存消耗及CPU占用率,并且?guī)砹孙@著的性能提升。

Http預處理

除了引擎的匹配算法的集成,我們在預處理器模塊中也添加了Hyperscan。在Http預處理時,利用了Hyperscan搜索相關關鍵字來進一步加速預處理的流程。

Part 03●??內存優(yōu)化?

我們選取了MT7981B芯片+OpenWrt系統(tǒng)作為測試平臺,采用了nDPI自帶的協(xié)議規(guī)則庫文件進行測試,同時以真實網卡采集到數據報文作為數據輸入。如圖三所示,原生nDPI內存消耗較大為56MB,而采用nDPI+Hyperscan的方案下,內存消耗降低為5.7MB,內存占用僅僅為原生nDPI的十分之一。

圖3 內存占用

Part 04●? 結論?

經過Hyperscan集成后的nDPI在內存消耗上遠遠低于原始nDPI。現有嵌入式網絡設備產品中內存資源十分緊張,集成Hyperscan后的nDPI組件對內存資源的優(yōu)化,有利于DPI及其相關產品在端側嵌入式網絡產品中的部署。

參考文獻

[1]?卞德康.基于深度包檢測的應用層協(xié)議識別研究[D].合肥:安徽工業(yè)大學.2017.

推薦器件

更多器件
器件型號 數量 器件廠商 器件描述 數據手冊 ECAD模型 風險等級 參考價格 更多信息
TJA1043TK/1Y 1 NXP Semiconductors TJA1043 - High-speed CAN transceiver SON 14-Pin

ECAD模型

下載ECAD模型
$1.96 查看
TJA1051TK/3/1J 1 NXP Semiconductors TJA1051 - High-speed CAN transceiver SON 8-Pin

ECAD模型

下載ECAD模型
$1.43 查看
PD69208MILQ-TR-LE 1 Microchip Technology Inc IEEE 802.3at / bt Type 3 8 ports Fully Integrated PSE Manager Industrial Temp
$81.19 查看
中國移動

中國移動

中國移動有限公司(「本公司」,包括子公司合稱為「本集團」)于1997年9月3日在香港成立,本集團在中國內地所有三十一個省、自治區(qū)、直轄市以及香港特別行政區(qū)提供通信和信息服務,業(yè)務主要涵蓋個人、家庭、政企和新興市場的語音、數據、寬帶、專線、IDC、云計算、物聯網等,是中國內地最大的通信和信息服務供應商,亦是全球網絡和客戶規(guī)模最大、盈利能力領先、市值排名位居前列的世界級通信和信息運營商。

中國移動有限公司(「本公司」,包括子公司合稱為「本集團」)于1997年9月3日在香港成立,本集團在中國內地所有三十一個省、自治區(qū)、直轄市以及香港特別行政區(qū)提供通信和信息服務,業(yè)務主要涵蓋個人、家庭、政企和新興市場的語音、數據、寬帶、專線、IDC、云計算、物聯網等,是中國內地最大的通信和信息服務供應商,亦是全球網絡和客戶規(guī)模最大、盈利能力領先、市值排名位居前列的世界級通信和信息運營商。收起

查看更多

相關推薦

登錄即可解鎖
  • 海量技術文章
  • 設計資源下載
  • 產業(yè)鏈客戶資源
  • 寫文章/發(fā)需求
立即登錄

移動Labs是中國移動的社交化新媒體平臺,是面向外部行業(yè)及產業(yè)鏈合作伙伴的信息發(fā)布、業(yè)務發(fā)展和產業(yè)推進門戶。