專利名稱:一種網絡流量監測系統的制作方法
技術領域:
本發明涉及信息技術領域中的網絡流量監測系統,尤其涉及一種在線可重配置網絡流量監測系統。
背景技術:
隨著Internet網絡技術的發展,網絡安全以及網絡信息統計、行為分析越來越受到人們的關注。通過網絡流量的采集、存儲、分析能有效的獲得用戶的網絡行為,分析潛在網絡安全隱患;同時可分析該局域網絡中熱點應用,提高其響應等級等一系列有助于網絡應用的措施。目前大多數網絡流量采集采用軟件的方式完成,如Sniff,Libcap等,一般都運行在PC機或者服務器上,其硬件接口相對固定,處理器能力有限,響應速度較慢,上報監聽結 果至上層服務器分析不能做到實時分析。為了減輕服務器處理器的負擔,也有利用網絡數據流量采集卡與服務器結合完成數據流量的采集與分析的應用。但這兩種方案均以服務器為主,其成本、功耗均較高,且均是固定硬件,當接口改變時需更換流量采集卡,增加成本和配置復雜度。而為了完成數據流量的實時回放,一般在千兆網絡以上的網絡流量監測系統中都采用大型的RAID控制器和磁盤陣列完成高速數據的分流和存儲,其成本、體積均較聞。
發明內容
發明目的針對現有技術中存在的問題與不足,本發明提供一種網絡流量監測系統,其在單芯片內即可完成網絡流量采集、監測及存儲以取代傳統的通過服務器實現的監測系統。技術方案一種網絡流量監測系統,用于對網絡流量進行采集、監測以及存儲,其包括控制管理模塊、視頻顯示模塊、通用網絡接口模塊、DMA模塊、數據包預處理模塊、數據包分析模塊以及NAND Flash存儲控制模塊,其中控制管理模塊由雙核處理器實現,視頻顯示模塊、通用網絡接口模塊、DMA模塊、數據包預處理模塊、數據包分析模塊以及NAND Flash存儲控制模塊由現場可編程門陣列(FPGA)實現;所述雙核處理器包括第一處理器和第二處理器,第一處理器運行監測系統所需求的操作系統,通過操作系統完成本監測系統中顯示,網絡接口,數據包預處理,數據包分析等硬件模塊的控制管理通過操作系統完成本監測系統中顯示,網絡接口,數據包預處理,數據包分析等硬件模塊的控制管理以及與管理員的人機交互;第二處理器通過運行正則表達式運算輔助FPGA完成數據包采集、預處理、分析以及NAND Flash存儲控制模塊對應的NAND Flash存儲陣列的文件系統管理,上述雙核處理器和現場可編程門陣列由單一芯片實現。所述與管理員的人機交互包括通過視頻顯示模塊顯示實時流量中流量的大小,數據包類型分類,潛在威脅等分析結果,或通過網絡報給遠程管理員。所述通用網絡接口模塊,用于實現網絡流量采集,并將采集到的數據包送至DMA模塊。所述通用網絡接口模塊能夠根據被監測網絡接口情況,通過可編程邏輯器件提供的部分可重配置技術(Partial Reconfiguration)實時重配置成相應的網絡接口,并提供相應的MAC IP核,其接口可重配置文件預存在外接的Flash存儲器中,或由管理員通過網絡遠程上傳。所述的相應的網絡接口包括GMII、SGMII、RGMII、或lOOOBase-X。所述DMA模塊,將來自通用網絡接口模塊的數據包通過所述DMA模塊直接存儲至外部DDR中,當數據包存儲完成后,再由所述DMA模塊將完整數據包讀出,提交至所述數據包預處理模塊;所述數據包預處理模塊,其可實現完整數據包的五元組信息以及數據包有效載荷提取,并提供給數據包分析模塊;所述數據包分析模塊,其完成對數據包的五元組信 息的匹配、以及字符串匹配,并將上述匹配結果送至所述第二處理器供進一步分析,所述第二處理器利用預先存儲的處理規則分析所述匹配結果中數據包的關聯性、數據包的特征值等,判斷是否有潛在威脅,并將分析結果反饋至所述第一處理器;所述第一處理器完成人機交互。若所述第二處理器分析發現匹配結果對應的數據包有潛在風險,或者分析結果數據需要存儲,所述第二處理器控制所述數據包分析模塊將有潛在風險的數據包以及分析結果寫入到所述NAND Flash存儲控制模塊中,所述NAND FLASH存儲控制模塊直接控制NANDFlash存儲陣列。有益效果本發明的方法與現有技術相比,本發明提供的網絡流量監測系統,充分發揮雙核處理器與FPGA各自的特點,軟硬件協同工作,完成對千兆,甚至萬兆網絡數據流量的監測以及存儲,具有體積小,功耗、成本低,配置靈活等一系列顯著優點。
圖I為本發明實施例的系統結構框圖。
具體實施例方式下面結合具體實施例,進一步闡明本發明,應理解這些實施例僅用于說明本發明而不用于限制本發明的范圍,在閱讀了本發明之后,本領域技術人員對本發明的各種等價形式的修改均落于本申請所附權利要求所限定的范圍。如圖I所示,控制管理模塊2由雙核處理器實現,雙核處理器包括第一處理器21和第二處理器22,視頻顯示模塊3、通用網絡接口模塊4、DMA模塊5、數據包預處理模塊6、數據包分析模塊7以及NAND Flash存儲控制模塊8由現場可編程門陣列實現。第一處理器21運行監測系統所需求的操作系統,完成監測系統的控制管理以及與管理員的人機交互;第二處理器22輔助FPGA完成數據包采集、預處理、分析以及NANDFlash存儲控制模塊8對應的NAND Flash存儲陣列9的文件系統管理;雙核處理器和現場可編程門陣列由單一芯片實現。優選的,網絡流量監測系統I基于賽靈思公司的Zynq系列可編程SOC實現。Zynq系列可編程SOC中包括雙核處理器ARM Cortex-A9與現場可編程門陣列。Cortex_A9在Zynq中可達到IGHz,FPGA與Cortex-A9在片內的融合可實現高數據帶寬的傳輸,低功耗以及靈活的配置。優選的,控制管理模塊2由Zynq系列可編程SOC中的雙核處理器ARM Cortex_A9實現,第一處理器21上運行嵌入式Linux操作系統,并移植QT界面軟件,實現嵌入式環境下的用戶界面顯示。其顯示通過FPGA中的視頻顯示模塊3完成,該視頻顯示模塊3可提供VGA、DVI/HDMI等顯示接口 ;同時網絡接口 11也通過AMBA Switch與第一處理器21相連,提供遠程管理員控制接口。優選的,被監測的網絡數據通過片內FPGA上實現的通用網絡接口模塊4輸入,實現網絡流量采集。該通用網絡接口模塊4可根據被監測網絡接口情況,實時重配置成相應的網絡接口,如GMII、SGMII、RGMII、1000Base-X等,并提供相應的MAC IP核。其接口可重配置文件可預存在Cortex-A9 SOC外接的Flash存儲器211中,也可以由管理員通過網絡遠程上傳。網絡數據流程采集完成后,通過DMA模塊5直接存儲至外部DDR 51中,第一處理 器21只需通過AXI Interconnect數據交換模塊10配置DMA參數,而不需參與數據傳輸。當數據包存儲完成后,再由DMA模塊將完整數據包讀出,提交至數據包預處理模塊6。數據包預處理模塊6也在片內FPGA中實現,其可實現數據包的五元組(源IP地址,源端口,目的IP地址,目的端口,傳輸層協議號)信息以及數據包有效載荷(Payload)提取,通過AXI Interconnect數據交換模塊10供數據包分析模塊7使用。數據包分析模塊7主要利用FPGA片內塊RAM(BRAM)資源實現了內容可尋址存儲器(CAM),完成對五元組信息的匹配,同時利用FPGA邏輯實現了硬件化的字符串匹配引擎,其采用的算法可為基于哈希(hash)算法的bloom filter引擎。以上匹配結果通過AXIInterconnect數據交換模塊10以及AMBA Switch上報至第二處理器22供進一步復雜規則分析,目前可實現IOGbps以上的網絡流量線速匹配。第二處理器22上運行復雜規則分析,其規則文件存儲在Zynq系列可編程SOC的存儲控制器中,遠程管理員可通過第一處理器21控制的網絡接口及時更新規則文件。第二處理器22的分析結果反饋至第一處理器21,并通過視頻顯示模塊3在顯示器上顯示,或通過網絡接口 11上報給遠程管理員。若第二處理器22分析發現該數據包中數據特征符合預定義規則中的特征值,則認為該數據包有潛在威脅;或者分析的結果數據需要存儲,第二處理器22將通過AXIInterconnect數據交換模塊10控制數據包分析模塊7,將有潛在風險的數據包以及分析結果寫入到NAND Flash存儲控制模塊8中,該模塊8直接控制NAND Flash存儲陣列9。每片NAND Flash最高寫入速度可達500Mbps以上,因為FPGA部分有300多個管腳,因此只要有20片NAND Flash并行,即可完成IOGbps以上的高速數據寫入,這是普通的磁盤所無法實現的。同時數據的傳輸在片內自定義接口實現,不需原來的IDE/SATA等協議轉換,提高數據的傳輸效率,降低了延時。上述網絡數據的存儲文件系統由第二處理器22管理,負責地址映射和負載均衡與壞塊管理。地址映射,即將文件系統中以邏輯地址來劃分的數據映射到以NAND Flash物理地址劃分的空間中。負載均衡(Wear-leveling)與壞塊管理,由于NAND Flash有其壽命(擦除/寫入次數)限制,必須以輪詢、比率和優先權這三種靜態負載均衡算法對寫入的數據進行平衡,避免對同一塊進行反復擦寫。一旦發現某一塊即將達到其壽命時,或者已經出現損壞,需及時屏蔽,并更新地址映射。緩存的優化管理,即建立一套緩存管理機制,降低NANDFlash的實際操作次數以提高IO讀寫性能,提高NAND Flash空間利用率。綜上,本發明提出了一種網絡流量監測系統,利用單芯片方案,軟硬件合理分配協同工作實現了網絡數據流量的采集、監測、存儲等功能。該系統在Zynq器件上實施,其功耗在10瓦以下。而以往通過PC機、服務器、RAID控制器以及磁盤陣列等設備實現的網絡流量監測系統,功耗遠超100瓦。同時通過本發明架構可實現系統小型化,大大減少了所需設備,大幅降低了系統成本,使該專業設備可推廣至個人或小型局域網的環境中。同時本架構可根據被監測網絡接口情況,在線重配置網絡接口,增加了系統的靈活性。因此本發明提出的硬件架構與現有系統比,在系統成本(Β0Μ),運營成本(功耗),小型化以及靈活配置上都 有其顯著的優點。
權利要求
1.一種網絡流量監測系統,用于對網絡流量進行采集、監測以及存儲,其特征在于包括控制管理模塊(2)、視頻顯示模塊(3)、通用網絡接口模塊(4)、DMA模塊(5)、數據包預處理模塊(6)、數據包分析模塊(7)以及NAND Flash存儲控制模塊(8); 其中控制管理模塊(2)包括由第一處理器(21)和第二處理器(22)組成的雙核處理器;視頻顯示模塊(3)、通用網絡接口模塊(4)、DMA模塊(5)、數據包預處理模塊(6)、數據包分析模塊(7)以及NAND Flash存儲控制模塊(8)由現場可編程門陣列實現; 所述第一處理器(21)運行監測系統所需求的操作系統,通過操作系統完成本監測系統中顯示,網絡接口,數據包預處理,數據包分析等硬件模塊的控制管理以及與管理員的人機交互;第二處理器(22)上運行正則表達式運算輔助現場可編程門陣列完成數據包采集、預處理、分析以及NAND Flash存儲控制模塊(8)對應的NAND Flash存儲陣列(9)的文件系統管理,所述雙核處理器和現場可編程門陣列由單一芯片實現。
2.根據權利要求I所述的網絡流量監測系統,其特征在于所述與管理員的人機交互包括通過視頻顯示模塊(3)顯示分析結果,或通過網絡報給遠程管理員。
3.根據權利要求I所述的網絡流量監測系統,其特征在于所述通用網絡接口模塊(4 ),用于實現網絡流量采集,并將采集到的數據包送至DMA模塊(5 )。
4.根據權利要求3所述的網絡流量監測系統,其特征在于所述通用網絡接口模塊(4)根據被監測網絡接口情況,通過可編程邏輯器件提供的部分可重配置技術實時重配置成相應的網絡接口,并提供相應的MAC IP核,所述網絡接口可重配置文件預存在外接的Flash存儲器中,或由管理員通過網絡遠程上傳。
5.根據權利要求4所述的網絡流量監測系統,其特征在于所述的相應的網絡接口包括 GMII、SGMII、 RGMII、或 1000Base-X。
6.根據權利要求3所述的網絡流量監測系統,其特征在于所述DMA模塊(5),將來自通用網絡接口模塊(4)的數據包通過所述DMA模塊(5)直接存儲至外部DDR中,當數據包存儲完成后,再由所述DMA模塊(5)將完整數據包讀出,提交至所述數據包預處理模塊(6);所述數據包預處理模塊(6),其可實現完整數據包的五元組信息以及數據包有效載荷提取,并提供給數據包分析模塊(7);所述數據包分析模塊(7),其完成對數據包的五元組信息的匹配、以及字符串匹配,并將上述匹配結果送至所述第二處理器(22)供進一步分析,所述第二處理器(22)利用預先存儲的處理規則對所述匹配結果進行分析,并將分析結果反饋至所述第一處理器(21);所述第一處理器(21)完成人機交互。
7.根據權利要求6所述的網絡流量監測系統,其特征在于若所述第二處理器(22)分析發現匹配結果對應的數據包有潛在風險,或者分析結果數據需要存儲,所述第二處理器(22)控制所述數據包分析模塊(7)將有潛在風險的數據包以及分析結果寫入到所述NANDFlash存儲控制模塊(8 )中,所述NAND FLASH存儲控制模塊(8 )直接控制NAND Flash存儲陣列(9)。
全文摘要
本發明公開了一種網絡流量監測系統,主要包括控制管理模塊,視頻顯示模塊,通用網絡接口模塊,DMA模塊,數據包預處理模塊,數據包分析模塊,以及NANDFlash存儲控制模塊。其中控制管理模塊運行在雙核處理器上,視頻顯示模塊,通用網絡接口模塊,數據包預處理模塊,數據包分析模塊,以及NANDFlash存儲控制模塊均運行在片內現場可編程門陣列上。該系統充分發揮雙核處理器與FPGA各自的特點,軟硬件協同工作,完成對千兆,甚至萬兆網絡數據流量的監測以及存儲。本發明由于采用上述設計,具有體積小,功耗、成本低,配置靈活等一系列顯著優點。
文檔編號H04L12/26GK102970190SQ201210528008
公開日2013年3月13日 申請日期2012年12月10日 優先權日2012年12月10日
發明者吳幸, 孫立濤 申請人:東南大學