流量分析新贵---NetFlow

互联网 | 编辑: 2006-08-09 13:00:00转载 返回原文



什么是Flow

IP网络承载能力与所提供的应用业务规模向来都是相辅相成的,一方面IP网络的建设将给新应用技术的推广提供有效的实施平台,另一方面应用业务也会随着自身系统发展需要而对现有IP网络提出更高的资源需求,从而推动IP网络基础建设进入新的建设周期。在这种类似于“鸡生蛋、蛋生鸡”的逻辑悖论中,另外一个问题却是毋庸置疑的凸现了出来,那就是如何把应用业务与其所占用的IP资源(如带宽)清晰、准确的对应起来,如何保证有限的IP资源能够被合理应用的到主要利润业务中。

以NetFlow为代表的Flow技术正是为响应这种挑战而出现的新型解决途径。

什么是Flow

在最开始,Flow是网络设备厂商为了在网元设备内部提高路由转发速度而引入的一个技术概念,其本意是将高CPU消耗的路由表软件查询匹配作业部分转移到硬件实现的快速转发模块上(如Cisco的CEF模式)。在这种功能模式中,数据包将通过几个给定的特征定义归并到特定的集合中,这个集合就是Flow。每个Flow的第一个数据包除了促使该Flow记录的产生以外,还要驱动网元三层模块完成路由查询并将查询结果同期放入Flow记录中,而该Flow集合的后续数据包将直接在Flow的已有记录中获得路由转发信息,从而提高了网元设备的路由转发效率。

作为网元设备内部路由机制优化的副产物,Flow记录能够提供传统SNMP MIB无法比拟的丰富信息,因此Flow数据被广泛用于高端网络流量测量技术的支撑,以提供网络监控、流量图式分析、应用业务定位、网络规划、快速排错、安全分析(如DDOS)、域间记帐等数据挖掘功能。

相对于会话(“Session”)而言,“Flow”具备更细致的标识特征,在传统的TCP/IP五元组的基础上增加了一些新的域值,至少包括以下几个字段:

源IP地址

目的IP地址

源端口

目的端口

IP层协议类型

ToS服务类型

输入物理端口

以上七个字段可以唯一地确定任意一个数据包属于哪个特定的Flow,换而言之任何一个字段出现了差异都意味着一个新Flow的发生。

在实际软件实现中,Flow所包含的字段定义及数量将会随着厂商甚至协议版本的不同而出现变化(如包含AS信息、Next_Hop等),业界因此也相应地出现了各种不同的实现版本。而在这些不同的Flow版本中,NetFlow得益于Cisco公司在网络设备行业内无与伦比的领袖地位而获得最大范围的认同。

Cache缓存空间
有多少种Flow

Flow的版本差异通常直观的表现在其输出报文格式上。目前业内常见的主流Flow格式有以下几种:

表格2 业内常见的Flow类型

 

Flow名称  代表厂商 主要版本 备注  
NetFlow Cisco V1、V5、V7、V8、V9   应用最广
CFlowd  Juniper  V5、V8  厂商跟进力度不高  
sFlow  Foundry、HP、Alcatel、NEC、Extreme等 V4、V5  实时性较强,具备突出的第二~七层信息描述能力   
NetStream 华为  V5、V8、V9  与NetFlow较为类似  
IPFIX IETF标准规范  RFC 3917  以NetFlow V9为蓝本



3.1Cache缓存空间

IP网络承载能力与所提供的应用业务规模向来都是相辅相成的,一方面IP网络的建设将给新应用技术的推广提供有效的实施平台,另一方面应用业务也会随着自身系统发展需要而对现有IP网络提出更高的资源需求,从而推动IP网络基础建设进入新的建设周期。在这种类似于“鸡生蛋、蛋生鸡”的逻辑悖论中,另外一个问题却是毋庸置疑的凸现了出来,那就是如何把应用业务与其所占用的IP资源(如带宽)清晰、准确的对应起来,如何保证有限的IP资源能够被合理应用的到主要利润业务中。

以NetFlow为代表的Flow技术正是为响应这种挑战而出现的新型解决途径。

在最开始,Flow是网络设备厂商为了在网元设备内部提高路由转发速度而引入的一个技术概念,其本意是将高CPU消耗的路由表软件查询匹配作业部分转移到硬件实现的快速转发模块上(如Cisco的CEF模式)。在这种功能模式中,数据包将通过几个给定的特征定义归并到特定的集合中,这个集合就是Flow。每个Flow的第一个数据包除了促使该Flow记录的产生以外,还要驱动网元三层模块完成路由查询并将查询结果同期放入Flow记录中,而该Flow集合的后续数据包将直接在Flow的已有记录中获得路由转发信息,从而提高了网元设备的路由转发效率。

作为网元设备内部路由机制优化的副产物,Flow记录能够提供传统SNMP MIB无法比拟的丰富信息,因此Flow数据被广泛用于高端网络流量测量技术的支撑,以提供网络监控、流量图式分析、应用业务定位、网络规划、快速排错、安全分析(如DDOS)、域间记帐等数据挖掘功能。


主流Flow格式
相对于会话(“Session”)而言,“Flow”具备更细致的标识特征,在传统的TCP/IP五元组的基础上增加了一些新的域值,至少包括以下几个字段:

以上七个字段可以唯一地确定任意一个数据包属于哪个特定的Flow,换而言之任何一个字段出现了差异都意味着一个新Flow的发生。

在实际软件实现中,Flow所包含的字段定义及数量将会随着厂商甚至协议版本的不同而出现变化(如包含AS信息、Next_Hop等),业界因此也相应地出现了各种不同的实现版本。而在这些不同的Flow版本中,NetFlow得益于Cisco公司在网络设备行业内无与伦比的领袖地位而获得最大范围的认同。
Flow的版本差异通常直观的表现在其输出报文格式上。目前业内常见的主流Flow格式大致有以下几种:

随着IETF对IPFIX的标准化,网络流量分析的数据采集协议也将也将逐步转移到NetFlow V9/IPFIX标准上来。因此,下文将以NetFlow V9为例介绍Flow的详细内容。

随着IETF对IPFIX的标准化,网络流量分析的数据采集协议也将也将逐步转移到NetFlow V9/IPFIX标准上来。因此,下文将以NetFlow V9为例介绍Flow的详细内容。

NetFlow Cache是所有活跃Flow统计信息的存储位置,所有具备相同关键字段的数据包都将在该Cache相应表项中进行数据累计,如数据包数量、字节数等。除了被称之为Main Cache的上述缓存之外,部分支持Aggregation机制的网元设备还需提供相应的聚合缓存(Aggregation Cache),最终的输出报文将包含该聚合缓存的汇总结果,从而能够有效降低NetFlow流量对网络带宽的占用;一般情况下Cache空间的占用是与所监控的Flow数量呈正比的,但是当链路中充斥着大量的短连接Session时,Flow表项数量可能会因为没有得到及时释放而过多占用有限的Cache空间。为此,NetFlow提供了一种非常复杂、高效的算法以快速定位一个数据包在该Cache中的位置或判断是否应新建表项,并且通过管理员给定的阀值进行各类表项的超时导出,从而及时释放老的表项以容纳新建Flow信息。

NetFlow的特色
Cache表项Timed-Out操作可由以下几项因素进行驱动:

NetFlow采用了主动式数据推送机制,当Cache表项超时后,网元设备中的NetFlow Agent将通过规范的报文格式将超时表项数据送往指定主机(须事前指定IP地址、协议和端口)。虽然NetFlow在设计中可以接受任何传输层协议作为承载协议,但在一般实现中通常采用UDP作为缺省选择,我们平时所看到的各种Flow协议版本主要描述了这种报文导出格式的定义。

NetFlow的封装格式分为1个Header和若干个Record:

下文以NetFlow V9为例,输出报文Header与Record整体结构如下所示:

在上述格式中,各字段的具体含义描述如下:

相对于较老的V5而言,NetFlow V9作为最新版本,主要体现出了以下两个技术特色:

无论是MIB还是后来的RMON,SNMP所针对的信息一般都围绕网元设备展开,如Interface吞吐率、接收到的坏帧数量、CPU/RAM利用率等。而NetFlow正如同它的名字一样,其所关注的重点在于网络链路上所传输流量的特征信息,并且这些信息能够更直接的反映出当前网络上访问行为分布以及合同客户此时所得到的真实的服务质量水平。

NetFlow与SNMP的主要差异可以从以下几点得到说明:

因此,在网络流量测量及分析系统中,如异常流量分析系统,NetFlow已经成为一个重要的数据提取方式,为高端网络骨干链路的实时流量采集分析提供高效、准确的数据摘要提取服务,是网络流量分析阵营不可或缺的基础技术。

正是由于Flow技术突出的技术优势,在东软公司NTars异常流量分析与响应系统中,NetFlow被作为基本的数据采集手段而获得支持,为NTars在电信运行商和其他高端行业用户流量分析市场的应用提供了重要的技术保障。

NTars系统介绍
NTars异常流量分析与响应系统是综合了流量采集、行为分析、实时监控、蠕虫监测、垃圾邮件监测、网络管理、设备管理、安全响应、应用审计、内容检测、路由分析等功能的复合体,覆盖了安全检测系统(如IDS)、安全防护系统(如防火墙)、网络管理系统(如通用网管系统)多个传统职能范围,是面向高端骨干网络提供跨越安全体系与网管体系的综合运行维护系统。

NetFlow、Sflow、Cflowd、NetStream是NTars系统最基本的数据采集手段。得益于Flow技术的强大支持,NTars充分体现了其在高端网络骨干链路中实时流量分析的适用性:

虽然NTars系统可通过Flow、SPAN/TAP/分光、SNMP多种方式实现数据信息采集,但正是由于Flow技术的上述特点才使得NTars系统真正具备了高端网络骨干链路实时监测能力,尤其是在未进行应用层内容检测的情况下,Flow几乎可以提供Ntars所需的全部检测流量特征信息,已经成为异常流量分析系统运行最基本的技术要求。





3.2 可配置的Cache维护机制

该表项已经空闲了指定的时间长度(Inactive Timer,缺省15 seconds);

长连接会话强制超时(Active Timer,缺省30 minutes);

缓存空间耗尽所触发的强制超时;

TCP FIN/RST触发的超时。

规范的报文格式
3.3 规范的导出报文格式

Header:主要包括版本号、序列号、后续Record数量、系统启动时间等;

Record:提供对每个Flow的详细数据记录


 

 


NetFlow V9各字段含义
表格3-3 NetFlow V9各字段含义





 

返回原文

本文导航

相关阅读

每日精选

点击查看更多

首页 手机 数码相机 笔记本 游戏 DIY硬件 硬件外设 办公中心 数字家电 平板电脑