【华为】报文统计的技术NetStream

什么是NetStream

NetStream是一项基于"流"来提供报文统计的技术。它根据报文的目的IP地址、目的端口号、协议号、源IP地址等关键值来区分流信息,并针对流信息进行数据流统计,再将统计信息发送至服务器供分析。通过分析这些统计信息,网络管理员可以确定流量的来源、目的地、占用的出口带宽等内容,进而为计费、网络管理、网络优化等应用提供依据。

NetStream的系统组成

NetStream系统由网络流量输出器NDE(NetStream Data Exporter)、网络流量收集器NSC(NetStream Collector)和网络流量分析器NDA(NetStream Data Analyzer)三部分组成。

NetStream系统组成示意图

  • NDE:负责对网络流量进行分析处理,提取符合条件的流进行统计,并将统计信息输出给NSC。输出前也可对数据进行一些处理,比如将相同的流量统计信息进行合并。

  • NSC:负责存储来自NDE的报文,把统计数据收集到数据库中,可供NDA进行分析。NSC可以采集多个NDE设备输出的数据,对数据进行进一步的处理。

  • NDA:是一个网络流量分析工具,它从NSC中提取统计数据,进行加工处理后生成报表,为各种应用(比如计费、网络管理、网络优化)提供依据。通常,NDA具有图形化用户界面,使用户可以方便地获取和分析收集到的数据。

在实际的应用中,网络设备在NetStream系统中担任NDE角色,NSC和NDA一般集成在同一台NetStream服务器上。

NetStream是如何工作的

NetStream的工作过程如下:

  1. NDE把采集到的关于流的详细统计信息定期发送给NSC。

  2. 信息由NSC初步处理后发送给NDA。

  3. NDA对数据进行分析,以用于计费、网络管理、网络优化等应用。

下图显示了设备作为NDE的NetStream处理过程。

NDE的NetStream处理过程

  1. 设备按照采样方式对业务流量进行NetStream采样。

  2. 设备根据关键值对采样报文进行NetStream流建立。

  3. 设备按照老化方式对流进行NetStream流老化。

  4. 设备按照输出方式进行NetStream流输出。

NetStream的关键技术

NetStream采样

通过设定适当的采样间隔,只针对样本报文进行流信息统计分析,收集到的统计信息可以基本正确地反映整个网络流的状况,同时也能降低使能NetStream功能对设备性能的影响。

NetStream采样有以下四种方式:

  • 随机报文间隔采样:在设置的数量间隔内随机采样报文。

举例:数量间隔设置为100,则每100个报文随机采样1个报文。

  • 固定报文间隔采样:在设置的数量间隔内周期采样报文。

举例:数量间隔设置为100,假设在第5个报文被采样后,则每100个报文都会再次采样,如第105个报文会再采集一次,以此类推采样下去。

  • 随机时间间隔采样:在设置的时间间隔内随机采样报文。

举例:时间间隔设置为100,则每100毫秒随机采样1个报文。

  • 固定时间间隔采样:在设置的时间间隔内周期采样报文。

举例:时间间隔设置为100,假设在第5毫秒进行第一次采样后,则每隔100毫秒都会再次采样,如第105毫秒时会再采集一次,以此类推采样下去。

NetStream流建立

通过在设备的接口配置适当的采样方式对业务流量进行采样,获取采样报文后,NetStream模块依据报文中的关键值建立NetStream流,相同关键值的报文标识为同一条NetStream流。

不同报文类型形成NetStream流的关键值如下:

NetStream流老化

NetStream流老化是设备向NSC输出流统计信息的前提。设备启用NetStream功能后,NetStream流首先会被存储在设备的缓存区中,当缓存区中的NetStream流达到老化条件时,设备会把缓存区中的NetStream流发送给NSC。

NetStream流老化分为以下几类:

  • 活跃流老化

活跃流指从第一个报文开始,一条流在指定的时间内一直能被采集到。当流活跃时间超过设定的时长后,就需要输出该流的统计信息,称为活跃流的老化。

这种老化方式主要用于持续时间较长的流量,定期输出统计信息。

  • 非活跃流老化

非活跃流指从最后一个报文开始,一条流在指定的时间内没有被采集到,设备会向服务器输出该流的统计信息,称为非活跃流的老化。

这种老化方式主要用于短时流量,及时清除缓存区中的无用表项,节省内存空间。

  • 由TCP连接的FIN和RST报文触发老化

当采样的报文中有FIN或RST的报文时,设备会对统计信息进行老化。

  • 超流表规格老化

当NetStream的流表数超过流表规格限制时,为了保证统计信息的正确性,系统会立即自动把该流老化掉。

  • 超字节统计限制老化

当缓存区中的NetStream流的字节数统计超过限制时,如果继续进行累加统计将会发生溢出进而导致统计发生错误。所以设备在检测到某条流的字节数统计超过限制时,设备会立即自动把该流老化掉。

  • 命令行强制老化

用户可以通过执行命令强制将缓存区中所有NetStream流老化。

该功能主要用于老化条件尚未满足,但又需要最新的统计信息,或者NetStream业务发生异常,导致流缓存区中某些流始终不老化。

NetStream流输出

NetStream流输出是指缓存区里面的流老化后把流统计信息输出到指定的NSC,以便后续进行更为详尽的分析。

  • 原始流输出方式

指在流老化时间超时后,每条流的详细统计信息都要输出到NSC。

  • 聚合流输出方式

指对聚合关键项完全相同的原始流信息进行汇总,从而得到对应的聚合流信息,再将聚合流信息输出到NSC。这种输出方式可以明显减少网络带宽的占用。

目前设备支持的聚合方式如下:

  • 灵活流输出方式

指用户根据自身需要自定义NetStream建流的条件,对自定义的流进行分类统计,再将统计信息发送给NSC。灵活流方式相比原始流方式减少了流量占用的带宽。

  • 二层流输出方式

指对网络中流量的二层信息进行统计,并将统计信息发送到NSC。

NetStream输出的报文主要有V5、V8、V9三个版本。所有版本的报文都是通过UDP协议传递统计信息。

  • V5:根据七元组产生原始的数据流,但报文格式固定,不易扩展。

  • V8:支持聚合输出格式,但报文格式固定,不易扩展。

  • V9:基于模板方式,使统计信息的输出更为灵活,可以用来灵活输出各种组合格式的数据。

NetStream流输出是按照流输出方式和版本格式组合而成,具体实现如下:

NetStream的应用场景

NetStream技术是对网络中的业务流量进行统计和分析,因此网络的接入层、汇聚层、核心层都可以部署NetStream。

NetStream技术的应用场景有以下几种:

  • 计费

NetStream可以为基于时间、带宽、服务、应用等资源的计费提供了精细的数据。如企业客户可以使用这些资源信息计算部门费用或分配成本,以便有效利用资源。

  • 网络优化

NetStream可以为网络管理提供关键信息,如网络流量情况,以便优化网络规划,实现以最小的运营成本达到最优的网络性能和可靠性。

  • 网络监控

通过在网络的出口部署NetStream,实时监控网络流量,可以获得各种业务占用出口带宽的情况。网络管理员可以根据带宽信息尽早发现网络中不合理的网络规划,及时调整网络资源的合理分配,保障网络的业务稳定可靠运行。

更多网络技术文章

点击查看 →【华为】报文统计的技术NetStream

相关推荐
爬树的小蚂蚁2 小时前
Linux 修改bond后网关不生效的问题
linux·运维·服务器
洁洁!2 小时前
从零开始在亚马逊云科技 EC2上部署DeepSeek R1大语言模型:完整实战指南
服务器·科技·语言模型
lisw054 小时前
网络化:DevOps 工程的必要基础(Networking: The Essential Foundation for DevOps Engineering)
网络·devops
风行無痕5 小时前
Ubuntu Linux系统配置账号无密码sudo
linux·服务器·ubuntu
驱动小百科6 小时前
WiFi出现感叹号上不了网怎么办 轻松恢复网络
网络·智能路由器·wifi出现感叹号怎么解决·wifi无法上网·电脑wifi
好多知识都想学6 小时前
协议路由与路由协议
网络·智能路由器
爆农6 小时前
centos搭建dokcer和vulhub
linux·运维·centos
SZ1701102316 小时前
中继器的作用
服务器·网络·智能路由器
chenxy026 小时前
如何快速分享服务器上的文件
运维·服务器
重启就好7 小时前
【Ansible】模块详解
linux·服务器·ansible