用Netflow进行IP网流量和流向分析

http://www.sina.com.cn  2008年12月22日 16:25  比特网ChinaByte

  IP网流量管理面临的挑战

  随着宽带互联网在中国的迅速发展,中国各大电信运营商的网络规模都在不断扩张且网络结构日渐复杂。为了更好地服务企业客户,及时了解自身网络的负载状况和重要业务的带宽占用率;准确计量国际国内运营商间、骨干网/城域网间通信流量和业务类型;正确规划和评估网络扩容、升级等目的,电信运营商需要能对网络和其承载的各类业务进行及时、准确的流量和流向分析。

  国内电信运营商当前的网络流量管理现状是,绝大多数企业的运维部门还都没有建设一套能够完全满足上述管理需求的网络及业务流量和流向分析系统。大部分网管系统还只是采用一些通用型的网络链路使用率监视软件,如MRTG,利用SNMP协议对网络的重点链路和互联点进行简单的端口级流量监视和统计;或采用在网络中部分重点POP点加装RMON探针的方式,利用RMON I/II协议对网络中部分端口进行网络流量和上层业务流量的监视和采集。

  但是上述两种被普遍采用的网络流量分析系统都有其显著的技术局限性。

  * 利用SNMP协议能够对被监视的各个网络端口进出的数据包数和字节数进行采集,但采集到的流量信息较为粗糙,不但包括网络层的客户业务流量信息,还包括链路层的数据帧包头,Hello数据包,出错后重新传送的数据包等流量信息。而且SNMP协议还无法区分网络层数据流量中各种不同类型客户业务在总流量中的分布状况,也无法对进出的流量进行流向分析。

  * 利用RMON协议对运营商网络进行流量和流向管理可以部分弥补SNMP协议的技术局限性,如可以对业务流量进行统计,但同时也暴露出新的技术局限性。首先,由于RMON协议需要对网络上传送的每个数据帧进行采集和分析,会耗用大量的CPU资源因而不可能由网络设备本身实现,需要额外购买和安装内置式或外置式的RMON探针。市场上现有的 RMON探针处理能力也有限制,还不能支持监控端口速率超过1Gbps的网络端口。其次,因为RMON探针为的硬件设备,价格较贵,所以不可能为每台网络设备都配备,且由于RMON探针,特别是内置式RMON探针接入网络后不易变更,所以必然会造成出现异常事件时无法及时对特定的网络链路进行监控。最后,由于RMON探针采集到的管理数据是由分析每个数据包后得到的,数据量非常大且分散,协议缺乏内建的数据汇总机制,而且还不包括每个数据包的BGP AS号或路由Next Hop信息,所以不易对数据进行高层次的流向分析。这些因素都会阻碍利用RMON协议对大型网络进行流量和流向分析的有效性。

  为克服现有网管系统对网络流量和流向分析功能的技术局限性,运营商迫切需要寻找一种功能丰富,成熟稳定的新技术对现有管理系统中管理信息的采集和分析方式进行改造和升级。新的信息采集和分析技术还需要对运营商的运行网络影响小,无需对网络拓扑进行改变就能平滑升级。而且新的信息采集和分析技术应该即可以对网络中各个链路的带宽使用率进行统计,也可以对每条链路上传输不同类型业务的流量和流向进行分析和统计,同时应能适应中国宽带互联网网络规模迅速扩展,链路带宽快速增长的实际状况,可以根据需要支持采用数据采集的抽样模式或对采集到的原始数据进行自动汇聚的方式,减少和压缩网管中心管理服务器需要处理的数据量,确保管理系统的处理能力能够适应网络规模的增长。

  Netflow技术简介

  作为业界领先的互联网解决方案提供商,思科公司不但提供了性能卓越的网络设备,还同步配套研发了专门针对客户对网络流量和流向分析需求的Netflow技术。下面对Netflow技术做一个简单介绍。

  Netflow技术的起源

  Netflow 技术最早是于1996年由思科公司的Darren Kerr和Barry Bruins发明的,并于同年5月注册为美国专利,专利号为6,243,667.Netflow技术首先被用于网络设备对数据交换进行加速,并可同步实现对高速转发的IP数据流(Flow)进行测量和统计。经过多年的技术演进,Netflow原来用于数据交换加速的功能已经逐步由网络设备中的专用ASIC 芯片实现,而对流经网络设备的IP数据流进行测量和统计的功能也已更加成熟,并成为了当今互联网领域公认的最主要的IP/MPLS流量分析,统计和计费行业标准。Netflow技术能对IP/MPLS网络的通信流量进行详细的行为模式分析和计量,并提供网络运行的详细统计数据。

  IP网络中的数据流(Flow)信息

  为对运营商网络中不同类型的业务流进行准确的流量和流向分析与计量,首先需要对网络中传输的各种类型数据包进行区分。由于IP网络的非面向连接特性,网络中不同类型业务的通信可能是任意一台终端设备向另一台终端设备发送的一组IP数据包,这组数据包实际上就构成了运营商网络中某种业务的一个数据流(Flow)。如果管理系统能对全网传送的所有数据流进行区分,准确记录传送时间、传送方向和数据流的大小,就可以对运营商全网所有业务流的流量和流向进行分析和统计。

  通过分析网络中不同数据流间的差别,可以发现判断任何两个IP数据包是否属于同一个数据流实际上可以通过分析IP数据包的下属7个属性来实现,即数据包的:

  * 源IP地址

  * 目标IP地址

  * 源通信端口号

  * 目标通信端口号

  * 第三层协议类型

  * TOS字节(DSCP)

  * 网络设备输入(或输出)的逻辑网络端口(ifIndex)

  思科公司的Netflow技术就是利用分析IP数据包的上述7个属性,可以快速区分网络中传送的各种不同类型业务的数据流。对区分出的每个数据流 Netflow可以进行单独地跟踪和准确计量,记录其传送方向和目的地等流向特性,统计其起始和结束时间,服务类型,包含的数据包数量和字节数量等流量信息。对采集到的数据流流量和流向信息,Netflow可以定期输出原始记录,也可以对原始记录进行自动汇聚后输出统计结果。

  Netflow的处理机制

  从发明之初思科公司的Netflow技术就已完全融入了IOS操作系统中。由于Netflow技术支持所有类型的网络端口类型,所以每台内置有 Netflow 功能的思科网络设备都可以作为网络中一台能够测量、采集和输出网络流量和流向管理信息的数据采集器。而且因为Netflow实现的管理功能是由网络设备本身完成的,所以运营商无需购买额外的硬件设备,也无需为安装这些硬件设备占用宝贵的网络端口或改变网络链路的连接关系。这些都将转化成对网络运营成本的大幅度降低,对运营商级的大型网络优势尤其明显。

  为进一步提高Netflow技术对网络流量和流向信息进行采集和统计的效率和灵活性,Netflow还引进了多级的处理流程,如下图所示:

  

用Netflow进行IP网流量和流向分析
 

 

  在预处理阶段,Netflow可以首先根据网络管理的需要对特定级别的数据流进行过滤或对高速网络端口进行数据包抽样,这样可以在确保需要的管理信息被采集和统计的同时,减少网络设备的处理负荷,增加全系统的可扩展性。

  在后处理阶段,Netflow可以选择把采集到的数据流原始统计信息全部输出,由上层管理服务器统一接收后再进行数据的分类处理和汇总;也可以选择由网络设备自身对原始统计信息进行多种形式的数据汇聚,只把汇总后的统计结果发送给上层管理服务器。由网络设备进行原始统计信息的汇聚可以大大减少网络设备输出的数据量,降低对上层管理服务器的配置要求,提高上层管理系统的扩展性和工作效率。

  Netflow支持同时向两个管理服务器地址输出采集到的网络流量和流向统计信息,输出数据的方式有三种:

  1. 简单高效UDP传输协议方式(传统方式)。但由于采用了UDP协议,数据传输的可靠性是不保证的。

  2. SNMP MIB方式。管理服务器可以通过SNMP协议访问网络设备Netflow MIB库中存储的数据流Top N统计结果。

  3. 可靠的SCTP传输协议方式。利用SCTP传输协议,支持拥塞识别,重传和排队机制,确保Netflow统计结果数据正确发送给上层管理服务器。

  Netflow的版本演进

  在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版本。

  * Netflow V9,一种全新的灵活和可扩展的Netflow数据输出格式,采用了基于模板(Template)的统计数据输出。方便添加需要输出的数据域和支持多种 Netflow新功能,如Multicase Netflow,MPLS Aware Netflow,BGP Next Hop V9,Netflow for IPv6等。支持IOS12.0(24)S和12.3T及其后续IOS版本。在2003年思科公司的Netflow V9还被IETF组织从5个候选方案中确定为IPFIX(IP Flow Information Export)标准。

  Netflow数据输出格式

  下面对网络流量和流向分析系统中最常使用的Netflow V5数据输出的数据包格式进行一个简单介绍。

  下图为Netflow输出数据包的包头格式:

  

用Netflow进行IP网流量和流向分析
 

 

  下图为包含在每个Netflow V5输出数据包中的具体数据流的流量和流向统计信息的数据格式:

  

用Netflow进行IP网流量和流向分析
 

 

  Netflow V9的数据输出格式与V5有较大区别,主要是因为Netflow V9采用了基于模板式的数据输出方式。网络设备在进行Netflow V9格式的数据输出时会向上层管理服务器分别发送数据包模板和数据流纪录。数据包模板确定了后续发送的数据流纪录数据包的格式和长度,便于管理服务器对后续数据包的处理。同时为避免传输过程中出现丢包或错误,网络设备会定期重复发送数据包模板给上层管理服务器。

  如何利用Netflow技术进行IP网的流量和流向分析

  为充分利用思科Netflow技术在网络流量和流向信息采集和分析领域的强大功能,运营商可以对现有网管中心的网络流量管理系统进行技术改造,在原有利用SNMP协议或RMON协议进行数据采集的基础上,用Netflow技术对其进行补充甚至进行替代。

  下面对利用Netflow技术在运营商网络中的几种典型使用方式进行介绍。

  互联网交换中心(NAP)流量和流向监控

  互联网交换中心作为专为ISP提供网络互联和交换网络通信的汇聚点,需要及时、准确地掌握各个ISP网络间的通信流量和流向数据,为交换中心合理规划路由策略和调整ISP的接入带宽提供依据。

  为此互联网交换中心的管理员可以在核心交换设备与每个ISP互联的网络端口上启动Netflow数据采集。如果ISP的接入端口为高速率端口(如速率超过 OC-12),还可以选择采用数据包抽样Netflow采集方式,减少对核心交换设备的资源消耗和Netflow统计结果的输出数据量。

  通过进一步分析还可以发现,交换中心作为提供ISP互联的服务商,只需要关注下联ISP间的通信流量和流向统计,而无需进行更加详细的统计分析(如基于IP地址,IP网段,服务类型等的流量和流向分析)。由于每个ISP都有各自不同的BGP AS号码,所以交换中心管理员还可以进一步优化核心交换设备的Netflow数据输出选项:利用Netflow V8开始支持的统计数据内置汇聚功能,由核心交换设备对采集到的原始统计数据进行针对不同源和目的地BGP AS号的统计汇总,只把汇总后的统计结果发送给上层管理系统。这样不但可以大大减少输出给上层管理系统的统计数据量,还可以简化上层管理系统的数据分析负荷,使其能够更加简便快速地生成所需的统计报表。

  下图为一个典型的互联网交换中心利用Netflow技术进行ISP间通信流量和流向管理的系统结构图:

  

用Netflow进行IP网流量和流向分析
 

 

  运营商间互联链路的流量和流向监控

  每个电信运营商的网络都是通过互联链路与一个或多个其它运营商的网络相连接的。运营商为更好地服务自己的企业客户或个人用户,需要了解自己客户访问网络的模式以及访问网络资源的所在位置;同时运营商为了和其它运营商谈判签订双边或多边网络访问协议,也需要对双方相互访问的网络资源进行评估,这些都需要对双方网络互联链路进行通信流量和流向的监控和统计。

  为实现对运营商间互联链路的流量和流向管理,管理员可以在每个与其它运营商互联的边界路由器上启动Netflow,对互联网络端口进行数据采集。根据互联链路的端口速率,可以选择全Netflow采集或数据包抽样Netflow采集方式。

  由于管理员需要分析自己客户的详细网络访问纪录,了解他们需要获取的网络资源的确切位置,所以管理中心应该收集尽可能详尽的Netflow统计数据,意味着启动了Netflow数据采集的边界路由器不应做任何统计数据的汇聚,而应把Netflow原始统计记录直接发送给上层管理服务器。管理服务器在接收到各个边界路由器发送来的Netflow原始统计记录后,可以对数据进行统一分类处理或把原始记录存储到数据仓库中,由后续的数据挖掘应用程序对入库的数据进行细致分析,并生成运营商需要的统计报表。

  下图为运营商利用Netflow技术监控与其它运营商间互联链路流量和流向的管理系统实施示意图:

  

用Netflow进行IP网流量和流向分析
 

 

  企业客户流量计费

  随着中国宽带互联网的发展,越来越多的企业客户开始利用宽带网络改变公司的业务处理流程。电信运营商为了适应这种需求,需要提供比往更加丰富的服务内容,如不但提供数据接入业务,还可以提供IP电话、视频和网络存储等业务。由于不同类型业务的差异性,传统固定费率的计费方式也开始变得不能满足客户的需要。运营商需要跟随客户需求的转变,同步改变自己的运营支撑系统,提供多种灵活的业务计费方式供客户选择。

  利用Netflow技术,运营商可以精确统计出客户租用的接入链路上传送各种不同类型业务的通信流量,包括业务类型,服务等级,通信时间和时长,通信数据量等参数。这些详细的通信流量统计数据可以被运营商的计费和帐务系统进行处理,生成基于客户业务流量的计费账单。

  为实现客户的业务流量计费,需要在接入客户的所有接入路由器相应网络端口上都启动Netflow数据采集。由于计费数据要求高精确性,所以应该尽量采用全Netflow数据采集方式,避免使用数据包抽样的Netflow数据采集方式。

  接入路由器采集到的Netflow流量统计数据需要被统一发送给运营商的计费系统,由其进行不同类型业务的流量分类,汇总、批价和计费,最终由帐务系统生成提交给客户的计费账单。

  下图为利用Netflow技术采集客户业务流量信息的运营支撑系统结构图:

  

用Netflow进行IP网流量和流向分析
 

 

  运营商网络优化

  为提高客户对运营商网络的使用满意度,运营商需要及时了解自己网络的负载状况,正确预测可能出现的网络瓶颈,适时规划未来的网络升级,这些管理需求都可以通过利用Netflow技术对运营商网络进行准确的网络带宽使用率监测和网络流向分析来实现。

  由于主要是实现对运营商网络的优化,所以不一定需要对网络中传送的所有流量数据进行100%的监测。为减少对网络设备的资源占用,降低对上层管理系统的容量要求,可以选用数据包抽样的Netflow数据采集方式,对核心网络的重点链路进行统计。采集到的抽样统计数据可以利用上层管理系统进行全网集中处理,也可以分区域进行局部处理,分别计算出全网的通信流量和流向统计报表或部分区域的通信流量和流向统计报表。由此管理员可以迅速发现网络当前的使用状况,不同链路的使用率变化趋势,并可以此为依据规划网络是否需要调整和扩容,最终实现网络的优化使用。

  下图为利用Netflow技术进行运营商核心网络优化的管理系统结构图:

  

用Netflow进行IP网流量和流向分析