新聞中心

EEPW首頁(yè) > 手機(jī)與無(wú)線通信 > 設(shè)計(jì)應(yīng)用 > 基于網(wǎng)絡(luò)處理器的彈性分組環(huán)接入實(shí)現(xiàn)

基于網(wǎng)絡(luò)處理器的彈性分組環(huán)接入實(shí)現(xiàn)

作者: 時(shí)間:2007-08-03 來(lái)源:網(wǎng)絡(luò) 收藏
摘要環(huán)技術(shù)是一種面向城域網(wǎng)的技術(shù)。在分析了的優(yōu)點(diǎn)之后,提出了一種環(huán)方案,利用IXP1200了以太網(wǎng)和環(huán)的接口轉(zhuǎn)換,并討論了方案的軟硬件協(xié)同設(shè)計(jì)方法。
關(guān)鍵詞;IXP1200;彈性分組環(huán);POS

1 引言

城域網(wǎng)存在的主要問(wèn)題是帶寬和QoS的問(wèn)題,隨著局域網(wǎng)和廣域網(wǎng)技術(shù)的長(zhǎng)足發(fā)展,城域網(wǎng)已成為整個(gè)通信網(wǎng)絡(luò)中的瓶頸。TDM的傳統(tǒng)SDH城域網(wǎng)已不能很好滿(mǎn)足日益增長(zhǎng)的業(yè)務(wù)需求,近年來(lái),提出了主要面向城域網(wǎng)的彈性分組環(huán)技術(shù),并由IEEE 802.17工作組完成了標(biāo)準(zhǔn)化工作,于2004年6月24日發(fā)布了802.17-2004標(biāo)準(zhǔn)[1]。彈性分組環(huán)是一種雙環(huán)拓?fù)涞募夹g(shù),能夠在兩條單向環(huán)路上沿相反方向傳輸數(shù)據(jù)。它結(jié)合了以太網(wǎng)的經(jīng)濟(jì)性、靈活性和SDH的高帶寬效率及可靠性,利用空間重用、統(tǒng)計(jì)復(fù)用和環(huán)路保護(hù)來(lái)提高帶寬利用率和保證用戶(hù)的網(wǎng)絡(luò)質(zhì)量。

網(wǎng)絡(luò)處理器是經(jīng)過(guò)專(zhuān)門(mén)設(shè)計(jì)和高度優(yōu)化來(lái)完成各種網(wǎng)絡(luò)功能的專(zhuān)用指令處理器,又是軟件可編程的芯片,表現(xiàn)出高效的并行處理能力和適應(yīng)性。其中,IXP1200是Intel公司推出的網(wǎng)絡(luò)處理器產(chǎn)品,它以?xún)?yōu)異的性能被廣泛應(yīng)用于通信網(wǎng)絡(luò)領(lǐng)域。文獻(xiàn)[2]探討了基于IXP1200的路由器技術(shù),文獻(xiàn)[3]則詳細(xì)介紹了IXP1200中的微引擎設(shè)計(jì)方法。可見(jiàn),由于硬件的高效性和軟件的可擴(kuò)展性,利用IXP1200網(wǎng)絡(luò)處理器來(lái)彈性分組環(huán)的是一種可行而有效的方案。

2 網(wǎng)絡(luò)處理器介紹

網(wǎng)絡(luò)處理器一般由一個(gè)核心處理器和若干個(gè)智能協(xié)處理器組成,并發(fā)同步完成數(shù)據(jù)包的處理。同時(shí)還集成了一些專(zhuān)用硬件處理單元,如CRC校驗(yàn)、Hash單元等,在處理線速上已經(jīng)達(dá)到并超過(guò)10Gbps。它兼顧了GPP的靈活性和ASIC的執(zhí)行效率,為從第2層到第7層的多種應(yīng)用提供了良好的支持。

IXP1200網(wǎng)絡(luò)處理器是Intel公司推出的第一代成熟網(wǎng)絡(luò)處理器[4],它集成了1個(gè)StrongARM核以及6個(gè)獨(dú)立的32位RISC微引擎,再加上硬件的多線程支持,可以高速的數(shù)據(jù)處理。其中,StrongARM核最高的工作頻率為232MHz,用于管理和控制任務(wù),如地址學(xué)習(xí)、路由表的維護(hù)以及網(wǎng)絡(luò)管理等。微引擎則工作于數(shù)據(jù)層面,用于實(shí)現(xiàn)數(shù)據(jù)分組的分類(lèi)、處理和轉(zhuǎn)發(fā)等功能。每個(gè)微引擎支持4個(gè)線程,單個(gè)時(shí)鐘周期即可完成算術(shù)邏輯運(yùn)算和移位操作,實(shí)現(xiàn)零開(kāi)銷(xiāo)的上下文切換,這些性能使得6個(gè)微引擎在1秒鐘內(nèi)能夠轉(zhuǎn)發(fā)高達(dá)300萬(wàn)個(gè)第3層數(shù)據(jù)分組。

IXP1200還提供了豐富的外部接口單元,其中SRAM單元和SDRAM單元提供了連接存儲(chǔ)芯片的接口,最大數(shù)據(jù)吞吐率分別達(dá)到464Mbps和928Mbps;PCI單元為外部主處理器和MAC設(shè)備等提供了32位PCI 2.2總線,最大數(shù)據(jù)吞吐率達(dá)到264Mbps;FBI單元為外部MAC設(shè)備提供了高速的IX總線,用于實(shí)現(xiàn)各種網(wǎng)絡(luò)的功能,最大數(shù)據(jù)吞吐率達(dá)到6.6Gbps。

3 彈性分組環(huán)的接入實(shí)現(xiàn)方案

彈性分組環(huán)具有雙環(huán)拓?fù)浣Y(jié)構(gòu),包括兩條沿相反方向傳輸數(shù)據(jù)的單向環(huán),分別稱(chēng)之為環(huán)路0和環(huán)路1。圖1顯示了彈性分組環(huán)的站點(diǎn)結(jié)構(gòu)。

按照802.17-2004標(biāo)準(zhǔn),彈性分組環(huán)包括四個(gè)層面,由下至上分別為:物理層與物理層適配子層、MAC數(shù)據(jù)通路子層、MAC控制子層和MAC客戶(hù)子層[1]。其中,彈性分組環(huán)的接入在MAC客戶(hù)子層完成。設(shè)計(jì)的彈性分組環(huán)接入平臺(tái)功能主要包括:

(1)對(duì)來(lái)自以太網(wǎng)的業(yè)務(wù)數(shù)據(jù),若目的地址為以太網(wǎng)則直接轉(zhuǎn)發(fā)出去;若目的地址為彈性分組環(huán)網(wǎng),則對(duì)以太網(wǎng)包進(jìn)行深度處理,完成RPR幀格式封裝,對(duì)各種不同的業(yè)務(wù)數(shù)據(jù)進(jìn)行優(yōu)先級(jí)分類(lèi),并轉(zhuǎn)發(fā)到彈性分組環(huán)接口等。

(2)對(duì)來(lái)自彈性分組環(huán)的業(yè)務(wù)數(shù)據(jù)進(jìn)行判別,丟棄重新接入環(huán)路的業(yè)務(wù)數(shù)據(jù),對(duì)轉(zhuǎn)發(fā)到以太網(wǎng)的業(yè)務(wù)數(shù)據(jù)進(jìn)行處理,轉(zhuǎn)換為以太網(wǎng)幀轉(zhuǎn)發(fā)出去。

(3)完成地址學(xué)習(xí)、地址映射、路由表維護(hù)、業(yè)務(wù)調(diào)度和流量管理等。

圖1 彈性分組環(huán)站點(diǎn)結(jié)構(gòu)圖

圖2 基于IXP1200的彈性分組環(huán)接入平臺(tái)硬件結(jié)構(gòu)

3.1 硬件設(shè)計(jì)

利用IXP1200網(wǎng)絡(luò)處理器設(shè)計(jì)的彈性分組環(huán)接入平臺(tái)硬件結(jié)構(gòu)如圖2所示。

接入平臺(tái)主要設(shè)計(jì)了以下幾個(gè)單元:

(1)網(wǎng)絡(luò)處理器單元:包括1塊IXP1200網(wǎng)絡(luò)處理器,作為整個(gè)接入平臺(tái)的核心處理部分,主要完成數(shù)據(jù)幀格式的轉(zhuǎn)換、CRC校驗(yàn)、數(shù)據(jù)轉(zhuǎn)發(fā)、地址學(xué)習(xí)、路由表建立和維護(hù)、業(yè)務(wù)調(diào)度以及流量管理等功能。

(2)以太網(wǎng)接口單元:包括1塊以太網(wǎng)MAC層芯片IXF440和1塊以太網(wǎng)收發(fā)器LXT9763,并通過(guò)變壓器連接到4路以太網(wǎng)接口。

(3)彈性分組環(huán)接口單元:通過(guò)FPGA完成IX總線到彈性分組環(huán)POS接口的轉(zhuǎn)換,提供兩路POS接口,分別接入彈性分組環(huán)網(wǎng)的環(huán)路0和環(huán)路1。

(4)調(diào)試接口單元:包括1個(gè)RJ45網(wǎng)口和1個(gè)RS232串口。IXP1200的PCI單元通過(guò)82559ER芯片完成PCI到以太網(wǎng)接口的轉(zhuǎn)換,并通過(guò)變壓器連接到網(wǎng)口;UART單元通過(guò)變壓器連接到串口。網(wǎng)口和串口用于接入平臺(tái)的調(diào)試,在調(diào)試完成后可以當(dāng)作普通通信口使用。

(5)存儲(chǔ)器單元:包括128M字節(jié)的SDRAM 、8M字節(jié)的SRAM和8M字節(jié)的FLASH。其中SDRAM主要用于存儲(chǔ)應(yīng)用代碼、大型數(shù)據(jù)結(jié)構(gòu)和路由表;SRAM主要用于存儲(chǔ)路由表索引和暫存數(shù)據(jù);而FLASH主要用于存儲(chǔ)系統(tǒng)引導(dǎo)代碼。

3.2 軟件設(shè)計(jì)

接入平臺(tái)的軟件設(shè)計(jì)主要包括IXP1200內(nèi)部StrongARM核及微引擎的軟件設(shè)計(jì)和基于FPGA實(shí)現(xiàn)的IX Bus/POS接口轉(zhuǎn)換設(shè)計(jì)兩部分。

3.2.1 StrongARM核和微引擎的軟件開(kāi)發(fā)

IXP1200網(wǎng)絡(luò)處理器是一塊軟件可編程的芯片,內(nèi)部的StrongARM核和微引擎都有獨(dú)立的軟件系統(tǒng),分別完成控制層面和數(shù)據(jù)層面的功能。其軟件體系結(jié)構(gòu)如圖3所示。

StrongARM核的軟件結(jié)構(gòu)包括操作系統(tǒng)、板極支持包、驅(qū)動(dòng)和網(wǎng)絡(luò)應(yīng)用等模塊。操作系統(tǒng)采用VxWorks,它是專(zhuān)門(mén)為實(shí)時(shí)嵌入式系統(tǒng)設(shè)計(jì)開(kāi)發(fā)的操作系統(tǒng)軟件,為用戶(hù)提供了高效的實(shí)時(shí)任務(wù)調(diào)度、中斷管理和豐富的系統(tǒng)資源、網(wǎng)絡(luò)協(xié)議等。板極支持包用于完成硬件初始化。驅(qū)動(dòng)模塊包括微引擎、IX總線以及其它I/O接口的驅(qū)動(dòng)程序。通信模塊通過(guò)共享內(nèi)存和消息隊(duì)列等方式完成StrongARM核和微引擎之間的通信。網(wǎng)絡(luò)應(yīng)用模塊則完成路由表管理、異常數(shù)據(jù)包處理、公平控制和拓?fù)浔Wo(hù)等。StrongARM核的軟件開(kāi)發(fā)主要用與VxWorks配套的集成開(kāi)發(fā)軟件Tornado完成[5]。

微引擎的開(kāi)發(fā)則采用Intel專(zhuān)門(mén)設(shè)計(jì)的開(kāi)發(fā)平臺(tái)Developer Workbench,既可以進(jìn)行硬件調(diào)試,也可以進(jìn)行軟件仿真[6]。IXP1200中,6個(gè)微引擎共同完成數(shù)據(jù)層面的功能。其中微引擎0和微引擎1分別接受來(lái)自以太網(wǎng)和彈性分組環(huán)的數(shù)據(jù),完成數(shù)據(jù)的分類(lèi)和初步處理;微引擎2和微引擎3分別對(duì)來(lái)自以太網(wǎng)和彈性分組環(huán)的數(shù)據(jù)進(jìn)行深度處理,完成CRC校驗(yàn)和幀格式轉(zhuǎn)換;微引擎4進(jìn)行隊(duì)列調(diào)度和流量管理;微引擎5讀取調(diào)度線程分配的任務(wù)將數(shù)據(jù)包發(fā)送出去。

圖3 IXP1200的軟件體系結(jié)構(gòu)

圖4 IX Bus/POS接口轉(zhuǎn)換實(shí)現(xiàn)的結(jié)構(gòu)框圖

3.2.2 IX Bus/POS接口轉(zhuǎn)換實(shí)現(xiàn)

IXP1200對(duì)外部網(wǎng)絡(luò)設(shè)備提供了IX總線接口,通過(guò)接口轉(zhuǎn)換設(shè)計(jì),能夠使其應(yīng)用到有線通信、無(wú)線基站通信和以太網(wǎng)通信等多個(gè)領(lǐng)域。由于這些電路最終都通過(guò)IX總線和IXP1200連接,因此不會(huì)對(duì)系統(tǒng)的軟件結(jié)構(gòu)產(chǎn)生影響。靈活的接口轉(zhuǎn)換設(shè)計(jì)可以大大擴(kuò)展IXP1200的應(yīng)用范圍?;贔PGA芯片的設(shè)計(jì)實(shí)現(xiàn)了IX總線到POS接口的轉(zhuǎn)換,其中POS接口采用了POS-PHY Level 2協(xié)議。設(shè)計(jì)的結(jié)構(gòu)框圖如圖4所示。

在接口轉(zhuǎn)換中,依據(jù)其功能將其劃分成為接收模塊和發(fā)送模塊。定義從POS接口到IX總線的數(shù)據(jù)傳輸路徑為接收路徑,而從IX總線到POS接口的數(shù)據(jù)傳輸路徑為發(fā)送路徑。

接收路徑又分為數(shù)據(jù)通道和控制通道。數(shù)據(jù)通道主要負(fù)責(zé)數(shù)據(jù)的發(fā)送和復(fù)用等操作,接收來(lái)自POS接口的數(shù)據(jù),進(jìn)行奇偶校驗(yàn)和數(shù)位轉(zhuǎn)換并存入接收數(shù)據(jù)緩存器RDFIFO,再發(fā)送到IX總線??刂仆ǖ乐饕山邮諣顟B(tài)機(jī)來(lái)完成數(shù)據(jù)收發(fā)的時(shí)序控制。另外還要根據(jù)包頭、包尾等包指示信息、包長(zhǎng)計(jì)算結(jié)果和奇偶校驗(yàn)結(jié)果生成標(biāo)簽存入接收標(biāo)簽緩存器RTFIFO中,在數(shù)據(jù)向IX總線發(fā)送時(shí),根據(jù)包長(zhǎng)確定接收數(shù)據(jù)緩存器的讀出字節(jié)數(shù),并同時(shí)恢復(fù)出相應(yīng)的包指示和錯(cuò)誤指示信息。

發(fā)送路徑類(lèi)似于接收路徑,分為數(shù)據(jù)通道和控制通道。數(shù)據(jù)通道中,將IX總線的數(shù)據(jù)送入發(fā)送數(shù)據(jù)緩存器TDFIFO,然后根據(jù)目的端口向相應(yīng)的POS接口發(fā)送,并產(chǎn)生POS接口的奇偶校驗(yàn)信號(hào)。而控制通道在由發(fā)送狀態(tài)機(jī)完成數(shù)據(jù)收發(fā)的時(shí)序控制之外,同樣生成標(biāo)簽信息送入發(fā)送標(biāo)簽緩存器TTFIFO,控制數(shù)據(jù)的轉(zhuǎn)發(fā),并且恢復(fù)相關(guān)的指示信息。

設(shè)計(jì)具有以下特點(diǎn):

(1)64位IX 總線分為兩組32位總線:一組為發(fā)送路徑,一組為接收路徑。兩組路徑有獨(dú)立的端口選擇和驅(qū)動(dòng)時(shí)鐘,可以完全獨(dú)立地工作。

(2)每個(gè)端口有2個(gè)25632bit的數(shù)據(jù)FIFO:一個(gè)用于存儲(chǔ)發(fā)送數(shù)據(jù),一個(gè)用于存儲(chǔ)接收數(shù)據(jù)。由于定義的數(shù)據(jù)單元大小為64Bytes,所以每個(gè)數(shù)據(jù)FIFO可以容納16個(gè)數(shù)據(jù)單元。

(3)每個(gè)端口有2個(gè)1611bit的標(biāo)簽FIFO:一個(gè)用于存儲(chǔ)發(fā)送標(biāo)簽,一個(gè)用于存儲(chǔ)接收標(biāo)簽。每個(gè)標(biāo)簽對(duì)應(yīng)一個(gè)數(shù)據(jù)單元。

(4)具有易擴(kuò)展性,目前支持2個(gè)端口,根據(jù)應(yīng)用的變化,稍微修改程序即可增加支持的端口數(shù)。

(5)支持POS-PHY Level 2協(xié)議,采用單物理層包級(jí)傳輸模式,根據(jù)應(yīng)用可以擴(kuò)展到多物理層支持和其它傳輸模式。

4 結(jié)論

提出了一種基于IXP1200網(wǎng)絡(luò)處理器的彈性分組環(huán)接入方案,便捷地實(shí)現(xiàn)了以太網(wǎng)和彈性分組環(huán)之間的數(shù)據(jù)幀格式轉(zhuǎn)換和接口轉(zhuǎn)換功能。

本文的創(chuàng)新點(diǎn)為在彈性分組環(huán)的接入平臺(tái)中使用了IXP1200網(wǎng)絡(luò)處理器,并通過(guò)軟硬件設(shè)計(jì)實(shí)現(xiàn)了其接入功能。IXP1200網(wǎng)絡(luò)處理器的硬件高效性保證了高速的數(shù)據(jù)處理能力,而軟件可編程性可以大大縮減從研發(fā)到進(jìn)入市場(chǎng)的時(shí)間周期,并提供良好的擴(kuò)展性能。本設(shè)計(jì)中,支持4路以太網(wǎng)接口和2路POS接口,通過(guò)StrongARM和微引擎的軟件開(kāi)發(fā),以及IX總線接口轉(zhuǎn)換程序的設(shè)計(jì),可以實(shí)現(xiàn)更多路數(shù)據(jù)以及更多類(lèi)型網(wǎng)絡(luò)的接入。

參考文獻(xiàn)

[1] IEEE 802.17 Resilient Packet Ring Working Group. http://www.ieee802.org/17/
[2] 劉建華,王勇. 基于網(wǎng)絡(luò)處理器的可編程路由器技術(shù)研究. 微計(jì)算機(jī)信息, 2005,21(10-2):p51~53
[3] 管文建,薛質(zhì). 網(wǎng)絡(luò)處理器中微引擎設(shè)計(jì). 微計(jì)算機(jī)信息, 2005,21(11-3):p137~139
[4] IXP1200 Datasheet. http://www.intel.com
[5]王學(xué)龍. 嵌入式VxWorks系統(tǒng)開(kāi)發(fā)與應(yīng)用. 北京: 人民郵電出版社, 2003
[6]石晶林,程勝,孫江明. 網(wǎng)絡(luò)處理器原理、設(shè)計(jì)與應(yīng)用. 北京: 清華大學(xué)出版社, 2003



評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉