新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于多核處理器的DPI平臺的設(shè)計與應(yīng)用

基于多核處理器的DPI平臺的設(shè)計與應(yīng)用

作者: 時間:2009-09-18 來源:網(wǎng)絡(luò) 收藏

  前言

  在目前的安全、數(shù)通及電信等諸多領(lǐng)域都可以看到基于的設(shè)計,它們超強的處理能力使得以往繁復(fù)的系統(tǒng)得以減小體積,實現(xiàn)單板平臺。然而,在享受處理性能提升的同時,結(jié)構(gòu)設(shè)計人員卻不得不忍受多核高功耗的折磨,動輒幾十瓦甚至上百瓦的功耗成為多核進入更多領(lǐng)域的一個瓶頸。在目前綠色環(huán)保的政策下如何實現(xiàn)機房或設(shè)備的低功耗成為系統(tǒng)工程師必須考慮的一個重要設(shè)計因素。隨著多核集成CPU數(shù)量的不斷增加,單純靠芯片工藝和代碼優(yōu)化來降低功耗越來越難,此時必須要從電路系統(tǒng)設(shè)計的角度來全盤考慮問題。

  在數(shù)據(jù)處理過程中的密集運算使得芯片的動態(tài)功耗不斷增加,因此可將處理器的一部分負荷卸載到專用加速器中,以此來降低核心芯片的功耗。一方面它可以容許處理器工作在較低的頻率上,大幅降低系統(tǒng)的總功耗,另一方面還可以通過釋放處理器來提升整個系統(tǒng)的性能,或者增加高附加值的應(yīng)用;最后還可以降低對處理器的要求,同時降低系統(tǒng)的BOM成本。

  目前安全領(lǐng)域的檢測就是一個計算密集型應(yīng)用,它要求掃描整個數(shù)據(jù)包,計算開銷非常大?,F(xiàn)有網(wǎng)絡(luò)設(shè)備在實現(xiàn)此功能時大多采用軟件方案,在獨占一個CPU核的情況下也只能達到Mbps的處理能力。實驗表明,通過加入LSI公司的Tarari 專用芯片可以使系統(tǒng)功耗大幅降低,而處理能力可提升至Gbps。本文將以Tarari為例介紹技術(shù)以及相關(guān)實現(xiàn)。

  DPI技術(shù)及芯片介紹

  DPI (Deep Packet Inspection),即“深度報文檢測”。所謂“深度”是和普通的報文分析層次相比較而言的,“普通報文檢測”僅分析IP包的4層以下的內(nèi)容,包括源地址、目的地址、源端口、目的端口以及協(xié)議類型,而DPI 除了對前面的層次分析外,還增加了應(yīng)用層分析,識別各種應(yīng)用及其內(nèi)容,基本概念如圖1所示。

DPI的基本概念

圖1 DPI的基本概念

  普通報文檢測是通過端口號來識別應(yīng)用類型的。如檢測到端口號為80時,則認為該應(yīng)用代表著普通上網(wǎng)應(yīng)用。而當(dāng)前網(wǎng)絡(luò)上的一些非法應(yīng)用會采用隱藏或假冒端口號的方式躲避檢測和監(jiān)管,造成仿冒合法報文的數(shù)據(jù)流侵蝕網(wǎng)絡(luò)。此時采用L2~L4層的傳統(tǒng)檢測方法已無能為力了。DPI 技術(shù)就是通過對應(yīng)用流中的數(shù)據(jù)報文內(nèi)容進行探測,從而確定數(shù)據(jù)報文的真正應(yīng)用。因為非法應(yīng)用可以隱藏端口號,但目前較難隱藏應(yīng)用層的協(xié)議特征。

  Tarari系列芯片是實現(xiàn)上述功能的一款硬件加速器,它支持行業(yè)內(nèi)標(biāo)準(zhǔn)的正則表達式,規(guī)則數(shù)可以達到上百萬條,支持POSIX和PCRE。針對安全應(yīng)用中所需的跨包檢測,Tarari可以對400多萬條數(shù)據(jù)的上下文進行處理。處理跨包的過程中Tarari會用內(nèi)部緩存來自動記錄跨包的上下文,包括正則表達式搜索樹的狀態(tài)、前一包的部分內(nèi)容以及所選的指令。該系列芯片從第四代產(chǎn)品(T9000)開始采用ASIC設(shè)計,第五代產(chǎn)品則開始采用T10架構(gòu),產(chǎn)品目前包括T1000和T2000兩個系列型號。各芯片間軟件兼容,提供從250Mbps到10Gbps不同的速度等級,以滿足不同應(yīng)用的需求。

  以T2000系列芯片為例,它外圍存儲采用低成本的DDR2 SDRAM芯片,無需TCAM或者RLDRAM等昂貴存儲器。為了滿足某些高性能場合的需求,T2000也提供擴展接口,方便實現(xiàn)性能升級。在系統(tǒng)接口方面T2000提供PCI、PCI Express等高速接口,每個PCIe通道都具有Gbps的有效吞吐能力,最高可以達到16Gbps。T2000最高可支持10G的單片峰值性能,通過級聯(lián)兩片T2000芯片可以提供16Gb/s的吞吐量。T2000 軟件可同時監(jiān)測多達四塊16Gb/s PCIe電路板并提供負載均衡,從而為最苛刻的網(wǎng)絡(luò)環(huán)境提供64Gb/s 的性能。T2000系列芯片的體積只有29mm*29mm,典型功耗為5W。

  基于的DPI平臺設(shè)計

  硬件平臺設(shè)計

  無論是Intel和AMD的x86架構(gòu),還是MIPs架構(gòu),無論是CISC還是RISC,Tarari都可以很好的支持這些主流的處理器技術(shù)。

  以某公司基于MIPs的多核芯片為例,圖2所示為與MIPs多核的設(shè)計框圖。由于 具有PCI、PCI-X以及PCIe接口,因此Tarari可以通過這些接口與滿足條件的多核處理器直接對接。對于很多高速應(yīng)用,如果PCIe接口類型不匹配,也可以在PCIe與處理器間搭接PCIe與其它接口的轉(zhuǎn)換橋片。對于低速應(yīng)用,Tarari可以實現(xiàn)無RAM操作,即無需外圍的DDR2芯片,通過內(nèi)部存儲器就可以實現(xiàn)數(shù)據(jù)處理。

  圖2所示電路的工作流程如下:當(dāng)有數(shù)據(jù)包從GE接口進入MIPs多核處理器,處理器會通過PCIe接口或者HT橋片將其送入Tarari內(nèi)容處理器,此時Tarari會通過內(nèi)部的多個引擎對數(shù)據(jù)與規(guī)則集進行比對匹配,因為匹配規(guī)則在處理期間已經(jīng)調(diào)入的內(nèi)部緩存,并且數(shù)據(jù)在處理過程中并不會進行任何形式的存儲,所以匹配過程延時很小。匹配結(jié)束后,評估結(jié)果同樣經(jīng)過PCIe或者HT總線送回處理器,上層軟件根據(jù)結(jié)果來決定對報文的處理。

基于MIPs多核的DPI平臺設(shè)計

圖2 基于MIPs多核的DPI平臺設(shè)計

  規(guī)則集編寫及調(diào)用

  Tarari支持豐富的正則表達式語言和各種常用結(jié)構(gòu),可以在確定速度的情況下并行處理超過100萬條規(guī)則,它通過專利技術(shù)綜合了DFA和NFA的優(yōu)點,支持各種復(fù)雜的正則表達式。

  如圖3所示,正則表達式內(nèi)容處理的第一步是編譯規(guī)則集,然后將其調(diào)入Tarari硬件系統(tǒng)。規(guī)則集可以一次全部編譯,也可以只編譯更新部分,即增量編譯。被編譯的規(guī)則文本文件在編寫時需要符合語法,編譯結(jié)果是一個可以被調(diào)入Tarari硬件系統(tǒng)的二進制文件。

規(guī)則集的編譯過程

圖3 規(guī)則集的編譯過程

  全部編譯的好處是可以進行字符級的壓縮,對于許多應(yīng)用來講,這意味著可以大幅減小編譯輸出的二進制文件大小,特別是對于諸如反垃圾郵件等基于文本的應(yīng)用,全部編譯同增量編譯相比可以減小編譯結(jié)果。字符集壓縮必須要檢索起始狀態(tài)條件下的所有規(guī)則。因此,某一個規(guī)則的更新就會改變二進制指令在所有規(guī)則集上的生成方式。所以在這種模式下任一規(guī)則的更新都會要求所有的規(guī)則被重新編譯。

  IDS/IPS類應(yīng)用傾向于將8比特字符的256個可能數(shù)值都明確地用規(guī)則表示出來,因此字符集壓縮對此類應(yīng)用來講作用較小,所以適合采用增量編譯。采用增量編譯的優(yōu)勢在于不會特別增加字節(jié)數(shù)。另外,為了進行包分類,這類應(yīng)用通常使用很多的起始狀態(tài)條件,這也適合采用增量編譯。有起始狀態(tài)條件的規(guī)則集使用增量編譯因為不需進行字符集壓縮,所以可減小第一次的編譯時間;依賴于規(guī)則改變的數(shù)目和復(fù)雜度,第二次以及隨后的編譯時間也會大幅縮短;并且減小了存儲記錄的需求。

  如果規(guī)則集沒有起始條件,那么最好還是使用全部編譯的方式,因為全部編譯具有字符集壓縮的優(yōu)勢。

  DPI在UTM平臺上的應(yīng)用

  目前企業(yè)網(wǎng)都面臨著入侵防御、防病毒和防垃圾郵件等三個主要的安全問題,UTM的出現(xiàn)使得通過一臺設(shè)備來解決上述安全問題成為可能。但這同時也帶來了性能瓶頸,因為對不間斷的數(shù)據(jù)流進行處理,并根據(jù)不同的惡意威脅對包進行深度掃描的計算量非常龐大,即使是多核平臺也很難達到預(yù)定性能。在這種情況下,專用的加速引擎Tarari就可以幫助UTM設(shè)備在安全能力和處理性能間達到均衡。

  Tarari可以從主處理器上卸載內(nèi)容處理任務(wù),利用專用硬件來加速評估過程,最后再將評估結(jié)果送回主處理器上的安全應(yīng)用程序。

  對于入侵防御,UTM設(shè)備可以檢測輸入報文的所有內(nèi)容,并將內(nèi)容提交給Tarari的正則表達式處理引擎,由它來加速與攻擊模式的比較過程。匹配結(jié)果返回主處理器后,入侵防御應(yīng)用程序會決定如何來處理攻擊包。

  對于防病毒保護,數(shù)據(jù)流以文件形式通過UTM設(shè)備進入正則表達式引擎,引擎在線速情況下會將文件與病毒特征數(shù)據(jù)庫進行評估匹配,并對可疑內(nèi)容進行啟發(fā)分析。評估結(jié)束后,主處理器上的防病毒應(yīng)用程序就可以對感染文件進行預(yù)定處理。

  對于防垃圾郵件應(yīng)用,輸入流作為Email通過UTM設(shè)備接入正則表達式引擎,引擎會將內(nèi)容圖案與垃圾郵件特征數(shù)據(jù)庫進行評估對比,識別出問題信息。主處理器上運行的反垃圾郵件應(yīng)用程序讀出返回值后可以應(yīng)用不同策略來處理這些信息。

  當(dāng)UTM平臺有了Tarari的加速,它可以真正實現(xiàn)對數(shù)據(jù)報文、信息和文件的深度檢測,以對網(wǎng)絡(luò)提供安全保護。

  總結(jié)

  通過軟件的方式也可以實現(xiàn)DPI檢測功能,但這種方式性價比較低,功耗較高。比如在3GHz的Xenon四核平臺上,每核只能實現(xiàn)60Mbit/s的吞吐量,而此時功耗為90W;采用最低端的T1000芯片可以實現(xiàn)250Mbit/s的吞吐量,而功耗不足2W。

  Tarari與軟件方式相比還有一個明顯的優(yōu)勢,在于它基于硬件的跨包檢測能力,相對于用軟件來檢測跨包威脅,比如入侵、惡意攻擊等,Tarari的硬件處理速度遠遠超出了軟件的處理速度。

  Tarari芯片內(nèi)部檢測引擎的理論處理速度超過目前芯片的I/O吞吐率,因此,這些額外的處理能力使得LSI公司有能力在不遠的將來推出更快更高效的產(chǎn)品。目前T1000系列芯片LSI采用了90nm工藝技術(shù),隨著LSI向65nm工藝的推進,Tarari系列的功耗將會更低,處理性能將會得到更大的釋放。



關(guān)鍵詞: DPI 多核處理器 Tarari芯片

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉