• <blockquote id="fficu"><optgroup id="fficu"></optgroup></blockquote>

    <table id="fficu"></table>

    <sup id="fficu"></sup>
    <output id="fficu"></output>
    1. 20240703
      關(guān)注中國自動(dòng)化產(chǎn)業(yè)發(fā)展的先行者!
      工業(yè)智能邊緣計算2024年會(huì )
      2024
      2024中國自動(dòng)化產(chǎn)業(yè)年會(huì )
      2023年工業(yè)安全大會(huì )
      OICT公益講堂
      當前位置:首頁(yè) >> 案例 >> 案例首頁(yè)

      案例頻道

      基于NetFlow的網(wǎng)絡(luò )流量采集系統設計
      • 企業(yè):控制網(wǎng)     領(lǐng)域:工業(yè)以太網(wǎng)     行業(yè):綜合    
      • 點(diǎn)擊數:2169     發(fā)布時(shí)間:2009-11-27 16:59:35
      • 分享到:
          摘  要:本文主要介紹流量分析中主要使用的NetFlow技術(shù),并根據NetFlow的特點(diǎn),給出了一個(gè)基于NetFlow的網(wǎng)絡(luò )流量采集系統設計實(shí)例。

          關(guān)鍵詞:
      NetFlow;流量采集;多線(xiàn)程

          Abstract:
      By analyzing the principles of the widely-used NetFlow technology,this paper,according to the characteristics of data flow of NetFlow,Provides us with a practical illustration of system design on collecting data of NetFlow.

          Key words:
      NetFlow; flow collection; multi-thread
       
          引言

          隨著(zhù)網(wǎng)絡(luò )技術(shù)的飛速發(fā)展,各種基于網(wǎng)絡(luò )的業(yè)務(wù)和應用不斷增加,這些業(yè)務(wù)和應用對網(wǎng)絡(luò )性能和安全提出了更高的要求。在這種環(huán)境下,網(wǎng)絡(luò )流量數據對網(wǎng)絡(luò )服務(wù)質(zhì)量和網(wǎng)絡(luò )安全管理等變得十分重要。因此,對網(wǎng)絡(luò )流量及相關(guān)情況的深入分析,是網(wǎng)絡(luò )管理的重要環(huán)節。

          目前,網(wǎng)絡(luò )流量分析技術(shù)主要有基于SNMP(簡(jiǎn)單網(wǎng)絡(luò )管理協(xié)議)、基于包嗅探和基于Flow(流)等幾種。本文研究探討的NetFlow則是基于Flow技術(shù)。
       
          1 NetFlow技術(shù)

          1
      .1 NetFlow技術(shù)介紹

          NetFlow技術(shù)于1996年由Cisco的Darren Kerr和Barry Bruins發(fā)明,它起初用于網(wǎng)絡(luò )設備對數據交換進(jìn)行加速,并同步實(shí)現對高速轉發(fā)的IP數據流(Flow)進(jìn)行測量和統計。經(jīng)過(guò)多年的技術(shù)演變和發(fā)展,NetFlow技術(shù)已成為當前最主要的網(wǎng)絡(luò )流量分析和計量行業(yè)標準。利用NetFlow技術(shù)可以實(shí)現網(wǎng)絡(luò )流量監測、用戶(hù)行為監控、網(wǎng)絡(luò )安全、網(wǎng)絡(luò )規劃以及流量計費等功能。

          NetFlow技術(shù)已經(jīng)在大多數Cisco路由器和交換機中廣泛應用,并得到了主流廠(chǎng)商(諸如Juniper、Foundry、Extreme等)的支持。國內華為推出的NetStream技術(shù)與NetFlow技術(shù)兼容。

          1
      .2 NetFlow技術(shù)原理

          NetFlow技術(shù)基于流。所謂流,就是在高速數據交換中一定時(shí)間段內給定的源端和目的端所發(fā)生的具有相同屬性的連續數據包的集合。一條NetFlow流一般由以下7個(gè)關(guān)鍵字段惟一標識:

      (1)源地址
      (2)目的地址
      (3)源端口
      (4)目的端口
      (5)第3層協(xié)議類(lèi)型(如TCP、UDP)
      (6)服務(wù)類(lèi)型(ToS)
      (7)輸入的邏輯端口
          每當路由器或交換機的端口上接收到數據包時(shí),NetFlow就會(huì )掃描這7個(gè)字段,判斷此數據包是否屬于一個(gè)已經(jīng)存在的流。若是,則相應流的流量統計將增加。否則,在NetFlow的高速緩沖中生成一條新的流記錄。在新的流不斷產(chǎn)生的同時(shí),NetFlow的高速緩沖內過(guò)期的流以UDP數據報的方式導出。

          路由器每秒檢查一次NetFlow的高速緩存,在如下情況時(shí)輸出流:

      (1)流TCP終結;
      (2)流緩存滿(mǎn);
      (3)某個(gè)流中止;
      (4)某個(gè)流超時(shí)(默認值30分)
           1.3 NetFlow數據格式

           NetFlow導出的數據由1個(gè)包頭和1~30個(gè)流記錄組成。NetFlow導出的數據格式共有5個(gè)版本,它們分別是Version 1、Version 5、Version 7、Version 8和Version 9,其中V5是最為流行和成熟的版本,目前已得到最廣泛的使用,而最新的V9已經(jīng)被列入IETF的標準。NetFlow V5版本數據包的包頭格式和流記錄格式分別如圖1和圖2所示。
       

                      

      圖1 V5版本數據包的包頭格式

                      
       
      圖2 V5版本數據包的流記錄格式
       
           2 NetFlow網(wǎng)絡(luò )流量采集與聚合

           2
      .1 系統概述

           根據NetFlow技術(shù)的特點(diǎn)結合華北科學(xué)院圖書(shū)館網(wǎng)絡(luò )環(huán)境,本文設計并實(shí)現了一個(gè)網(wǎng)絡(luò )流量采集系統。系統結構如圖3所示:

                    
       
      圖3 NetFlow流量采集與聚合系統結構

           系統在Windows平臺下使用C#作為開(kāi)發(fā)語(yǔ)言,SQL SERVER 2005作為數據庫。

          2
      .2 NetFlow在Cisco Catalyst 6509上的配置

          華北科技學(xué)院圖書(shū)館網(wǎng)絡(luò )環(huán)境中配置1臺Cisco Catalyst 6509交換機。NetFlow在交換機上配置如下:

      Switch(config)#mls netlfow
      !Enables NetFlow on the PFC(Policy Feature Card)
      Switch(config)#mls flow ip full
      !Configures flow mask on the PFC
      Switch(config)#mls nde sender version 5
      !Configures NDE(NetFlow Data Export) on the PFC
      Switch(config)#ip flow-export source loopback 0
      Switch(config)#ip flow-export destination 10.1.14.41 9996
      !Configures NDE on the MSFC(Multilayer Switch Feature Card) with the NetFlow collector IP address and the application port number 9996
      ……
          配置完成后可以使用Show mls netflow ip命令顯示NetFlow高速緩沖中的流記錄詳情。

          2
      .3 NetFlow流量采集與聚合

          由于NetFlow數據是由UDP數據報的形式導出,因而隨著(zhù)數據量的增加數據解析速度跟不上數據包到達速度,則會(huì )出現嚴重的丟包現象。為了實(shí)現大流量數據及時(shí)接收和低丟包率,NetFlow流量采集與聚合采用多線(xiàn)程實(shí)現。
      NetFlow流量采集與聚合器結構如圖4所示:

                 
       
      圖4 NetFlow流量采集與聚合器結構
          (1)UDP監聽(tīng)線(xiàn)程

          根據在交換機上配置的端口,系統啟動(dòng)相應的監聽(tīng)端口,并采集從交換機上送來(lái)的UDP數據報,對采集到的每個(gè)數據報,取出其凈載(即NetFlow數據),并將該NetFlow數據壓入隊列(Queue)。以下為部分代碼:

                   
         
          (2)NetFlow數據拆分線(xiàn)程

          首先定義流記錄結構,然后從隊列取出NetFlow數據,再根據定義的結構將NetFlow數據進(jìn)行拆分,分離出源IP、目的lP、源端口、目的端口、數據包大小、協(xié)議類(lèi)型等信息,最后將這些數據壓入內存數據表(DataTable)中。以下為部分代碼:


                    
        
          (3)聚合與寫(xiě)數據庫線(xiàn)程
          每隔3分鐘,從內存數據表中取出數據,根據源IP、目的IP進(jìn)行聚合,將聚合結果保存在數據庫。以下為部分代碼:

                     
          3 實(shí)際的流量采集與監測

          在本系統的支持下,系統數據庫為前端分析提供了充足且多樣化的數據準備,前端程序只需通過(guò)簡(jiǎn)單的查詢(xún)語(yǔ)句即可得到所需的數據集,極大簡(jiǎn)化了查詢(xún)的工作量。圖5為某時(shí)段系統采集的數據生成的流量監測圖。

                    
       
      圖5 某時(shí)段流量監測圖
       
          4 結束語(yǔ)

          本文基于NetFlow的特點(diǎn),提出了一套適用于高速大流量網(wǎng)絡(luò )的流量采集方案。流量采集通過(guò)多線(xiàn)程實(shí)現,有效提高了流量采集的可靠性。采集的原始流經(jīng)聚合和存儲,為前端的數據分析提供了全面支持。本系統在實(shí)際應用中取得了良好效果。
       
          參考文獻:

          [1] Cisco System Inc. NetFlow Services Solution Guide. 2007.

          [2] Cisco System Inc. Introduction to Cisco IOS NetFlow – A Technique Overview. 2007.

          [3]http://www.cisco.com/en/US/products/hw/switches/ps708/products_configuration_example09186a0080721701.shtml

          [4] 郭劍云,曹慶華. NetFlow流量采集與聚合的研究實(shí)現. 現代電子技術(shù),2009(7).

          [5] 袁梅宇. 高效率多線(xiàn)程網(wǎng)絡(luò )流量采集處理的關(guān)鍵技術(shù)和算法. 計算機工程,2004(增).

          [6] 徐川,唐紅,趙國鋒. 降低高速網(wǎng)絡(luò )流量測量器報文丟失率技術(shù)的研究. 計算機工程 2006(16).

      熱點(diǎn)新聞

      推薦產(chǎn)品

      x
      • 在線(xiàn)反饋
      1.我有以下需求:



      2.詳細的需求:
      姓名:
      單位:
      電話(huà):
      郵件:
      欧美精品欧美人与动人物牲交_日韩乱码人妻无码中文_国产私拍大尺度在线视频_亚洲男人综合久久综合天

    2. <blockquote id="fficu"><optgroup id="fficu"></optgroup></blockquote>

      <table id="fficu"></table>

      <sup id="fficu"></sup>
      <output id="fficu"></output>