下一代網(wǎng)絡設備核心單元-網(wǎng)絡處理器應用研究
——
關鍵詞:網(wǎng)絡處理器 體系結構 網(wǎng)絡設備 數(shù)據(jù)分組 網(wǎng)絡協(xié)議
網(wǎng)絡高速發(fā)展,對下一代網(wǎng)絡設備提出以下要求:具有優(yōu)異性能,支持高速分組處理;具有高度靈活性,支持不斷變換高層網(wǎng)絡服務。傳統(tǒng)的基于GPP(General Purpose Processor)的網(wǎng)絡設備只滿足靈活性要求;基于ASIC(Application Specific Integrated Circuit)的網(wǎng)絡設備只滿足高性能要求;網(wǎng)絡處理器能夠通過靈活的軟件體系提供硬件級的處理性能,基于NP(Network Processor)的網(wǎng)絡設備具有高性能和靈活性。
1 網(wǎng)絡處理器產(chǎn)生技術需求
以網(wǎng)絡設備核心部件更新為標志,網(wǎng)絡設備體系結構發(fā)展經(jīng)歷了三個階段:
(1)以GPP為核心的網(wǎng)絡設備體系結構
在網(wǎng)絡發(fā)展早期,網(wǎng)絡傳輸速率低,服務少,研究集中在服務框架構建和網(wǎng)絡協(xié)議實現(xiàn)。設備以GPP為核心,在通用操作系統(tǒng)基礎上,以軟件方式實現(xiàn)各種網(wǎng)絡服務。目前許多邊緣設備:如防火墻、VPN設備、VOIP設備,還在采用這種通用處理器+通用操作系統(tǒng)+專用網(wǎng)絡服務軟件的體系結構。其優(yōu)點是靈活性好,缺點是性能處理差。這種結構為支持各種復雜運算,采用通用體系結構和指令集,其通用性導致網(wǎng)絡性能處理差。
(2)以ASIC/RISC為核心的網(wǎng)絡設備體系結構
隨著網(wǎng)絡帶寬的增長速度遠大于通用計算機處理的增長速度,網(wǎng)絡瓶頸變成基于GPP的節(jié)點設備。采用基于ASIC和RISC(reduced instruct set compute)為核心的體系結構成為主流,尤其是骨干設備的設計。為獲取高性能,通常由RISC負責非實時管理,ASIC負責高速數(shù)據(jù)處理。這種結構缺點是開發(fā)周期長,缺乏靈活性。ASIC不具備可編程性,一旦將計算邏輯固化到硬件,很難修改。設計制造復雜ASIC需要花費18個月到兩年時間,設備制造商必須準確預測未來的市場需求和技術趨勢。
(3)以NP為核心的網(wǎng)絡設備體系結構
在新信息技術、用戶需求、市場競爭三駕馬車牽引下,未來網(wǎng)絡需求出現(xiàn)新特點,主要集中在以下三方面:(1)高性能壓力依舊存在:按照摩爾定律,電處理器處理速度每18個月增加一倍;但隨著DWDM等光纖技術在主干網(wǎng)絡的廣泛應用,每12個月光纖鏈路容量就增加一倍。因此以電處理器為核心的路由器仍然是網(wǎng)絡發(fā)展瓶頸。在低廉光處理技術出現(xiàn)之前,需要充分挖掘現(xiàn)有電處理技術。(2)靈活性要求更為迫切:Internet的爆炸性增長,數(shù)據(jù)通信市場的瞬息萬變,使得服務提供商和設備提供商面臨流量增加、用戶增多的嚴峻挑戰(zhàn),面臨根據(jù)用戶復雜多變要求,快速提供、部署不同服務的市場挑戰(zhàn)。服務提供商希望設備提供商提供保護已有巨額投資的平滑升級解決方案。面對這些挑戰(zhàn),只有采用靈活性好,開發(fā)成本低,周期短,可持續(xù)性網(wǎng)絡開發(fā)技術,才能在未來市場占據(jù)先機。(3)高層細化處理更為關鍵:網(wǎng)絡應用范圍不斷擴大、新型業(yè)務不斷涌現(xiàn),導致新協(xié)議不斷出現(xiàn),對服務質(zhì)量和安全性能的要求越來越高。核心問題在于:設備能夠在網(wǎng)絡2~7層上對高速數(shù)據(jù)流進行細化分組分類處理,而不僅是在網(wǎng)絡2~3層上進行數(shù)據(jù)流的簡單存儲轉(zhuǎn)發(fā)處理。數(shù)據(jù)分組處理涉及層次越多,系統(tǒng)資源負荷開銷就越大。
在高速數(shù)據(jù)流高層細化處理背景下,NP技術為下一代網(wǎng)絡的核心技術。其特點是:NP針對數(shù)據(jù)分組處理,采用優(yōu)化體系結構、專用指令集、硬件單元,滿足高速數(shù)據(jù)分組線速處理要求;具有軟件編程能力,能夠迅速實現(xiàn)新的標準、服務、應用,滿足網(wǎng)絡業(yè)務復雜多樣化需求,靈活性好;設備具有軟件升級能力,滿足用戶設備硬件投資保護需求。此外為縮短設備提供商的產(chǎn)品研制周期,NP廠商通常會提供配套硬件評估板和規(guī)范軟件應用范例。
2 網(wǎng)絡處理器概念
網(wǎng)絡處理器是面向網(wǎng)絡應用領域的應用特定指令處理器,是面向數(shù)據(jù)分組處理的、具有體系結構特征和/或特定電路的、軟件可編程器件。通過靈活的軟件體系提供硬件級的處理性能是NP的關鍵特性[1]。
在以GPP和ASIC/RSIC為核心的設備體系結構階段,對2~3層數(shù)據(jù)處理采用“存儲——轉(zhuǎn)發(fā)”數(shù)據(jù)分組處理模式。隨著網(wǎng)絡發(fā)展,需要對2~7層的數(shù)據(jù)分組采用“存儲——處理——轉(zhuǎn)發(fā)”數(shù)據(jù)分組處理模式才能實現(xiàn)復雜的QOS、安全控制、負載均衡等功能模塊。NP的出現(xiàn),標志著設備對數(shù)據(jù)分組的處理能力從低層粗放式處理過渡到高層細化處理。
3 網(wǎng)絡應用處理基本操作
在對ATM、VLAN、MPLS、IPv4、IPv6、IPSec、UDP、TCP、NAT、Web交換、QOS協(xié)議等多種協(xié)議和應用的分析基礎上,參考文獻[1]歸納對單個數(shù)據(jù)分組處理的六種基本操作:(1)模式匹配:對分組字段的比特進行匹配。輸入為需要匹配值和分組字段值,輸出為某個確定邏輯值。(2)檢索:根據(jù)某個關鍵字查找數(shù)據(jù)。通常與模式匹配聯(lián)合使用,用于查找表中的某個特定數(shù)據(jù)項。數(shù)據(jù)結構和算法取決于關鍵字的大小和需要搜索的類型(一對一或一對多)。(3)計算:對不同協(xié)議,數(shù)據(jù)分組的計算處理差異很大。如:IPSEC中需要對整個分組進行加密、解密、鑒別等計算;而多數(shù)協(xié)議都要求進行CRC效驗計算。(4)數(shù)據(jù)處理:對分組報頭的修改便視為數(shù)據(jù)處理。如:數(shù)據(jù)分組的分割、重組;IPV4中的TTL字段每跳減一修改。(5)隊列管理:對進出的協(xié)議數(shù)據(jù)單元進行存儲和出入管理。負責實現(xiàn)數(shù)據(jù)報文在分組分割/重組的存儲操作,以及與QOS相關的流量整形和流量工程策略。(6)控制處理:通常涉及不需要線速執(zhí)行的管理任務,如:異常處理、表更新、統(tǒng)計數(shù)據(jù)匯總等。
通過繼承ASIC和RISC分層處理合理思想,NP將網(wǎng)絡處理任務劃分為控制面和數(shù)據(jù)面兩個層次:控制面負責非實時性的管理和策略控制任務,數(shù)據(jù)面負責承載高速多變的數(shù)據(jù)分組處理。目前NP主要任務是進行數(shù)據(jù)分組的線速分析、處理及轉(zhuǎn)發(fā),通過上述六種基本操作組合,實現(xiàn)以下功能:協(xié)議識別/分類、數(shù)據(jù)包拆分/重組、排隊/接入控制、流量整形/流量工程、數(shù)據(jù)包修正、差錯檢測。隨著SOC技術發(fā)展,NP將集成更多設備級功能。
4 網(wǎng)絡處理器體系結構簡介
4.1 Intel公司IXP1200網(wǎng)絡處理器介紹
IXP1200系列是Intel公司IXA架構的核心產(chǎn)品,組成如下:1個主頻最高可達232MHz的處理核心StrongARM;6個RISC結構的可編程微引擎,每個微引擎又包含4個硬件線程;64位IX Bus;32位的SRAM接口單元,工作頻率為核心頻率的一半;64位的SDRAM接口單元,工作頻率為核心頻率的一半;32位PCI總線接口單元,最高66MHz。
主要特點為:
(1)并行處理:六個微引擎和一個StrongARM構成IXP1200的計算資源,共享相同資源,包括:SDRAM,SRAM,PCI,IX Bus等。微引擎和StrongARM均為RISC處理器,并行工作。StrongARM負責協(xié)議控制層面任務和微引擎管理。微引擎負責數(shù)據(jù)層面的高速數(shù)據(jù)分組處理,通過對六個微引擎/24個硬件線程分配不同功能的微碼程序,可以實現(xiàn)網(wǎng)絡負荷的動態(tài)/靜態(tài)調(diào)配。微碼程序的可重載性為系統(tǒng)軟件升級提供了極大方便。
(2)分布式數(shù)據(jù)存儲結構:每個微引擎獨立使用256個32位寄存器。其中128個寄存器是傳送寄存器集。每個微引擎將數(shù)據(jù)載入自己的傳送寄存器集,對傳送寄存器集進行操作,然后通過傳送寄存器集寫到數(shù)據(jù)目的地。數(shù)據(jù)載入傳送寄存器集后,微引擎可在單指令周期完成訪問。
(3)硬件多線程:每個微引擎有4個編程計算器,支持4個硬件線程。每個線程可以執(zhí)行相同或不同的微碼程序,采用內(nèi)部線程通信機制實現(xiàn)線程同步,提高系統(tǒng)效率。微碼指令采用5級流水線機制,執(zhí)行周期為1個時鐘周期。
(4)主動內(nèi)存管理:SDRAM和SRAM支持多個讀寫隊列進行優(yōu)先級排隊以優(yōu)化帶寬。允許StrongARM和6個微引擎/24個線程同時提交對內(nèi)存單元的讀寫請求,內(nèi)存單元根據(jù)特定優(yōu)化指令對讀寫請求硬件優(yōu)先級排隊。用戶可自定義內(nèi)存管理優(yōu)化策略。
(5)多層并發(fā)性:通過多個獨立數(shù)據(jù)總線和控制總線,可以實現(xiàn)數(shù)據(jù)并發(fā)移動:SDRAM單元和微引擎或IX BUS單元之間的雙向同時讀寫;SRAM單元和微引擎或IX BUS單元之間的雙向同時讀寫;SDRAM單元和PCI單元之間讀寫;IX BUS單元和微引擎之間讀寫。
(6)塊數(shù)據(jù)移動:每個微引擎分配很大的寄存器集,單個指令就可以實現(xiàn)功能單元之間64個字節(jié)的數(shù)據(jù)塊移動,和功能單元與IX BUS之間128個字節(jié)的數(shù)據(jù)塊移動。塊數(shù)據(jù)移動在充分利用微引擎計算資源的同時,還可以減小微碼程序規(guī)模。
(7)可擴展性:多個IXP1200處理器可以通過IX BUS總線互聯(lián),從而有效增加處理系統(tǒng)處理能力和數(shù)據(jù)帶寬;ATM、E1/T1、Ethernet MAC等數(shù)據(jù)接口可以通過IX BUS總線接入IXP1200;微引擎的微碼程序存儲空間具有可擴展性。
4.2 IBM公司NP4GS3網(wǎng)絡處理器介紹
NP4GS3網(wǎng)絡處理器是IBM PowerNP網(wǎng)絡處理器家族的高端產(chǎn)品,支持2.5Gbps的網(wǎng)絡應用,由以下模塊組成:(1)EPC:嵌入式處理器組是NP核心部件,包含16個協(xié)議處理器,可同時執(zhí)行32個線程,具有并行處理32個數(shù)據(jù)分組的能力。為提高性能,采用硬件加速器實現(xiàn)樹搜索、幀轉(zhuǎn)發(fā)、幀過濾、CRC計算及其他功能。(2)Embedded PowerPC:負責NP非實時管理控制,包括特殊幀處理、配置、盒管理和高層協(xié)議處理。同時集成PCI接口,可以滿足用戶集成其他新器件的需求。(3)Ingress EDS:對來自物理層設備的數(shù)據(jù)分組進行入隊、出隊、調(diào)度,然后送到交換組織。(4)Egress EDS:對來自交換組織的數(shù)據(jù)分組進行入隊、出隊、調(diào)度,然后送到物理層設備。(5)Ingress SWI:將數(shù)據(jù)分組從Ingress EDS傳送到交換組織或其他的NP4GS3。(6)Egress SWI:將數(shù)據(jù)分組從交換組織或其他的 NP4GS3傳送到Ingress EDS。(7)Ingress PMM:接收來自物理層設備的數(shù)據(jù)分組。(8)Egress PMM:將數(shù)據(jù)分組發(fā)送到物理層設備。
NP4GS3網(wǎng)絡處理器支持40個10/100Mb以太網(wǎng)端口和4個 Gigabit 以太網(wǎng)端口,可配置成4個OC-12 POS,16個OC-3 POS或鏈接聚合POS端口。處理器具有擴展能力,可由多達64個的NP4GS3組成交換組織,實現(xiàn)2層、3層甚至更高層數(shù)據(jù)分組的線速轉(zhuǎn)發(fā)處理。
4.3 網(wǎng)絡處理器體系結構特點
上述兩種NP的體系結構具有以下共同特點:(1)多內(nèi)核并行處理器:采用多內(nèi)核并行處理器結構。片內(nèi)處理器按任務分為核心處理器和數(shù)據(jù)分組協(xié)處理器。核心處理器通常負責非實時的管理任務;數(shù)據(jù)分組處理器進行實時、線速數(shù)據(jù)分組處理。(2)專用硬件加速處理單元:采用專用硬件對特定協(xié)議操作進行協(xié)處理:如CRC效驗、哈希查找、樹查找、字符匹配。針對安全產(chǎn)品,提供加/解密、大數(shù)運算等硬件單元。(3)優(yōu)化指令集:通常采用RISC技術,結合多級流水線技術,大部分指令在一個時鐘周期完成。并針對網(wǎng)絡協(xié)議處理特點,設置專用硬件加速處理單元,提供專用指令如壓縮指令、哈希查找、狀態(tài)判斷、數(shù)據(jù)讀寫指令。(4)優(yōu)化內(nèi)存管理和分級存儲器組織:NP需要進行大量的數(shù)據(jù)分組的接收、存儲、復制、轉(zhuǎn)發(fā),內(nèi)存操作成為系統(tǒng)開銷的一大瓶頸。為了解決這個問題,通常采用塊數(shù)據(jù)運動技術和特殊的優(yōu)化存儲接口。同時對數(shù)據(jù)進行分類存儲:SRAM用于存放需要快速查找的各種表結構;SDRAM用于存放數(shù)據(jù)分組數(shù)據(jù)。(5)硬件多線程:為了提高NP資源利用率,每個數(shù)據(jù)分組協(xié)處理器還支持多個硬件線程。每個線程都有一套專門的硬件來存放上下文(Context),可獲得線程切換的零開銷。(6)高速I/O接口:具有豐富的高速I/O接口,包括物理鏈路接口、交換接口、存儲器接口、PCI總線接口。(7)可擴展性:多個NP之間還可以互連,構成網(wǎng)絡處理器簇,以支持更為大型高速的網(wǎng)絡處理。
5 網(wǎng)絡處理器產(chǎn)品現(xiàn)狀和應用前景
目前已有30個網(wǎng)絡處理器廠商完成超過500個的NP設計,產(chǎn)品主要面向2.5Gbps網(wǎng)絡應用和10Gbps網(wǎng)絡應用,40G的NP正在走向市場。面向2.5Gbps網(wǎng)絡應用的NP有:Vitesse公司的IQ2000和IQ2200,Motorola公司的C-5 DCP。面向10Gbps網(wǎng)絡應用和全部7層協(xié)議的NP有:Xstream Logic公司的動態(tài)多線程(DMS)處理器核,Ezchip公司的NP-1,Lexra公司的NetVortex,Bay Microsystems公司的BRECIS MSP5000。
網(wǎng)絡處理器廠家推出NP產(chǎn)品時,通常會推出配套硬件調(diào)試目標機評估板、NP開發(fā)軟件工具、操作系統(tǒng)。目前NP主要采用嵌入式操作系統(tǒng),如VxWorks、Linux等等,也有一些廠商提供專用操作系統(tǒng),如Princeton公司的Vera采用Scout OS操作系統(tǒng)。大部分NP有集成開發(fā)環(huán)境支持,能夠用C語言、匯編語言進行開發(fā),如:Intel的WorkBench集成開發(fā)環(huán)境,支持C語言和微代碼,具有圖形化界面,能夠進行硬件平臺軟件模擬調(diào)試,同時提供豐富的IP協(xié)議API、子程序、應用范例。
網(wǎng)絡處理器主要用于網(wǎng)絡接入、網(wǎng)絡骨干設備,開發(fā)從第2層到第7層的各種網(wǎng)絡服務和應用。在網(wǎng)絡接入設備中,支持各種新業(yè)務、服務安全接入,進行質(zhì)量控制,其中包括:提供VPN;入侵檢測、網(wǎng)絡監(jiān)控、防火墻等安全控制;進行分組分類,識別關鍵業(yè)務流,保證QOS;執(zhí)行協(xié)議轉(zhuǎn)換,支持多種傳輸媒體接入;記費和負載均衡等。在網(wǎng)絡骨干設備中,用于在OC-48 to OC-192甚至更高速率下實現(xiàn)聚合流的分類識別和轉(zhuǎn)發(fā),支持流量工程和QOS控制。并將傳統(tǒng)的網(wǎng)絡接入設備3層以上協(xié)議處理功能引入到核心網(wǎng)中,如對骨干網(wǎng)實施國家級的入侵檢測。
根據(jù)不同需求,可以采用NP靈活構造不同規(guī)模的處理平臺,如單個NP構成的小型單板設備;多個NP構成的中型單板設備;多個線卡通過交換組織構成多板大型設備。下面是已有的基于NP的應用范例:(1)高速路由交換設備:Cloudshield公司使用八個Intel的IXP1200構建的OC-48光速2~7層包服務器。ALCATEL使用IBM的POWERNP構建核心路由設備。Cisco公司基于Cisco PXF網(wǎng)絡處理器的邊緣路由器。(2)高速安全設備:清華紫光UF10000是基于兩個Intel的IXP1200網(wǎng)絡處理器陣列千兆防火墻。作為第三方軟件開發(fā)商,Deceng公司推出基于Intel的IXP2400的Snort千兆網(wǎng)絡入侵檢測系統(tǒng)軟件解決方案。IXP2850更是以面向10-Gbit/s的IPSEC VPN設備市場而引起安全設備生產(chǎn)廠商的高度注意。(3)骨干測試設備:骨干網(wǎng)絡從2.5Gbps到10Gbps,甚至是40Gbps的高速發(fā)展,給網(wǎng)絡性能測試同樣帶來挑戰(zhàn)?;贜P的下一代協(xié)議分析儀和性能測試儀成為趨勢。EMPIRIX公司使用MOTOROLA的C-5DCP,開發(fā)網(wǎng)絡參數(shù)模擬設備。(4)家庭網(wǎng)絡設備:下一代網(wǎng)絡的概念將從國家電信網(wǎng)、企業(yè)網(wǎng)擴展到家庭網(wǎng)絡、個人網(wǎng)絡。其中家庭網(wǎng)關是家庭網(wǎng)絡的核心設備,需要根據(jù)具體家庭用戶,快速、綜合實現(xiàn)各種服務:如安全訪問控制、VPN、視頻流QOS保障、網(wǎng)絡存儲、計費管理等。低端NP正好完全滿足家庭網(wǎng)關個性化、多變性、高性能要求特點。
此外,NP的開發(fā)、應用直接推動網(wǎng)絡處理器論壇(NPF)的成立。該論壇于2001年由公共交換接口協(xié)會CSIX和公共編程接口論壇CPIX兩個組織共同創(chuàng)建,CSIX制定NP與交換組織之間的標準硬件接口,CPIX制定NP開發(fā)標準軟件接口。NPF的成立,將進一步推動NP的發(fā)展,一方面將逐步結束目前各家NP硬件實現(xiàn)和軟件開發(fā)工具各不相同的局面,另一方面將形成一支龐大的第三方隊伍,分布在硬件組件、NP操作系統(tǒng)、開發(fā)工具、軟件應用等方面。
網(wǎng)絡處理器面向高速數(shù)據(jù)流的高層細化分組處理,通過對執(zhí)行環(huán)境、內(nèi)存、硬件加速器、總線結構、網(wǎng)絡應用開發(fā)接口的綜合優(yōu)化,具有靈活軟件體系提供硬件級處理性能的關鍵特性。以網(wǎng)絡處理器為核心的下一代網(wǎng)絡設備具備高性能和靈活性特點,較好滿足了未來網(wǎng)絡和市場對網(wǎng)絡設備的技術需求,具有巨大發(fā)展空間。
參考文獻
1 Niraj Shah. Understanding network processors.[MS.Thesis]. Berkeley: Department of Electrical Engineering and Com-puter Sciences,University of California, 2001
2 Intel Corp. Intel IXP1200 NetWork Processor Family Hardware Reference manual
3 IBM Corp. IBM PowerNP(tm) NP4GS3Network Processor Datesheet
4 D. Wetherall. Active network vision and reality:lessons from a capsule-based system. In Proceedings of the 17th ACM Symposium on Operating Systems Principles,December 1999
5 T. Wolf,J. S. Turner. Design issues for high performance active routers. IEEE Journal on Selected Areas of Commu-nication, 19(3):404~409, Mar. 2001
評論