摘要
因特網(wǎng)、企業(yè)網(wǎng)絡(luò)等網(wǎng)絡(luò)應(yīng)用的帶寬需求急劇上升,傳輸、檢查、拆分、組合、搜尋、內(nèi)容比對、轉(zhuǎn)遞等IP封包運算處理動作,以往可以靠軟件程序在一般X86微處理器上完成,搭配以網(wǎng)卡做封包出入口。
但是近年來這些封包的運算處理越來越復(fù)雜,將數(shù)據(jù)輸入處理單元,完成后再將結(jié)果送往輸出單元,慢速處理造成的時間延遲會嚴(yán)重影響到數(shù)據(jù)吞吐量,無法滿足Line
Rate Operation的需求。Intel 公司提供的網(wǎng)絡(luò)處理器系列產(chǎn)品專門用來解決這樣的問題,IXP-4XX屬于較低端的系列,本文則集中探討IXP-2XXX系列高端網(wǎng)絡(luò)處理器,文中將以IXP-2400處理器在凌華科技cPCI-6240系列產(chǎn)品的設(shè)計為例做出說明。
以下將先介紹IXP-2XXX處理器的功能特性,再探討處理器的平臺設(shè)計、應(yīng)用開發(fā),最后探討它在網(wǎng)絡(luò)安全領(lǐng)域的應(yīng)用,以入侵檢測系統(tǒng)為實例做出說明。
Intel IXP-2XXX 網(wǎng)絡(luò)處理器
Intel XP-2XXX系列網(wǎng)絡(luò)處理器大致包含:IXP-2400、IXP-2800及IXP-2850,請參考表一的性能差異。除此之外,Intel還考慮比照了IXP-42X系列的做法,高度整合MACs等功能模塊,建造優(yōu)異的性價比產(chǎn)品,使這一系列處理器的應(yīng)用更普及化。
 |
表一、IXP-2XXX系列比較表 |
全系列IXP-2XXX網(wǎng)絡(luò)處理器都可拆分為『控制管道』(Control
Plane)及『數(shù)據(jù)管道』(Data Plane)兩大部分。參考圖一 IXP-2400網(wǎng)絡(luò)處理器,它內(nèi)建一顆600MHz
32-bit XScale來負(fù)責(zé)Control Plane的處理工作,XScale執(zhí)行相當(dāng)?shù)讓拥目刂乒ぷ鳎ㄐ畔魉,還有跟系統(tǒng)內(nèi)其它處理器的溝通。Data
Plane則由內(nèi)建的八顆微處理引擎(Micro-Engine Version 2, MEv2)來做平行處理,MEv2是XScale精簡下來的
(Reduced) 可程序處理器,使用者可用Micro-Code匯編語言或是高端Micro-C語言撰寫應(yīng)用程序,透過指令告訴這八顆MEv2怎樣處理封包運算,以達(dá)到應(yīng)用目的。
 |
圖一:IXP-2400的外部接口 |
圖一是IXP-2400示意圖外觀,它有兩個信道的QDR
SRAM接口,存放重要的數(shù)據(jù)結(jié)構(gòu),比如:Route Tables, Free Buffer
Pools,F(xiàn)low State Tables,Queue Descriptors等等重要的訊息,其中一個信道還可以接一個協(xié)處理器,做TCP/IP封包比對時的內(nèi)存搜尋引擎,加速決定封包的協(xié)議屬性跟流向(Flow)。DDR
DRAM則用來儲存封包以及大量的State tables,另外C-bus接口可以連接第二個處理器,這是采用一進(jìn)一出架構(gòu)的雙處理器設(shè)計時用的。
另兩個重要接口,一個是64-bit/66MHz PCI
2.2接口,作為Control Plane連通的Bus,可以透過此接口外掛控制處理器,像是PrPMC控制卡;另一個是Flash界面,是存取RedBoot韌體的通道,Redboot相當(dāng)于X86系統(tǒng)的BIOS;媒體及切換接口(Media
and Switch Fabric Interface, MSF)是網(wǎng)絡(luò)封包進(jìn)出處理器的主要途徑,視應(yīng)用可以規(guī)劃為SPI-3、CSIX或是UTOPIA
Level2接口。
圖二是IXP-2400內(nèi)部示意圖,內(nèi)部的SHaC
是一個多功能控制單元,內(nèi)含Hash單元,可以建立48-,64-或是128-bit寬的 Hash
indices,XScale與MEv2可存取Hash來幫助Table的搜尋,特別是要搜尋的Keys很大時;第二個單元是16KB的Scratch
Pad memory,這是處理器內(nèi)第三個內(nèi)存資源,XScale與MEv2可共同存取,三種內(nèi)存資源可以讓海量存儲器存取同時間平行發(fā)生;第三個單元是Control
and Status Register (CSR),提供9顆個處理器(1 * XScale
+ 8* MEv2)互相之間溝通用途。
除此之外,還有 XScale 外圍,包含中斷控制器、Timers,
UART、GPIO等單元。在處理器內(nèi)部,XScale、MEv2、DRAM Controller、SRAM
Controller、T/R-Buffer之間透過 Chassis Bus,將 Data Plane
的路徑在處理器內(nèi)部連通起來,這些控制單元可以共享 SRAM、DRAM 等內(nèi)存資源做數(shù)據(jù)交換。
 |
圖二:IXP-2400功能單元及數(shù)據(jù)信道
(取材自Intel IXA架構(gòu)及應(yīng)用一書) |
網(wǎng)絡(luò)處理器的『平臺設(shè)計』、『應(yīng)用開發(fā)』
(一)
平臺規(guī)劃、開發(fā)
平臺規(guī)劃
設(shè)計IXP-2XXX平臺首先要先為產(chǎn)品做準(zhǔn)確的定位,定義平臺最終應(yīng)用、頻寬需求、封包處理效能等級。若是想一半接到ATM網(wǎng)絡(luò),則MSF接口有一半要規(guī)劃成Utopia
Level 2接口,連接的ASIC像是Intel IXF-6012/6048 Cell/Packet
Framer;若是要直接連IP網(wǎng)絡(luò),則MSF接口規(guī)劃成SPI-3或是CSIX,連接像Intel
IXF-1104 (Quad Giga-E MACs的ASIC);或是接FIC(Fabric
Interface Controller) 的ASIC。另外規(guī)劃時要全面考慮:Control
Plane的處理效能、是否外掛輔助處理器、開機(jī)影像文件下載速度;Data Plane則須考慮SRAM大小、DRAM資源使用、是否須加密功能
(IXP-2850有)、是否外掛網(wǎng)絡(luò)搜尋加速器、是否外掛內(nèi)容檢查加速器等、要多少個網(wǎng)絡(luò)接口。這些硬件規(guī)格要根據(jù)功能應(yīng)用,做整體效能評估才行,在開案初期要審慎評估。
平臺開發(fā)
包括硬件、韌體(Redboot)、系統(tǒng)支持套件(Board Supporting Package,
BSP),BSP內(nèi)含組件驅(qū)動程序。其中硬件設(shè)計跟一般X86運算平臺沒什么兩樣,記得要預(yù)留軟件除錯端口,就像X86-CPU的
ITP Port一樣;Redboot韌體則相當(dāng)于X86 BIOS,系統(tǒng)初始化、自我測試、Boot
Loader都包在Redboot內(nèi);Redboot及BSP可以通過Intel IXA SDK得到幫忙,建立以XScale為處理核心的操作系統(tǒng)平臺,最后這三大要素即可建立一個完整的網(wǎng)絡(luò)處理器平臺。
(二)
應(yīng)用程序開發(fā)
Intel 建立了IXA 軟件可攜式架構(gòu),讓今天花力氣辛辛苦苦在IXP-2400建立起來的軟件,明天在下一代IXP-2XXX仍然適用,而這個軟件架構(gòu)可以簡單用圖三表示。
應(yīng)用程序的開發(fā)也可以通過Intel IXA SDK得到幫忙,考慮到投資杠桿效應(yīng),Intel
IXA軟件程序架構(gòu)采模塊化,SDK提供一些基本的microblocks,開發(fā)者再開發(fā)自有的microblocks,將這些microblocks視為基礎(chǔ)組件(Building
Blocks),去組合實現(xiàn)實際的功能應(yīng)用,讓開發(fā)者的工作簡單化,也縮短TTM時間。
 |
圖三:Intel IXA 可攜式軟件架構(gòu)
(取材自Intel IXA架構(gòu)及應(yīng)用一書) |
網(wǎng)絡(luò)安全的需求
據(jù)統(tǒng)計,2000年企業(yè)及政府部門遭受黑客(Hacker)攻擊的比率高達(dá)85%,而網(wǎng)絡(luò)安全的漏洞不是防止黑客入侵就解決了,其它像是遭窺探者竊取機(jī)密性數(shù)據(jù),或是心懷不滿的員工蓄意破壞系統(tǒng)內(nèi)重要檔案,警覺性不足的員工外泄重要密碼、不小心由Email引入計算機(jī)病毒等,都是威脅網(wǎng)絡(luò)安全的幾個危險因素。
為了讓區(qū)域內(nèi)網(wǎng)絡(luò)維持安全運作,建立一套安全防護(hù)網(wǎng)才是根本解決之道,較完整的防衛(wèi)機(jī)制大概有三層:
(一)虛擬私有網(wǎng)絡(luò)(VPN)
(二)防火墻(Firewall)
(三)入侵檢測系統(tǒng)(Intrusion Detection System; IDS)。
三種應(yīng)用各有不同的系統(tǒng)規(guī)格需求,VPN 的系統(tǒng)需將信息全數(shù)打亂再丟到網(wǎng)絡(luò)上,透過加密機(jī)制在公開的網(wǎng)絡(luò)里建立起加密通道(Encrypted
Tunnel),接收端再解密取得真實信息,在浩瀚的因特網(wǎng)內(nèi)建立起安全私密的虛擬局域網(wǎng)絡(luò);Firewall則像大樓管理員,檢查來訪封包的通行許可證,包含檢查封包的來源、目的地、連接塊等字段,但是防火墻并沒有辦法擋掉所有的入侵者,此時就須要另一道防線IDS;IDS
就像網(wǎng)絡(luò)上的監(jiān)控攝影機(jī),可以分析流經(jīng)的封包數(shù)據(jù),偵測未經(jīng)授權(quán)的行為,IDS大致區(qū)分為「網(wǎng)絡(luò)系統(tǒng)」跟「主機(jī)系統(tǒng)」兩類;旧螴DS需求的系統(tǒng)處理能力可以涵蓋VPN及Firewall的需求,因此接下來我們就以較復(fù)雜的IDS為例做IXP-2400的應(yīng)用說明。
入侵檢測系統(tǒng)的應(yīng)用
圖四是采用IXP-2400為核心建立的IDS系統(tǒng)結(jié)構(gòu)圖,凌華采用IXP-2400內(nèi)建的XScale去控制管理Control
Plane的組件,內(nèi)建的八顆MicroEngine去收送處理封包的分類及內(nèi)容比對,處理Data
Plane的運算。IXP-2400的QDR SRAM通道0也叫做LA-1(Look Aside
Interface)接口,可以選擇接市面上現(xiàn)有的TCAM(Ternary Content Addressable
Memory) 輔助處理器,幫忙做第三層以下封包數(shù)據(jù)搜尋比對的工作,幫IXP-2400處理器卸載(offload)一些運算負(fù)擔(dān)。
 |
圖四 IXP-2400在網(wǎng)絡(luò)安全的應(yīng)用-『入侵偵測系統(tǒng)』方塊圖 |
 |
圖五 ADLINK cPCI-6240系列網(wǎng)絡(luò)安全平臺 |
網(wǎng)絡(luò)安全系統(tǒng)內(nèi)最關(guān)鍵性的功能可以說是封包表頭辨識(Classification)及內(nèi)容檢查(Content
Inspection),表頭辨識系針對其流向、連結(jié)、輸入端口及目的地址等做比對;內(nèi)容檢查則有復(fù)雜的算法,處理頻寬及內(nèi)存容量需求極高,很顯然內(nèi)容檢查即將是此系統(tǒng)非常嚴(yán)重的交通瓶頸所在,這個運算將耗用大量IXP-2400網(wǎng)絡(luò)處理器的運算資源。因此必須采用另一個處理器卸載此運算,有兩種方法可行,其一是如圖四:加入一顆個可程序內(nèi)容檢查引擎(Programmable
CIE, Content Inspection Engine),比如IDT PAX.port
2500 CIE;或是在封包經(jīng)網(wǎng)絡(luò)處理器集結(jié)成較大封包后,進(jìn)入一張專屬內(nèi)容檢查的高速運算服務(wù)器,比如ADLINK
cPCI-6860 Dual-Xeon Server Blade。加CIE的做法可以卸載95%
的MicroEngine資源使用量,刪除掉85%的MicroCode,同時削減75%內(nèi)存頻寬使用量,成本可大大節(jié)省,TTM(Time
to Market)時間可以顯著縮減。加一張專屬服務(wù)器則維持舊有軟件延續(xù)使用,節(jié)省軟件開發(fā)的時間及人力成本,兩者各有優(yōu)點,但是CIE是純硬件運算所以效率較好,長期來看應(yīng)會成為較受歡迎的選擇。
結(jié)論
網(wǎng)絡(luò)處理器的時代已經(jīng)來臨,它可以有效解決網(wǎng)絡(luò)交通擁塞的問題,也可以處理復(fù)雜的封包運算。無論如何,Inetel
IXA架構(gòu)已經(jīng)正確的跨出第一步,接下來就須要更多的平臺設(shè)計者投入開發(fā)工作,以及更多的應(yīng)用開發(fā)者投入資源,發(fā)展軟件程序,逐步建立完整的可攜式Microblocks。網(wǎng)絡(luò)興起、帶寬加速拓展,使整個網(wǎng)絡(luò)通訊的市場板塊不斷的在調(diào)整、挪動,凌華科技與Intel合作,共同推廣IXP-2XXX網(wǎng)絡(luò)處理器的應(yīng)用,希望能有拋磚引玉之效。
|