關(guān) 閉

新聞中心

EEPW首頁 > 安全與國防 > 網(wǎng)絡(luò)處理器的發(fā)展及應(yīng)用

網(wǎng)絡(luò)處理器的發(fā)展及應(yīng)用

作者:北京郵電大學(xué)繼續(xù)教育學(xué)院,竇忠輝 時(shí)間:2003-07-14 來源:電子設(shè)計(jì)應(yīng)用 收藏
引言

我們所熟悉的通信網(wǎng)的基本結(jié)構(gòu)是由傳統(tǒng)的電路交換系統(tǒng)和基于分組的交換系統(tǒng)構(gòu)成,整個(gè)都是由一系列小的、傳輸和終端設(shè)備組成, 之間互通性差、可管理性不強(qiáng),網(wǎng)絡(luò)業(yè)務(wù)不靈活。隨著電子商務(wù)、多媒體業(yè)務(wù)和VoIP等業(yè)務(wù)的出現(xiàn)對(duì)帶寬的要求越來越高,同時(shí),對(duì)網(wǎng)絡(luò)業(yè)務(wù)流量的控制能力和網(wǎng)絡(luò)安全也提出了更高的要求。

為適應(yīng)這些網(wǎng)絡(luò)需求,當(dāng)今網(wǎng)絡(luò)正在向NGN(Next Generation Network)的方向發(fā)展,下一代網(wǎng)絡(luò)是可以提供包括話音,數(shù)據(jù)和多媒體等各種業(yè)務(wù)的綜合開放性網(wǎng)絡(luò)構(gòu)架,采用開放的網(wǎng)絡(luò)構(gòu)架體系、業(yè)務(wù)驅(qū)動(dòng)的網(wǎng)絡(luò)、基于統(tǒng)一協(xié)議的基于分組的網(wǎng)絡(luò)。這就要求各設(shè)備、芯片制造商開發(fā)生產(chǎn)出適應(yīng)性更強(qiáng)、功能更強(qiáng)大的相關(guān)設(shè)備以滿足網(wǎng)絡(luò)發(fā)展的需求。而具有可編程性、強(qiáng)大處理能力的網(wǎng)絡(luò)處理器NP(Network Processor)正是適合成為這些設(shè)備的核心功能單元。

網(wǎng)絡(luò)處理器的發(fā)展

網(wǎng)絡(luò)設(shè)備如路由器和交換機(jī)的體系結(jié)構(gòu)的發(fā)展基本上經(jīng)歷了基于通用處理器的體系結(jié)構(gòu)和基于ASIC、RISC的體系結(jié)構(gòu)兩個(gè)階段。

基于網(wǎng)絡(luò)處理器的體系結(jié)構(gòu)是在以上兩種體系結(jié)構(gòu)的基礎(chǔ)上,綜合了雙方優(yōu)點(diǎn)推出的一種新型的體系結(jié)構(gòu)。網(wǎng)絡(luò)處理器是一種可編程ASIC,不但可為系統(tǒng)提供類似ASIC的處理速度,而且可以提供類似通用處理器的靈活性。網(wǎng)絡(luò)處理器主要被用于處理線速(wire-speed)數(shù)據(jù),進(jìn)行協(xié)議分析和數(shù)據(jù)分類,位于物理接口處理器和交換架構(gòu)之間。

圖1 兩個(gè)網(wǎng)絡(luò)處理器擴(kuò)充的配置圖

網(wǎng)絡(luò)處理器的功能特性

網(wǎng)絡(luò)處理器具備完全的可編程能力,可以實(shí)現(xiàn)OSI網(wǎng)絡(luò)協(xié)議棧2~7層的處理,對(duì)諸如信元、分組數(shù)據(jù)流等多種協(xié)議數(shù)據(jù)類型的支持滿足了邊緣設(shè)備的需要;同時(shí)簡(jiǎn)單高效的編程開發(fā)特征為網(wǎng)絡(luò)處理器走向市場(chǎng)奠定了基礎(chǔ);強(qiáng)大的處理能力可以實(shí)現(xiàn)高帶寬的線速處理;開放的高度集成的體系結(jié)構(gòu)使得基于網(wǎng)絡(luò)處理器的網(wǎng)絡(luò)設(shè)備易于系統(tǒng)擴(kuò)展。網(wǎng)絡(luò)處理器的主要任務(wù)是數(shù)據(jù)包的分析、處理及轉(zhuǎn)發(fā),因而其主要的功能包括以下幾部分:

協(xié)議識(shí)別和分類:根據(jù)數(shù)據(jù)包的協(xié)議類型、端口號(hào)、目的地址、以及其它特定于協(xié)議的信息對(duì)數(shù)據(jù)包進(jìn)行識(shí)別。

拆裝和重組:數(shù)據(jù)包的拆分,處理,以及為轉(zhuǎn)發(fā)而重組。

排隊(duì)和接入控制: 識(shí)別出數(shù)據(jù)包之后,將這些數(shù)據(jù)包送往相應(yīng)的隊(duì)列中以進(jìn)行下一步處理,如優(yōu)先處理,流量整形等。同時(shí),可根據(jù)某些安全接入策略進(jìn)行數(shù)據(jù)包過濾,確定是繼續(xù)轉(zhuǎn)發(fā),還是丟棄。

流量整形和流量工程: 某些協(xié)議或應(yīng)用要求對(duì)流量進(jìn)行整形以使之在進(jìn)入輸出線或輸出光纖時(shí)滿足時(shí)延和時(shí)延抖動(dòng)的要求。

QoS(Quality of Service)和CoS(Class of Service):除了對(duì)數(shù)據(jù)包進(jìn)行流量整形外,數(shù)據(jù)包還可以被打上標(biāo)簽送往下一網(wǎng)絡(luò)節(jié)點(diǎn)進(jìn)行更加有效的處理。

修正數(shù)據(jù)包 :編輯數(shù)據(jù)包并添加額外的信息。

差錯(cuò)檢測(cè) :正確檢測(cè)來自數(shù)據(jù)鏈路層的有差錯(cuò)的數(shù)據(jù)包并能采取有效的處理措施。

網(wǎng)絡(luò)處理器的體系結(jié)構(gòu)

隨著Intel 和IBM等公司大舉進(jìn)入網(wǎng)絡(luò)處理器市場(chǎng),采用基于處理器體系結(jié)構(gòu)的網(wǎng)絡(luò)處理器得到迅速發(fā)展,下面以Intel和IBM公司推出的網(wǎng)絡(luò)處理器家族中主流產(chǎn)品作一簡(jiǎn)單介紹。

IXP1200網(wǎng)絡(luò)處理器是Intel 公司推出的互聯(lián)網(wǎng)交換架構(gòu)的網(wǎng)絡(luò)處理器之一,它由一個(gè)StrongARM處理器、六個(gè)微引擎(Microenginer)、存儲(chǔ)器接口和高速總線接口組成。IXP1200的主要功能模塊和體系結(jié)構(gòu)的主要特征:

并行處理器結(jié)構(gòu): StrongARM核和6個(gè)微引擎均為RISC處理器,并行工作,StrongARM核主要負(fù)責(zé)協(xié)議控制平面和上層應(yīng)用程序的處理,6個(gè)微引擎是32位的可編程RISC,有各自獨(dú)立的控制存儲(chǔ)器和局部寄存器,訪問外部資源(SRAM、SDRAM和IXBUS等)的機(jī)會(huì)均等,提供大于2倍外部帶寬的內(nèi)部總線帶寬。Intel 推出的微碼(Microcode)運(yùn)行在微引擎上,微碼的可重載性為系統(tǒng)升級(jí)提供了極大的方便。

硬件多線程 : 微碼指令的運(yùn)行采用5級(jí)流水線機(jī)制,同時(shí)考慮訪存延遲,為提高微引擎的利用效率,采用硬件多線程,即每個(gè)微引擎同時(shí)運(yùn)行4個(gè)線程,采用內(nèi)部線程通信機(jī)制實(shí)現(xiàn)線程同步,提高了系統(tǒng)效率。

分布式數(shù)據(jù)存儲(chǔ)和內(nèi)存組織優(yōu)化:IXP1200提供了多個(gè)存儲(chǔ)單元接口,利用專用的讀寫寄存器實(shí)現(xiàn)對(duì)SRAM和SDRAM的訪問,簡(jiǎn)化了編程模型,提高了存儲(chǔ)效率。同時(shí)SDRAM和SRAM均支持多個(gè)讀寫隊(duì)列進(jìn)行優(yōu)先級(jí)排隊(duì)以優(yōu)化帶寬。

可擴(kuò)充的體系結(jié)構(gòu):IXP1200的IXBUS總線接口可以實(shí)現(xiàn)多個(gè)IXP1200的系統(tǒng)擴(kuò)充。

Ixp1200網(wǎng)絡(luò)處理器提供了適應(yīng)下一代網(wǎng)絡(luò)設(shè)備的開放的體系機(jī)構(gòu),IX BUS總線不僅作為數(shù)據(jù)通道外接Ethernet MAC 、ATM、E1 等器件,還可實(shí)現(xiàn)多個(gè)IXP1200的系統(tǒng)擴(kuò)展。

PCI標(biāo)準(zhǔn)接口為系統(tǒng)開發(fā)調(diào)試提供了方便。多種存儲(chǔ)器接口為內(nèi)部存儲(chǔ)訪問、數(shù)據(jù)表查找效率的提高提供了硬件基礎(chǔ)。

IBM公司在網(wǎng)絡(luò)處理器的開發(fā)上也推出了PowerNP 系列產(chǎn)品,如PowerNP 4GS3,能夠提供10/100 Ethernet、Gigabit Ethernet、POS等多個(gè)端口的連接,可以配置成40個(gè)10/100 Ethernet或者4個(gè)Gigabit 的端口,也可以配置成OC-48、4個(gè)OC-12端口,最高達(dá)到4Gbit的帶寬。IBM的網(wǎng)絡(luò)處理器同樣采用了基于處理器的結(jié)構(gòu),主要由以下幾部分組成:

EPC(Embedded Processor Complex)嵌入式處理器組:具備可編程能力的16個(gè)微處理器主要負(fù)責(zé)數(shù)據(jù)包的轉(zhuǎn)發(fā)處理。

入口EDS:對(duì)來自以太網(wǎng)物理層設(shè)備的幀進(jìn)行入隊(duì)、出隊(duì)和調(diào)度,送往交換組織。

出口EDS:對(duì)來自交換組織幀進(jìn)行入隊(duì)、出隊(duì)和調(diào)度,送往物理層設(shè)備。

入口和出口交換接口:完成中間交換或者與其他網(wǎng)絡(luò)處理器的內(nèi)部連接。

入口、出口PMM(Physical MAC Multiplexer):分別接收、發(fā)送來自Ethernet、POS物理層設(shè)備的幀。

嵌入式PowerPC:作為控制CPU,主要負(fù)責(zé)整個(gè)網(wǎng)絡(luò)處理器的管理和控制,同時(shí)負(fù)責(zé)協(xié)議幀的處理。

IBM網(wǎng)絡(luò)處理器同樣具有可擴(kuò)充能力,多個(gè)網(wǎng)絡(luò)處理器組成一個(gè)交換和路由系統(tǒng),實(shí)現(xiàn)2、3層直至更高層幀的線速轉(zhuǎn)發(fā)處理(見圖1)。

圖2 網(wǎng)絡(luò)硬件的功能框圖

網(wǎng)絡(luò)處理器的應(yīng)用

基于其強(qiáng)大功能,網(wǎng)絡(luò)處理器可以被用于實(shí)現(xiàn)從邊緣網(wǎng)絡(luò)至核心網(wǎng)絡(luò)的一系列應(yīng)用,如:

WAN/MAN 邊緣路由器;
多業(yè)務(wù)接入平臺(tái):支持IP、ATM和MPLS;
企業(yè)網(wǎng)骨干交換機(jī);
DSLAM和其他寬度應(yīng)用設(shè)備,如3G無線基站、CMTS;
VPN網(wǎng)管/路由器;
防火墻和安全路由器;
IP 吉比特/太比特路由器;
IPv6路由器。

從概念上來看,以上所有的應(yīng)用都是基于如圖2的體系結(jié)構(gòu),物理層把來自物理介質(zhì)的光、電信號(hào)轉(zhuǎn)換成一定格式的比特流幀,幀轉(zhuǎn)交到網(wǎng)絡(luò)處理器,網(wǎng)絡(luò)處理器通過兩條通道處理數(shù)據(jù)幀,快速通道,如數(shù)據(jù)通道或者轉(zhuǎn)發(fā)通道,實(shí)現(xiàn)線速處理轉(zhuǎn)發(fā)數(shù)據(jù)幀,這部分是由微引擎完成的;慢通道,如控制通道,完成小部分?jǐn)?shù)據(jù)幀(如控制、信令、路由幀)的處理,這是由通用微處理器完成的。在采用背板交換的網(wǎng)絡(luò)設(shè)備中,由交換背板完成系統(tǒng)擴(kuò)展和數(shù)據(jù)幀的交換。

下面以網(wǎng)絡(luò)處理器在IPv6核心路由器中的應(yīng)用作一探討。IPv6路由器和IPv4路由器相比,主要的區(qū)別在硬件和軟件的實(shí)現(xiàn)方面。硬件需要支持IPv6的網(wǎng)絡(luò)處理器,以及更快速和更高容量的CAM(根據(jù)內(nèi)容訪問的存儲(chǔ)器)存儲(chǔ)芯片,而這方面目前還缺乏成熟的產(chǎn)品。軟件方面需要對(duì)原有的協(xié)議棧進(jìn)行重新實(shí)現(xiàn),這將涉及大量的程序修改和編譯、調(diào)試工作,此外還需要增加一些新的協(xié)議和功能,如IDRP(域間路由協(xié)議)、即插即用支持、QoS的全面支持等。其中的難點(diǎn)和關(guān)鍵是網(wǎng)絡(luò)處理器。NPU在路由器中的角色相當(dāng)于CPU在PC中的角色,它專門為網(wǎng)絡(luò)處理量身定制,以線速處理和轉(zhuǎn)發(fā)每個(gè)數(shù)據(jù)包,并且具有可編程能力,因此可以隨技術(shù)的發(fā)展而進(jìn)行現(xiàn)場(chǎng)升級(jí)。

IBM網(wǎng)絡(luò)處理器同樣具有可擴(kuò)充能力,多個(gè)網(wǎng)絡(luò)處理器組成一個(gè)交換和路由系統(tǒng),實(shí)現(xiàn)2、3層直至更高層幀的線速轉(zhuǎn)發(fā)處理。圖2給出了兩個(gè)網(wǎng)絡(luò)處理器擴(kuò)充的配置圖,兩個(gè)網(wǎng)絡(luò)處理器之間擁有全雙工的快速通道,可以配置成提供80個(gè)10/100 Mbps以太網(wǎng)端口,或者是60個(gè)10/100 Mbps以太網(wǎng)端口加上2個(gè)千兆口,同樣也可配置成8個(gè)千兆口。

核心路由器主要有百兆、千兆線卡、交換背板、交換板和主控模塊板組成,從圖3中看出4個(gè)線卡支持96個(gè)10/100Mbps以太網(wǎng)口,一個(gè)千兆的線卡支持6個(gè)千兆以太網(wǎng)口,其中交換模塊通過背板直接和各個(gè)線卡相連,另外加上一個(gè)控制模塊。

其中百兆的交換線卡模塊主要有2個(gè)IXP1200構(gòu)成,其交換模塊為IXE2424,每個(gè)端口都有IPv6路由功能,千兆模塊主要有Intel第二代網(wǎng)絡(luò)處理器IXP2400構(gòu)成,其交換模塊為IXE5416。

圖3 IPv6核心路由器系統(tǒng)構(gòu)成圖

另外一個(gè)典型應(yīng)用是開發(fā)基于網(wǎng)絡(luò)處理器的防火墻,利用網(wǎng)絡(luò)處理器的可編程能力可以容易實(shí)現(xiàn)防火墻的數(shù)據(jù)包過濾、訪問控制、入侵檢測(cè)、地址轉(zhuǎn)換等功能,并且可以在同一硬件平臺(tái)上對(duì)軟件升級(jí)以滿足不同用戶的需要?;诰W(wǎng)絡(luò)處理器的防火墻是硬件防火墻,因此有線速處理能力。目前國外的廠商已經(jīng)推出了基于網(wǎng)絡(luò)處理器的防火墻產(chǎn)品,我們國內(nèi)的一些公司也正在加快這方面的開發(fā)與研究,相信很快就會(huì)有相應(yīng)的產(chǎn)品問世。

結(jié)語

網(wǎng)絡(luò)處理器通過十分靈活的體系結(jié)構(gòu)和強(qiáng)大的處理能力,將可編程能力和ASIC的處理能力有機(jī)的結(jié)合在一起,從而帶來更為智能的網(wǎng)絡(luò)設(shè)備、更短的產(chǎn)品研發(fā)周期以及更便捷的系統(tǒng)升級(jí)方式。各大廠商均推出了10Gbps的網(wǎng)絡(luò)處理器和其他的編程模型,40G 的網(wǎng)絡(luò)處理器正在逐步推向市場(chǎng)。網(wǎng)絡(luò)處理器論壇(Network Processing Forum, NPF)在公共交換接口協(xié)會(huì)和公共編程接口論壇的基礎(chǔ)上成立,加快了網(wǎng)絡(luò)處理器的發(fā)展步伐。在今后幾年里網(wǎng)絡(luò)處理器將迅速得以普及應(yīng)用,代表著下一代網(wǎng)絡(luò)設(shè)備的核心功能單元,將有著非常巨大的發(fā)展空間。

參考文獻(xiàn)
1 Intel,Inc. Intel IXP1200(r) HW Ref Maunel.2001.8
2 IBM Network Processor product overview.www.ibm.com
3 System Requirement for Terbit Router Mehrdad Nourani.2001 IEEE
4 Architectures for Network Processing Joseph Williams.2001 IEEE
5 Agere,Inc. White Paper: Challenge for Next Generation Network Processors. 1999.9
6 PMC Inc. White Paper A New Architecture of Switch and Router Design.1999.12



關(guān)鍵詞: 網(wǎng)絡(luò)

評(píng)論


相關(guān)推薦

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

關(guān)閉