NetStream 网络流
一、简介
NetStream是华为公司的专利技术,是一种基于网络流信息的统计与发布技术。NetStream可以对网络中的通信量和资源使用情况进行分类和统计,实现对各种业务和不同的QoS进行管理和计费。
目前Netstream输出的报文主要有5、8、9三个版本,其他的版本处于实验阶段,没有商用。所有的版本都是通过UDP协议传递统计信息的。每个数据包都包括一个Packet Header再加上一条或者几条流的记录信息。 NetStream原始流输出报文支持版本5和版本9两种报文格式,聚合流输出支持版本8和版本9两种报文格式。
Netstream提供报文统计功能,它根据报文的目的ip地址、目的端口号、源ip地址、源端口号、协议号和tos来区分流信息,并针对不同的流信息进行独立的数据统计。
二、报文
1.报文格式
2.报文字段
字段 | 长度 | 描述 |
---|---|---|
NS_ID | 1字节 | NetStream的标识位,第7个比特位0,表示入接口统计报文,第7个比特位1,表示出接口统计报文 |
version | 1字节 | NetStream输出报文格式版本编号,对于V5,为0x05。 |
count | 2字节 | 当前报文中的流记录数(1-30) |
SysUptime | 4字节 | 报文产生的时间,是系统启动以来的毫秒数 |
unix_secs | 4字节 | 从1970年1月1日0时起,到报文产生时间的整秒数 |
unix_nsecs | 4字节 | 报文产生时间的纳秒数,也即不足一秒的余下的纳秒数 |
flow_sequence | 4字节 | 输出的流记录的顺序号 |
engine_type | 1字节 | 流交换引擎类型 |
engine_id | 1字节 | 交换引擎槽号 |
reserved | 2字节 | 保留字段,全零 |
3.flow_sequence字段
在第一个NetStream报文中,此值为0,count = c1, 在第二个NetStream报文中,此值为c1,count = c2, 在第三个NetStream报文中,此值为c2 + c1, 在第n – 1 个NetStream报文中,此值为fs(n - 1),count = c(n - 1) 在第n个NetStream报文中,此值为fs(n - 1) + c(n - 1)。 利用此值可以判断报文是否丢失。 当流序列号溢出时,按自然溢出继续进行。
4.系统组成
- NDE(NetStream Data Exporter,网络流量采样)。NDE负责对网络流进行采集和发送,提取符合条件的流进行统计,并将统计信息输出给NSC设备。输出前也可对数据进行一些处理,比如聚合。配置了NetStream 功能的设备在NetStream 系统中担当NDE 角色。
- NSC(NetStream Collector,网络流量采集)。NSC通常为运行于Unix 或者Windows 上的一个应用程序,负责收集和存储来自NDE的报文,把统计数据收集到数据库中,可供NDA进行解析。NSC可以采集多个NDE设备输出的数据,对数据进行进一步的过滤和聚合。
- NDA(NetStream Data Analyzer,网络流量分析)。NDA是一个网络流量分析工具,它从数据库中提取统计数据,进行进一步的加工处理,生成报表,为各种业务提供依据(比如流量计费、网络规划,攻击监测)。通常,NDA具有图形化用户界面,使用户可以方便地获取、显示和分析收集到的数据。
更多建议: