手册下载
H3C S5560X & S6520X 系列以太网交换机
NetStream技术白皮书
Copyright © 2025 新华三技术有限公司 版权所有,保留一切权利。
非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。
除新华三技术有限公司的商标外,本手册中出现的其它公司的商标、产品标识及商品名称,由各自权利人拥有。
本文中的内容为通用性技术信息,某些信息可能不适用于您所购买的产品。
目 录
Internet的高速发展为用户提供了更高的带宽,支持的业务和应用日渐增多,传统流量统计如SNMP、端口镜像等,由于统计流量方式不灵活或是需要投资专用服务器成本高等原因,无法对网络进行更细致的管理,需要一种新技术来更好地支持网络流量统计。
为了应对网络管理中的这些问题,NetStream应运而生。NetStream是基于网络流信息的统计技术,定义了一种用于设备输出网络流量的统计数据的方法,设备对通过其转发的数据进行统计和分析,并上报给网络流量分析器,经合并处理后存入数据库,供后续进一步的分析处理。
NetStream技术可利用网络中数据流创造价值,并在最大限度减小对设备性能影响的前提下提供详细的数据流统计信息。在网络的接入层、汇聚层、核心层上,都可以通过部署NetStream,帮助网络管理人员了解网络运行状况,及时发现并解决网络中的性能瓶颈问题、网络异常现象,同时也能作为用户网络优化、网络设备投资、网络带宽优化的参考。
NetStream技术的应用场景有以下几种:
· 计费:基于线路、带宽、时段等资源的占用情况,NetStream可提供精细的计费数据支持。Internet服务提供商可以利用这些信息来实行灵活的计费策略,如基于时间、带宽、应用、服务质量等。企业客户可以使用这些信息计算部门费用或分配成本,以便有效利用资源。
· 网络规划:NetStream可以为网络管理工具提供关键信息,比如各个AS域之间的网络流量情况,以便更好的规划和优化网络,实现以最小的网络运营成本达到最佳的网络性能和可靠性。
· 网络监控:通过在出口部署NetStream,可实时监控连接Internet网络的接口流量,从而分析不同业务对出口带宽的占用情况。网络管理员可以根据这些信息判断网络的运行情况,尽早发现不合理的网络结构或是网络中的性能瓶颈,方便网络管理员规划和分配网络资源。
· 用户监控和分析:通过NetStream技术可以使网络管理员轻松获取用户使用网络和应用资源的详细情况,进而高效地规划和分配网络资源,并保障网络的安全运行。
NetStream对IP报文头部的L2、L3、L4、MPLS标签、VXLAN报文的UDP头等信息进行解析,报文头信息相同的报文属于同一条流,并对同一条流的流量进行统计。
一个典型的NetStream系统由NDE(NetStream Data Exporter,网络流数据输出者)、NSC(NetStream Collector,网络流数据收集者)和NDA(NetStream Data Analyzer,网络流数据分析者)三部分组成。
· NDE
NDE根据七元组对网络流进行分类,提取符合条件的流进行统计,并将统计信息上报给NSC设备。配置了NetStream功能的设备在NetStream系统中担当NDE角色。
· NSC
NSC通常为运行于某种操作系统上的一个应用程序,负责解析来自NDE的报文,把统计数据收集到数据库中,可供NDA进行解析。NSC可以采集多个NDE设备输出的数据。
· NDA
NDA是一个网络流量分析工具,它从NSC中提取统计数据,进行进一步的加工处理,生成报表,为各种业务提供依据(比如流量计费、网络规划,攻击监测)。NDA可以提取多个NSC中的数据。通常,NDA具有图形化用户界面,可以使用户方便地获取、显示和分析收集到的数据。
NSC和NDA可以集成在一台NetStream服务器上。
图2-1 NetStream系统中的设备角色
· 支持NetStream特性的网络设备(如S5560X系列以太网交换机,S6520X系列以太网交换机)可以作为NDE。
· 对于单向NetStream功能,支持我司iMC作为NSC和NDA(即NetStream服务器),同时也支持符合IPFIX标准的第三方平台作为NSC和NDA。
· 对于双向NetStream功能,仅支持我司安全威胁发现与运营管理平台作为NSC和NDA。
NetStream和NetFlow都属于网络流信息的统计技术,其中NetStream协议是我司与华为的实现方式,NetFlow协议是CISCO的实现方式。
IPFIX是IETF标准化的协议(以NetFlow为样本)。我司NetStream特性的输出日志符合IPFIX标准(即输出日志中destinationTransportPort的ElementID是11,大小为unsigned16)。
NetStream流老化是设备向NetStream服务器输出流统计信息的一种手段。当设备开启NetStream功能后,流统计信息首先会被存储在设备的NetStream缓冲区中。当存储在设备NetStream缓冲区中的流统计信息老化后,设备会将其通过指定版本的NetStream输出报文发送给NetStream服务器,同时清除缓冲区中的对应信息。
NetStream流老化支持按时老化和强制老化。
· 流的不活跃老化:从采集到的最后一个报文开始,该流在指定的时间内没有被采集到,那么设备会向NetStream服务器输出该流的统计信息,这种老化称为流的不活跃老化。通过这种老化,可以清除设备上NetStream缓冲区中的无用表项,充分利用统计表项资源。
· 流的活跃老化:从采集到的第一个报文开始,该流在指定的时间内能被采集到。活跃时间超过设定的时长后,需要输出该流的统计信息,这种老化称为流的活跃老化。设备向NetStream服务器输出流的统计信息后,因为该流还存在,所以设备会继续统计该流。这种老化方式是设备定期向NetStream服务器输出流统计信息的一种机制。
· 手工强制老化:执行reset命令强制将NetStream缓冲区中所有流统计信息老化、输出,并清空NetStream缓冲区。
· 最大数目老化:当NetStream流缓存区中流表项的数目达到指定的最大数目时,强制老化部分流表项或禁止新建流表项。
· 版本5:根据七元组产生原始的数据流,报文格式固定,不易扩展。
· 版本9:基于模板方式,模板可在遵循RFC定义的模板格式的前提下自定义。版本9支持对BGP下一跳信息和MPLS报文的统计输出。
· 版本10:基于模板方式,模板可在遵循RFC定义的模板格式的前提下自定义。版本10支持对BGP下一跳信息和MPLS报文的统计输出。版本10输出格式符合IPFIX协议规定。
NetStream镜像功能是将满足某种QoS策略或指定端口上的报文复制到提供NetStream功能的业务板上,然后在业务板上进行流量统计和Nestream流表项的输出。通过这种方式,可以将NetStream流统计集中到一块业务板上,而不会对设备的转发性能造成影响。
NetStream镜像有以下方式:
· NetStream流镜像
通过QoS策略定义类,并定义流行为将符合分类的报文镜像到提供NetStream功能的业务板或业务设备上。
· NetStream端口镜像
通过引用采样器开启NetStream采样功能,同时实现采样与镜像,将端口上的报文采样、镜像到提供NetStream功能的业务板或业务设备上。
NetStream可以与ACL(Access Control List,访问控制列表)配合使用,NetStream只统计ACL筛选出的报文。通过这种方式可以使NetStream只对用户关注的数据进行统计,更能满足用户多样的统计要求。有关ACL的详细介绍,请参见“ACL和QoS配置指导”中的“ACL”。
NetStream可以与Sampler(采样器)配合使用。设定适当的采样间隔,在保证收集到的统计信息基本正确地反映整个网络流的状况下,减少统计的报文数量。另外,采样还可以减小网络的流量,避免网络中的大流量使得NetStream的运行对设备转发性能造成影响。有关Sampler的详细介绍,请参见“网络管理和监控配置指导”中的“Sampler”。
基于会话的NetStream用来对基于会话的业务流量(即属于一个会话的双向流)进行统计和分析,并使用NetStream版本9对统计结果进行输出。基于会话的双向NetStream功能可以实现对内网流量的统计及内网异常流量的分析。
设备通过安装NetStream接口模块(LSWM2FPGA或LSWM2FPGAB,如图3-1和图3-2所示)实现单向NetStream功能和基于会话的双向NetStream功能,不需要更换现网设备,可以节约升级成本。
图3-1 NetStream接口模块(LSWM2FPGA)
图3-2 NetStream接口模块(LSWM2FPGAB)
表3-1 NetStream接口模块性能参数
项目 |
描述 |
单向NetStream流表表项数量 |
128K |
双向NetStream流表表项数量 |
64K |
流表刷新频率 |
200s(双向);400s(单向) |
与设备互通的内联端口 |
2个10GE接口(1个控制通道,1个业务通道) |
单双向NetStream固件版本信息 |
V101及更高版本 |
设备利用NetStream镜像功能将流量镜像至NetStream接口模块,由接口模块上的FPGA(Field Programmable Gate Array,现场可编程门阵列)芯片实现流量的分析和统计,并建立流表。通过此种方式实现NetStream功能,可以节约设备的ACL表项资源,提高设备建表性能。
设备开启NetStream采样后,会将流量复制到NetStream接口模块,接口模块根据报文的七元组(即目的IP地址、源IP地址、目的端口号、源端口号、协议号、ToS、输入或输出接口)建立单向流表,并基于该流表进行统计。
表3-2 单向NetStream流表示例
创建时间 |
源IP |
源 端口 |
目的IP |
目的 端口 |
ToS |
协议号 |
接口 |
发送 报文数 |
发送 字节数 |
10:20:21:000 |
1.1.1.1 |
1024 |
2.2.2.2 |
80 |
0 |
TCP |
GE1/0/1(I) |
5 |
1025 |
10:20:22:000 |
2.2.2.2 |
80 |
1.1.1.1 |
1024 |
0 |
TCP |
GE1/0/1(O) |
17 |
28712 |
设备通过流镜像方式将流量镜像到NetStream接口模块(流镜像的目的端口是接口模块与设备相连的内联口),接口模块建立双向流表。正向流表使用报文的七元组(即目的IP地址、源IP地址、目的MAC地址、源MAC地址、目的端口号、源端口号、协议号)建立;反向流表通过直接对换正向流表中的源/目的IP地址、源/目的MAC地址和源/目的端口号建立。接口模块将两个互为反向的单向流表合并成一个双向流表,通过双向流表模拟会话表,实现基于会话的NetStream。
表3-3 双向NetStream流表示例
创建 时间 |
客户端IP |
客户端MAC |
客户端端口 |
服务端IP |
服务端MAC |
服务端端口 |
协议号 |
客户端发送 报文数 |
客户端发送 字节数 |
服务端发送 报文数 |
服务端发送 字节数 |
10:20:21:000 |
1.1.1.1 |
0-0-1 |
1024 |
2.2.2.2 |
0-0-2 |
80 |
TCP |
5 |
1025 |
4 |
1000 |
单向NetStream支持按时老化和强制老化。
基于会话的双向NetStream仅支持按时老化中的不活跃老化。
单向NetStream支持采用版本5、9和10输出NetStream报文。
双向NetStream只支持采用版本9输出NetStream报文。
NetStream接口模块需要加载软件版本,即RBF(Raw Binary File,原始二进制文件)固件,才可正常使用。NetStream接口模块的RBF固件不会打包在设备的IPE文件里,为接口模块加载RBF固件前,请确保对应RBF固件已下载到设备的Flash中。如果还未获取固件,请联系H3C技术支持工程师。
单向NetStream和双向NetStream功能采用的RBF固件不同,因此,单双向NetStream不可以同时启用。
设备缺省情况下不支持NetStream接口模块,使用NetStream功能前,需要通过fpga-working-mode 1命令将设备切换为单向NetStream工作模式或使用fpga-working-mode 2命令将设备切换为双向NetStream工作模式,执行命令后需重启设备。
如果需要切换NetStream工作模式,请确保相应模式的RBF固件已经下载到设备Flash中,使用fpga-working-mode命令将设备切换为指定的工作模式,然后重启设备。
对接口模块进行固件升级(仅升级版本而不进行工作模式切换)时,只需将新版本固件下载至设备Flash中并重新插拔接口模块,即可自动完成固件的版本升级。
单向NetStream功能的固件名称为SSAE_CS_FUNC1_Vxxx.rbf,双向NetStream功能的固件名称为SSAE_CS_FUNC2_Vxxx.rbf,其中xxx表示固件的版本号。
当Flash中存在同一功能的多个版本固件时,设备支持自动识别高版本固件。
不同的NetStream接口模块支持处理的最大单个报文长度不同,请以接口模块的实际情况为准。对于本手册中介绍的接口模块,支持的单个报文最大长度的缺省值为1518字节。请合理配置MTU值,避免因报文过长无法处理导致NetStream的流统数据不准确。
· 支持向NetStream服务器发送日志模板,NetStream服务器根据模板解析接收数据,所以支持我司iMC或符合IPFIX标准的第三方平台作为NetStream服务器。
· 对VXLAN流量进行统计时,仅支持统计VXLAN报文内层信息。
· 单向NetStream的采样功能与sFlow互斥,不能同时启用。
· 在IRF组网中,单向NetStream不支持对跨成员设备的流量进行统计。
· 不支持向NetStream服务器发送日志模板,所以仅支持我司安全威胁发现与运营管理平台作为NetStream服务器。
· 双向NetStream不支持统计VXLAN流量。
· 双向NetStream基于双向流模拟会话来实现会话统计,因此无法支持基于会话状态的老化上报,只能定时老化上报。
· 由于设备不支持将相同流量镜像至多个目的,因此,对于已经流镜像至内联口这部分流量,请勿再对其配置其他镜像功能。
· 在IRF组网中,推荐在Master设备上安装NetStream接口模块。
· TCP短连接会话可能导致不同会话误识别为一个会话。例如,当前会话已断开,但由于NetStream流表项还未到输出的时刻,发起上一个会话的双方又新建了一个会话,此时设备会认为新建会话并非新建,而是上一个会话的延续,将新会话与老会话统计在一起。
如下型号产品支持NetStream接口模块,并基于接口模块实现单双向NetStream功能:
· H3C S5560X系列以太网交换机(仅F6509及更高版本支持)
· H3C S6520X系列以太网交换机(仅F6509及更高版本支持)
图4-1 单向NetStream典型应用组网图
单向NetStream在园区网中的典型应用如图4-1所示,在汇聚交换机上安装NetStream接口模块,加载单向NetStream固件,并在该交换机的所有接口入方向上配置单向NetStream功能,对来自研发部、管理部、市场部和财务部的流量进行统计,并将统计数据发送给iMC服务器,iMC服务器对统计数据进行存储与分析:
· 公司可以依据iMC的分析结果,精细地计算出各部门分摊的宽带费用;
· 管理员可以依据iMC的分析结果,合理规划网络,避免网络拥塞,提高带宽利用率。
图4-2 双向NetStream典型应用组网图
双向NetStream在园区网中的典型应用如图4-2所示,在汇聚交换机上安装NetStream接口模块,加载双向NetStream固件,并在该交换机的所有接口上开启双向NetStream功能,对各部门与Internet之间的会话流量进行统计,并将统计数据发送给安全威胁发现与运营管理平台。安全威胁发现与运营管理平台基于会话统计数据可以实现资产外联成功异常流量检测与分析。
与NetStream相关的协议规范有:
RFC 5101: Specification of the IP Flow Information Export (IPFIX) Protocol for the Exchange of IP Traffic Flow Information