《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于FPGA的千兆網絡數據采集系統設計與實現
基于FPGA的千兆網絡數據采集系統設計與實現
來源:微型機與應用2011年第21期
朱 晴,吳 寧,顧薛平
(南京航空航天大學 電子信息工程學院,江蘇 南京 210016)
摘要: 介紹了網絡流量管理中的網絡數據采集系統的設計與實現。以Altera StratixGX系列FPGA為平臺,結合Marvell 88E1111網絡芯片,完成了網絡數據采集系統。本設計采用SoPC技術,利用Altera提供的千兆以太網IP核,完成FPGA系統無縫連接千兆以太網,實現網絡數據包采集。
Abstract:
Key words :

摘  要: 介紹了網絡流量管理中的網絡數據采集系統的設計與實現。以Altera StratixGX系列FPGA為平臺,結合Marvell 88E1111網絡芯片,完成了網絡數據采集系統。本設計采用SoPC技術,利用Altera提供的千兆以太網IP核,完成FPGA系統無縫連接千兆以太網,實現網絡數據包采集。
關鍵詞: 千兆以太網;SoPC;MACPCS;PMA

 隨著互聯網的迅猛發展,對網絡管理的需求日益迫切,而流量監測和統計分析是整個網絡管理的基礎。為了實現對網絡進行綜合管理,有必要及時全面地收集、管理網絡的流量信息,準確獲取網絡流量數據,對網絡流量態勢進行分析,對網絡健康狀況及未來的發展趨勢作出準確判斷。然而,隨著網絡帶寬的增加和規模的擴大,大規模網絡流量采集面臨著數據規模龐大和數據到達速度過快的挑戰。為了克服上述困難,通常采用硬件實現完成流量采集功能[1]。當前采用硬件實現的流量采集方法(如Cisco的NetFlow或者InMon的sFlow)都是基于對數據報文周期性地采樣來進行流量采集,這種方法存在處理速度緩慢、統計結果不精確、實現代價大、單個流處理訪存次數多等缺點。
 隨著FPGA的發展,其內部資源日益豐富,速度和性能大大提高,特別是內部嵌入了大量IP核[2],這些使得在FPGA上進行高速網絡流數據的采集和分析成為可能。流量管理系統主要包含網絡數據采集系統、網絡數據統計與分析和網絡數據分流三部分,如圖1所示。

 本系統基于FPGA,獲取RJ45端口的網絡數據,然后對數據進行流量統計和分析,最后根據分析結果,將網絡數據包進行分流再重新轉發回網絡中。
1 網絡數據采集系統總體設計
 本文基于FPGA,重點研究了前端網絡數據采集系統,該系統總體框圖如圖2所示,網絡數據由RJ45端口接入系統,經Marvell 88E1111和千兆以太網核的解析,獲取完整的數據包,暫存在指定地址的片內RAM中進行統計和分析。

 網絡數據采集系統主要通過Marvel 88E1111物理層芯片和Altera公司的千兆以太網IP硬核來實現,兩者通過標準的SGMII接口連接。
 在發送數據的過程中,88E1111物理層芯片將FPGA的千兆以太網IP硬核產生的高速串行數據流經RJ45以太網口,由5類雙絞線傳遞出去。在接收數據的過程中,88E1111物理層芯片檢測從5類雙絞線傳遞進來的電信號,如果有有效電信號到來,將高速串行數據流傳遞給千兆以太網MAC核。
2 物理層器件88E1111
 Altera公司的千兆以太網硬核默認支持的物理層器件有支持10/100 Mb/s的National DP83848C,支持10/100/1000 Mb/s的National DP83865以及支持雙物理層和10/100/1000 Mb/s的Marvell 88E1111。
 Marvell公司的物理層芯片88E1111是一款高性能的芯片,支持包括GMII、RGMII、SGMII、TBI、RTBI等接口的MAC層和物理層的連接方式,可以直接接入千兆以太網MAC或交換機端口,10/100/1000 Mb/s的物理傳輸層的媒介,光纖傳輸線連接方式以及雙絞線的連接方式[3]。88E1111支持的最高速率為1.25 GHz,I/O電平標準為3.3 V LVTTL。系統選擇Marvell 88E1111作為PHY器件。
3 千兆以太網
 以太網技術是一種廣泛應用的網絡技術,千兆以太網在兼容原有以太網技術的基礎上進行了一系列改進,網絡數據傳輸速率得到了大幅度提高。特別是IEEE802.3ab(1 000Based-T)千兆網標準的出臺,將5類非屏蔽雙絞線應用在千兆網中,使得網絡性能在原有布線基礎上獲得大幅度提高[4]。如今,千兆網已經發展成為主流的網絡技術。
千兆網兼容了原來以太網標準所規定的全部技術規范,其中包括CSMA/CD協議、以太網幀、全雙工、流量控制等。千兆網的標準化結構包括介質訪問控制(MAC)、物理編解碼(PCS)和物理介質接入(PMA)三個主要部分。
3.1 千兆以太網FPGA硬核
 Altera提供可參數化的千兆以太網IP核解決方案,該方案可在Altera的CycloneII、CycloneIII、Stratix等系列FPGA上工作,可配置使其包含MAC、PCS和PMA模塊中的一種或多種,選擇相應的接口標準[5]。
構建千兆以太網系統必須先了解MAC、PCS和PMA三個模塊的功能及其帶來的影響。MAC模塊主要用于全雙工模式下的流量控制及MAC幀的發送和接收,其主要操作有MAC幀的封裝與解包以及錯誤檢測。MAC模塊通過MII/GMII/RGMII接口與PHY器件或者PCS模塊進行通信,同時為用戶提供了基于Aalon-ST的8 bit/32 bit接口[6]。
 PCS和PMA分別代表物理層的物理編碼子層和物理介質接入層,這兩個模塊在配置過程中是可選的。PCS模塊專門負責信道的編解碼、糾錯和擾碼等,可以通過GMII或MII接口訪問,同時提供了TBI接口與物理介質接入層進行通信。PMA模塊主要功能是實現數據在物理線路上串\并或并\串轉換,同時連接外部物理介質相關(PMD)的設備,可以驅動銅線或光纖網路進行工作,與PMD設備接口為1.25 Gb/s串行口或者SGMII接口。整個千兆以太網系統模塊關系圖如圖3所示。

 

 

 SGMII是1.25 Gb/s串行數據接口,根據表1內容選定系統中千兆以太網IP核包含MAC、PCS和PMA三個模塊。
3.3 千兆以太網IP核的配置
 Altera提供千兆以太網控制器IP核,通過配置界面可將IP核配置為所需模式并進行IP核參數設置,配置界面分為以下4個配置頁面[6]。
 (1)Core Configuration:核配置選項,配置以太網功能模塊,是否包含PCS模塊、FIFO模塊,配置接口類型、端口數等。系統配置包含PCS和FIFO模塊,同時配置PCS接口類型為LVDS I/O(SGMII要求)。
 (2)MAC Options:MAC配置選項,配置MAC模塊功能,系統配置包含MDIO模塊。
 (3)FIFO Options:FIFO存儲器選項,可設置FIFO存儲器類型以及存儲器數據長度。
 (4)PCS/SGMII Options:物理介質接入層模塊配置頁面,配置物理層,系統配置包含SGMII橋接口。
4 網絡數據采集系統設計
 網絡數據采集系統是基于Altera強大的SoPC Builder開發工具來完成系統設計。SoPC Builder 是一個軟件工具,它屬于一種基于IP或平臺的設計方法。平臺包括Altera的Nios處理器、Avalon總線以及片內外存儲器。利用SoPC Builder,用戶可以很方便地將各種IP模塊通過Avalon總線連接起來,形成一個完整的系統[7]。SoPC Builder已包含一些常用的外設IP模塊,用戶也可自定義外設IP。
Avalon總線標準規定了Avalon-MM(Memory Mapped)和Avalon-ST(Strming)兩種接口。千兆以太網接口邏輯采用Avalon總線作為與其他模塊的互聯總線[8]。
4.1 系統介紹
 為更好地實現數據鏈路和控制鏈路的分離,提高系統的執行效率,千兆以太網模塊通過Avalon-ST接口和用戶程序進行網絡數據通信,以提升數據流傳遞過程中的效率。同時,系統自定義網絡數據接收模塊將千兆以太網解析的數據從Avalon-ST接口讀出,并存入指定地址處暫存,等待用戶程序處理。自定義網絡數據發送模塊將處理好的數據從RAM中讀出千兆以太網的Avalon-ST接口。
系統自定義千兆以太網控制模塊,通過MAC核的Avalon-MM接口實現對MAC核、PCS和物理芯片的控制。系統詳細結構圖如圖5所示。

4.2 控制模塊設計
 千兆以太網采用Avalon-MM從端口作為控制接口,接口提供了8 bit地址信號線,32 bit的讀寫控制信號,同時還提供了一些狀態信號。系統通過該控制接口,對MAC、PCS和外部物理器件進行寄存器初始化,實現對MAC、PCS和外部PHY的控制。
 自定義Control模塊是一個Avalon-MM主端口模塊,通過Avalon-MM總線接入MAC控制接口。在Control模塊內部定義了一個狀態機,如圖6所示,依次實現對千兆以太網各模塊的控制。

 Control模塊首先初始化外部PHY(Marvell 88E1111)的寄存器,啟動外部物理器件;然后,初始化PCS寄存器,實現PCS模塊的幀同步;最后,對MAC寄存器初始化,設置其工作模式并啟動MAC開始工作。
初始化PHY的寄存器是通過MDC/MDIO端口實現的,MDC/MDIO是一個二線的控制端口,MDC是控制時鐘,MDIO是串行的輸入輸出數據。自定義Control模塊通過MAC的控制端口,對PHY寄存器初始化。初始化信號通過MAC模塊的翻譯,最終通過MDC/MDIO端口送入到PHY寄存器中。
 初始化PCS和MAC的寄存器都是直接通過Avalon-MM從端口映射實現的。
4.3 自定義收發模塊設計
 千兆以太網解析模塊通過Avalon-ST接口和用戶程序進行通信。Avalon-ST接口本質上已經不同于Avalon-MM接口,它是一種非總線形式的連接,給設備之間提供了總線之外的點對點專用連接,以提升數據流傳遞過程中的效率。
 Avalon-ST提供的點到點數據傳輸不能直接將網絡數據流按網絡數據包為單位傳輸到固定位置。將各網絡數據以包為單位送到RAM指定地址存儲,更方便用戶對網絡數據進行統計處理。
 因此,系統自定義網絡數據接收模塊將千兆以太網解析的數據從Avalon-ST接口讀出,并存入指定地址處暫存,等待用戶程序處理。自定義網絡數據發送模塊將處理好的數據從RAM中讀出,并送入千兆以太網的Avalon-ST接口。
5 測試及結果分析
 為了測試千兆以太網的性能,本文采用Stratix IV FPGA與PC機通信的方式對千兆以太網的通信速率進行測試。PC機的硬件平臺為Intel奔騰3.0 GHz CPU,2 GB內存,Broadcom netxtreme gigabit ethernet網卡,TCP/IP最大傳輸單元大小為1 500。測試方法為PC機向StratixIV發送4 GB的測試數據,經千兆位解析后,重新發送返回至PC機。測試系統結構圖如圖7所示。

 自定義接收模塊將接收的數據重新由發送模塊發送回PC機。數據傳輸率最高達1 000 Mb/s。
 本文以Altera StratixGX系列FPGA為平臺,結合Marvell 88E1111網絡芯片,實現了千兆網絡數據采集系統。設計過程中采用SoPC技術,利用Altera提供的千兆以太網IP核,完成FPGA系統無縫連接千兆以太網,實現網絡數據采集。測試表明,該系統能有效、高速地滿足網絡管理系統的要求。
參考文獻
[1] 王宏,龔正虎.Hits和Holds:識別大象流的兩種算法[J].軟件學報,2010(6):1392-1402.
[2] 李璇,敖光良.基于FPGA的千兆以太網設計[J].網絡安全技術與應用,2008(5):63-64.
[3] Marvell. 88E1111 Data Sheet Integrated 10/100/1000 Ultra Gigabit Ethernet Transceiver[Z]. 2004-11
[4] IEEE802.3.Part3:Carrier sense multiple access with collision detection(CSMA/CD) acess method and physical layer specification[S],2005.
[5] 柳利軍,熊良芳.基于FPGA的千兆以太網交換芯片的設計[J].微電子學與計算機,2006,23(3):80-82.
[6] Altera Corportion. Triple speed ethernet megacore function user guide[Z]. 2008.
[7] 徐欣,于紅旗. 基于FPGA嵌入式系統設計[M].北京:機械工業出版社,2005.
[8] 李蘭英.Nios II嵌入式軟核-SOPC設計原理及應用[M].北京:航天航空出版社,2006.

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: bt天堂中文资源在线 | 亚洲欧洲视频在线观看 | 五月天在线婷婷 | 一个人看的高清www视频免费 | 日产精品一二三四区国产 | 国产精品伦一区二区三级视频 | 高清freexxxx性 | 高h喷水荡肉爽文1v1 | 999www成人免费视频 | 成人短视频免费 | 欧美亚洲国产人成aaa | 黄色一区二区三区 | 极品精品国产超清自在线观看 | 成熟女人免费一级毛片 | 91探花福利精品国产自产在线 | 在线观看视频中文字幕 | 日韩理论在线观看 | 香港三级日本三级人妇三级四 | 亚洲精品另类有吗中文字幕 | 亚洲成在人线久久综合 | 日b视频在线观看 | 亚洲国产91在线 | 日韩精品中文字幕一区三区 | xxxxx日本护士xxxhd | 成年人视频在线免费播放 | 日韩精品亚洲精品485页 | 一级α一级α片免费观看网站 | 一个人看的www日本高清视频 | 夜夜弄 | 欧美一级欧美一级在线播放 | freexxx中国女人 | 欧美久久天天综合香蕉伊 | 亚州中文 | 福利片成人午夜在线 | 亚洲欧美中文字幕影音先锋 | 韩国免费一级成人毛片 | 在线成人tv天堂中文字幕 | 欧美一a一片一级一片 | 亚洲永久中文字幕在线 | 成人欧美| www免费视频com|