sFlow技术白皮书文档版本01发布日期2012-10-30华为技术有限公司文档版本()华为专有和保密信息版权所有©华为技术有限公司i版权所有©华为技术有限公司2012。保留一切权利。非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。商标声明和其他华为商标均为华为技术有限公司的商标。本文档提及的其他所有商标或注册商标,由各自的所有人拥有。注意您购买的产品、服务或特性等应受华为公司商业合同和条款的约束,本文档中描述的全部或部分产品、服务或特性可能不在您的购买或使用范围之内。除非合同另有约定,华为公司对本文档内容不做任何明示或默示的声明或保证。由于产品版本升级或其他原因,本文档内容会不定期进行更新。除非另有约定,本文档仅作为使用指导,本文档中的所有陈述、信息和建议不构成任何明示或暗示的担保。华为技术有限公司地址:深圳市龙岗区坂田华为总部办公楼邮编:518129网址:客户服务邮箱:support@huawei.com客户服务电话:40083021181sFlow文档版本()华为专有和保密信息版权所有©华为技术有限公司21sFlow关于本章1.1介绍1.2参考标准和协议1.3原理描述1.4应用1.5故障处理1.6术语与缩略语1.1介绍定义采样流sFlow(SampledFlow)是一种基于报文采样的网络流量监控技术,主要用于对网络流量进行统计分析。目的相对于电信级网络,企业级网络通常具有规模相对较小、组网灵活、易受攻击等特点,因此企业级网络更容易出现由组网或者攻击导致的流量业务异常。于是企业用户更需要一种以设备接口为基本采样单元的流量监控技术来实时监控流量状况,及时发现异常流量以及攻击流量的源头,从而保证企业网络的正常稳定运行。这样的背景下,sFlow应运而生。sFlow是基于端口的流量分析:按照一定的采样比从特定端口上采集报文,由Agent设备对报文进行分析(包括报文内容、报文转发规则信息等等),并将分析结果以及原始报文通告给Collector进行统一分析(Flow采样);并且支持周期性统计端口的流量计数以及设备CPU、内存等信息(Counter采样)。sFlow关注的是接口的流量情况、转发情况以及设备整体运行状况,因此适合于网络异常监控以及网络异常定位,通过Collector可以以报表的方式将情况反应出来,特别适1sFlow文档版本()华为专有和保密信息版权所有©华为技术有限公司3合于企业网用户。为企业用户(特别是未设置专职网络管理员的企业用户)的日常巡检维护提供了极大的方便。使用NetStream也可以对网络流量进行统计分析,而NetStream是一种基于网络流信息的统计技术,网络设备自身需要对网络流进行初步的统计分析,并把统计信息储存在缓存区,当缓存区满或者流统计信息老化后输出统计信息。与NetStream相比,sFlow不需要缓存区,网络设备仅进行报文的采样工作,网络流的统计分析工作由远端的采集器完成。因此sFlow与NetStream比较具有以下优势:节省资源、降低成本:由于不需要缓存区,对网络设备的资源占用少,实现成本低。采集器灵活、随需的部署:由于网络流的分析和统计工作由采集器完成,采集器可以灵活的配置网络流特征进行统计分析,实现灵活、随需的部署。1.2参考标准和协议本特性的参考资料清单如下:文档描述备注sFlowversion5InmonsFlowversion5-RFC3176InmonsFlowversion4-RFC1014XDR:ExternalDataRepresentationStandard-1.3原理描述sFlow系统组成如图1-1所示,sFlow系统包含一个嵌入在设备中的sFlowAgent和远端的sFlowCollector。其中,sFlowAgent通过sFlow采样获取本设备上的接口统计信息和数据信息,将信息封装成sFlow报文,当sFlow报文缓冲区满或是在sFlow报文缓存时间(缓存时间为1秒)超时后,sFlowAgent会将sFlow报文发送到指定的sFlowCollector。sFlowCollector对sFlow报文进行分析,并显示分析结果。1sFlow文档版本()华为专有和保密信息版权所有©华为技术有限公司4图1-1sFlow系统示意图sFlowAgentFlow采样Counter采样sFlowCollectorSwitchEthernet头IP头UDP头sFlowDatagramsFlow报文由于设备在sFlow功能中担任sFlowAgent的角色,所以本文档重点介绍sFlowAgent的实现以及配置。sFlowCollector可以是PC或者服务器,负责接收sFlowAgent发送的sFlow报文,对硬件和操作系统没有特殊要求。在sFlowCollector上需要安装针对sFlow报文进行分析的客户端软件。sFlowTrend是一款免费的针对sFlow报文流量分析的客服端软件,可以登录sflow.org网站进行在线安装以及下载软件使用指南。sFlow报文sFlow的报文格式如图1-1中sFlow报文所示,采用UDP封装,缺省目的端口号为知名端口6343。sFlow报文共有4种报文头格式,分别为Flowsample、ExpandedFlowsample、Countersample、ExpandedCountersample。其中ExpandedFlowsample和ExpandedCountersample是sFlowversion5新增内容,是Flowsample和Countersample的扩展,但不前向兼容。所有的Extended的采样内容必须使用Expanded采样报文头封装。sFlow采样sFlowAgent提供了两种采样方式供用户从不同的角度分析网络流量状况,分别为Flow采样以及Counter采样。Flow采样Flow采样是sFlowAgent设备在指定端口上按照特定的采样方向和采样比对报文进行采样分析,用于获取报文数据内容的相关信息,Flow采样支持获取的采样信息如表1-1所示。该采样方式主要是关注流量的细节,这样就可以监控和分析网络上的流行为。Flow采样是针对接口上报文的采样方式,目前仅支持报文随机采样模式。随机采样模式是指针对每一个接口处理的报文给一个随机值(假定随机数的取值范围为0~N),设置一个阈值n(n属于0~N,范围包含0和N),当报文的随机值小于这个阈值时,报文采样,这样实际的采样比为n/(N+1)。1sFlow文档版本()华为专有和保密信息版权所有©华为技术有限公司5表1-1Flow采样报文中主要字段信息说明字段内容说明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。ExtendedRouterData针对路由转发的报文,记录报文的路由转发信息,将转发信息封装到sFlow报文中发送给Collector。Counter采样Counter采样是sFlowAgent设备周期性的获取接口上的流量统计信息,Counter采样支持获取的采样信息如表1-2所示。与Flow采样相比,Counter采样只关注接口上流量的量,而不关注流量的详细信息。表1-2Counter采样报文中主要字段信息说明字段内容说明GenericInterfaceCounters通用接口统计信息,包括接口的基本信息,通用的接口流量统计。EthernetInterfaceCounters针对于Ethernet接口,用于统计Ethernet相关的流量统计信息。ProcessorInformation用于统计设备CPU占用率,内存使用情况。Flow采样和Counter采样是两种相互独立的采样,两者互相没有影响。但是由于采样的方式不一样,获取的信息维度也不一样,Flow方式更聚焦于具体的流的分析,可以搜集具体业务的相关数据。而Counter方式更聚焦于接口的统计信息,对于整体的网络状态监控比较有意义。在应用时可以根据需要进行配置,一般情况下建议都配置。1sFlow文档版本()华为专有和保密信息版权所有©华为技术有限公司61.4应用网络监管网络监管是网络维护人员常见的场景,其中流量监管是网络监管的一个基础技术。如图1-2所示,企业两个网络Network1与Network2之间通过SwitchA互发流量。网络维护人员需要监控接口的流量信息、转发情况以及设备的整体运行状况,及时发现异常流量,从而保证网络的正常稳定运行。此时,只需要在SwitchA设备上部署sFowAgent功能,远端连接一个sFlowCollector,就可以对流量进行基于端口的搜集和详细的分析。图1-2配置sFlow功能组网图sFlowCollector10.10.10.2/24SwitchANetwork2Network1GE1/0/1VLANIF1010.10.10.1/24GE1/0/2VLANIF2020.20.20.1/24GE1/0/3VLANIF3030.30.30.1/24配置思路:在SwitchA上运行sFlowAgent,通过在GE1/0/2上开启sFlow采样功能(包括Flow采样和Counter采样),sFlowAgent能够将采集到的流量统计信息通过sFlow报文从GE1/0/1发向sFlowCollector,然后sFlowCollector根据收到的sFlow报文中携带的流量信息,将网络流量状况显示出来。从而实现对GE1/0/2接口流量信息的监控。#SwitchA的配置文件:#sysnameSwitchA#vlanbatch102030#interfaceVlanif10ipaddress10.10.10.1255.255.255.0#interfaceVlanif20ipaddress20.20.20.1255.255.255.0#interfaceVlanif30ipaddress30.30.30.1255.255.255.0#interfaceGigabitEthernet1/0/11sFlow文档版本()华为专有和保密信息版权所有©华为技术有限公司7portlink-typeaccessportdefaultvlan10#interfaceGigabitEthernet1/0/2porthybridpvidvlan20porthybriduntaggedvlan20sflowcounter-samplingcollector1sflowflow-samplingcollector1#interfaceGigabitEthernet1/0/3porthybridpvidvlan30porthybriduntaggedvlan30#sflowcollector1ip10.10.10.2descriptionnetserver#sflowagentip10.10.10.1#return1.5故障处理1.5.1远端的sFlowCollector无法收到sFlow报文故障现象远端的sFlowCollector无法收到sFlow报文。操作步骤步骤1检查是否配置sFlowCollector的IP地址执行di