新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > 基于網絡處理器的彈性分組環接入實現

        基于網絡處理器的彈性分組環接入實現

        作者: 時間:2007-08-03 來源:網絡 收藏
        摘要環技術是一種面向城域網的技術。在分析了的優點之后,提出了一種方案,利用IXP1200了以太網和環的接口轉換,并討論了方案的軟硬件協同設計方法。
        關鍵詞;IXP1200;彈性分組環;POS

        1 引言

        城域網存在的主要問題是帶寬和QoS的問題,隨著局域網和廣域網技術的長足發展,城域網已成為整個通信網絡中的瓶頸。TDM的傳統SDH城域網已不能很好滿足日益增長的業務需求,近年來,提出了主要面向城域網的彈性分組環技術,并由IEEE 802.17工作組完成了標準化工作,于2004年6月24日發布了802.17-2004標準[1]。彈性分組環是一種雙環拓撲的技術,能夠在兩條單向環路上沿相反方向傳輸數據。它結合了以太網的經濟性、靈活性和SDH的高帶寬效率及可靠性,利用空間重用、統計復用和環路保護來提高帶寬利用率和保證用戶的網絡質量。

        網絡處理器是經過專門設計和高度優化來完成各種網絡功能的專用指令處理器,又是軟件可編程的芯片,表現出高效的并行處理能力和適應性。其中,IXP1200是Intel公司推出的網絡處理器產品,它以優異的性能被廣泛應用于通信網絡領域。文獻[2]探討了基于IXP1200的路由器技術,文獻[3]則詳細介紹了IXP1200中的微引擎設計方法??梢姡捎谟布母咝院蛙浖目蓴U展性,利用IXP1200網絡處理器來彈性分組環的是一種可行而有效的方案。

        2 網絡處理器介紹

        網絡處理器一般由一個核心處理器和若干個智能協處理器組成,并發同步完成數據包的處理。同時還集成了一些專用硬件處理單元,如CRC校驗、Hash單元等,在處理線速上已經達到并超過10Gbps。它兼顧了GPP的靈活性和ASIC的執行效率,為從第2層到第7層的多種應用提供了良好的支持。

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

        IXP1200還提供了豐富的外部接口單元,其中SRAM單元和SDRAM單元提供了連接存儲芯片的接口,最大數據吞吐率分別達到464Mbps和928Mbps;PCI單元為外部主處理器和MAC設備等提供了32位PCI 2.2總線,最大數據吞吐率達到264Mbps;FBI單元為外部MAC設備提供了高速的IX總線,用于實現各種網絡的功能,最大數據吞吐率達到6.6Gbps。

        3 彈性分組環的接入實現方案

        彈性分組環具有雙環拓撲結構,包括兩條沿相反方向傳輸數據的單向環,分別稱之為環路0和環路1。圖1顯示了彈性分組環的站點結構。

        按照802.17-2004標準,彈性分組環包括四個層面,由下至上分別為:物理層與物理層適配子層、MAC數據通路子層、MAC控制子層和MAC客戶子層[1]。其中,彈性分組環的接入在MAC客戶子層完成。設計的彈性分組環接入平臺功能主要包括:

        (1)對來自以太網的業務數據,若目的地址為以太網則直接轉發出去;若目的地址為彈性分組環網,則對以太網包進行深度處理,完成RPR幀格式封裝,對各種不同的業務數據進行優先級分類,并轉發到彈性分組環接口等。

        (2)對來自彈性分組環的業務數據進行判別,丟棄重新接入環路的業務數據,對轉發到以太網的業務數據進行處理,轉換為以太網幀轉發出去。

        (3)完成地址學習、地址映射、路由表維護、業務調度和流量管理等。

        圖1 彈性分組環站點結構圖

        圖2 基于IXP1200的彈性分組環接入平臺硬件結構

        3.1 硬件設計

        利用IXP1200網絡處理器設計的彈性分組環接入平臺硬件結構如圖2所示。

        接入平臺主要設計了以下幾個單元:

        (1)網絡處理器單元:包括1塊IXP1200網絡處理器,作為整個接入平臺的核心處理部分,主要完成數據幀格式的轉換、CRC校驗、數據轉發、地址學習、路由表建立和維護、業務調度以及流量管理等功能。

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

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

        (4)調試接口單元:包括1個RJ45網口和1個RS232串口。IXP1200的PCI單元通過82559ER芯片完成PCI到以太網接口的轉換,并通過變壓器連接到網口;UART單元通過變壓器連接到串口。網口和串口用于接入平臺的調試,在調試完成后可以當作普通通信口使用。

        (5)存儲器單元:包括128M字節的SDRAM 、8M字節的SRAM和8M字節的FLASH。其中SDRAM主要用于存儲應用代碼、大型數據結構和路由表;SRAM主要用于存儲路由表索引和暫存數據;而FLASH主要用于存儲系統引導代碼。

        3.2 軟件設計

        接入平臺的軟件設計主要包括IXP1200內部StrongARM核及微引擎的軟件設計和基于FPGA實現的IX Bus/POS接口轉換設計兩部分。

        3.2.1 StrongARM核和微引擎的軟件開發

        IXP1200網絡處理器是一塊軟件可編程的芯片,內部的StrongARM核和微引擎都有獨立的軟件系統,分別完成控制層面和數據層面的功能。其軟件體系結構如圖3所示。

        StrongARM核的軟件結構包括操作系統、板極支持包、驅動和網絡應用等模塊。操作系統采用VxWorks,它是專門為實時嵌入式系統設計開發的操作系統軟件,為用戶提供了高效的實時任務調度、中斷管理和豐富的系統資源、網絡協議等。板極支持包用于完成硬件初始化。驅動模塊包括微引擎、IX總線以及其它I/O接口的驅動程序。通信模塊通過共享內存和消息隊列等方式完成StrongARM核和微引擎之間的通信。網絡應用模塊則完成路由表管理、異常數據包處理、公平控制和拓撲保護等。StrongARM核的軟件開發主要用與VxWorks配套的集成開發軟件Tornado完成[5]。

        微引擎的開發則采用Intel專門設計的開發平臺Developer Workbench,既可以進行硬件調試,也可以進行軟件仿真[6]。IXP1200中,6個微引擎共同完成數據層面的功能。其中微引擎0和微引擎1分別接受來自以太網和彈性分組環的數據,完成數據的分類和初步處理;微引擎2和微引擎3分別對來自以太網和彈性分組環的數據進行深度處理,完成CRC校驗和幀格式轉換;微引擎4進行隊列調度和流量管理;微引擎5讀取調度線程分配的任務將數據包發送出去。

        圖3 IXP1200的軟件體系結構

        圖4 IX Bus/POS接口轉換實現的結構框圖

        3.2.2 IX Bus/POS接口轉換實現

        IXP1200對外部網絡設備提供了IX總線接口,通過接口轉換設計,能夠使其應用到有線通信、無線基站通信和以太網通信等多個領域。由于這些電路最終都通過IX總線和IXP1200連接,因此不會對系統的軟件結構產生影響。靈活的接口轉換設計可以大大擴展IXP1200的應用范圍?;贔PGA芯片的設計實現了IX總線到POS接口的轉換,其中POS接口采用了POS-PHY Level 2協議。設計的結構框圖如圖4所示。

        在接口轉換中,依據其功能將其劃分成為接收模塊和發送模塊。定義從POS接口到IX總線的數據傳輸路徑為接收路徑,而從IX總線到POS接口的數據傳輸路徑為發送路徑。

        接收路徑又分為數據通道和控制通道。數據通道主要負責數據的發送和復用等操作,接收來自POS接口的數據,進行奇偶校驗和數位轉換并存入接收數據緩存器RDFIFO,再發送到IX總線??刂仆ǖ乐饕山邮諣顟B機來完成數據收發的時序控制。另外還要根據包頭、包尾等包指示信息、包長計算結果和奇偶校驗結果生成標簽存入接收標簽緩存器RTFIFO中,在數據向IX總線發送時,根據包長確定接收數據緩存器的讀出字節數,并同時恢復出相應的包指示和錯誤指示信息。

        發送路徑類似于接收路徑,分為數據通道和控制通道。數據通道中,將IX總線的數據送入發送數據緩存器TDFIFO,然后根據目的端口向相應的POS接口發送,并產生POS接口的奇偶校驗信號。而控制通道在由發送狀態機完成數據收發的時序控制之外,同樣生成標簽信息送入發送標簽緩存器TTFIFO,控制數據的轉發,并且恢復相關的指示信息。

        設計具有以下特點:

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

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

        (3)每個端口有2個1611bit的標簽FIFO:一個用于存儲發送標簽,一個用于存儲接收標簽。每個標簽對應一個數據單元。

        (4)具有易擴展性,目前支持2個端口,根據應用的變化,稍微修改程序即可增加支持的端口數。

        (5)支持POS-PHY Level 2協議,采用單物理層包級傳輸模式,根據應用可以擴展到多物理層支持和其它傳輸模式。

        4 結論

        提出了一種基于IXP1200網絡處理器的彈性分組環接入方案,便捷地實現了以太網和彈性分組環之間的數據幀格式轉換和接口轉換功能。

        本文的創新點為在彈性分組環的接入平臺中使用了IXP1200網絡處理器,并通過軟硬件設計實現了其接入功能。IXP1200網絡處理器的硬件高效性保證了高速的數據處理能力,而軟件可編程性可以大大縮減從研發到進入市場的時間周期,并提供良好的擴展性能。本設計中,支持4路以太網接口和2路POS接口,通過StrongARM和微引擎的軟件開發,以及IX總線接口轉換程序的設計,可以實現更多路數據以及更多類型網絡的接入。

        參考文獻

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



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 当涂县| 会昌县| 阿合奇县| 庆安县| 尚义县| 文山县| 获嘉县| 金堂县| 南宫市| 郸城县| 鲁甸县| 太原市| 抚远县| 会东县| 甘孜| 博野县| 淮北市| 岳西县| 绩溪县| 湖口县| 孙吴县| 新巴尔虎左旗| 广州市| 新化县| 平舆县| 锡林郭勒盟| 寿阳县| 盐边县| 岑溪市| 古交市| 贵阳市| 阿拉善盟| 易门县| 法库县| 中江县| 斗六市| 江山市| 安陆市| 那坡县| 九龙县| 岐山县|