智简园区交换机流量采样技术白皮书.docx
- 文档编号:5443323
- 上传时间:2022-12-16
- 格式:DOCX
- 页数:14
- 大小:223.40KB
智简园区交换机流量采样技术白皮书.docx
《智简园区交换机流量采样技术白皮书.docx》由会员分享,可在线阅读,更多相关《智简园区交换机流量采样技术白皮书.docx(14页珍藏版)》请在冰豆网上搜索。
智简园区交换机流量采样技术白皮书
华为智简园区交换机流量采样技术
白皮书
前言
摘要
Internet网络的高速发展为用户提供了更高的带宽,支持的业务和应用日渐增多,同时企业级网络具有规模相对较小、组网灵活、易受攻击等特点,传统流量统计如SNMP、端口镜像等,由于统计流量方式不灵活或是需要投资专用服务器成本高等原因,无法满足对网络进行更细致的管理,需要一种新技术来更好的支持网络流量统计,NetStream是一种基于网络流信息的统计技术,采样流sFlow(SampledFlow)是一种基于报文采样的网络流量监控技术,两种技术均可以对网络中的业务流量情况进行统计和分析。
关键词
NetSteam、sFlow、精细管控
1概述
1.1产生背景
Internet网络的高速发展为用户提供了更高的带宽,支持的业务和应用日渐增多,同时企业级网络具有规模相对较小、组网灵活、易受攻击等特点,因此企业级网络更容易出现由组网或者攻击导致的流量业务异常,于是企业用户更需要一种以设备接口为基本采样单元的流量监控技术来实时监控流量状况,及时发现异常流量以及攻击流量的源头,从而保证企业网络的正常稳定运行。
企业客户也需要对网络进行更加细致的管理和计费,这样就对流量统计分析提出了更高的要求。
在这样的背景下,NetStream和sFlow应运而生。
1.2技术实现
通过NetStream可以对网络中的业务流量和资源使用情况进行分类统计,并将统计信息发送至服务器(可以是专用的服务器,也可以是安装有NetStream网管软件的网管系统)进行更为详尽的统计分析。
通过sFlow实现基于端口的流量分析,sFlow按照一定的采样比从特定端口上采集报文,由Agent设备对报文进行分析(包括报文内容、报文转发规则信息等等),并将分析结果以及原始报文通告给Collector进行统一分析
(Flow采样);并且支持周期性统计端口的流量计数以及设备CPU、内存等信息(Counter采样)。
sFlow关注的是接口的流量情况、转发情况以及设备整体运行状况,因此适合于网络异常监控以及网络异常定位,通过Collector可以以报表的方式将情况反应出来,特别适合于企业网用户。
为企业用户(特别是未设置专职网络管理员的企业用户)的日常巡检维护提供了极大的方便。
1.3客户价值
针对NetStream有如下好处:
●计费:
NetStream为基于资源(如线路、带宽、时段等)占用情况的计费提供了精细的数据,这些数据包括IP地址、包数、字节数、时间、ToS和应用类型等。
企业客户可以使用这些信息计算部门费用或分配成本,以便有效利用资源。
l网络监控:
通过在连接Internet的接口部署NetStream,可以对网络出口进行实时的流量监控,分析各种业务占用出口带宽的情况。
网管人员可以根据这些信息判断网络的运行情况,尽早发现不合理的网络结构或是网络中的性能瓶颈,方便企业客户规划和分配网络资源。
l用户监控和分析:
通过NetStream可以获得用户网络资源利用的详细情况,进而用于高效地规划以及分配网络资源,并保障网络的安全运行。
NetStream是一种基于网络流信息的统计技术,网络设备自身需要对网络流进行初步的统计分析,并把统计信息储存在缓存区,当缓存区满或者流统计信息老化后输出统计信息。
与NetStream相比,sFlow不需要缓存区,网络设备仅进行报文的采样工作,网络流的统计分析工作由远端的采集器完成。
因此sFlow与NetStream比较具有以下优势:
l节省资源、降低成本:
由于不需要缓存区,对网络设备的资源占用少,实现成本低。
l采集器灵活、随需的部署:
由于网络流的分析和统计工作由采集器完成,采集器可以灵活的配置网络流特征进行统计分析,实现灵活、随需的部署。
2方案原理
2.1NetStream原理描述
2.1.1基本原理
NetStream系统的组成
一个典型的NetStream系统由流量输出器NDE(NetStreamDataExporter)、网络流数据收集器NSC(NetStreamCollector)和流量分析器NDA(NetStreamDataAnalyzer)三部分组成。
如图2-1所示:
图2-1NetStream系统组成图
●NDE
NDE负责对网络流进行分析处理,提取符合条件的流进行统计,并将统计信息输出给NSC。
输出前也可对数据进行一些处理,比如聚合。
配置了NetStream功能的交换机设备在NetStream系统中担当NDE角色。
●NSC
NSC通常为运行于Unix或者Windows上的一个应用程序,负责解析来自NDE的报文,把统计数据收集到数据库中,可供NDA进行解析。
NSC可以采集多个NDE设备输出的数据,对数据进行进一步的过滤和聚合。
●NDA
NDA是一个网络流量分析工具,它从NSC中提取统计数据,进行进一步的加工处理后生成报表,为各种业务提供依据(比如流量计费、网络规划、攻击监测)。
通常,NDA具有图形化用户界面,使用户可以方便地获取、显示和分析收集到的数据。
NetStream工作机制
NetStream系统的整体功能的工作过程如下:
1、NDE把采集到的关于流的详细信息定期发送给NSC;
2、信息由NSC初步处理后发送给NDA;
3、NDA对数据进行分析,以用于计费、网络规划等应用。
通常情况下,数通产品在NetStream系统中担任NDE角色,所以本文档接下来的内容重点介绍NDE的实现。
图2-2NetStream功能原理图
如图2-2所示,配置了NetStream功能的交换机设备(即NDE)业务流量正常转发。
设备的NetStream模块按一定的采样方式进行NetStream采样,接下来对采样数据建立NetStream流,接着按一定的老化方式对流进行NetStream流老化处理,最后按一定的输出方式以及相应的版本进行NetStream流输出。
至此,就完成了NDE设备最主要功能:
把采集到的关于流的详细信息定期发送给NSC。
2.1.2NetStream采样
可以对接口出/入方向的流量进行NetStream采样后再分析。
通过设定适当的采样间隔,只针对样本报文进行流信息统计分析,收集到的统计信息也可以基本正确地反映整个网络流的状况,同时也能降低使能NetStream功能对设备性能的影响。
NetStream采样有四种方式:
●随机报文间隔采样:
在此模式下,报文在配置数目间隔内被随机采样。
即,如果报文间隔数配置为100,则
每100个报文随机采样1个报文。
适用于有规律的流量。
●固定报文间隔采样:
在此模式下,报文在配置数目间隔内被周期采样。
即,如果报文间隔配置数为100,假
设在第5个报文被采样后,则每隔100个报文都会再次采样,如第105个报文会再采集一次,以此类推采样下去。
适用于网络流量统计计费。
●随机时间间隔采样:
在此模式下,报文在配置时间间隔内被随机采样。
即,如果报文间隔时间配置为100,则每100毫秒随机采样1个报文。
适用于有规律的流量。
●固定时间间隔采样:
在此模式下,报文在配置时间间隔内被周期采样。
即,如果报文间隔时间配置为100,假设在第5毫秒进行第一次采样后,则每隔100毫秒都会再次采样,如第105毫秒时会再采集一次,以此类推采样下去。
适用于网络流量较大的情况。
2.1.3NetStream流
NetStream是一项基于“流”来提供报文统计的技术。
NetStream流就是NetStream支持IP报文(UDP、TCP、ICMP报文)的统计。
●对于IPv4报文,IPv4NetStream会根据IPv4报文的目的IP地址、源IP地址、目的端口号、源端口号、协议号、ToS(TypeofService,服务类型)、输入接口或输出接口来定义流,相同的七元组标识为同一条流。
对于IPv6报文,IPv6NetStream会根据IPv6报文的目的IP地址、源IP地址、目的端口号、源端口号、协议号、流量分类、流标签、输入接口或输出接口来定义流,相同的八元组标识为同一条流。
2.1.4NetStream流老化
NetStream流老化是设备向NSC输出流统计信息的前提。
设备启用NetStream功能后,流统计信息首先会被存储在设备的NetStream缓存区中。
当存储在设备上的
NetStream流信息老化后,设备会把缓存区中的流统计信息通过指定版本的
NetStream输出报文发送给NSC。
NetStream流老化的分类:
●按时老化
Ø活跃流的老化
从第一个报文开始,一条流在指定的时间内一直能被采集到。
流活跃时间超过设定的时长后,需要输出该流的统计信息,这种老化称为活跃流的老化。
该种老化方式主要用于持续时间较长的流量,定期输出统计信息。
Ø不活跃流的老化
从最后一个报文开始,一条流在指定的时间内没有被采集到(即在设定时长内统计到的报文数目没有增加),那么设备会向NetStream服务器输出该流的统计信息,这种老化称为不活跃的流老化。
通过这种老化,可以清除设备上
NetStream缓存区中的无用表项,充分利用统计表项资源。
该种老化方式主用于短时流量,流量停止则立即输出统计信息,节省内存空间。
●由TCP连接的FIN和RST报文触发老化
对于TCP连接,当有标志为FIN或RST的报文发送时,表示一次会话结束。
因此当一条已经存在的TCP协议NetStream流中流过一条标志为FIN或RST的报文时,可以立即把相应的NetStream流老化掉。
●统计字节超过限制时老化
NetStream缓存区中的流需要记录流过的报文字节数,当字节数量超过定义的变量上限时,该流就会溢出。
所以系统在检测到某条流的字节统计超过限制(硬件的字节计数器是64比特,最大计数值为4294967295,约为3.9G字节)时,为了避免计数错误,系统会立即自动把该流老化掉。
该老化方式设备上缺省开启,无需手动配置,也不能够去使能。
●强制老化
用户可以通过执行命令强制将NetStream缓存区中所有流老化。
该功能主要用于老化条件尚未满足,但又需要最新的统计信息。
或者NetStream业务发生异常,导致流缓存区中某些流始终不老化。
2.1.5NetStream流输出
NetStream流输出是指储存缓存区里面的流老化后把流统计信息输出到指定的NSC,以便进行后续更为详尽的分析。
NetStream流输出具有原始流、聚合流和灵活流的三种流输出方式,以及三种输出报文的版本格式,分别是V5、V8和V9。
2.1.5.1流输出方式
原始流输出方式
原始流输出是指所有流的统计信息都要被统计。
在流老化时间超时后,每条流的统计信息都要输出到NetStream服务器。
原始流的优点是:
NetStream服务器可以得到每条流的详细统计信息。
正因为这样,其缺点是:
增加了网络带宽和设备的CPU占有率,而且为了存储这些信息,需要占用大量的存储介质空间,增加了设备的开销。
在完成NetStream采样以及NetStream老化后,原始流输出的配置只需要配置
NetStream输出报文的属性(源地址和目的地址以及目的UDP端口号)即可。
聚合流输出方式
聚合流输出是指采用聚合流输出功能后,设备对与聚合关键项完全相同的流统计信息进行汇总,从而得到对应的聚合流统计信息,并且将该聚合统计信息发送到相应的接收聚合统计信息的NetStream服务器。
通过对原始流进行聚合后输出,可以明显减少网络带宽。
支持如表2-1所示的聚合方式。
例如:
现有四条TCP原始流,其目的地址相同、源地址不同,源端口、目的端口均相同,选择表2-1中的“protocol-port(协议-端口聚合)”方式,该聚合方式依据“协议号、源端口、目的端口”的聚合关键项进行聚合。
因为这四条TCP流的源端口、目的端口和协议号相同,所以在聚合流统计表项中只会记录一条聚合流统计信息。
设备只将聚合统计信息发送给相应的接收聚合统计信息的NetStream服务器。
表2-1聚合方式列表
聚合方式
聚合关键项
as(自治系统聚合)
源自治系统号、目的自治系统号、输入接口索引、输出接口索引
as-tos(自治系统-ToS聚合)
源自治系统号、目的自治系统号、输入接口索引、输出接口索引、ToS
protocol-port(协议-端口聚合)
协议号、源端口、目的端口
protocol-port-tos(协议-端口-ToS聚合)
协议号、源端口、目的端口、ToS、输入接口索引、输出接口索引
source-prefix(源前缀聚合)
源自治系统号、源掩码长度、源前缀、输入接口索引
source-prefix-tos(源前缀-ToS聚合)
源自治系统号、源掩码长度、源前缀、ToS、输入接口索引
destination-prefix(目的前缀聚合)
目的自治系统号、目的掩码长度、目的前缀、输出接口索引
destination-prefix-tos(目的前缀-ToS聚合)
目的自治系统号、目的掩码长度、目的前缀、ToS、输出接口索引
在完成NetStream采样以及NetStream老化后,聚合流输出的配置不仅需要配置
NetStream输出报文的属性,还需要配置聚合关键项,并在聚合视图下使能聚合功能。
灵活流输出方式
对于灵活流输出,与聚合流类似,其输出信息也是按某一类关键项进行聚合后才输出。
区别在于,灵活流是基于硬件实现,对于匹配关键项的流直接聚合,而聚合流输出是对原始流的一个聚合。
灵活流的建立条件是按照自定义的条件设置。
根据自身需要,用户可以对报文按照协议类型、DSCP优先级、源IP地址、目的IP地址、源端口号、目的端口号或流标签的七种关键项进行分类统计,从而将分类统计信息发送给NetStream服务器。
灵活流方式相比原始流方式可减少流量的占用。
可以为用户提供一种自由的NetStream流量统计方式。
在完成NetStream采样以及NetStream老化后,灵活流输出的配置不仅需要配置
NetStream输出报文的属性,还需要配置灵活流统计模板,并把模板绑定在接口上。
2.1.5.2输出报文的版本格式
NetStream输出的报文主要有V5、V8、V9三个版本,其他的版本处于实验阶段,没有商用。
所有版本的报文都是通过UDP协议传递统计信息。
●版本5:
根据七元组产生原始的数据流,但报文格式固定,不易扩展。
●版本8:
支持聚合输出格式,但报文格式固定,不易扩展。
●版本9:
基于模板方式,使统计信息的输出更为灵活,可以灵活输出各种组合格式的数据。
仅版本9支持对IPv6流量和BGP下一跳统计输出。
正因为版本9是基于模板方式,输出灵活,易扩展,支持IPv6和BGP下一跳统计输出,因此在配置NetStream输出报文时建议配置为版本9。
对于原始流与灵活流输出方式,可以使用如下命令配置NetStream输出报文的版本为版本9。
2.1.5.3流输出方式与报文版本格式对应关系
NetStream流输出是按一定的流输出方式与一定的报文版本格式组合而成,某种流输出方式均有其相对应的报文版本格式,具体的对应关系见表2-2。
表2-2流输出方式与报文版本格式对应关系表
流输出方式
报文版本格式
原始流输出方式
V5、V9
缺省情况下,IPv4输出版本号为V5,IPv6输出版本号为
V9。
聚合流输出方式
V8、V9
缺省情况下,IPV4聚合流输出版本为V8。
灵活流输出方式
V9
2.2sFlow原理描述
2.2.1sFlow系统组成
如图2-3所示,sFlow系统包含一个嵌入在设备中的sFlowAgent和远端的sFlowCollector。
其中,sFlowAgent通过sFlow采样获取本设备上的接口统计信息和数据信息,将信息封装成sFlow报文,当sFlow报文缓冲区满或是在sFlow报文缓存时间(缓存时间为1秒)超时后,sFlowAgent会将sFlow报文发送到指定的sFlowCollector。
sFlowCollector对sFlow报文进行分析,并显示分析结果。
图2-3sFlow系统示意图
sFlowCollector可以是PC或者服务器,负责接收sFlowAgent发送的sFlow报文,对硬件和操作系统没有特殊要求。
在sFlowCollector上需要安装针对sFlow报文进行分析的客户端软件。
sFlowTrend是一款免费的针对sFlow报文流量分析的客服端软件,可以登录sflow.org网站进行在线安装以及下载软件使用指南。
2.2.2sFlow报文
sFlow的报文格式如图2-3中sFlow报文所示,采用UDP封装,缺省目的端口号为知名端口6343。
sFlow报文共有4种报文头格式,分别为Flowsample、ExpandedFlowsample、Countersample、ExpandedCountersample。
其中ExpandedFlowsample和ExpandedCountersample是sFlowversion5新增内容,是Flowsample和Countersample的扩展,但不前向兼容。
所有的Extended的采样内容必须使用Expanded采样报文头封装。
2.2.3sFlow采样
sFlowAgent提供了两种采样方式供用户从不同的角度分析网络流量状况,分别为Flow
采样以及Counter采样。
Flow采样
Counter采样
Flow采样是sFlowAgent设备在指定端口上按照特定的采样方向和采样比对报文进行采样分析,用于获取报文数据内容的相关信息,Flow采样支持获取的采样信息如表2-4所示。
该采样方式主要是关注流量的细节,这样就可以监控和分析网络上的流行为。
Flow采样是针对接口上报文的采样方式,目前仅支持报文随机采样模式。
随机采样模式是指针对每一个接口处理的报文给一个随机值(假定随机数的取值范围为0~N),设置一个阈值n(n属于0~N,范围包含0和N),当报文的随机值小于这个阈值时,报文采样,这样实际的采样比为n/(N+1)。
表2-3Flow采样报文中主要字段信息说明
字段内容
说明
GenericInterfaceCounters
通用接口统计信息,包括接口的基本信息,通用的接口流量统计。
EthernetInterfaceCounters
针对于Ethernet接口,用于统计Ethernet相关的流量统计信息。
ProcessorInformation
用于统计设备CPU占用率,内存使用情况。
Counter采样是sFlowAgent设备周期性的获取接口上的流量统计信息,Counter采样支持获取的采样信息如表2-4所示。
与Flow采样相比,Counter采样只关注接口上流量的量,而不关注流量的详细信息。
表2-4Counter采样报文中主要字段信息说明
字段内容
说明
Rawpacket
截取原始报文全部或者一部分报文头(具体截取多长的长度由配置决定),将这部分原始报文封装到sFlow报文中发送给Collector。
EthernetFrameData
针对Ethernet报文,解析报文的Ethernet头信息,将解析数据封装到sFlow报文中发送给Collector。
IPv4Data
针对IPv4报文,解析报文的IPv4头信息,将解析数据封装到
sFlow报文中发送给Collector。
IPv6Data
针对IPv6报文,解析报文的IPv6头信息,将解析数据封装到
sFlow报文中发送给Collector。
ExtendedSwitchData
针对二层转发的Ethernet报文,记录报文的VLAN转换以及VLAN优先级的转换,将转发信息封装到sFlow报文中发送给Collector。
VLANID为0时表示无效VLAN。
Flow采样和Counter采样是两种相互独立的采样,两者互相没有影响。
但是由于采样的方式不一样,获取的信息维度也不一样,Flow方式更聚焦于具体的流的分析,可以搜集具体业务的相关数据。
而Counter方式更聚焦于接口的统计信息,对于整体的网络状态监控比较有意义。
在应用时可以根据需要进行配置,一般情况下建议都配置。
3典型组网应用
3.1NetStream的典型应用
如图3-1所示的组网中,SwitchA作为下游网络连接Internet网络的出口,设备上存在大量的通信报文,网管人员希望掌握各种业务占用出口带宽的情况。
因此,可以通过在作为网络出口的SwitchA上部署NetStream功能,对连接Internet网络的接口进行实时的流量监控。
另外网管人员还可以根据这些信息判断网络的运行情况,尽早发现不合理的网络结构或是网络中的性能瓶颈,方便规划和分配网络资源。
图3-1NetStream应用组网图
配置思路:
在SwitchA的GE1/0/1接口部署IPv4NetStream流统计信息输出功能,统计接口的出、入方向的流量信息,并上送至NetStream服务器进行后续分析,可以实现监控下游网络与Internet的通信情况。
3.2sFlow的典型应用
网络监管是网络维护人员常见的场景,其中流量监管是网络监管的一个基础技术。
如图3-2所示,企业两个网络Network1与Network2之间通过SwitchA互发流量。
网络维护人员需要监控接口的流量信息、转发情况以及设备的整体运行状况,及时发现异常流量,从而保证网络的正常稳定运行。
此时,只需要在SwitchA设备上部署sFowAgent功能,远端连接一个sFlowCollector,就可以对流量进行基于端口的搜集和详细的分析。
图3-2配置sFlow功能组网图
在SwitchA上运行sFlowAgent,通过在GE1/0/2上开启sFlow采样功能(包括Flow采样和Counter采样),sFlowAgent能够将采集到的流量统计信息通过sFlow报文从GE1/0/1发向sFlowCollector,然后sFlowCollector根据收到的sFlow报文中携带的流量信息,将网络流量状况显示出来。
从而实现对
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 智简园区 交换机 流量 采样 技术 白皮书