NETFLOW技术介绍

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1. 流量流向监测技术
1.1概述
传统的网络流量监测技术的局限性
SNMP采集端口的数据主要是在网元层用来监控网络流量和设备的性能,而且SNMP采集的数据是基于端口的,无法提供端到端的准确的流量信息,因此对流向的统计手段不明确。

利用RMON探针对运营商网络进行流量和流向管理可以部分弥补SNMP的技术局限性,其业务分析和协议分析功能较强。

但是,采用RMON探针建设的流量监测系统也有处理性能不足和难以在大型网络普遍部署的局限性。

提出新的流量监测技术
为克服现有网管系统对网络流量和流向分析功能的技术局限性,运营商迫切需要寻找一种功能丰富、成熟稳定的新技术,对现有管理系统中流量信息的采集和分析方式进行改造和升级。

新的流量信息采集和分析技术应具备对运营商的运行网络影响小、无需对网络拓扑进行改变就能平滑升级的技术特征,既可以对网络中各个链路的带宽使用率进行统计,又可以对每条链路上不同类型业务的流量和流向进行分析和统计。

本文主要介绍应用广泛的Cisco NetFlow技术、华为 Netstream技术、Sflow 、Cflowd 和IPFIX 以及支持上述流监测技术的厂家和设备情况。

1.2相关厂家及设备
2Netflow
2.1流原理
netflow 的信息单元是flow。

flow是一个单向的带有唯一标识字节组的传输流。

基本的标识为:source-IP-address, source-port, destination-IP-address, destination-port, IP-protocol, TOS, input interface ID。

当路由器接收到一个没有flow入口的数据包时,一个flow的结构将被初始化以保存其状态信息如:交换的字节数、IP地址、端口、自治区域等。

随后所有满足这个flow结构的数据包都将增加flow结构的字节计数和包计数,直至这个flow中止并输出。

Netflow功能是在一个路由器内独立完成,它不涉及路由器之间的任何连接设置协议,也不要求对数据包本身或其它任何网络设备进行任何外部修改。

Netflow交换中要创建一个信息高速缓存,第一个数据包到来时,路由器利用标准的快速交换处理信息包,同时生成一个Netflow高速缓存,随后到来的数据包即可以依据高速缓存信息被交换,对于所有活动信息流,在Netflow高速缓存中保留相应的信息流信息。

当一定时间内没有相应的数据包通过,则结束这个数据流的交换和统计,并释放高速缓存,数据输出的条件在后续部分描述。

在netflow中到期的flow被绑在UDP数据报中发出。

在V5的版本中最多30个flow 记录,V1中25个记录,V8中28个记录。

至少每秒钟发一次flow。

虽然netflow只提供单向的流量统计。

如果希望得到表现双向的统计数据,netflow提供了“canned”的SQL程序来获得一个IP地址对的流量统计数据。

典型的路由器netflow的资源占用率为8%~30%。

一般情况下一个netflow收集器接收3-5个路由器的netflow输出。

2.2输出缓存条件
NetFlow是通过建立高速缓存来实现的,该缓存存放所有活动的流信息。

当有一个报文符合流定义时,NetFlow缓存将被建立。

缓存终止并输出数据的条件如下:**传输完成(当看到TCP FIN或RST标志)
**缓存满
**非活动时间超时。

空闲流超过n秒,默认15秒,可通过Router(config)# ip flow-cache timeout inactive 130改变默认值
**活动时间超时。

流超过n分钟,默认30分钟,可通过Router(config)# ip flow-cache timeout active 20改变默认值
NetFlow缓存如图1所示。

图1 NetFlow Cache示例
2.3Netflow 报文格式说明
2.3.1V1
头格式
字段值
Version0x0001
Count该报文含有的流记录数
System Uptime该设备启动的时间(毫秒)
UNIX Seconds自0000 UTC 1970计的时间(秒)
UNIX NanoSenconds自0000 UTC 1970计剩余时间(十亿分之一秒)
输出报文格式
012 3 byte srcaddr
dstaddr
nexthop
input output
dPkts
dOctets
first
Last
srcport dstport
Pad1prot tos Tcp_flags Pad2Pad3reserved
Bytes字段值
0-3srcaddr源ip地址
4-7dstaddr目的ip地址
8-11nexthop下一跳路由器地址
12-13input SNMP入口接口ifIndex
14-15output SNMP出口接口ifIndex
16-19dPkts该流的Packets数
20-23dOctets该流的Bytes数
24-27first流开始系统时间
28-31Last流结束系统时间
32-33srcport四层源端口
34-35dstport四层目的端口
36Pad1未用(0)
37prot四层协议(如TCP=6,UDP=17)
38tos服务类型
39Tcp_flags Cumulative OR of TCP flags
40Pad2未用(0)
41-42Pad3未用(0)
43reserved保留
2.3.2V5
头格式
备注:红色部分是Version 5较Version 1新添字段。

字段值
Version0x0005
Count该报文含有的流记录数
System Uptime该设备启动的时间(毫秒)
UNIX Seconds自0000 UTC 1970计的时间(秒)
UNIX NanoSenconds自0000 UTC 1970计剩余时间(十亿分之一秒)
Sequence Number流序号
Engine Type流转发引擎,0代表RP,1代表VIP/LC
Engine ID VIP或LC插槽号码
输出报文格式
备注:红色部分是Version 5不同于Version 1的字段。

Version 5新增了4个字段用以标示自治域和掩码位。

012 3 byte
srcaddr
dstaddr
nexthop
input output
dPkts
dOctets
first
Last
srcport dstport
Pad1Tcp_flags prot tos src_as dst_as
src_mask dst_mask pad2
Bytes字段值
0-3srcaddr源ip地址
4-7dstaddr目的ip地址
8-11nexthop下一跳路由器地址
12-13input SNMP入口接口ifIndex
14-15output SNMP出口接口ifIndex
16-19dPkts该流的Packets数
20-23dOctets该流的Bytes数
24-27first流开始系统时间
28-31Last流结束系统时间
32-33srcport四层源端口
34-35dstport四层目的端口
36Pad1未用(0)
37Tcp_flags Cumulative OR of TCP flags
38prot四层协议(如TCP=6,UDP=17)39tos服务类型
40-41src_as源AS号
42-43dst_as目的AS号
44Src_mask源地址掩码位数
45Dst_mask目的地址掩码位数
46-47Pad2未用(0)
2.3.3V7
头格式
备注:红色部分是Version 7较Version 1新添字段。

字段值
Version0x0007
Count该报文含有的流记录数
System Uptime该设备启动的时间(毫秒)
UNIX Seconds自0000 UTC 1970计的时间(秒)
UNIX NanoSenconds自0000 UTC 1970计剩余时间(十亿分之一秒)
Sequence Number流序号
输出报文格式
备注:红色部分是Version 7不同于Version 5的字段
012 3 byte Srcaddr
Dstaddr
Nexthop
input Output
dPkts
dOctets
First
Last
srcport Dstport
flags Tcp_flags prot Tos
src_as dst_as
src_mask dst_mask
pad2MLS RP
Bytes字段值
0-3srcaddr源ip地址
4-7dstaddr目的ip地址
8-11nexthop下一跳路由器地址
12-13input SNMP入口接口ifIndex
14-15output SNMP出口接口ifIndex
16-19dPkts该流的Packets数
20-23dOctets该流的Bytes数
24-27first流开始系统时间
28-31Last流结束系统时间
32-33srcport四层源端口
34-35dstport四层目的端口
36flags flow mask in use
37Tcp_flags Cumulative OR of TCP flags 38prot四层协议(如TCP=6,UDP=17)39tos服务类型
40-41src_as源AS号
42-43dst_as目的AS号
44-45Src_mask源地址掩码位数
46-47Dst_mask目的地址掩码位数
48Pad2未用(0)
49-50MLS RP IP address of MLS router
2.3.4V8
注意:支持(3)T,(3)及其后续IOS版本
头格式
备注:红色部分是Version 8较Version 5新增字段,该字段体现汇聚功能。

字段值
Version0x0008
Count该报文含有的流记录数
System Uptime该设备启动的时间(毫秒)
UNIX Seconds自0000 UTC 1970计的时间(秒)
UNIX NanoSenconds自0000 UTC 1970计剩余时间(十亿分之一秒)Sequence Number流序号
Engine Type0代表RP,1代表VIP/LC
Engine ID VIP或LC插槽号码
Aggregation标识汇聚模式需添加具体值
Agg_version汇聚版本 = 2
汇聚模式
Version 8支持汇聚功能,不同的汇聚模式有其相应的报文格式,下文分别叙述11种汇聚模式的、报文格式。

汇聚功能是Version 8提出的新功能,在Version 9中也支持,它将输出的原始流信息报文按照不同的汇聚模式再一次分类,减少报文量,减轻对网络的负担,同时也能从某种角度来总结网络状况。

为了实现汇聚,设备建立名为汇聚缓存的高速缓存,该缓存用不同字段的组合来实现传统的流的再组合。

当流从流缓存中输出时,送入汇聚缓存,进行进一步的组合。

汇聚的好处是可以使得最终输出给采集者的报文量减少,减轻对网络的影响。

图3表示流输出的过程:
图3 建立NetFlow汇聚缓存
汇聚缓存的超时时间可由以下命令改变:
Router(config)# ip flow-aggregation cache prefix
Router(config)# cache timeout active 25
Router(config)# cache timeout inactive 400
汇聚模式分两类——non-TOS based aggregation schemes、
TOS based aggregation schemes.
non-TOS based aggregation schemes有5类,分别是:
•AS Aggregation Scheme
•Destination-Prefix Aggregation Scheme
•Prefix Aggregation Scheme
•Protocol-Port Aggregation Scheme
•Source Prefix Aggregation Scheme
TOS based aggregation schemes有6类,分别是:
•AS-ToS Aggregation Scheme
•Destination-Prefix-ToS Aggregation Scheme
•Prefix-ToS Aggregation Scheme
•Protocol-Port-ToS Aggregation Scheme
•Source Prefix-ToS Aggregation Scheme
•Prefix-Port Aggregation Scheme
每一种汇聚模式都对应相应的报文,下文分别叙述各种汇聚模式所对应的报文格式。

non-TOS based aggregation scheme
下表总结了基于non-TOS 5种汇聚模式所使用的字段
Prefix 字段AS Protocol Port Source Prefix Destination
Prefix
源网络前缀Y Y
源网络前缀掩码Y Y
目的网络前缀Y Y
目的网络前缀掩码Y Y
源端口号Y
目的端口号Y
输入接口号Y Y Y
输出接口号Y Y Y
IP协议类型Y
源AS Y Y Y 目的AS Y Y Y 第一个报文时间戳Y Y Y Y Y 最后一个报文时间戳Y Y Y Y Y 流个数Y Y Y Y Y 报文个数Y Y Y Y Y 字节数Y Y Y Y Y AS 汇聚
该汇聚模式基于BGP AS进行汇聚,产生AS-AS的流记录,记录以下信息:
源和目的BGP AS
汇聚记录的流个数
汇聚记录的报文个数
汇聚记录的字节数
第一个报文转发时间戳及最后一个报文转发时间戳
Bytes字段值
0-3Flows汇聚的原始流个数
4-7dPkts汇聚的流报文个数
8-11dOctets汇聚的流字节数
12-15First第一个报文转发的系统时间
16-19Last最后一个报文转发的系统时间
20-21Src_as源ip的AS号
22-23Dst_as目的ip的AS号
24-25Input输入接口的SNMP索引号
26-27Output输出接口的SNMP索引号
2.3.4.1 目的网络前缀汇聚
该汇聚模式基于目的网络地址,掩码以及目的AS进行汇聚,记录以下信息:目的网络前缀,即IP地址的网络部分
目的网络前缀掩码,即网络地址掩码
目的BGP AS号
汇聚记录的流个数
汇聚记录的报文个数
汇聚记录的字节数
输出接口
第一个报文转发时间戳及最后一个报文转发时间戳
Bytes字段值
0-3Flows汇聚的原始流个数
4-7dPkts汇聚的流报文个数
8-11dOctets汇聚的流字节数
12-15First第一个报文转发的系统时间
16-19Last最后一个报文转发的系统时间
20-23Dst_prefix目的地址的网络前缀,即网络号24Dst_mask目的地址的掩码位的个数(bits)25Pad0
26-27Dst_as目的ip的AS号
28-29Output输出接口的SNMP索引号
30-31Reserved0
2.3.4.2 网络前缀汇聚
该汇聚模式基于网络前缀、掩码和AS号进行汇聚,记录以下信息:
源和目的地址网络前缀
源和目的地址掩码
源和目的BGP AS号
汇聚记录的流个数
汇聚记录的报文个数
汇聚记录的字节数
输入和输出接口
第一个报文转发时间戳及最后一个报文转发时间戳
Bytes字段值
0-3Flows汇聚的原始流个数
4-7dPkts汇聚的流报文个数
8-11dOctets汇聚的流字节数
12-15First第一个报文转发的系统时间
16-19Last最后一个报文转发的系统时间
20-23Src_prefix源地址的网络前缀,即网络号
24-27Dst_prefix目的地址的网络前缀,即网络号28Dst_mask目的地址的掩码位的个数(bits)
29Src_mask源地址的掩码位的个数(bits)
30Pad0
31-32Src_as源ip的AS号
33-34Dst_as目的ip的AS号
35-36Input输入接口的SNMP索引号
37-28Output输出接口的SNMP索引号
2.3.4.3 协议_端口汇聚
该模式基于协议类型进行汇聚,产生同属一类协议的流记录,记录以下信息:源和目的端口号
IP协议类型
汇聚记录的流个数
汇聚记录的报文个数
汇聚记录的字节数
第一个报文转发时间戳及最后一个报文转发时间戳
Bytes字段值
0-3Flows汇聚的原始流个数
4-7dPkts汇聚的流报文个数
8-11dOctets汇聚的流字节数
12-15First第一个报文转发的系统时间16-19Last最后一个报文转发的系统时间20prot IP协议类型
21Pad0
22-23reserved0
24-25Srcport源端口号
26-27dstport目标端口号
2.3.4.4 源网络前缀汇聚
该汇聚模式基于源网络地址、掩码及AS号进行汇聚,记录以下信息:源网络前缀,即IP地址的网络部分
源网络前缀掩码,即网络地址掩码
源BGP AS号
汇聚记录的流个数
汇聚记录的报文个数
汇聚记录的字节数
输入接口
第一个报文转发时间戳及最后一个报文转发时间戳
Bytes字段值
0-3Flows汇聚的原始流个数
4-7dPkts汇聚的流报文个数
8-11dOctets汇聚的流字节数
12-15First第一个报文转发的系统时间
16-19Last最后一个报文转发的系统时间20-23Src_prefix源地址的网络前缀,即网络号24Src_mask源地址的掩码位的个数(bits)25Pad0
26-27Src_as源ip的AS号
28-29input输入接口的SNMP索引号
30-31Reserved0
TOS based aggregation scheme
下表总结了基于TOS 6种汇聚模式所使用的字段
字段AS-TOS Protocol
Port-TOS Source
Prefix-TOS
Destination
Prefix-TOS
Prefix-TOS Prefix-Port
源网络前缀Y Y Y 源网络前缀掩码Y Y Y 目的网络前缀Y Y Y 目的网络前缀掩码Y Y Y 源端口号Y Y 目的端口号Y Y 输入接口号Y Y Y Y Y 输出接口号Y Y Y Y Y IP协议类型Y Y 源AS Y Y Y
目的AS Y Y Y
服务类型Y Y Y Y Y Y 第一个报文时间戳Y Y Y Y Y 最后一个报文时间戳Y Y Y Y Y 流个数Y Y Y Y Y 报文个数Y Y Y Y Y 字节数Y Y Y Y Y 2.3.4.5 AS-ToS 汇聚
该汇聚模式基于源和目的AS,源和目的接口以及ToS进行汇聚,记录以下信息:
源和目的BGP AS
ToS
汇聚记录的流个数
汇聚记录的报文个数
汇聚记录的字节数
源和目的接口
第一个报文转发时间戳及最后一个报文转发时间戳
Bytes字段值
0-3Flows汇聚的原始流个数
4-7dPkts汇聚的流报文个数
8-11dOctets汇聚的流字节数
12-15First第一个报文转发的系统时间
16-19Last最后一个报文转发的系统时间
20-21Src_as源ip的AS号
22-23Dst_as目的ip的AS号
24-25Input输入接口的SNMP索引号
26-27Output输出接口的SNMP索引号
28Tos服务类型
29pad0
30-31reserved0
2.3.4.6 目的网络前缀-ToS 汇聚
该汇聚模式基于目的网络地址,掩码,目的AS以及ToS进行汇聚,记录以下信息:
目的网络前缀,即IP地址的网络部分
目的网络前缀掩码,即网络地址掩码
目的BGP AS号
ToS
汇聚记录的流个数
汇聚记录的报文个数
汇聚记录的字节数
输出接口
第一个报文转发时间戳及最后一个报文转发时间戳
Bytes字段值
0-3Flows汇聚的原始流个数
4-7dPkts汇聚的流报文个数
8-11dOctets汇聚的流字节数
12-15First第一个报文转发的系统时间
16-19Last最后一个报文转发的系统时间
20-23Dst_prefix目的地址的网络前缀,即网络号24Dst_mask目的地址的掩码位的个数(bits)
25Tos服务类型
26-27Dst_as目的ip的AS号
28-29Output输出接口的SNMP索引号
30-31Reserved0
2.3.4.7 网络前缀-ToS 汇聚
该汇聚模式基于网络前缀、掩码、AS号以及ToS进行汇聚,记录以下信息:源和目的地址网络前缀
源和目的地址掩码
源和目的BGP AS号
ToS
汇聚记录的流个数
汇聚记录的报文个数
汇聚记录的字节数
输入和输出接口
第一个报文转发时间戳及最后一个报文转发时间戳
Bytes字段值
0-3Flows汇聚的原始流个数
4-7dPkts汇聚的流报文个数
8-11dOctets汇聚的流字节数
12-15First第一个报文转发的系统时间
16-19Last最后一个报文转发的系统时间
20-23Src_prefix源地址的网络前缀,即网络号
24-27Dst_prefix目的地址的网络前缀,即网络号28Dst_mask目的地址的掩码位的个数(bits)29Src_mask源地址的掩码位的个数(bits)30Tos服务类型
31pad0
32-33Src_as源ip的AS号
34-35Dst_as目的ip的AS号
36-37Input输入接口的SNMP索引号
38-39Output输出接口的SNMP索引号
2.3.4.8 协议-端口-ToS 汇聚
该模式基于协议类型、ToS以及入口出口接口进行汇聚,记录以下信息:源和目的端口号
源和目的接口
IP协议类型
ToS
汇聚记录的流个数
汇聚记录的报文个数
汇聚记录的字节数
第一个报文转发时间戳及最后一个报文转发时间戳
Bytes字段值
0-3Flows汇聚的原始流个数
4-7dPkts汇聚的流报文个数
8-11dOctets汇聚的流字节数
12-15First第一个报文转发的系统时间
16-19Last最后一个报文转发的系统时间
20prot IP协议类型
21Tos服务类型
22-23reserved0
24-25Srcport源端口号
26-27dstport目标端口号
28-29Input输入接口的SNMP接口索引
30-31output输出接口的SNMP接口索引
2.3.4.9 源网络前缀-ToS 汇聚
该汇聚模式基于源网络地址、掩码、AS号及ToS进行汇聚,记录以下信息:源网络前缀,即IP地址的网络部分
源网络前缀掩码,即网络地址掩码
源BGP AS号
ToS
汇聚记录的流个数
汇聚记录的报文个数
汇聚记录的字节数
输入接口
第一个报文转发时间戳及最后一个报文转发时间戳
Bytes字段值
0-3Flows汇聚的原始流个数
4-7dPkts汇聚的流报文个数
8-11dOctets汇聚的流字节数
12-15First第一个报文转发的系统时间
16-19Last最后一个报文转发的系统时间
20-23Src_prefix源地址的网络前缀,即网络号
24Src_mask源地址的掩码位的个数(bits)
25Tos服务类型
26-27Src_as源ip的AS号
28-29input输入接口的SNMP索引号
30-31Reserved0
2.3.4.10 网络前缀-端口汇聚
该汇聚模式基于网络前缀、掩码、端口号、接口号、协议类型以及ToS进行汇聚,记录以下信息:
源和目的地址网络前缀
源和目的地址掩码
源和目的端口号
源和目的接口
协议类型
ToS
汇聚记录的流个数
汇聚记录的报文个数
汇聚记录的字节数
输入和输出接口
第一个报文转发时间戳及最后一个报文转发时间戳
Bytes字段值
0-3Flows汇聚的原始流个数
4-7dPkts汇聚的流报文个数
8-11dOctets汇聚的流字节数
12-15First第一个报文转发的系统时间
16-19Last最后一个报文转发的系统时间
20-23Src_prefix源地址的网络前缀,即网络号
24-27Dst_prefix目的地址的网络前缀,即网络号
28Dst_mask目的地址的掩码位的个数(bits)
29Src_mask源地址的掩码位的个数(bits)
30Tos服务类型
31prot IP协议类型
32-33Srcport源端口号
34-35Dstport目的端口号
36-37Input输入接口的SNMP索引号
38-39Output输出接口的SNMP索引号
2.3.5V9
2.3.5.1 Template简介
在Version 9之前的NetFlow流记录版本都是固定格式的,报文中的字段都是固定的,不可更改。

版本9提出了模版的概念,使得管理者可以根据自己的需求定义流记录中的字段。

模版提供了一种可扩展的方式,使得在不改变现有的基础流记录的条件下,增加更多的信息。

使用模版有以下好处:
提供采集器或NetFlow显示服务的三方无需在新的NetFlow特性加入后修改自己的产品新的特性可以很快地加入NetFlow,而不用停掉当前使用
随着协议的发展,NetFlow可随之发展,这是因为Version 9的灵活性和适应性
2.3.5.2相关术语
Observation Point:观察点,通常就是一个接口。

定义为在网络中可以观察到IP报文的点。

Observation Domain:观察域,通常就是一个线卡,由很多接口组成。

定义为一组观察点,这些观察点都运行了NetFlow服务,可提供一组流的汇聚记录。

FlowSet:报文头之后的内容。

FlowSet是输出数据中流记录的通称,包括两类:模版和数据。

一个输出报文中包含一个或多个FlowSets,模版和数据FlowSets可以混入同一个输出报文。

模版FlowSet:一个输出报文中含有一个或多个模版FlowSets。

模版记录:定义模版,之后的输出数据记录报文必须符合模版记录。

在同一个报文中,如果既有模版记录又有数据记录,那么数据记录不需要一定符合该模版记录,采集器必须缓存模版记录,数据记录只要符合采集器中的模版就可以了。

模版ID:用以区分不同的模版。

数据FlowSet:一个数据报文可含有多个数据FlowSets。

数据记录:数据记录提供ip流信息,数据记录必须含有模版ID,采集器根据模版ID 分析数据内容。

可选模版:可选模版是一种特殊的模版记录,用以与NetFlow处理器沟通数据格式。

可选数据记录:可选数据记录是一种特殊的数据记录,使用保留的模版ID,提供NetFlow 处理器本身的信息。

2.3.5.3 V9模版管理
输出端负责输出模版和数据,理论上讲,应该在数据输出之前输出模版,这样接收端采集器才可以知道怎样来解析接收到的数据。

输出端的模版记录是随着NetFlow进程而产生和消亡的。

如果输出端或NetFlow进程死掉或重起,那么所有的模版信息都会丢失,而会创建新的模版ID。

如果模版配置改变,丢弃现有的模版id,而这个id将不能再重用,直到重起NetFlow进程或整个输出端。

当接收端采集器接收到一个现存模版id的定义,丢弃原有的
定义,使用新的定义。

当输出端的模版记录删除并有一条参数完全一样的记录,可以使用同样的模版ID。

在以下三种情况,输出端将输出模版FlowSet:
NetFlow进程重起,输出端在输出数据之前必须将相应的模版发送给采集者,模版信息要么包含在数据之前的报文里,要么包含在该数据所在报文里。

这一点保证接收者可以正确解析收到的数据。

当配置改变时,输出端必须尽快的发送新的模版定义。

定时更新。

根据两种模式,输出端必须发送所有的模版和options模版记录给采集者:基于报文,即每发送N个报文就必须嵌入模版信息发送给采集者;基于时间,即每过N分钟就要发送一次模版信息。

这两个参数都必须在输出端进行配置,当一个超时,输出端必须发送模版FlowSet和Options模版。

输出端时钟配置发生改变,输出端应尽快发送模版定义。

(In the event of a clock configuration change on the Exporter, the Exporter SHOULD send the template definitions at an accelerated rate.)
一般来讲,采集器收到数据前,都应先收到相应的模版,但如果收到的数据中的模版ID在本地没有记录,应将该报文保存下来,等到收到模版定义之后再解析,而不是简单的丢弃该报文。

采集器存储的模版定时死亡,需要定时更新,如果模版没有得到输出端的定义更新,超时之后将宣告死亡,采集器不能再使用该模版解析数据。

采集器维护以下参数:Exporter、Observation Domain、模版ID、模版定义、最近一次接收时间。

模版ID在每个输出端的每个Observation域里是唯一的。

2.3.5.4 V9 报文
一个报文里至少含有1个或多个模版或数据FlowSets。

如下图:
一个报文中模版和数据可能的组合包括以下三种:
模版FlowSets和数据FlowSets交叉组合—这种方式中的模版和数据并没有必然联系。

纯数据FlowSets—大部分的输出数据都是这种模式。

纯模版FlowSets—这种情况比较少。

一般来讲,模版都是插入数据中发送的。

当路由器刚刚启动或重起时,为了跟采集器同步,路由器发送只含有模版的报文。

模版记录是有寿命的,它们必须周期性的更新。

在更新期间,有可能没有合适的数据发送,那么将发送只含模版的报文。

Template FlowSet Format
思科支持的字段类型:
2.3.5.5 FlowSet 格式
2.3.5.6 Options 模板
该模版不是用于描述ip流,而是描述NetFlow处理器本身的元数据信息。

3Netstream
3.1V5
华为路由器Netstream 也是采用输出UDP包到指定采集服务器的模式,数据有V5, V8和V9三种格式,V8同cisco,V9格式增加了模版定义和深度业务搜索功能,属于刚刚推出的版本,与cisco v9的标准兼容,目前未列入此次开发计划,这里仅列出我们使用的V5格式:
Netstream V5格式定义:
输出UDP包格式
V5输出头格式定义:红色字体标明与Netflow V5 不同之处。

相关文档
最新文档