互联网业务流量监测技术现状分析
目前国内电信运营商的运维部门大都还没有建设一套能够完全满足管理需求的互联网业务流量监测系统。现有的网络管理系统虽然可以提供业务流量监测 手段,但基本上只是采用一些通用型的网络链路使用率监视软件,如利用免费的MRTG和简单网络管理协议(SNMP),对网络的重点链路和互联点进行简单的 端口级流量监视和统计;或采用在网络中部分重点业务接入点(POP)加装远程监控(RMON)探针的方式,利用RMON I/Ⅱ协议对网络中部分端口进行网络流量和上层业务流量的监视和采集。
上述两种被普遍采用的网络流量监测系统都有着明显的技术局限性。
SNMP采集端口的数据主要是在网元层用来监控网络流量和设备的性能,而且SNMP采集的数据是基于端口的,无法提供端到端的准确的流量信息,因此对流向的统计手段不明确。
利用RMON探针对运营商网络进行流量和流向管理可以部分弥补SNMP的技术局限性,其业务分析和协议分析功能较强。但是,采用RMON探针建设的流量监测系统也有处理性能不足和难以在大型网络普遍部署的局限性。
为克服现有网管系统对网络流量和流向分析功能的技术局限性,运营商迫切需要寻找一种功能丰富、成熟稳定的新技术,对现有管理系统中流量信息的采 集和分析方式进行改造和升级。新的流量信息采集和分析技术应具备对运营商的运行网络影响小、无需对网络拓扑进行改变就能平滑升级的技术特征,既可以对网络 中各个链路的带宽使用率进行统计,又可以对每条链路上不同类型业务的流量和流向进行分析和统计。本文主要讨论功能强大、应用广泛的NetFlow技术。
字段名称 |
所处位置 |
字段长度 |
含义 |
Version |
Header |
2 Bytes |
版本号,0x0009 |
Count |
2 Bytes |
报文中所有记录的数量(包括template and data两种类型) |
|
System Uptime |
4 Bytes |
自网元设备加电以来的毫秒数 |
|
Unix Seconds |
4 Bytes |
网元设备当前机器时间(与所在时区相关)与格林威治时间(亦即”0 UTC”)1970年1月1日 0点0分0秒之间的秒数差额 |
|
Package Sequence |
4 Bytes |
网元设备所导出的Flow报文的序列号,顺序递增,可用以检测Flow报文丢失。 |
|
Source ID |
4 Bytes |
由0x0000+路由引擎标识+线路板卡标识构成,可与Flow报文源IP地址结合起来唯一的标识Flow信息导出节点。 |
|
FlowSet ID |
Template FlowSet |
2 Bytes |
用以区分Template Record和Data Record。Template Record的FlowSet ID 位于0~255之间,而 Data Record 的FlowSet ID 总在255以上。 |
Length |
2 Bytes |
本FlowSet的总体长度。 |
|
Template ID |
Template Record |
2 Bytes |
开始一个新的Template Record,声明一个新的Data Record格式的编号ID,数值总大于255,在该网元设备本地有效。 |
Field Count |
2 Bytes |
本Template Record所包含的字段数量。 |
|
Field 1 Type |
2 Bytes |
开始一个新字段的定义,说明该字段的类型,类型编号与厂商相关,Cisco在NetFlow V9中总共定义了89种类型。 |
|
Field 1 Length |
2 Bytes |
上述所定义的字段的长度。 |
|
…… |
…… |
…… |
|
Field N Type |
2 Bytes |
开始第N个新字段的定义,说明该字段的类型。 |
|
Field N Length |
2 Bytes |
上述所定义的字段的长度。 |
|
FlowSet ID |
Data FlowSet |
2 Bytes |
引用一个Template Record ID以开始一个新的Data FlowSet。该字段数值总在255以上。 |
Length |
2 Bytes |
本Data FlowSet的总体长度。 |
|
Record 1 - Field 1 value |
Data Record |
2 Bytes |
第1个Data Record的第1个字段的数值。 |
…… |
…… |
…… |
|
Record 1 - Field N value |
2 Bytes |
第1个Data Record的第N个字段的数值。 |
|
Record N - Field 1 value |
2 Bytes |
第N个Data Record的第1个字段的数值。 |
|
…… |
…… |
…… |
|
Record N - Field N value |
2 Bytes |
第N个Data Record的第N个字段的数值。 |
|
…… |
…… |
…… |
|
Padding |
报文尾部 |
填充位,将该Data FlowSet补齐至N*32 bits长度。这些填充位将计算入该Data FlowSet的Length数值。 |
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为蓝本 |