基于FPGA的高性能應(yīng)用層協(xié)議識別方法研究
發(fā)布時間:2017-06-07 02:08
本文關(guān)鍵詞:基于FPGA的高性能應(yīng)用層協(xié)議識別方法研究,由筆耕文化傳播整理發(fā)布。
【摘要】:隨著用戶規(guī)模不斷增大和網(wǎng)絡(luò)應(yīng)用日益豐富,互聯(lián)網(wǎng)運(yùn)行狀況變得異常復(fù)雜。為了提高互聯(lián)網(wǎng)的安全性與可管理性,應(yīng)用層協(xié)議識別成為網(wǎng)絡(luò)安全、管理設(shè)備的重要基礎(chǔ),我國下一代網(wǎng)絡(luò)防火墻標(biāo)準(zhǔn)中已經(jīng)將應(yīng)用層協(xié)議識別列為核心要素之一。然而,隨著互聯(lián)網(wǎng)接入帶寬的快速增長,40Gbps及更高性能網(wǎng)絡(luò)已經(jīng)逐漸開始部署,現(xiàn)有協(xié)議識別方法由于計算復(fù)雜度高、存儲消耗大等原因?qū)е绿幚砟芰Σ蛔?無法適應(yīng)高速網(wǎng)絡(luò)環(huán)境。為了解決上述問題,本文從未來互聯(lián)網(wǎng)發(fā)展的實際需求出發(fā),以高性能為主要目標(biāo),研究基于FPGA的應(yīng)用層協(xié)議識別方法,以滿足未來產(chǎn)業(yè)界對相關(guān)技術(shù)的需求。本文的主要貢獻(xiàn)如下:提出了一個基于FPGA芯片的高性能應(yīng)用層協(xié)議識別框架,通過基于簡單字符串特征的協(xié)議識別方法降低協(xié)議識別的計算復(fù)雜度,并使用高效流管理進(jìn)一步降低匹配引擎的工作負(fù)載。具體來說,該方法針對FPGA的硬件特性對流表數(shù)據(jù)結(jié)構(gòu)、流表條目索引策略、表項過期管理機(jī)制、協(xié)議識別方法、并行引擎流水線、子系統(tǒng)協(xié)同機(jī)制等進(jìn)行優(yōu)化以達(dá)到協(xié)議識別的高性能。在Net FPGA10G開源硬件平臺上的實驗證明,原型系統(tǒng)能夠支持百萬級流條目過濾,針對128個協(xié)議進(jìn)行檢測,數(shù)據(jù)處理能力超過36 Gbps,識別準(zhǔn)確率約為92%。為了進(jìn)一步提高協(xié)議識別能力,提出一個基于正則表達(dá)式的協(xié)議識別引擎自動生成方法,通過適合FPGA硬件特性的數(shù)據(jù)結(jié)構(gòu)、匹配方法等以提高協(xié)議識別性能。具體來說,該方法基于正則表達(dá)式協(xié)議特征對協(xié)議特征進(jìn)行識別,主要包括一個多字符輸入非確定狀態(tài)機(jī)的轉(zhuǎn)換算法以及一個FPGA識別引擎生成架構(gòu)。前者允許協(xié)議識別狀態(tài)機(jī)每周期處理多個字符;后者針對硬件特性進(jìn)行優(yōu)化以提高正則表達(dá)式匹配的性能。實驗證明,該方法生成的協(xié)議識別引擎不僅可以達(dá)到與L7-filter相同的協(xié)議識別能力,而且數(shù)據(jù)處理能力超過10Gbps。同現(xiàn)有基于多字符輸入狀態(tài)機(jī)方法相比,性能提高約62%。提出一個面向100Gbps網(wǎng)絡(luò)的協(xié)議識別加速方法以進(jìn)一步提高識別引擎的處理性能。該方法首先對L7-filter規(guī)則集進(jìn)行分析,總結(jié)正則表達(dá)式協(xié)議特征中廣泛存在的模式;然后針對現(xiàn)有多字符狀態(tài)機(jī)在輸入字符寬度較大時產(chǎn)生狀態(tài)機(jī)規(guī)模膨脹的問題進(jìn)行研究;最后使用分而治之的策略,通過有針對性的數(shù)據(jù)模型、算法優(yōu)化和匹配架構(gòu)設(shè)計等研究以達(dá)到提高處理能力的目的;赩irtex6 FPGA的實驗表明,原型系統(tǒng)在保證識別準(zhǔn)確率的前提下能夠提供約115Gbps吞吐率,最多可以識別約850個互聯(lián)網(wǎng)應(yīng)用協(xié)議。
【關(guān)鍵詞】:應(yīng)用層協(xié)議識別 FPGA 專用體系結(jié)構(gòu) 高性能 正則表達(dá)式匹配
【學(xué)位授予單位】:北京理工大學(xué)
【學(xué)位級別】:博士
【學(xué)位授予年份】:2015
【分類號】:TP393.08
【目錄】:
- 摘要5-7
- ABSTRACT7-15
- 第1章 緒論15-23
- 1.1 研究目的和意義15-17
- 1.2 研究內(nèi)容17-18
- 1.3 評價方法18-20
- 1.4 論文結(jié)構(gòu)20-23
- 第2章 國內(nèi)外研究現(xiàn)狀及發(fā)展趨勢23-39
- 2.1 引言23-24
- 2.2 應(yīng)用層協(xié)議識別相關(guān)研究24-36
- 2.2.1 基于端口號的識別方法24-25
- 2.2.2 基于字符串特征的識別方法25-33
- 2.2.3 基于主機(jī)行為的識別方法33-34
- 2.2.4 基于機(jī)器學(xué)習(xí)的識別方法34-35
- 2.2.5 網(wǎng)絡(luò)流管理方法35-36
- 2.3 應(yīng)用層協(xié)議識別技術(shù)發(fā)展趨勢36-39
- 第3章 一個基于FPGA的應(yīng)用層協(xié)議識別框架39-57
- 3.1 引言39-40
- 3.2 基于FPGA的協(xié)議識別架構(gòu)40-41
- 3.3 高速流管理設(shè)計41-45
- 3.3.1 流表檢索與更新41-43
- 3.3.2 流信息有效性計算43-45
- 3.4 流識別引擎陣列45-50
- 3.4.1 簡單字符串特征識別方法46-47
- 3.4.2 協(xié)議識別單元47-49
- 3.4.3 動態(tài)可重構(gòu)49-50
- 3.5 評估50-54
- 3.5.1 性能指標(biāo)50-51
- 3.5.2 芯片硬件資源使用率和處理能力51-52
- 3.5.3 包處理延遲52
- 3.5.4 識別率和識別準(zhǔn)確率52-54
- 3.6 本章小結(jié)54-57
- 第4章 基于FPGA的應(yīng)用層協(xié)議識別引擎生成方法57-77
- 4.1 引言57-60
- 4.2 匹配引擎生成架構(gòu)60-66
- 4.2.1 正則解析器61-62
- 4.2.2 多字符輸入狀態(tài)機(jī)轉(zhuǎn)換算法62-65
- 4.2.3 匹配引擎生成器65-66
- 4.3 評估66-74
- 4.3.1 實驗設(shè)置67-68
- 4.3.2 狀態(tài)機(jī)轉(zhuǎn)換效率68-70
- 4.3.3 硬件資源使用率70-71
- 4.3.4 處理能力71-74
- 4.3.5 包處理延遲74
- 4.4 本章小結(jié)74-77
- 第5章 一種面向 100GBPS網(wǎng)絡(luò)的應(yīng)用層協(xié)議識別加速方法77-97
- 5.1 引言77-78
- 5.2 L7-filter規(guī)則集分析78-82
- 5.2.1 特征起始位置78-79
- 5.2.2 重復(fù)元字符79-81
- 5.2.3 集合元字符81-82
- 5.3 基于Link-NFA的硬件加速方法82-90
- 5.3.1 Link-NFA82-85
- 5.3.2 Link-NFA構(gòu)造方法85-88
- 5.3.3 基于Bitmap的優(yōu)化方法88-89
- 5.3.4 基于Link-NFA的協(xié)議識別引擎架構(gòu)89-90
- 5.4 評估90-94
- 5.4.1 跳轉(zhuǎn)數(shù)量90-91
- 5.4.2 硬件資源使用率91-92
- 5.4.3 處理能力92-94
- 5.4.4 處理延遲94
- 5.5 本章小結(jié)94-97
- 第6章 結(jié)論與展望97-99
- 6.1 全文工作總結(jié)97-98
- 6.2 未來工作展望98-99
- 參考文獻(xiàn)99-115
- 攻讀學(xué)位期間發(fā)表論文與研究成果清單115-117
- 攻讀博士學(xué)位期間參加的科研項目117-119
- 致謝119-121
- 作者簡介121
【參考文獻(xiàn)】
中國期刊全文數(shù)據(jù)庫 前1條
1 徐鵬;劉瓊;林森;;基于支持向量機(jī)的Internet流量分類研究[J];計算機(jī)研究與發(fā)展;2009年03期
本文關(guān)鍵詞:基于FPGA的高性能應(yīng)用層協(xié)議識別方法研究,,由筆耕文化傳播整理發(fā)布。
本文編號:427967
本文鏈接:http://sikaile.net/shoufeilunwen/xxkjbs/427967.html
最近更新
教材專著