理解并实施思科的netflow功能
NetFlow是Cisco IOS软件中集成的一种功能,用来将网络流量记录到设备的高速缓存中,或者流量监管服务平台上,从而提供非常精准的流量测量,现在被其他的厂商大规模地使用。由于网络通信具有流动性,所以缓存中记录的NetFlow统计数据通常包含转发的IP信息。输出的NetFlow统计数据可用于多种目的,如:网络流量核算、网络付费、网络监控及商业目的的数据存储。这些数据流中包含来源和目的的相关信息,以及端到端会话使用的协议和端口。这些信息能帮助IT人员监控和调整网络流量,以及面向网络有效地分配带宽。
NetFlow流量统计平台的结构
NetFlow流量统计平台包括3个主要部分:探测器、采集器和报告系统。探测器是用来监听网络数据的,采集器是用来收集探测器传来的数据的,报告系统是用来从采集器收集到的数据中产生易读的报告的。具体显示如图9.107所示。
NetFlow的版本
NetFlow技术最早是由思科公司于1996年自主研究开发的。在NetFlow技术的演进过程中,思科公司一共开发出了5个主要的实用版本。
NetFlow V1:NetFlow技术的第一个实用版本。支持IOS 11.1、11.2、11.3和12.0,但在如今的实际网络环境中已经不建议使用。
NetFlow V5:增加了对数据流BGP AS信息的支持,是当前主要的实际应用版本。支持IOS 11.1CA和12.0及其后续IOS版本。
NetFlow V7:思科Catalyst交换机设备支持的一个NetFlow版本,需要利用交换机的MLS或CEF处理引擎。
NetFlow V8:增加了网络设备对NetFlow统计数据进行自动汇聚的功能(共支持11种数据汇聚模式),可以大大降低对数据输出的带宽需求。支持IOS12.0(3)T、12.0(3)S、12.1及其后续IOS版本。
NetFlowV9:一种全新的灵活和可扩展的NetFlow数据输出格式,采用了基于模板的统计数据输出。方便添加需要输出的数据域和支持多种NetFlow新功能,如Multicase NetFlow、MPLS Aware NetFlow、BGP Next Hop V9、NetFlowfor IPv6等,支持IOS12.0(24)S和12.3T及其后续IOS版本。
演示:利用NetFlow统计流经网络设备的流量
演示目标:配置路由器与交换机的NetFlow功能,收集穿越各个路由器的流量。
演示工具:为了让整个实验的效果更真实,在该演示环境中,将使用一套第三方的NetFlow Analyzer 5分析系统,以方便作NetFlow流量统计的效果评估,类似于这样的流量统计平台系统,在Internet上免费共享软件很多,注意,这个第三方的统计平台的使用不是我们认证要求的重点,要点是在思科的网络设备配置NetFlow功能。
演示环境:如图9.108所示。
背景说明:网络中的路由器R1、R2与交换机S1是NetFlow的探测器,负责收集流经各个设备的网络流量。192.168.1.100是NetFlow的采集平台,负责收集各个探测器利用NetFlow发来的流量标本。在本演示实例中使用“NetFlow Analyzer 5”软件安装在192.168.1.100上作为NetFlow的采集平台。
演示步骤:
第一步:首先应该在启动NetFlow的各个设备上配置统一的时钟源,以保证NetFlow的收集平台显示数据流量时提供正确的采集时间。在该演示实例中,以R1(192.168.2.1)为整个网络提供时间源,所以clock set指令为设置R1的实时时间。然后ntp master是R1作为整个网络的时钟源。ntp source e1/0是指在作时钟消息更新时的更新源接口是R1的E1/0接口。
配置路由器R1为时钟源:
r1#clock set 23:33:00 6 mar 2013
r1(config)#ntp master
r1(config)#ntp source e1/0
第二步:在路由器R2上利用ntp server 192.168.2.1指令指示从192.168.2.1获得时钟来源,而192.168.2.1正是第一步中R1的E1/0接口地址。
r2(config)#ntpserver 192.168.2.1
配置完路由器R2的时间来源后可利用show ntp status指令查看R2获得时间来源的结果:
r2#show ntp status
Clock is synchronized,stratum9,reference is 192.168.2.1
nominal freq is 250.0000 Hz,actual freqis 250.0000 Hz,precision is 2**18
reference time isCF3D6557.F2564FB5<23:35:51.946 UTC Sat Mar 6 20 2013>
clock offset is 45.8321 msec,root delayis 24.12 msec
root dispersion is 68.41 msec,peerdispersion is 22.55 msec
第三步:在路由器R2上启动NetFlow,指令ip flow-export destination 192.168.1.100 9996指示NetFlow探测平台将收集到的流量发送到192.168.1.100,使用9996号端号进行发送。指令ip flow-export version 5指示开启NetFlow的5号版本。在接口配置模式下的ip flow ingress对进入流量进行采集;ip flow egress对出站流量进行采集。路由器R1的NetFlow配置与R2相同,这里不再多述。
r2(config)#ipflow-export destination 192.168.1.100 9996
r2(config)#ipflow-export version 5
r2(config)#inte e1/0
r2(config-if)#ipflow ingress
r2(config-if)#ipflow egress
注意:下一个步骤是配置NetFlow的服务端,也就是集中采集平台,注意因为NetFlow服务端的用户订制环境不同,配置界面也有很大的区别,由于这不是CCNA认证课程的核心,所以在下一个配置步骤中笔者只是演示当时他所使用的NetFlow服务端,而这个配置是不具备通用性的。笔者使用的是NetflowAnalyzer 5服务端软件。
第四步:在192.168.1.100的主机上安装NetFlow的集中采集平台,以Netflow Analyzer 5软件平台作为集中采集平台。下面是安装过程中较为关键的参数,如图9.109所示。Web server后面的8080端口是指该集中采集平台以Web页面的形式显示给用户,页面的端口号为8080。当用户需要查看采集结果时,在IE浏览器中输入:http://192.168.1.100:8080,就可以访问到采集平台。NetFlow后面的端口号9996指示接收探测器发送流量的端口,该端口必须与命令ip flow-exportdestination 192.168.1.100 9996中的9996相同。当出现如图9.110所示的界面,填写SNMP的管理参数,这里可保持默认参数不变,直接单击“Next”按钮。
第五步:在IE浏览器中输入http://192.168.1.100:8080,访问采集平台。输入用户名与密码就可以进入NetFlow的采集平台,如图图9.111所示。
第六步:如图9.112所示,显示NetFlow Analyzer 5的初始界面。
第七步:开始测试NetFlow Analyzer 5与探测器结合,集中采集与分析流量的过程。如图9.113所示的是R1(192.1681.1)和R2(192.168.2.1)的各个接口上通过的数据流量。选择图中192.168.1.1的“ifinddex2”,并单击它。在如图9.114所示的界面中,选择“目的”选项卡,显示目的流入的排行榜,并且可以形象地为用户显示百分比统计图。还可以切换到“会话”选项卡界面,如图9.115所示。看出会话来源与穿越探测器的协议类型与流量分类。在如图9.115所示的结果中分析统计目前共计有4种流量:一种是路由协议RIP所使用的流量,发送该类型流量的源设备是192.168.2.1(R1)目标地址是224.0.0.9;第二种流量是NetFlow本身的采集流量,源地址是192.168.2.1(R1),目标是NetFlow的采集平台192.168.1.100;第三种流量是NTP时钟更新流量,发送源是192.168.2.1(R1),目标地址是192.168.2.2(R2);第四种流量是流经192.168.2.1(R1)到192.168.1.100的ICMP流量。