NETFLOW技术介绍
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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
头格式
字段值
Version 0x0001
Count 该报文含有的流记录数
System Uptime 该设备启动的时间(毫秒)
UNIX Seconds 自0000 UTC 1970计的时间(秒)
UNIX NanoSenconds 自0000 UTC 1970计剩余时间(十亿分之一秒)
输出报文格式
0 1 2 3 byte srcaddr
dstaddr
nexthop
input output
dPkts
dOctets
first
Last
srcport dstport
Pad1 prot tos Tcp_flags
Pad2 Pad3 reserved
Bytes 字段值
0-3 srcaddr 源ip地址
4-7 dstaddr 目的ip地址
8-11 nexthop 下一跳路由器地址
12-13 input SNMP入口接口ifIndex
14-15 output SNMP出口接口ifIndex
16-19 dPkts 该流的Packets数
20-23 dOctets 该流的Bytes数
24-27 first 流开始系统时间
28-31 Last 流结束系统时间
32-33 srcport 四层源端口
34-35 dstport 四层目的端口
36 Pad1 未用(0)
37 prot 四层协议(如TCP=6,UDP=17)
38 tos 服务类型
39 Tcp_flags Cumulative OR of TCP flags
40 Pad2 未用(0)
41-42 Pad3 未用(0)
43 reserved 保留
2.3.2V5
头格式
备注:红色部分是Version 5较Version 1新添字段。
字段值
Version 0x0005
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个字段用以标示自治域和掩码位。
0 1 2 3 byte srcaddr