摘 要 对于网络员来说,理解网络流量的特性,了解用户的网络行为是网络管理的重要内容,这可以通过网络流量采集与分析来实现。本文介绍了几种流量采集技术以及各自的优缺点,并重点介绍了网络管理中的NetFlow技术的应用。 关键字 网络流量 流量采集 NetFlow
对于一个有效的网络管理系统来说,管理功能的实现都或多或少的依赖于网络流量信息的获取。因此网络流量信息采集可以说是网络管理系统得以实现的核心。无论是流量费用统计还是用来分析、预测网络运行状况,对于原始数据的可靠性和完整性的要求都是比较高的。使用一种较为合理的网络流量采集技术,不仅使所采集的原始数据较为准确、完整,而且对网络上相关设备的影响较小。目前有4种常用的方法用于网络流量数据的采集分析:
(1)基于侦听网络数据包的包分析模式;
(2)基于路由器MIB库的SNMP代理模式;
(3)基于安插网络探针(PROBE)技术的IP流量数据捕获形式;
(4)基于网络数据流(NETFLOW)技术的数据流捕获形式。
前两种是比较传统的方法。基于侦听网络数据包的包分析模式的优点是:容易实现。缺点是:a.工作站设备的浪费;b增加网络的故障点,c.只能得到有关网络流量大小的信息,但是无法提供流量中有关应用类型的信息。基于SNMP的网络信息采集系统的优点是:可以有效地解决包监听模式的缺点。缺点:a.采集的网络流量数据没有经过任何处理,因此对数据采集数据库的性能要求很高,相应的对机器硬盘空间的要求也很高;b.对网络带宽造成一定的损耗;c.对路由器的CPU和内存资源占用较大;d.由于记录很多,因此选择一个好的采集间隔就比较困难,而且随着网络使用情况的变化,该间隔可能会不适用,从而导致数据的丢失。第三种技术出现较晚,虽然技术先进,但由于其实现依赖于固定厂家的专有设备,故具有一定的限制性。
下面介绍一种新的网络流量数据采集方法,也就是基于网络数据流技术的数据流捕获形式。它可以有效地解决传统采集方式中存在的缺点,并且提高网络使用的效率,减轻路由器的负载情况,也就是在路由器上配置NetFlow,通过配置的NetFlow数据输出UDP来进行网络信息采集。
1 NetFlow技术简介
1.1 NetFlow交换 NetFlow交换是Cisco公司为网络管理员提供的可以获得数据网中IP flow信息的一种新的交换技术。NetFlow交换是在网络层实现高性能的交换,它提供了一种高效的机制,可以用来处理安全访问列表,从而不必像其它交换方式那样,为完成同样的任务而付出很高的性能代价。NetFlow交换识别主机之间的网络流量,并在提供服务的同时,对网络流量中的分组进行交换。NetFlow交换对现有的网络是完全透明的,可以在单个网络设备中独立地进行,而不必在网络中的每个路由器中都操作它,网络规划人员可以有选择地激活NetFlow交换,这样可以在特定的网络位置上进行数据流交换、控制和记账。
1.2 NetFlow数据报文 从配置了NetFlow交换的Cisco路由器上,就可以收集流量统计的NetFlow流量数据信息,NetFlow以UDP数据报文的形式来输出信息,可以通过Cisco路由器上的配置指定NetFlow流量信息的接收者。目前NetFlow输出的数据报文有V1、V5、V7、V8等不同的版本,取决于Cisco路由器的型号及其IOS的版本。但无论哪个版本,NetFlow报文都是由两部分构成,即报文头(Header)和一个或多个流信息记录(Flow Record),如图1所示:
图1 NetFlow数据报文
报文头中的版本信息(Version number)来决定如何理解这些数据报文;记录个数(Record count)字段表明该数据报文中包含的流信息记录的个数,可以用它来对记录进行索引;序列号(Sequence number)字段可用来判断NetFlow报文是否有丢失的情况发生。
2 具体配置 以下内容描述了在路由器上NetFlow的配置和维护。
2.1 配置NetFlow交换 NetFlow交换是可用的交换模式之一。当在一个接口上配置NetFlow时,这个接口就不能使用其它的交换模式了。还有,利用NetFlow交换,可以把数据输出到一个远端工作站,以便进一步处理它们。在一个路由器中,NetFlow交换涉及到标识数据包信息流、执行交换和处理访问列表。它不涉及路由器之间的任何连接设置协议,也不涉及对其它任何网络设备或端点工作站的连接设置协议。它也不要求对数据包本身或其它任何网络设备进行任何外部修改。所以,NetFlow交换对现有的网络,包括端点工作站、应用软件以及诸如局域网交换机是完全透明的。并且,由于NetFlow交换是在每一个互联网设备上独立运行的,不需要在网络中的每个路由器中都操作它,网络规划人员可以在路由器/接口的基础上有选择地激活 NetFlow交换,从而就可以在特定的网络位置上进行数据流交换、控制和记账。
完成IP路由器配置后,可以进行以下的配置:
任务 | 命令 |
第一步,指定接口,进入接口配置模式 | Interface type slot/port- adapter(Cisco 7500系列路由器) |
第二步,指定信息流交换 | Ip route_cache flow |
一般,NetFlow高速缓存的默认大小可以满足需要。然而还可以增加或减少高速缓存中保留的条数目,来满足信息流比率的需要。默认只是64K流动高速缓存条目,每个高速缓存条目大约占用64bytes的存储空间。假定高速缓存中的条目数为默认值,那么大概就需要4MB的DRAM。每次从自由流队列中取走一个新的信息流,就会检查自由流的个数,如果只剩下几个自由信息流,那么NetFlow就试图用一个缩短的失效时间将30个信息流“老化”。如果只剩下一个自由信息流,那么NetFlow就自动老化30个信息流,而不考虑这些信息流的以实际存在的时间是多少。这样做是为了保证总可以得到自由的信息流条目。
在全局配置的模式下,进行以下操作定制NetFlow缓存的条目数量:
任务 | 命令 |
改变NetFlow高速缓存中保留的条目的个数。该条目数可以是1024到524288。默认值是65536。 | Ip flow-cache entries number |
Cisco建议不要修改NetFlow高速缓存条目,对这个功能不正确的应用会引发网络问题。可以在全局配置模式下利用no ip flow-cache entries返回默认的NetFlow高速缓存条目。
2.2 配置NetFlow数据输出 Netflow交换信息可以输出到网络应用程序中,为了在信息流到期时,将NetFlow高速缓存中的保留的NetFlow交换的统计信息输出到一个工作站。在输出数据时,可以指定发送的信息的格式版本。
将一个NetFlow流的交换统计数据从NetFlow缓存的维护中输出,应该在配置模式下使用如下的操作:
任务 | 命令 |
第一步,把NetFlow高速缓存条目输出到工作站 | Ip flow-export ip-address udp-port[version 1] |
第二步,配置NetFlow发送信息的版本(1/5),如果你使用接收软件采用版本5。 | ipflow-export version{1|5[origin-as|peer-as]} |
第三步,配置NetFlow所使用的源接口以指定输出NetFlow数据的源 | ip flow-export source interface |
2.3 管理NetFlow交换统计数据 用于显示或者清除NetFlow交换的统计数据。NetFlow的统计数据包括IP包的大小、IP流的交换缓存信息、以及诸如协议、总的流量、每秒的流量等的流信息。这些信息可以用来查找路由器的交通信息.下表列出了这些命令:
任务 | 命令 |
显示NetFlow交换统计数据 | show ip cache flow |
显示NetFlow交换统计数据 | clear ip flow stats |
3 结果 通过实验与传统的网络流量采集模式所能够获得的资料对比,很明显的知道,NetFlow所取得的信息并没有对每一个网络包都做一条记录,而是对共用一条NetFlow记录的包做了统一的归类总结。这样NetFlow所能够提供给用户的信息就是已经经过了合理的处理,十分方便用户的进一步提取,分析。而且在一条流记录中,一般使用了该记录的各种包(WWW包、FTP包、SMTP包等)的数目都不止一个。因此配置了NetFlow后对整个网络管理突出的优点如下:
*可以获得比较详细的信息,利于计费,分析等用途;
*可以节省网络带宽和路由器CPU资源;
*便于集中的统一管理,尤其是适于类似网络中心的单位使用;
*配置简单
但也有一定的缺点:
*只能使用在没有配置虚网的接口上;
*对硬件平台的配置要求比较高;
*不便与分布式的管理。
4 结束语 总的来说,在路由器上配置NetFlow,好处还是显而易见的。特别是对于网络流量负荷比较大的网络,可以有效的节省网络带宽和处理资源,从而减少用户从网络上取得信息的延迟时间。通过配置NetFlow,网络管理者还可以方便有效的对网络流量进行分析、处理以便作为计费或者流量控制或者网络规划的参考。
参考文献:
[1]谢希仁. 网络. 大连理工大学出版社
[2]谭思亮. 监听与隐藏—网络侦听揭秘与数据保护技术. 求是科技. 人民邮电出版社
[3]何海涛,罗笑南,郭清顺. NetFlow在边界网流量采集中的应用.计算机工程与应用
[4]李文印,周国治,张福春. 网络计费系统数据采集技术研究.计算机应用
[5]
阅读(2731) | 评论(0) | 转发(0) |