【安全大講堂之UTM】多種硬件平臺(tái)解析
解決UTM中性能與功能的矛盾,一般有兩種途徑:選擇合適的高性能硬件平臺(tái)或?qū)浖M(jìn)行體系架構(gòu)的優(yōu)化。選擇合適的硬件平臺(tái)是比較直接、快捷的方式。安全產(chǎn)品的硬件承載平臺(tái)一般有X86、NP、ASIC、多核SOC等幾種。
1 x86架構(gòu)
x86架構(gòu),也稱為CPU架構(gòu),采用通用的x86 CPU作為整個(gè)系統(tǒng)的轉(zhuǎn)發(fā)核心,具有很高的靈活性和可擴(kuò)展性,一直是安全網(wǎng)關(guān)開(kāi)發(fā)的主要平臺(tái)。其產(chǎn)品功能主要由軟件實(shí)現(xiàn),還可以根據(jù)用戶的實(shí)際需要做相應(yīng)調(diào)整,增加或減少功能模塊,產(chǎn)品比較靈活,功能十分豐富。例如,現(xiàn)在安全網(wǎng)關(guān)的趨勢(shì)就是向UTM方向發(fā)展,在一個(gè)產(chǎn)品中集成防火墻、入侵防御、防病毒及內(nèi)容過(guò)濾等特性,x86架構(gòu)的安全網(wǎng)關(guān)可以很方便地集成上述功能。
但該架構(gòu)的性能發(fā)展受到CPU體系結(jié)構(gòu)的制約,作為通用的計(jì)算平臺(tái),x86的結(jié)構(gòu)層次較多,不易優(yōu)化,特別是在小包處理中,x86的進(jìn)程調(diào)度、中斷處理等都會(huì)大幅降低整機(jī)吞吐量。同時(shí),x86作為通用CPU,沒(méi)有為網(wǎng)絡(luò)轉(zhuǎn)發(fā)及安全計(jì)算進(jìn)行優(yōu)化,因此基于x86的硬件平臺(tái)仍很難達(dá)到千兆速率。
x86架構(gòu)安全網(wǎng)關(guān)的特點(diǎn):
·優(yōu)點(diǎn):靈活,功能豐富,開(kāi)放性好,是百兆和千兆中低端防火墻的主要架構(gòu);
·缺點(diǎn):性能提升困難,特別是小包處理時(shí)性能下降嚴(yán)重。
NP(Network Processor:網(wǎng)絡(luò)處理器)是專(zhuān)門(mén)為網(wǎng)絡(luò)設(shè)備處理網(wǎng)絡(luò)流量而設(shè)計(jì)的處理器,在其體系結(jié)構(gòu)和指令集中對(duì)網(wǎng)絡(luò)設(shè)備常用的包過(guò)濾、轉(zhuǎn)發(fā)等算法和操作都進(jìn)行了專(zhuān)門(mén)的優(yōu)化,可以高效地完成TCP/IP協(xié)議棧的常用操作,并對(duì)網(wǎng)絡(luò)流量進(jìn)行快速的并發(fā)處理。NP通過(guò)專(zhuān)門(mén)的指令集和配套的軟件開(kāi)發(fā)系統(tǒng),提供強(qiáng)大的面向網(wǎng)絡(luò)報(bào)文處理的編程能力,因而便于開(kāi)發(fā)應(yīng)用,支持可擴(kuò)展的服務(wù),而且研制周期相對(duì)較短,成本比開(kāi)發(fā)ASIC低。
但是,相比于x86架構(gòu),由于應(yīng)用開(kāi)發(fā)、功能擴(kuò)展受到NP的配套軟件的限制,故基于NP技術(shù)的防火墻的靈活性要差一些,而且還依賴軟件環(huán)境,所以在性能方面NP不如 ASIC。特別是在防火墻的關(guān)鍵性指標(biāo)——“多策略復(fù)雜環(huán)境下的吞吐量”上,NP架構(gòu)的劣勢(shì)更加明顯。NP芯片的基本結(jié)構(gòu)如圖2-2所示,核心是xScale CPU,該CPU是一款低端ARM內(nèi)核的CPU,其處理能力僅相當(dāng)于Intel P3 CPU,而NP架構(gòu)防火墻的查表(安全策略表)操作只能由該xScale CPU處理,因此在大流量、多安全策略環(huán)境下,NP架構(gòu)防火墻的吞吐量會(huì)出現(xiàn)明顯下降。(注:在高端NP路由器中,由外置TCAM芯片實(shí)現(xiàn)查找路由表的操作,但該技術(shù)無(wú)法應(yīng)用到NP網(wǎng)關(guān)中)
同時(shí),NP芯片主要的設(shè)計(jì)方向是路由器類(lèi)的網(wǎng)絡(luò)設(shè)備,幾乎沒(méi)有任何針對(duì)安全設(shè)備的加速功能,所以NP復(fù)雜且相對(duì)固話的報(bào)文處理流程決定了這類(lèi)架構(gòu)的安全網(wǎng)關(guān)幾乎不可能提供高級(jí)安全特性,如入侵防御、病毒過(guò)濾等,而只能作為純粹的防火墻使用。
NP架構(gòu)安全網(wǎng)關(guān)特點(diǎn):
·優(yōu)點(diǎn):靈活性優(yōu)于ASIC,性能優(yōu)于x86,開(kāi)發(fā)流程要比ASIC短。
·缺點(diǎn):性能低于ASIC,靈活性低于x86;多安全策略環(huán)境下性能下降;不能升級(jí)到UTM設(shè)備,無(wú)法提供高級(jí)安全特性。
ASIC(Application Specific Intergrated Circuits)架構(gòu)安全網(wǎng)關(guān)通過(guò)專(zhuān)門(mén)設(shè)計(jì)的ASIC芯片邏輯進(jìn)行硬件加速處理,這種ASIC完全按照設(shè)計(jì)者的目的去設(shè)計(jì)硬件電路,優(yōu)化相應(yīng)的功能模塊,然后固化完成ASIC。ASIC架構(gòu)的優(yōu)勢(shì)是性能高,轉(zhuǎn)發(fā)性能與安全策略數(shù)量無(wú)關(guān)。
ASIC架構(gòu)的主要缺點(diǎn)表現(xiàn)在以下兩個(gè)方面。
一是靈活性不夠,開(kāi)發(fā)費(fèi)用高,開(kāi)發(fā)周期太長(zhǎng)。由于ASIC架構(gòu)的固定性與安全網(wǎng)關(guān)需要面對(duì)的復(fù)雜威脅相互矛盾,因此ASIC架構(gòu)從開(kāi)發(fā)周期上無(wú)法應(yīng)對(duì)層出不窮的安全威脅,只適合于功能固化的防火墻、VPN類(lèi)產(chǎn)品。
二是新建連接的速率不高,實(shí)際上這類(lèi)架構(gòu)產(chǎn)品的基礎(chǔ)模型是ASIC+x86 CPU,由x86 CPU負(fù)責(zé)系統(tǒng)管理、策略配置及連接建立,然后將相關(guān)的安全策略和連接信息同步到ASIC芯片中,由ASIC芯片實(shí)現(xiàn)基于狀態(tài)的策略控制和報(bào)文過(guò)濾;ASIC芯片與CPU的狀態(tài)信息需要不斷同步,因此ASIC架構(gòu)的性能“短板”是新建連接的速率低。
總結(jié)ASIC架構(gòu)安全網(wǎng)關(guān)的優(yōu)缺點(diǎn):
·優(yōu)點(diǎn):轉(zhuǎn)發(fā)性能比NP、X86高;
·缺點(diǎn):功能固化,新建連接的速率低,無(wú)法支持高級(jí)安全特性。
多核(Multicore)架構(gòu)是目前最新的高性能安全網(wǎng)關(guān)解決方案。所謂多核架構(gòu),是指以多核處理器為轉(zhuǎn)發(fā)核心的安全網(wǎng)關(guān)設(shè)備。多核處理器大多基于MIPS64體系,在一個(gè)多核處理器中同時(shí)支持2~16個(gè)獨(dú)立構(gòu)架的CPU。同時(shí),多核處理器在開(kāi)發(fā)時(shí)即考慮到了用戶的應(yīng)用要求,主流多核處理器均集成了硬件加密、正則匹配等硬件協(xié)處理器和網(wǎng)絡(luò)應(yīng)用加速器,非常適合安全網(wǎng)關(guān)類(lèi)產(chǎn)品如防火墻、VPN、防病毒、入侵防御等設(shè)備采用。多核架構(gòu)的安全網(wǎng)關(guān)從技術(shù)角度來(lái)說(shuō)是相當(dāng)完美的:高吞吐量、會(huì)話建立速度高、硬件支持多種高級(jí)安全功能等。
多核架構(gòu)現(xiàn)有的不足就是開(kāi)發(fā)難度大。
總結(jié)多核架構(gòu)安全網(wǎng)關(guān)的優(yōu)缺點(diǎn):
·優(yōu)點(diǎn):轉(zhuǎn)發(fā)性能比NP、X86、ASIC高,具備足夠的靈活性,支持高級(jí)安全功能;
·缺點(diǎn):開(kāi)發(fā)難度大。
5 多核是最適合UTM的架構(gòu)
從前面的分析可以了解到每種硬件架構(gòu)的特點(diǎn),但對(duì)于UTM,哪種架構(gòu)更加合適,這需要有統(tǒng)一的衡量標(biāo)準(zhǔn)。性能與功能的矛盾是硬件平臺(tái)重點(diǎn)解決的問(wèn)題,因此暫時(shí)把開(kāi)發(fā)難度、研發(fā)投入等因素拋開(kāi),而從功能滿足的靈活性、性能表現(xiàn)兩個(gè)方面來(lái)對(duì)各種架構(gòu)進(jìn)行比較。將靈活性作為縱坐標(biāo),性能作為橫坐標(biāo),x86、NP、ASIC、多核等架構(gòu)的位置如圖2-2所示。
可以看出,x86架構(gòu)的靈活性很高,可以實(shí)現(xiàn)全面的應(yīng)用層安全功能,但性能低;NP架構(gòu)靈活性比較高,性能中等,不是UTM最佳的架構(gòu)平臺(tái);ASIC性能高,但靈活性低,無(wú)法實(shí)現(xiàn)全面的應(yīng)用層安全;多核靈活性高,性能也高,處于象限的右上角,最適合作為UTM的硬件平臺(tái)。
圖2-2 硬件架構(gòu)的比較
【編輯推薦】