• 正文
  • 推薦器件
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

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

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

作者:李坤明,單位:中國(guó)移動(dòng)智慧家庭運(yùn)營(yíng)中心

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

Part 01●??nDPI框架簡(jiǎn)介?

圖1 nDPI框架圖

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

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

 

圖2 集成了hYperscan的DPI框架圖

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

字符串多模匹配

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

Http預(yù)處理

除了引擎的匹配算法的集成,我們?cè)陬A(yù)處理器模塊中也添加了Hyperscan。在Http預(yù)處理時(shí),利用了Hyperscan搜索相關(guān)關(guān)鍵字來進(jìn)一步加速預(yù)處理的流程。

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

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

圖3 內(nèi)存占用

Part 04●? 結(jié)論?

經(jīng)過Hyperscan集成后的nDPI在內(nèi)存消耗上遠(yuǎn)遠(yuǎn)低于原始nDPI?,F(xiàn)有嵌入式網(wǎng)絡(luò)設(shè)備產(chǎn)品中內(nèi)存資源十分緊張,集成Hyperscan后的nDPI組件對(duì)內(nèi)存資源的優(yōu)化,有利于DPI及其相關(guān)產(chǎn)品在端側(cè)嵌入式網(wǎng)絡(luò)產(chǎn)品中的部署。

參考文獻(xiàn)

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

推薦器件

更多器件
器件型號(hào) 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊(cè) ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
TLE6250GV33 1 Infineon Technologies AG Interface Circuit, 1-Trnsvr, BICMOS, PDSO8, GREEN, PLASTIC, SOP-8

ECAD模型

下載ECAD模型
$3.27 查看
TJA1021T/20/C,118 1 NXP Semiconductors TJA1021 - LIN 2.1/SAE J2602 transceiver SOIC 8-Pin

ECAD模型

下載ECAD模型
$1.51 查看
TJA1040T/CM,118 1 NXP Semiconductors TJA1040 - High-speed CAN transceiver with standby mode SOIC 8-Pin

ECAD模型

下載ECAD模型
$2.24 查看
中國(guó)移動(dòng)

中國(guó)移動(dòng)

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

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

查看更多

相關(guān)推薦

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

移動(dòng)Labs是中國(guó)移動(dòng)的社交化新媒體平臺(tái),是面向外部行業(yè)及產(chǎn)業(yè)鏈合作伙伴的信息發(fā)布、業(yè)務(wù)發(fā)展和產(chǎn)業(yè)推進(jìn)門戶。