维普资讯 http://www.cqvip.com 企肥学统学扳(自然科学版) Journal of Hefei University(Natural Sciences) 2007年5月第l7卷第2期 Mav 2OO7 Vo1.17 No.2 NetFlow技术及其在高校网络管理中的应用研究 夏光峰 (合肥工业大学计算机与信息学院,合肥230009) 摘 要:随着校园网的建设和应用的推进,对网络管理提出了更高的要求,比较基于SNMP等技术的常规网络管 理手段,NetFlow是一种可以从更深层面了解网络应用状况、进行安全管理和规划的技术.从NetFlow技术特点和 体系架构的研究入手,通过实例介绍了在校园网管理中应用NetFlow技术的方法. 关键词:NetFlow;数据采集;应用分析 中图分类号:TP393.18 , 文献标识码:A 文章编号:1673—162X(2007)02—067-05 近10年的网络建设,许多高校的校园网络都已具有了一定规模,网络教学与网络办公等应用的开展 使得用户对网络的依赖性越来越强,日益增长的网络用户、接人设备、不容乐观的网络安全现状,都给校园 网络平均无故障运行时间的提高带来了压力,网络管理人员必须能够及时了解网络的运行状况,及时找出 问题,甚至应当在问题还没有完全显现之前就应当有所反应. 传统的校园网络管理通常是使用网络管理工具从支持SNMP(Simple Network Management Protoco1)的 网络设备搜集网络流量数据,虽然通过这种方式取得信息不会造成处理上过重的负担,但是SNMP提供的 只是粗糙、简略的资料,这些信息只能让管理者发现部分问题,有时却无法进一步解决问题.如MRTG是 学校常用的网管工具,MRTG把SNMP所需要的数据经过计算后绘成图表,常用来显示网络流量统计图 (严格来说MRTG只具有网管软件中的一小部分功能),开源的CACTI虽然功能强大一些,但也只是属于 图形化网络流量、负载监控的工具软件.商业化的网管软件HP的OpenView,IBM的NetView等系统强调 的是一个整合型的网络管理解决方案,提供基本的网络拓扑功能、MIB Browser、SNMP tool、Data Collection、 绘图与网络事件等管理功能,一方面这些软件都非常昂贵,另一方面也只能提供拓扑连接、流量展示、告警 预设等功能,提供的信息量也是有限的.近几年随着校园网络的规模日渐增长,网络承载的业务越来越丰 富,校园网运营和管理者都普遍面临如下一些问题: (1)网络的可视性:网络资源是如何被消耗的?哪些应用程序在网络中运行?主要用户有哪些?网 络中是否产生异常流量?网络出口为何拥塞,有没有长期的趋势数据用作网络带宽规划? (2)应用的可视性:当前网内有哪些应用?分别产生了多少流量?网络中应使用的模式是什么?网 络教学等学校重要应用执行状况如何? (3)用户使用网络模式的可视性:流量从哪来,到哪里去?用户在什么时间具体有哪些应用?哪些用 户产生的流量最多?哪些服务器接收的流量最多? 以BT为主的网络滥用、病毒等问题已经成为高校网络管理者普遍面临的难题,单纯提高网络带宽、 部署网络防毒不是根本解决问题的方法,NetFlow是一种能够提供深层次网络流量相关信息的技术,网管 人员通过NetFlow信息的收集和分析可以快速有效地掌握所管辖网络的状态,从而为校园网络的规划和 安全问题的解决提供依据和帮助. 1 NetFlow技术分析 1.1 NetFlow技术的由来NetFlow技术是在1996由Cisco公司的Darren Kerr和Barry Bruins提出,最 初是设计作为一个缓存机制来改善访问列表的处理速度,CEF(Cisco Express Forwarding,Cisco快速转发) 技术的使用一度使得NetFlow被边缘化,直到网络管理人员意识到这些统计信息对网络工程和网络安全 的价值.目前该技术得到了众多网络设备提供商的支持,业内常见的主流Flow格式如表1所示. 收稿日期:2007—01—3O 修回日期:2007—03—29 作者简介:夏光峰(1970一)男,安徽合肥人,合肥工业大学计算机与信息学院在读研究生,合肥学院现代教育技术中心讲师 维普资讯 http://www.cqvip.com 合肥学院学报(自然科学版) 第l7卷 表1 主流厂商网络流技术对比 大部分Cisco路由器和Catalyst 4500以上系列的交换机都支持NetFlow,目前v5版本使用较为普遍, v7版本是思科Catalyst交换机设备支持的一个Netlfow版本,需要利用交换机的MLS或CEF处理引擎, V8版本增加了网络设备对Netlfow统计数据进行自动汇聚的功能,降低了对数据输出的带宽需求.Netlfow v9是一种全新的灵活和可扩展的Netlfow数据输出格式,采用了基于模板(Template)的统计数据输出,方 便添加需要输出的数据域和支持多种Netlfow新功能,如Muhicast Netlfow,MPLS Aware Netflow,BGP Next Hop V9,Netflow for IPv6等,支持IOS12.0(24)S和12.3T及其后续lOS版本.在2003年思科公司的Net— lfow V9被IErI’F组织从5个候选方案中确定为IPFIX(IP nOW Information Export)标准. 1.2 NetFlow技术原理NetFlow本身是一套网络流量统计协议,其主要原理是根据网络数据包传输时, 连续相邻的数据包通常是往相同目的地IP地址传送的特性,配合Cache快取机制,当网络管理者开启路 由器或交换机接口的NetFlow功能时,设备会在接收数据包时分析其数据包的标头部分来取得流量资料, 并将所接到的数据包流量信息汇整成一笔一笔的Flow,在NetFlow协议中Flow是被定义为两端点间单一 方向连续的数据流,这意味着每一个网络的连接都会被分别记录成两笔Flow数据,其中一笔记录从客户 端连到服务器端,另外一笔随着记录从服务 器端连回到客户端的信息.网络设备通过以 下字段来区分每一笔Flow:来源IP地址 (source IP address)、来源端口号(source port number)、目的IP位址(destination IP address)、目的端口号(destination port num— ber)、协议种类(protocol type)、服务种类 曩 (type of service)及路由器输人接口(router input interface).任何时间当设备接收到新 的数据包时,会检测这7个字段来判断这个 数据包是否属于任何已记录的Flow.若有 则将新收集到的数据包的相关流量信息整 合到对应Flow记录中,若找不到数据包对 应的Flow记录,便产生一个新的Flow记录 图1 NetFlow体系及工作原理示意 来储存相关的流量信息.由于设备内高速缓存的空间有限,无法无限制地容纳持续增加的Flow纪录,所以 NetFlow协议也定义了终结Flow记录的机制,来维持网络设备中储存Flow信息的空间.整个系统的工作 原理如图1所示. NetFlow采用了主动式数据推送机制,当Cache表项超时后,网络设备中的NetFlow Agent将通过规范 的报文格式将超时表项数据送往指定主机(即NetFlow Collector).虽然NetFlow在设计中可以接受任何传 输层协议作为承载协议,但在一般实现中通常都是采用UDP作为缺省选择.输出的每个数据包约1 500字 节,通常含有20~50个流记录.Collector负责收集NetFlow数据包,写人数据库,由相关流分析软件完成图 形化展示、TOPN查询以及预警等功能. 维普资讯 http://www.cqvip.com 第2期 夏光峰:NetFlow技术及其在高校网络管理中的应用研究 2 NetFlow在校园网络管理中的应用 2.1部署及配置NetFlow可以部署在网络中的任何位置,出于统计效率的考虑通常部署在网络边缘和 核心,在较高端的边缘路由器上开启Netlfow可以考虑采用低的采样比,从而获取更准确的出口流量和应 用信息.在交换机上启用Netow可以收集VLAN间的通讯信息,lf但配置较为特殊,以思科核心交换机cis— CO 6509为例,首先需要在二层开启net ̄ow,设置老化时间、nde版本及抽样比等参数,之后在三层接口使 能netflow,设置启用接口、How版本及Collector目的地址和端口号等.命令如下. 二层命令: hfuu—cisco6509一master(config)#mls netflow hfuu—cisco6509一master(config)#mls aging fast time 4 threshold 128 hfuu—cisco6509一master(config)#mls aging long 64 hfuu—cisco6509一master(config)#mls aging normal 32 hfuu—cisco6509一master(config)#mls flow ip interface—full hfuu—cisco6509一master(config)#mls nde sender version 5 hfuu—cisco6509一master(config)#mls nde interface hfuu—cisco6509一master(config)#mls sampling packet—based 64 4096 三层命令 hfuu—cisco6509一master(config)#int vlan 101 hfuu--cisco6509—-mas(config—-if、#ip route—-cache lfow hfuu—cisco6509一master(config)ip lfow—export source VlanlO1 hfuu—cisco6509一master(cordig)ip flow—export version 5 hfuu—cisco6509一master(config)ip folw—export destination 210.45.88.85 9996 配置完成后可以使用下列命令显示当前Cache中的流信息. hfuu--cisco6509—-master#show ip cache flow IP packet size distlibufion(72477792 total packets): 1—32 64 96 128 160 192 224 256 288 320 352 384 416 448 480 512 544 576 .0o0.o04.984.0o0.0o0.0o0.oo3.Oo4.0o0.0o0.oo1.0oo.000.000.000.000.000.000 1024 1536 2048 2560 3072 3584 4096 4608 .0oO.0oO.0oO.OO0.000.000.000.000 IP Flow Switching Cache,1015872 bytes 13 active,10227 inactive,2564509 added 97171 176 ager polls,0 flow alloc failures Active flows timeout in 30 minutes Inactive flows timeout in 30 seconds last clearing of statistics never Total Hows Packets Bytes Packem Active(Sec)Idle(Sec) —.—.—.—.—.—. Flows /See /Flow /Pkt /Sec /How /How TCP—FrP 2909 0.0 53 O.O 4.5 28.O TCP—FTPD 1O O.O 48 O.O 6.2 15.6 TCP—WWW 1O522 O.O 48 O.O 2.6 15.2 TCP—Other 92257 0.0 49 O.O 5.6 25.9 UDP—DNS 987 0.0 69 O.O 8.8 15.5 维普资讯 http://www.cqvip.com 70 UDP—other ICMP ’合肥学院学报(自然科学版) 第17卷 O.4 O.1 0.O 35 1 1 77 16.7 0.1 0.O 14.9 1.2 O.1 24.3 25.1 29.1 88 50 IP—.other 交换机的输出显示了网内不同大小数据包的分布状况,网络协议的数据流数等信息,借此可初步判断 鲫 7 输出指定的流信息.在交换机或路由器上直接使用命令行的方式查看流信息不便于进行大量的数据分析和历史信息统 网络的运行状况,使用show mls netilow ip命令可以查看更多的流细节,include、tcp、udp等参数可以控制 计,使用开源的Flow Tools或商业版的分析软件可以图形化展示数据构成,进行TOPN查询或设置预警, 满足了大量数据处理和分析的要求. NetFlow功能通常是基于硬件完成,并可以配置使用不同的采样比来收集数据,所以NetFlow功能的 开启对核心设备的资源消耗影响不大,合肥学院的6509核心交换机开启NetFlow功能后交换机CPU的月 度平均负载不超过20%,对正常业务基本上没有产生影响. 2.2应用分析使用NetFlow Analy ̄r软件对校园网内一条主干链路的流量和协议分布进行分析,从图 2和图3可以清楚地看到不同应用所占带宽及其所占百分比,其中没有镜像到任何应用程序的应用被归 类为Tc pp,经查其目的和本地端口均为高位端口,可在明确其应用类型后通过自定义的方式确定应 用类别,这也体现了NetFlow分析技术良好的适应性和扩展性. ●TCP P ●}rrTP 口RTSP 1% 口0RBIX 0NFIG ●UDP APP 置 豳 ●}rrTPS 。RB强 ●DNSIX 【■ 口BITT0RRENT 7’—● ● 一 ■-_r ●GDS DB ●EDONKEY2000 口914C/G RTSP 目DO】5lAIN ●SN砌 图2主干链路流量(58MB)及应用分布图 图3主干链路流量及应用百分比 2.3异常流量分析利用Neifow所采集和输出的网络流量的统计信息,可以发现单个主机发出超出正 常数量的连接请求,这种不正常的大数量的流往往是蠕虫爆发或网络滥用的迹象.因为蠕虫的特性就是在 发作时会扫描大量随机IP地址来寻找可能的目标,会产生大量的TCP或ICMP流.流记录里其实没有数 据包的载荷信息,这是Nefifow和传统IDS的一个重要区别,一个流记录里不包含高层信息,这样的好处则 是可以高速地以硬件方式处理,适合于繁忙的高速局域网环境.虽然NetFlow不能对数据包做出深层分 析,但是已经有足够的信息来发现可疑流量.如果分析和利用得当,NetFlow记录非常适用于早期的蠕虫或 其他网络滥用行为的检测,只要了解常见蠕虫病毒的NetFlow特征,就可以快速定位感染病毒的IP地址, 在网络设备上采取相应的限制、过滤措施,从而达到抑制病毒流量传播的目的.以下是几个常见蠕虫病毒 的Netlfow特征示例: (1)红色代码(Code Red Worm),2001年7月起发作,至今仍在网络流量中经常出现.NetFlow流数据 典型特征:目的端口8O,协议类型8O,包数量3,字节数144. (2)冲击波(WORM.BLASTER,W32.Blaster.Worm),2003年8月12 13起爆发.NetFlow流数据典型 特征:目的端口135,协议类型TCP,字节数48. (3)2003蠕虫王(Worm.NetKiller2003,WORM_SQLP1434,W32.Slammer,W32.SQLExp.Womr),2003 年1月25 13起爆发,造成全球互联网几近瘫痪,至今仍是互联网中最常见的异常流量之一.NetFlow流数 据典型特征:目的端口1 434,协议类型UDP,字节数404. 维普资讯 http://www.cqvip.com 第2期 夏光峰:NetFlow技术及其在高校网络管理中的应用研究 71 管理者有必要建立流量模式的基线,例 如,一个用户同时有50—100个活动的连接是 正常的,但是如果一个用户发起大量(例如 1 000个)活动的流就是非正常的了.图4反 映出一条链路某时段主机对外25 port的通讯 连接状况,ip地址为219.231.43.208的计算 机连接数目为2 434条,显然大大超出正常 值,经查确实是感染了e—mail蠕虫病毒,采用 类似的方法借助TOPN排序很容易找出问题, 管理员还可以通过设定报警阈值来尽早获取 安全告警. 图4异常SMTP连接的TOPN排序 利用NetFlow技术,网络管理员可以在网络出口或整网范围内对网络应用、网络异常行为进行有效监 测,该技术的使用为网络规划和建设提供了参考和依据,这一不断发展和日益标准化的技术为校园网络增 添了高效的管理手段,非常值得推广和应用. 参考文献: [1] 田东,董德存.网络流量技术应用与分析[J].计算机工程与科学,2005,27(1):105—107. [2]王元莉.NetFlow技术与高校网络管N[J].中国教育网络,2005(6):65-67. [3]薛晋康,许士博,吴兴龙.基于流量分析的网络隐蔽通道检测模型[J].计算机工程,2002,20(12):46-48. [4]杨嵘,张国清.基于NetFlow流量分析的网络攻击行为发现[J].计算机工程,2oo5,31(13):137。139. [责任编校:罗季重】 NetFlow Technology and its Application in University Network Management XIA Guang—feng (College of Computer Science and Information,Hefei University fo TecIlr10logy,Hefei 230009,China) Abstract ̄With the construction of campus network and the development of its application,people have higher requirement for network management.Compared with the regular means of management based on Snmp technology,NetFlow is a kind of technology that can effect safe management and plan,which can make people know about the network application more deeply.From the features and system—build— ing of NetFlow technology,the application of NetFlow Technology in Campus Network Management is introduced through examples. Key words:NetFlow;data collection;application analyzer