• 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:网络服务质量的监控
  • 相关阅读:
    基于IFC的建筑工地模拟
    IfcProcedureTypeEnum
    IfcSimplePropertyTemplate
    IfcRelDefinesByObject
    ubuntu 安装 Protobuf3 日志
    IfcDistributionElement
    IfcTypeResource
    Github上很酷的项目汇总
    Simulink模块库分类
    利用Simulink设计一个简单的模型
  • 原文地址:https://www.cnblogs.com/fengyv/p/2668432.html
Copyright © 2020-2023  润新知