基于FPGA的千兆網(wǎng)絡(luò)數(shù)據(jù)采集系統(tǒng)設(shè)計與實現(xiàn)
摘 要: 介紹了網(wǎng)絡(luò)流量管理中的網(wǎng)絡(luò)數(shù)據(jù)采集系統(tǒng)的設(shè)計與實現(xiàn)。以Altera StratixGX系列FPGA為平臺,結(jié)合Marvell 88E1111網(wǎng)絡(luò)芯片,完成了網(wǎng)絡(luò)數(shù)據(jù)采集系統(tǒng)。本設(shè)計采用SoPC技術(shù),利用Altera提供的千兆以太網(wǎng)IP核,完成FPGA系統(tǒng)無縫連接千兆以太網(wǎng),實現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)包采集。
關(guān)鍵詞: 千兆以太網(wǎng);SoPC;MAC;PCS;PMA
隨著互聯(lián)網(wǎng)的迅猛發(fā)展,對網(wǎng)絡(luò)管理的需求日益迫切,而流量監(jiān)測和統(tǒng)計分析是整個網(wǎng)絡(luò)管理的基礎(chǔ)。為了實現(xiàn)對網(wǎng)絡(luò)進行綜合管理,有必要及時全面地收集、管理網(wǎng)絡(luò)的流量信息,準確獲取網(wǎng)絡(luò)流量數(shù)據(jù),對網(wǎng)絡(luò)流量態(tài)勢進行分析,對網(wǎng)絡(luò)健康狀況及未來的發(fā)展趨勢作出準確判斷。然而,隨著網(wǎng)絡(luò)帶寬的增加和規(guī)模的擴大,大規(guī)模網(wǎng)絡(luò)流量采集面臨著數(shù)據(jù)規(guī)模龐大和數(shù)據(jù)到達速度過快的挑戰(zhàn)。為了克服上述困難,通常采用硬件實現(xiàn)完成流量采集功能[1]。當前采用硬件實現(xiàn)的流量采集方法(如Cisco的NetFlow或者InMon的sFlow)都是基于對數(shù)據(jù)報文周期性地采樣來進行流量采集,這種方法存在處理速度緩慢、統(tǒng)計結(jié)果不精確、實現(xiàn)代價大、單個流處理訪存次數(shù)多等缺點。
隨著FPGA的發(fā)展,其內(nèi)部資源日益豐富,速度和性能大大提高,特別是內(nèi)部嵌入了大量IP核[2],這些使得在FPGA上進行高速網(wǎng)絡(luò)流數(shù)據(jù)的采集和分析成為可能。流量管理系統(tǒng)主要包含網(wǎng)絡(luò)數(shù)據(jù)采集系統(tǒng)、網(wǎng)絡(luò)數(shù)據(jù)統(tǒng)計與分析和網(wǎng)絡(luò)數(shù)據(jù)分流三部分,如圖1所示。
本系統(tǒng)基于FPGA,獲取RJ45端口的網(wǎng)絡(luò)數(shù)據(jù),然后對數(shù)據(jù)進行流量統(tǒng)計和分析,最后根據(jù)分析結(jié)果,將網(wǎng)絡(luò)數(shù)據(jù)包進行分流再重新轉(zhuǎn)發(fā)回網(wǎng)絡(luò)中。
1 網(wǎng)絡(luò)數(shù)據(jù)采集系統(tǒng)總體設(shè)計
本文基于FPGA,重點研