新聞中心

EEPW首頁 > 手機與無線通信 > 設(shè)計應(yīng)用 > 基于IXP2400的RPR綜合業(yè)務(wù)接入系統(tǒng)設(shè)計

基于IXP2400的RPR綜合業(yè)務(wù)接入系統(tǒng)設(shè)計

——
作者: 時間:2007-10-17 來源:電視技術(shù) 收藏

  1 引言

  彈性分組環(huán)(Resilient Packet Ring,)技術(shù)是一種為優(yōu)化環(huán)型拓撲中數(shù)據(jù)傳輸而提出的城域網(wǎng)技術(shù),它結(jié)合了IP的智能化、以太網(wǎng)的經(jīng)濟性和SDH的寬帶效率及可靠性等優(yōu)點,突破了局域網(wǎng)和廣域網(wǎng)之間的接入瓶頸,能在單一內(nèi)通過簡單的傳輸模式融合各種寬帶業(yè)務(wù),是一種有效的城域接入網(wǎng)解決方案。

  處理器經(jīng)過專門設(shè)計和高度優(yōu)化,是完成各種網(wǎng)絡(luò)功能的專用指令處理器,同時又是一塊軟件可編程芯片。它綜合了專用集成電路的高速處理能力和通用處理器的完全可編程特性,可滿足網(wǎng)絡(luò)寬帶化和綜合化的要求。目前已有數(shù)十家公司生產(chǎn)上百種此類產(chǎn)品,其中最具代表性的產(chǎn)品包括Motorola的C-5,IBM的PowerNP和Intel的IXP系列。C-5集成了16個信道處理器,5個協(xié)處理器和1個通用處理器,能在2.5 Gbit/s速率下進行2~7層處理,在實時處理和靈活性方面具有優(yōu)勢;Pow-erNP采用多處理器解決方案,具有7個專門的協(xié)處理器和1個PowerPC核,能完成2~5層的分組處理;IXP系列主要包括第一代的IXP1200和第二代的,IXP2800等,由1個用于管理控制的ARM核和多個用于數(shù)據(jù)處理的微引擎組成,采用并行處理機制和多線程技術(shù),具有強大的數(shù)據(jù)處理能力,支持從155 Mbit/s到10 Gbit/s的速率要求,而且,ARM核和微引擎都是可編程的,支持匯編語言和C語言,具有靈活性和通用性,加上IXA架構(gòu),為網(wǎng)絡(luò)處理器的應(yīng)用開發(fā)提供了完整的軟硬件解決方案。因此,利用IXP系列實現(xiàn)寬帶接入,使系統(tǒng)既具有高的性能,又簡單靈活,并能獲得開發(fā)環(huán)境的完全支持。

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

  支持2.5 Gbit/s的網(wǎng)絡(luò)應(yīng)用,其內(nèi)部結(jié)構(gòu)如圖1所示。

  

  IXP2400主要具有以下特點:

  1) 強大的數(shù)據(jù)處理能力

  IXP2400采用了分布式的硬件結(jié)構(gòu),具有XScale核和微引擎等多個主控單元和SRAM,DRAM,MSF,SHaC等多個從屬單元,各主控單元能并行訪問各從屬單元。另外,分立的內(nèi)部總線結(jié)構(gòu)將不同存儲單元的數(shù)據(jù)總線、讀/寫總線分開,可對多個存儲器同時進行讀/寫操作。因此,可大大增強數(shù)據(jù)處理速度。它還采用了并行處理和多線程機制,有效地解決了數(shù)據(jù)流復(fù)雜多樣和外部存儲器訪問時延過大等問題。8個微引擎并列的硬件結(jié)構(gòu)提供了多處理能力,可并行處理不相關(guān)的網(wǎng)絡(luò)數(shù)據(jù)包。由于包處理程序都存儲在微引擎內(nèi)部的指令存儲器中,可減小指令讀取時延,有力地配合微引擎高速指令執(zhí)行。每個微引擎提供的8個線程,采用多線程交換機制,當(dāng)一個線程需要訪問外部存儲器時,將交出微引擎的控制權(quán),讓另一個線程運行。這種多線程結(jié)構(gòu)和線程交換技術(shù)將存儲器的訪問時延隱藏在程序執(zhí)行之后,大大提高了微引擎的利用效率。此外,IXP2400還增加了內(nèi)容訪問存儲器、偽隨機數(shù)發(fā)生器和CRC校驗等特殊硬件功能單元來提高網(wǎng)絡(luò)數(shù)據(jù)處理速度。

  2) 具有大容量和寬帶數(shù)據(jù)存儲空間

  為配合高速數(shù)據(jù)處理能力,IXP2400提供了大容量、寬帶存儲器單元,包括1個DRAM控制器和2個SRAM控制器。其中,DRAM控制器提供64位數(shù)據(jù)寬度的雙倍速率接口,支持DRAM容量可達2 Gbyte,峰值帶寬達到2.4 Gbyte/s。SRAM控制器提供4倍速率接口,具有16位物理寬度,通過數(shù)據(jù)速率加倍來獲得32位的邏輯寬度。每個接口支持的SRAM最大容量為64 Mbyte,峰值帶寬達到1.6 Gbyte/s。DRAM主要用于大批量數(shù)據(jù)的存儲,而SRAM主要用于存儲路由表和控制信息。

  3) 豐富的對外接口

  IXP2400提供了PCI,MSF,慢端口、UART和JTAG等多個對外接口來支持廣泛的網(wǎng)絡(luò)應(yīng)用。其中:PCI接口符合PCI v2.2標(biāo)準(zhǔn),用于連接控制主機和MAC設(shè)備等外圍設(shè)備;MSF接口采用32位全雙工的并行數(shù)據(jù)線路,通過配置可支持多種接口標(biāo)準(zhǔn),主要用于連接到物理層設(shè)備或交換接口;慢端口用于FLASH和其他異步設(shè)備的訪問;UART和JTAG接口則用于程序下載和系統(tǒng)調(diào)試。

  4) 完全的可編程能力

  IXP2400中,處理單元XScale核和微引擎都是完全可編程的。XScale采用ARM V5的定點指令系統(tǒng),支持匯編語言,主要完成控制層面的處理任務(wù);微引擎也具有自己的指令集,支持微代碼或C語言,主要完成數(shù)據(jù)層面的處理任務(wù)。

  3 基于IXP2400的業(yè)務(wù)接入系統(tǒng)

  基于IXP2400的綜合業(yè)務(wù)接人系統(tǒng)的主要功能是接入以太網(wǎng)業(yè)務(wù)到RPR網(wǎng)絡(luò),同時也能完成本地以太網(wǎng)的數(shù)據(jù)交換,但需要從硬件和軟件兩個方面進行開發(fā)。

  3.1 硬件結(jié)構(gòu)

  系統(tǒng)硬件平臺結(jié)構(gòu)如圖2所示。

  

  在本設(shè)計中,硬件平臺以IXP2400網(wǎng)絡(luò)處理器為核心,利用XScale核和微引擎的高速數(shù)據(jù)處理能力和可編程性,能同時滿足接入系統(tǒng)對高性能和靈活性的要求,支持2.5 Gbit/s的線速處理。

  MSF單元為外部設(shè)備提供了高速接口,可用于RPR業(yè)務(wù)的數(shù)據(jù)接人。設(shè)計中通過一片F(xiàn)PGA芯片XC3S1000來完成RPR接口設(shè)計,采用SPI-3標(biāo)準(zhǔn)與RPR MAC芯片相連接。MSF總線被配置為32位接收數(shù)據(jù)總線和32位發(fā)送數(shù)據(jù)總線,工作頻率設(shè)定為125 MHz,因此,RPR接口的實際峰值帶寬為8 Gbit/s。由于FPGA的靈活性,通過編程實現(xiàn)接口轉(zhuǎn)換還可接人其他類型業(yè)務(wù)。

  為保證RPR數(shù)據(jù)的速率,設(shè)計中沒有采用MSF接口復(fù)用的方式,而是通過PCI接口接入以太網(wǎng)數(shù)據(jù)。系統(tǒng)通過PCI接口連接了一片雙端口千兆以太網(wǎng)控制芯片82546EB。它集成了兩路的MAC層和PHY層功能,通過配置能收發(fā)雙通道的1 000 Mbit/s,100 Mbit/s或10 Mbit/s的數(shù)據(jù),可應(yīng)用于多種速率的以太網(wǎng)中。

  為配合RPR和以太網(wǎng)數(shù)據(jù)包的高速處理,外接了多塊DRAM,SRAM和FLASH存儲芯片,分別用于存儲數(shù)據(jù)包、路由表和底層程序。其中:DRAM單元連接了5塊MT46V32M16芯片,提供總?cè)萘繛?56 Mbyte;SRAM單元連接了4塊CY7C1425AV18芯片,提供了16 Mbyte存儲總?cè)萘?慢端口連接了4片F(xiàn)LASH芯片28F128J3A,總?cè)萘繛?4 Mbyte。大容量和寬帶存儲單元加上內(nèi)部多線程技術(shù),減小了訪問時延,有力地保證了系統(tǒng)的線速處理能力。

  3.2 軟件體系

  系統(tǒng)的軟件設(shè)計主要可分為XScale內(nèi)核程序和微引擎程序兩部分,分別完成控制層面和數(shù)據(jù)層面的功能。軟件體系結(jié)構(gòu)如圖3所示。

  

  XScale內(nèi)核程序主要包括VxWorks操作系統(tǒng)、板極支持包和內(nèi)核應(yīng)用程序軟件包3部分,可利用VxWorks集成開發(fā)軟件Tornado進行設(shè)計。VxWorks是一種實時多任務(wù)嵌入式操作系統(tǒng),為用戶提供高效的實時任務(wù)調(diào)度、中斷管理、實時的系統(tǒng)資源以及實時的任務(wù)間通信,是運行其他應(yīng)用程序的基礎(chǔ);板極支持包是所有與硬件相關(guān)的代碼體的集合,主要包括系統(tǒng)被引導(dǎo)時的硬件初始化程序和系統(tǒng)中設(shè)備的驅(qū)動程序,實現(xiàn)接入系統(tǒng)參數(shù)的配置和引導(dǎo)過程的管理;內(nèi)核應(yīng)用程序軟件包主要包括路由協(xié)議、模塊間通信協(xié)議、系統(tǒng)管理和異常包處理等模塊。路由協(xié)議軟件包完成路由表的生成、管理和維護;模塊間通信協(xié)議通過共享內(nèi)存和消息隊列等方式完成XScale核和微引擎間的通信;系統(tǒng)管理模塊完成硬件的初始化、配置和系統(tǒng)資源管理等工作;異常數(shù)據(jù)包處理模塊則對微引擎送來的異常數(shù)據(jù)包進行深層次的處理。

  微引擎程序稱為微碼,主要執(zhí)行數(shù)據(jù)包的處理和轉(zhuǎn)發(fā)任務(wù),可采用Intel專門設(shè)計的開發(fā)平臺DeveloperWorkbench進行開發(fā)。根據(jù)接入系統(tǒng)的數(shù)據(jù)處理流程,微碼程序可分為接收、分類、封裝、管理和轉(zhuǎn)發(fā)等模塊。根據(jù)不同業(yè)務(wù),接收、分類和封裝模塊又分為以太網(wǎng)和RPR數(shù)據(jù)處理兩類。當(dāng)以太網(wǎng)接口有數(shù)據(jù)包到來時,以太網(wǎng)數(shù)據(jù)接收模塊首先將接收到的數(shù)據(jù)包分片緩存在DRAM中,并將分片重組得到完整的數(shù)據(jù)包,然后,以太網(wǎng)分類模塊從數(shù)據(jù)包中提取包頭信息放入微引擎寄存器中進行處理,完成包分類和路由表查詢等操作。如果該包需要轉(zhuǎn)發(fā)到RPR網(wǎng)絡(luò),RPR數(shù)據(jù)封裝模塊將根據(jù)包頭處理結(jié)果完成數(shù)據(jù)幀格式的轉(zhuǎn)換,并把數(shù)據(jù)包回寫到DRAM中。隊列管理和端口調(diào)度模塊根據(jù)發(fā)送請求將數(shù)據(jù)包加入指定的發(fā)送隊列和分配到指定的端口,最后由數(shù)據(jù)發(fā)送模塊從DRAM中讀取數(shù)據(jù)并完成轉(zhuǎn)發(fā)工作。如果以太網(wǎng)數(shù)據(jù)包的目的地址仍是以太網(wǎng),則不需要進行RPR數(shù)據(jù)封裝而直接調(diào)度和發(fā)送。當(dāng)RPR接口有數(shù)據(jù)包到來時,類似地,由RPR數(shù)據(jù)接收和分類模塊進行處理。如果目的地址仍為RPR網(wǎng)絡(luò)則直接丟棄該包;否則通過以太網(wǎng)封裝模塊完成幀格式轉(zhuǎn)換,由隊列管理和端口調(diào)度模塊以及數(shù)據(jù)發(fā)送模塊完成調(diào)度和轉(zhuǎn)發(fā)。

  4 實驗網(wǎng)絡(luò)和系統(tǒng)驗證

  利用RPR綜合業(yè)務(wù)接入系統(tǒng),可和RPR MAC層芯片以及物理層芯片一起組成RPR站點,多個站點之間通過雙環(huán)光纖相連則可構(gòu)成完整的實驗網(wǎng)絡(luò)。圖4是具有4個站點的實驗網(wǎng)絡(luò)。

  

  將多臺測試主機通過接入系統(tǒng)的千兆以太網(wǎng)口連接到實驗網(wǎng)絡(luò),進行數(shù)據(jù)收發(fā)可驗證RPR綜合業(yè)務(wù)接入系統(tǒng)軟硬件設(shè)計的正確性。功能驗證包括以太網(wǎng)內(nèi)的自環(huán)和以太網(wǎng)-RPR-以太網(wǎng)的環(huán)回兩部分。以太網(wǎng)內(nèi)的自環(huán)指不經(jīng)過RPR網(wǎng)絡(luò)而在本站點內(nèi)完成以太網(wǎng)數(shù)據(jù)的轉(zhuǎn)發(fā);以太網(wǎng)-RPR-以太網(wǎng)的環(huán)回則指一個站點接入的以太網(wǎng)數(shù)據(jù)經(jīng)RPR網(wǎng)絡(luò)傳輸?shù)搅硪粋€站點后,再通過接入系統(tǒng)轉(zhuǎn)發(fā)到以太網(wǎng)中。驗證時,在其中一臺測試主機上運行Serv-U軟件,作為FTP服務(wù)器;在另一臺測試主機上運行LeapFTP軟件,作為FTP客戶端。通過客戶端主機向服務(wù)器主機上傳和下載文件,即根據(jù)FTP協(xié)議進行文件傳輸。測試結(jié)果表明,文件能根據(jù)FTP協(xié)議正確而流暢地傳輸,表明接入系統(tǒng)既能實現(xiàn)以太網(wǎng)和RPR之間的數(shù)據(jù)交換,又能完成以太網(wǎng)數(shù)據(jù)的本地轉(zhuǎn)發(fā)。

  此外,利用實驗網(wǎng)絡(luò)還可驗證RPR中環(huán)路帶寬分配、擁塞控制、自動拓撲發(fā)現(xiàn)和智能保護倒換等各種算法性能,為RPR技術(shù)和城域網(wǎng)組網(wǎng)的研究奠定了良好的基礎(chǔ)。

  5 小結(jié)

  筆者提出了一種基于IXP2400網(wǎng)絡(luò)處理器的RPR綜合業(yè)務(wù)接入系統(tǒng)設(shè)計方案,該系統(tǒng)具有高速數(shù)據(jù)處理能力,對外提供了一個2.5Gbit/s的SPI-3接口和兩路千兆以太網(wǎng)口,可用于RPR和千兆以太網(wǎng)業(yè)務(wù)的接入。同時系統(tǒng)具有良好的可擴展性,通過修改微引擎和FPGA程序,可實現(xiàn)其他多種類型寬帶業(yè)務(wù)的接入。利用該接入系統(tǒng)構(gòu)建的RPR站點和實驗網(wǎng)絡(luò)簡單靈活,目前進行了點對點的數(shù)據(jù)傳輸測試,今后,還可在其基礎(chǔ)上進行多點對多點的數(shù)據(jù)傳輸測試,以及深入的性能研究。



評論


相關(guān)推薦

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

關(guān)閉