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

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

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

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

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