基于IXP2400的RPR綜合業(yè)務(wù)接入系統設計
1 引言
彈性分組環(huán)(Resilient Packet Ring,RPR)技術(shù)是一種為優(yōu)化環(huán)型拓撲網(wǎng)絡(luò )中數據傳輸而提出的城域網(wǎng)技術(shù),它結合了IP的智能化、以太網(wǎng)的經(jīng)濟性和SDH的寬帶效率及可靠性等優(yōu)點(diǎn),突破了局域網(wǎng)和廣域網(wǎng)之間的接入瓶頸,能在單一網(wǎng)絡(luò )內通過(guò)簡(jiǎn)單的傳輸模式融合各種寬帶業(yè)務(wù),是一種有效的城域接入網(wǎng)解決方案。
網(wǎng)絡(luò )處理器經(jīng)過(guò)專(zhuān)門(mén)設計和高度優(yōu)化,是完成各種網(wǎng)絡(luò )功能的專(zhuān)用指令處理器,同時(shí)又是一塊軟件可編程芯片。它綜合了專(zhuān)用集成電路的高速處理能力和通用處理器的完全可編程特性,可滿(mǎn)足網(wǎng)絡(luò )寬帶化和綜合化的要求。目前已有數十家公司生產(chǎn)上百種此類(lèi)產(chǎn)品,其中最具代表性的產(chǎn)品包括Motorola的C-5,IBM的PowerNP和Intel的IXP系列。C-5集成了16個(gè)信道處理器,5個(gè)協(xié)處理器和1個(gè)通用處理器,能在2.5 Gbit/s速率下進(jìn)行2~7層處理,在實(shí)時(shí)處理和靈活性方面具有優(yōu)勢;Pow-erNP采用多處理器解決方案,具有7個(gè)專(zhuān)門(mén)的協(xié)處理器和1個(gè)PowerPC核,能完成2~5層的分組處理;IXP系列主要包括第一代的IXP1200和第二代的IXP2400,IXP2800等,由1個(gè)用于管理控制的ARM核和多個(gè)用于數據處理的微引擎組成,采用并行處理機制和多線(xiàn)程技術(shù),具有強大的數據處理能力,支持從155 Mbit/s到10 Gbit/s的速率要求,而且,ARM核和微引擎都是可編程的,支持匯編語(yǔ)言和C語(yǔ)言,具有靈活性和通用性,加上IXA架構,為網(wǎng)絡(luò )處理器的應用開(kāi)發(fā)提供了完整的軟硬件解決方案。因此,利用IXP系列實(shí)現寬帶接入,使系統既具有高的性能,又簡(jiǎn)單靈活,并能獲得開(kāi)發(fā)環(huán)境的完全支持。
2 IXP2400網(wǎng)絡(luò )處理器
IXP2400支持2.5 Gbit/s的網(wǎng)絡(luò )應用,其內部結構如圖1所示。

IXP2400主要具有以下特點(diǎn):
1) 強大的數據處理能力
IXP2400采用了分布式的硬件結構,具有XScale核和微引擎等多個(gè)主控單元和SRAM,DRAM,MSF,SHaC等多個(gè)從屬單元,各主控單元能并行訪(fǎng)問(wèn)各從屬單元。另外,分立的內部總線(xiàn)結構將不同存儲單元的數據總線(xiàn)、讀/寫(xiě)總線(xiàn)分開(kāi),可對多個(gè)存儲器同時(shí)進(jìn)行讀/寫(xiě)操作。因此,可大大增強數據處理速度。它還采用了并行處理和多線(xiàn)程機制,有效地解決了數據流復雜多樣和外部存儲器訪(fǎng)問(wèn)時(shí)延過(guò)大等問(wèn)題。8個(gè)微引擎并列的硬件結構提供了多處理能力,可并行處理不相關(guān)的網(wǎng)絡(luò )數據包。由于包處理程序都存儲在微引擎內部的指令存儲器中,可減小指令讀取時(shí)延,有力地配合微引擎高速指令執行。每個(gè)微引擎提供的8個(gè)線(xiàn)程,采用多線(xiàn)程交換機制,當一個(gè)線(xiàn)程需要訪(fǎng)問(wèn)外部存儲器時(shí),將交出微引擎的控制權,讓另一個(gè)線(xiàn)程運行。這種多線(xiàn)程結構和線(xiàn)程交換技術(shù)將存儲器的訪(fǎng)問(wèn)時(shí)延隱藏在程序執行之后,大大提高了微引擎的利用效率。此外,IXP2400還增加了內容訪(fǎng)問(wèn)存儲器、偽隨機數發(fā)生器和CRC校驗等特殊硬件功能單元來(lái)提高網(wǎng)絡(luò )數據處理速度。
2) 具有大容量和寬帶數據存儲空間
為配合高速數據處理能力,IXP2400提供了大容量、寬帶存儲器單元,包括1個(gè)DRAM控制器和2個(gè)SRAM控制器。其中,DRAM控制器提供64位數據寬度的雙倍速率接口,支持DRAM容量可達2 Gbyte,峰值帶寬達到2.4 Gbyte/s。SRAM控制器提供4倍速率接口,具有16位物理寬度,通過(guò)數據速率加倍來(lái)獲得32位的邏輯寬度。每個(gè)接口支持的SRAM最大容量為64 Mbyte,峰值帶寬達到1.6 Gbyte/s。DRAM主要用于大批量數據的存儲,而SRAM主要用于存儲路由表和控制信息。
3) 豐富的對外接口
IXP2400提供了PCI,MSF,慢端口、UART和JTAG等多個(gè)對外接口來(lái)支持廣泛的網(wǎng)絡(luò )應用。其中:PCI接口符合PCI v2.2標準,用于連接控制主機和MAC設備等外圍設備;MSF接口采用32位全雙工的并行數據線(xiàn)路,通過(guò)配置可支持多種接口標準,主要用于連接到物理層設備或交換接口;慢端口用于FLASH和其他異步設備的訪(fǎng)問(wèn);UART和JTAG接口則用于程序下載和系統調試。
4) 完全的可編程能力
IXP2400中,處理單元XScale核和微引擎都是完全可編程的。XScale采用ARM V5的定點(diǎn)指令系統,支持匯編語(yǔ)言,主要完成控制層面的處理任務(wù);微引擎也具有自己的指令集,支持微代碼或C語(yǔ)言,主要完成數據層面的處理任務(wù)。
3 基于IXP2400的RPR業(yè)務(wù)接入系統
基于IXP2400的RPR綜合業(yè)務(wù)接人系統的主要功能是接入以太網(wǎng)業(yè)務(wù)到RPR網(wǎng)絡(luò ),同時(shí)也能完成本地以太網(wǎng)的數據交換,但需要從硬件和軟件兩個(gè)方面進(jìn)行開(kāi)發(fā)。
3.1 硬件結構
系統硬件平臺結構如圖2所示。

在本設計中,硬件平臺以IXP2400網(wǎng)絡(luò )處理器為核心,利用XScale核和微引擎的高速數據處理能力和可編程性,能同時(shí)滿(mǎn)足接入系統對高性能和靈活性的要求,支持2.5 Gbit/s的線(xiàn)速處理。
MSF單元為外部設備提供了高速接口,可用于RPR業(yè)務(wù)的數據接人。設計中通過(guò)一片FPGA芯片XC3S1000來(lái)完成RPR接口設計,采用SPI-3標準與RPR MAC芯片相連接。MSF總線(xiàn)被配置為32位接收數據總線(xiàn)和32位發(fā)送數據總線(xiàn),工作頻率設定為125 MHz,因此,RPR接口的實(shí)際峰值帶寬為8 Gbit/s。由于FPGA的靈活性,通過(guò)編程實(shí)現接口轉換還可接人其他類(lèi)型業(yè)務(wù)。
為保證RPR數據的速率,設計中沒(méi)有采用MSF接口復用的方式,而是通過(guò)PCI接口接入以太網(wǎng)數據。系統通過(guò)PCI接口連接了一片雙端口千兆以太網(wǎng)控制芯片82546EB。它集成了兩路的MAC層和PHY層功能,通過(guò)配置能收發(fā)雙通道的1 000 Mbit/s,100 Mbit/s或10 Mbit/s的數據,可應用于多種速率的以太網(wǎng)中。
為配合RPR和以太網(wǎng)數據包的高速處理,外接了多塊DRAM,SRAM和FLASH存儲芯片,分別用于存儲數據包、路由表和底層程序。其中:DRAM單元連接了5塊MT46V32M16芯片,提供總容量為256 Mbyte;SRAM單元連接了4塊CY7C1425AV18芯片,提供了16 Mbyte存儲總容量;慢端口連接了4片FLASH芯片28F128J3A,總容量為64 Mbyte。大容量和寬帶存儲單元加上內部多線(xiàn)程技術(shù),減小了訪(fǎng)問(wèn)時(shí)延,有力地保證了系統的線(xiàn)速處理能力。
3.2 軟件體系
系統的軟件設計主要可分為XScale內核程序和微引擎程序兩部分,分別完成控制層面和數據層面的功能。軟件體系結構如圖3所示。

XScale內核程序主要包括VxWorks操作系統、板極支持包和內核應用程序軟件包3部分,可利用VxWorks集成開(kāi)發(fā)軟件Tornado進(jìn)行設計。VxWorks是一種實(shí)時(shí)多任務(wù)嵌入式操作系統,為用戶(hù)提供高效的實(shí)時(shí)任務(wù)調度、中斷管理、實(shí)時(shí)的系統資源以及實(shí)時(shí)的任務(wù)間通信,是運行其他應用程序的基礎;板極支持包是所有與硬件相關(guān)的代碼體的集合,主要包括系統被引導時(shí)的硬件初始化程序和系統中設備的驅動(dòng)程序,實(shí)現接入系統參數的配置和引導過(guò)程的管理;內核應用程序軟件包主要包括路由協(xié)議、模塊間通信協(xié)議、系統管理和異常包處理等模塊。路由協(xié)議軟件包完成路由表的生成、管理和維護;模塊間通信協(xié)議通過(guò)共享內存和消息隊列等方式完成XScale核和微引擎間的通信;系統管理模塊完成硬件的初始化、配置和系統資源管理等工作;異常數據包處理模塊則對微引擎送來(lái)的異常數據包進(jìn)行深層次的處理。
微引擎程序稱(chēng)為微碼,主要執行數據包的處理和轉發(fā)任務(wù),可采用Intel專(zhuān)門(mén)設計的開(kāi)發(fā)平臺DeveloperWorkbench進(jìn)行開(kāi)發(fā)。根據接入系統的數據處理流程,微碼程序可分為接收、分類(lèi)、封裝、管理和轉發(fā)等模塊。根據不同業(yè)務(wù),接收、分類(lèi)和封裝模塊又分為以太網(wǎng)和RPR數據處理兩類(lèi)。當以太網(wǎng)接口有數據包到來(lái)時(shí),以太網(wǎng)數據接收模塊首先將接收到的數據包分片緩存在DRAM中,并將分片重組得到完整的數據包,然后,以太網(wǎng)分類(lèi)模塊從數據包中提取包頭信息放入微引擎寄存器中進(jìn)行處理,完成包分類(lèi)和路由表查詢(xún)等操作。如果該包需要轉發(fā)到RPR網(wǎng)絡(luò ),RPR數據封裝模塊將根據包頭處理結果完成數據幀格式的轉換,并把數據包回寫(xiě)到DRAM中。隊列管理和端口調度模塊根據發(fā)送請求將數據包加入指定的發(fā)送隊列和分配到指定的端口,最后由數據發(fā)送模塊從DRAM中讀取數據并完成轉發(fā)工作。如果以太網(wǎng)數據包的目的地址仍是以太網(wǎng),則不需要進(jìn)行RPR數據封裝而直接調度和發(fā)送。當RPR接口有數據包到來(lái)時(shí),類(lèi)似地,由RPR數據接收和分類(lèi)模塊進(jìn)行處理。如果目的地址仍為RPR網(wǎng)絡(luò )則直接丟棄該包;否則通過(guò)以太網(wǎng)封裝模塊完成幀格式轉換,由隊列管理和端口調度模塊以及數據發(fā)送模塊完成調度和轉發(fā)。
4 實(shí)驗網(wǎng)絡(luò )和系統驗證
利用RPR綜合業(yè)務(wù)接入系統,可和RPR MAC層芯片以及物理層芯片一起組成RPR站點(diǎn),多個(gè)站點(diǎn)之間通過(guò)雙環(huán)光纖相連則可構成完整的實(shí)驗網(wǎng)絡(luò )。圖4是具有4個(gè)站點(diǎn)的實(shí)驗網(wǎng)絡(luò )。

將多臺測試主機通過(guò)接入系統的千兆以太網(wǎng)口連接到實(shí)驗網(wǎng)絡(luò ),進(jìn)行數據收發(fā)可驗證RPR綜合業(yè)務(wù)接入系統軟硬件設計的正確性。功能驗證包括以太網(wǎng)內的自環(huán)和以太網(wǎng)-RPR-以太網(wǎng)的環(huán)回兩部分。以太網(wǎng)內的自環(huán)指不經(jīng)過(guò)RPR網(wǎng)絡(luò )而在本站點(diǎn)內完成以太網(wǎng)數據的轉發(fā);以太網(wǎng)-RPR-以太網(wǎng)的環(huán)回則指一個(gè)站點(diǎn)接入的以太網(wǎng)數據經(jīng)RPR網(wǎng)絡(luò )傳輸到另一個(gè)站點(diǎn)后,再通過(guò)接入系統轉發(fā)到以太網(wǎng)中。驗證時(shí),在其中一臺測試主機上運行Serv-U軟件,作為FTP服務(wù)器;在另一臺測試主機上運行LeapFTP軟件,作為FTP客戶(hù)端。通過(guò)客戶(hù)端主機向服務(wù)器主機上傳和下載文件,即根據FTP協(xié)議進(jìn)行文件傳輸。測試結果表明,文件能根據FTP協(xié)議正確而流暢地傳輸,表明接入系統既能實(shí)現以太網(wǎng)和RPR之間的數據交換,又能完成以太網(wǎng)數據的本地轉發(fā)。
此外,利用實(shí)驗網(wǎng)絡(luò )還可驗證RPR中環(huán)路帶寬分配、擁塞控制、自動(dòng)拓撲發(fā)現和智能保護倒換等各種算法性能,為RPR技術(shù)和城域網(wǎng)組網(wǎng)的研究奠定了良好的基礎。
5 小結
筆者提出了一種基于IXP2400網(wǎng)絡(luò )處理器的RPR綜合業(yè)務(wù)接入系統設計方案,該系統具有高速數據處理能力,對外提供了一個(gè)2.5Gbit/s的SPI-3接口和兩路千兆以太網(wǎng)口,可用于RPR和千兆以太網(wǎng)業(yè)務(wù)的接入。同時(shí)系統具有良好的可擴展性,通過(guò)修改微引擎和FPGA程序,可實(shí)現其他多種類(lèi)型寬帶業(yè)務(wù)的接入。利用該接入系統構建的RPR站點(diǎn)和實(shí)驗網(wǎng)絡(luò )簡(jiǎn)單靈活,目前進(jìn)行了點(diǎn)對點(diǎn)的數據傳輸測試,今后,還可在其基礎上進(jìn)行多點(diǎn)對多點(diǎn)的數據傳輸測試,以及深入的性能研究。
評論