IPFIX學習筆記

1.1 IPFIX技術概況

     基於流的技術被越來越廣泛地用於刻畫網絡傳輸流,它在設置QoS 策略、部署應用和進行容量規劃上都有着巨大的價值。但是,網絡管理員卻缺少一種輸出傳輸流的標準格式。
  IPFIX 全稱爲IP Flow Information Export,即IP數據流信息輸出,它是由IETF
公佈的用於網絡中的流信息測量的標準協議。該協議主要在於:
  l 統一 IP數據流的統計、輸出標準,這使得網絡管理員很容易地提取和查看存儲在這些網絡設備中的重要流量統計信息。
  l 輸出格式具有較強的可擴展性,因此如果流量監控的要求發生改變,網絡管理員也可通過修改相應配置來實現,不必升級網絡設備軟件或管理工具。
  IPFIX 定義的格式
以Cisco Netflow Version 9數據輸出格式作爲基礎
,可使IP流量信息從一個輸出器(Exporter)傳送到收集器(Collector)。因爲IPFIX 是一種針對數據流特徵分析、基於模板的格式輸出的協議,因此具有很強的可擴展性,對於不同的需求都可以定義不同的數據格式。
  爲了較完整的輸出數據,IPFIX 缺省使用網絡設備的
七個關鍵域表示每股網絡流量

  
l 
源 IP 地址
  
l 
目的IP 地址
  
l 
TCP/UDP 源端口
  
l 
TCP/UDP 目的端口
  
l 
三層協議類型
  
l 
服務類型(Type-of-service)字節
  
l 
輸入邏輯接口
  如果不同的IP 報文中所有的七個關鍵域都匹配,那麼這些IP 報文都將被視爲屬於同一股流量。通過記錄網絡中這些流量的特徵,如流量持續時間、流量中報文平均長度等, 我們可以瞭解到當前網絡的應用情況,並根據這些信息對網絡進行優化,安全檢測,流量計費。

1.2 IPFIX技術組網
  IPFIX 是基於“流”的概念,一個流是指,來自相同的子接口,有相同的源和目的IP 地址,協議類型,相同的源和目的協議端口號,以及相同ToS 的報文,通常爲5 元組。IPFIX 會記錄這個流的統計信息,包括:時間戳,報文數,總的字節數。IPFIX 主要包括三個設備Export、Collector、Analyzer,三個設備之間的關係如下。
   l
 Export
對網絡流進行分析處理,提取符合條件的流統計信息,並將統計信息輸出Collector ;
   l
 Collector 
負責解析Export的數據報文,把統計數據收集到數據庫中,可供Analyser 進行解析;
   l
 Analyser 從Collector 中提取統計數據,進行後續處理,爲各種業務提供依據,以圖形界面的形式顯示出來。
          
1.3 IPFIX的報文格式
     IPFIX的報文格式與NetFlow v9的基本相似。
     Exporter收集的網絡流的統計信息封裝在UDP報文中,發送給Collector。一個UDP報文可以攜帶多條流的統計信息。IPFIX數據按照NetFlow v9(RFC3954)格式進行組裝。
  •  

                      圖 31IPFIX報文構成

    IPFIX數據由報文頭(Packet Header)以及流組(FlowSet)組成。
    1.3.1 Packet Header

                 32 IPFIX Packet Header格式

    Version:0x0009。

    Count:報文中攜帶的記錄的數量。

    System Uptime:設備運行的時間,以ms爲單位。

    UNIX Seconds:從UTC時間1700 0時至現在的秒數。

    Sequence:報文序列號,依次累加。

    Source ID:取值爲0。

    1.3.2 FlowSet
    FlowSet有兩種:模板流組合(Template FlowSet)以及數據流組合(Data FlowSet)。一個IPFIX報文可以有多個FlowSet。
     
    1.3.2.1 Template FlowSet
    Template FlowSet由多個模板記錄(Template Record)組成。每個模板記錄都定義了一個模板。模板用來規定對應的數據記錄如何解釋,Collector只能根據收到的模板來解釋後續收到的數據。

    流記錄模板組成的FlowSet格式如下。

               圖 33 流模板的格式

    FlowSet ID:流模板ID固定爲0。

    Length:FlowSet的總長度。

    Template ID:用於數據與模板的對應。從256開始。

    Filed Count:Template record的字段數。

    Filed Type:字段類型,用數字表示。

    Filed Length:Filed Type定義的字段的字節數。

    IPFIX模板使用的字段類型定義如下。

    類型值

    英文名

    中文含義

    42

    TOTAL_FLOWS_EXP

    歷史導出的流記錄總數

    41

    TOTAL_PKTS_EXP

    歷史導出的IPFIX報文總數

    1

    IN_BYTES

    輸入字節數

    2

    IN_PKTS

    輸入報文數

    21

    LAST_SWITCHED

    流最近被報文命中的時間

    22

    FIRST_SWITCHED

    流被創建的時間

    8

    IPV4_SRC_ADDR

    IP源地址

    12

    IPV4_DST_ADDR

    IP目的地址

    10

    INPUT_SNMP

    入端口的MIB索引

    14

    OUTPUT_SNMP

    出端口的MIB索引

    7

    L4_SRC_PORT

    源端口號

    11

    L4_DST_PORT

    目的端口號

    4

    PROTOCOL

    協議

    5

    SRC_TOS

    TOS

    6

    TCP_FLAGS

    TCP標誌

    32

    ICMP_TYPE

    ICMP類型

    23

    OUT_BYTES

    輸出字節數

    24

    OUT_PKTS

    輸出報文數

     31 模板字段類型

    1.3.2.2 Data FlowSet

    Data FlowSet記錄了流統計信息。一個Data FlowSet中可以放置多條流信息,一個IPFIX數據報文中也可以放置多個Data FlowSet。
             
     34 Data FlowSet的報文結構

    FlowSet ID:數據流集合的FlowSet ID是對應模板的模板ID,IPFIX根據這種對應關係才能正確解釋數據信息。

    Length:FlowSet的長度。

    Padding:用於使FlowSet的長度按照32位圓整。Length的長度包含Padding。

1.4 IPFIX技術應用

     l Usage-based Accounting(基於使用流量的計費)
     l Traffic Profiling、Traffic Engineering:流量概圖、流量工程 
     l Attack/Intrusion Detection:攻擊/入侵檢測 
     l QoS Monitoring:網絡服務質量的監控 

參考:
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章