NP技術(shù)在安全產(chǎn)品中的具體應(yīng)用

相關(guān)專題: 芯片

作者:為億陽(yáng)信通安全事業(yè)部技術(shù)人員 林福生

  近一兩年從國(guó)內(nèi)的安全廠商開始進(jìn)軍高端網(wǎng)絡(luò)安全市場(chǎng),NP這個(gè)名詞開始變得流行起來,不過雖然同是NP,但在技術(shù)細(xì)節(jié)上卻存在著很多不同的區(qū)分,這也直接影響到產(chǎn)品的性能和安全性,下面就讓我們NP以及NP的應(yīng)用,進(jìn)行一番剖析。

  NP即網(wǎng)絡(luò)處理器,即專門用于做網(wǎng)絡(luò)數(shù)據(jù)處理的芯片。網(wǎng)絡(luò)處理器在處理器家族中屬于專用處理器,即專門為了特殊應(yīng)用而設(shè)計(jì)的處理器,它有別于X86系列通用處理器。

  目前提供NP芯片的廠家也很多,基本上都符合NPF指定的規(guī)范,就目前國(guó)內(nèi)市場(chǎng)上應(yīng)用最為廣泛的是INTEL公司的IXPXXX系列芯片,包括IXP4XX、 IXP12XX、 IXP24XX 、IXP28XX等;

  IXP系列NP處理器從體系結(jié)構(gòu)上看基本上都一樣,都是由一個(gè)RISC處理器加一個(gè)微引擎構(gòu)成,RISC處理器主要用于控制微引擎的運(yùn)行,所以又稱為控制層面,微引擎完成對(duì)網(wǎng)絡(luò)數(shù)據(jù)包的處理,以實(shí)現(xiàn)高性能,所以又稱為數(shù)據(jù)層面;不同IXP系列處理器主要是RISC的型號(hào)和主頻,以及微引擎的個(gè)數(shù)有所不同;具體的性能參考表一。IXP系列的體系架構(gòu)雖然相同,但是在性能上卻有天壤之別,NP系統(tǒng)是一個(gè)更先進(jìn)的系統(tǒng),但是一些低端的NP系統(tǒng)卻就像最原始的汽車,可能連X86架構(gòu)下的馬車都不如。

  下面就每一種NP芯片的具體特點(diǎn)及應(yīng)用作一下詳細(xì)論述。

  - IXP4xx

  IXP4xx的市場(chǎng)定位主要在中低端市場(chǎng),因此使用基于IXP4xx芯片做出的網(wǎng)絡(luò)安全產(chǎn)品也主要定位在中低端市場(chǎng)中,特別需要注意的是,IXP425內(nèi)嵌了一個(gè)加密引擎,支持一些公開的密碼算法,如:3DES、AES、MD5、SHA1;因此大量安全產(chǎn)商使用基于這種芯片的板卡做出低端的VPN/FW;不過4xx系列芯片產(chǎn)品存在一個(gè)致命缺陷,由于不能進(jìn)行微碼編程,而Intel預(yù)置的微碼又沒有完成FW/VPN的處理,因此產(chǎn)商在開發(fā)FW/VPN功能的時(shí)候,實(shí)際上對(duì)IP報(bào)文的處理是通過533Mhz的Xscale來處理的,因而在性能上比基于X86架構(gòu)的安全產(chǎn)品性能上不會(huì)有太大變化,這可能也是一些國(guó)內(nèi)廠商采取變產(chǎn)品不變價(jià)格的策略的原因。

  另外需要特別注意的是,使用這種芯片開發(fā)出來的網(wǎng)絡(luò)安全設(shè)備,不是每個(gè)網(wǎng)絡(luò)接口都是快速的。IXP4XX通過ME實(shí)現(xiàn)的Ethernet MAC只有兩個(gè)NPE A 和NPE B,一般板卡設(shè)計(jì)產(chǎn)商都會(huì)通過PCI Bridge擴(kuò)展多個(gè)以太網(wǎng)口。從性能上考量,只有通過NPEA/NEPB的接口是比較快的,而通過PCIBridge擴(kuò)展出來的網(wǎng)絡(luò)接口性能相對(duì)來說就比較低了;由于IXP4XX的結(jié)構(gòu)設(shè)計(jì)約束,在任何兩個(gè)網(wǎng)絡(luò)接口之間通信都必須通過Xscale進(jìn)行交換(包括TCP/IP處理),,正是由于了這個(gè)限制,基于IXP4XX開發(fā)網(wǎng)絡(luò)安全設(shè)備本質(zhì)上不會(huì)比基于X86開發(fā)的網(wǎng)絡(luò)安全設(shè)備在性能上有所提高,有的時(shí)候反而會(huì)更低;

  - IXP12XX

  IXP從12XX系列開始已經(jīng)可以讓軟件開發(fā)人員根據(jù)不同的應(yīng)用定制微引擎上的微碼,以實(shí)現(xiàn)不同的功能,不過由于IXP12XX其微引擎只有6個(gè),每個(gè)微引擎上可以存儲(chǔ)條2k*32位的指令,12XX 系列NP只能用來做簡(jiǎn)單的包轉(zhuǎn)發(fā)處理和QOS處理,至于用作較為復(fù)雜的防火墻處理,就顯得力不從心了,因此在國(guó)內(nèi)使用12XX系列做出的防火墻性能都不高,要不就是功能十分簡(jiǎn)單;

  -IXP24XX

  從2003年開始,Intel公司推出了IXP24XX系列的網(wǎng)絡(luò)處理器,這款網(wǎng)絡(luò)處理器比12XX系列的網(wǎng)絡(luò)處理器在性能上有了質(zhì)的變化;同時(shí)基于IXP24XX系列的板卡設(shè)計(jì)上也復(fù)雜了很多;

  目前國(guó)內(nèi)很多安全產(chǎn)商開始使用基于這款芯片的板卡來設(shè)計(jì)網(wǎng)絡(luò)安全設(shè)備,如防火墻,IDS;但是使用一個(gè)IXP2400是否可以做到千兆線速的防火墻呢?讓我們看一下下面這張表

  參考自Intel? Internet Exchange Architecture Software Building Blocks Applications

  

Line rate for 4 Gig ports

4 Gigabits/sec

Min Ethernet packet size

64 bytes (+ 20 byte inter packet gap)

Packet throughput for minimum packets

5.95 million packets/sec = (4 / (84*8)) * (10**9)

IXP2400 clock frequency

600 MHZ

Inter-packet arrival time for minimum packets

600/5.95 = 100.84 cycles

Compute cycles per packet for a single microengine

100

Compute cycles per packet for n microengines in

parallel

100*n

Latency per packet for a context pipe single microengine

100 * 8

Latency per packet for n microengines in parallel

100*8*n

  以上我們可以看出如果使用一個(gè)IXP2400來做4個(gè)千兆口的線速,那么對(duì)于每個(gè)IP包的處理理論上不可以超過100*8*n,這還是理想情況下,也就是讓微引擎處于絕對(duì)運(yùn)行狀態(tài),而不是等待狀態(tài)。實(shí)際上這是很難做到的,因?yàn)槲⒁嬖谠L問內(nèi)存的、使用寄存器、訪問外圍器件的時(shí)候,雖然只要一個(gè)指令,但是一般都有延時(shí),多的可能達(dá)到100多個(gè)Cycles,如訪問DRAM。根據(jù)經(jīng)驗(yàn),一般微引擎的利用率都在80%以下;

  處理一個(gè)IP報(bào)文的過程是非常復(fù)雜的,一般都需要10K個(gè)Cycles以上才能完成處理,另外如果應(yīng)用復(fù)雜的話,如防火墻應(yīng)用中,還要兼顧分片報(bào)文重組,NAT,QOS,ARP處理,深度檢測(cè)等,這些功能加上去后,處理的時(shí)間就會(huì)大大增加;因此使用單2400做出的防火墻可能在單純包轉(zhuǎn)發(fā)上到達(dá)線速,但是用戶并不時(shí)將一個(gè)防火墻當(dāng)作路由器來用,而是需要它完成一系列安全處理功能,因此只要把包過濾、NAT、抗DOS攻擊、抗蠕蟲攻擊等功能加上后,性能就會(huì)成倍的下降;目前據(jù)了解,2004年開始,推出的高端防火墻基本上都采用基于IXP24XX芯片的板卡;

  也許有人會(huì)問,為什么不推出使用雙IXP2400或者多個(gè)IXP2400的板卡呢,從上面那個(gè)表可以看出,使用了雙2400的設(shè)計(jì)后,對(duì)微碼開發(fā)來說,提高了N的值,也就是說允許處理一個(gè)IP報(bào)文所使用的Cycles增加了,但是,我們卻很難看到市場(chǎng)上有人使用雙2400開發(fā)的安全設(shè)備,主要原因是什么呢?由于一個(gè)IXP2800的性能要比兩個(gè)IXP2400的性能要高,但價(jià)格確更便宜,而且雙IXP2400的板卡設(shè)計(jì)要比單IXP2400/單IXP2800的板卡設(shè)計(jì)要復(fù)雜的多,所以考慮投入和產(chǎn)出,一般的NP板卡設(shè)計(jì)產(chǎn)商都不愿意投入去研發(fā)基于雙2400的板卡;同時(shí),使用兩個(gè)IXP2400進(jìn)行處理并不是就意味著1+1=2,因?yàn)椋趦蓚(gè)IXP2400同時(shí)做處理的時(shí)候,需要進(jìn)行數(shù)據(jù)交換,這也會(huì)耗去IXP2400的性能。這也是國(guó)內(nèi)到現(xiàn)在也無法看到雙2400設(shè)計(jì)的板卡的原因;

  -IXP28XX

  IXP28XX的NP處理器從性能上比IXP24XX的性能又增加了很大;單從芯片的性能指標(biāo)上看,IXP28XX比IXP24XX更有可能做出千兆線速的網(wǎng)絡(luò)安全設(shè)備;但是目前還沒有一家NP板卡廠商能夠推出基于IXP2800的板卡,可能是由于IXP2800板卡的設(shè)計(jì)要比IXP2400板卡設(shè)計(jì)要更加復(fù)雜;不過IXP2800應(yīng)該是高端防火墻的應(yīng)用方向讓我們期待著IXP28XX系列板卡的出現(xiàn)吧。

  - 附錄

  

型號(hào)

代表

RISC

微引擎

備注

每個(gè)ME的指令空間

微引擎?zhèn)數(shù)

頻率

每個(gè)ME的線程數(shù)

可編程能力

 

IXP4XX

IXP425

533Mhz的Xscale

N/A

3個(gè)

N/A

N/A

不可編程

1. Wan/Voice NPE

2. Ethernet NPE A(Ethernet MAC)

3. Ethernet NPE B(Ethernet MAC)SHA-1/MD5/DES/3DES/AES

IXP12XX

IXP1200

200Mhz StrongARM

2K x 32-bit

6個(gè)

200MHz

4

可以編程

N/A

IXP24XX

IXP2400

600Mhz的Xscale

4K x 40-bit

8個(gè)

600Mhz

8

可以編程

N/A

IXP28XX

IXP2800

700Mhz的Xscale

8K x 40-bit

16個(gè)

1400Mhz

8

可以編程

N/A

  由CHINA通信網(wǎng)組稿


微信掃描分享本文到朋友圈
掃碼關(guān)注5G通信官方公眾號(hào),免費(fèi)領(lǐng)取以下5G精品資料
  • 1、回復(fù)“YD5GAI”免費(fèi)領(lǐng)取《中國(guó)移動(dòng):5G網(wǎng)絡(luò)AI應(yīng)用典型場(chǎng)景技術(shù)解決方案白皮書
  • 2、回復(fù)“5G6G”免費(fèi)領(lǐng)取《5G_6G毫米波測(cè)試技術(shù)白皮書-2022_03-21
  • 3、回復(fù)“YD6G”免費(fèi)領(lǐng)取《中國(guó)移動(dòng):6G至簡(jiǎn)無線接入網(wǎng)白皮書
  • 4、回復(fù)“LTBPS”免費(fèi)領(lǐng)取《《中國(guó)聯(lián)通5G終端白皮書》
  • 5、回復(fù)“ZGDX”免費(fèi)領(lǐng)取《中國(guó)電信5GNTN技術(shù)白皮書
  • 6、回復(fù)“TXSB”免費(fèi)領(lǐng)取《通信設(shè)備安裝工程施工工藝圖解
  • 7、回復(fù)“YDSL”免費(fèi)領(lǐng)取《中國(guó)移動(dòng)算力并網(wǎng)白皮書
  • 8、回復(fù)“5GX3”免費(fèi)領(lǐng)取《R1623501-g605G的系統(tǒng)架構(gòu)1
  • 本周熱點(diǎn)本月熱點(diǎn)

     

      最熱通信招聘

    業(yè)界最新資訊


      最新招聘信息