什么是sFlow
sFlow是一种基于报文采样的网络流量监控技术,可以用于网络流量的统计分析。其提供基于接口的流量分析,可以实时监控流量状况,及时发现异常流量和流量源头,从而保证网络的正常运行,为此,我们可以通过在建立sFLow流量监控的基础上制定对应突发事件的处理方案。
sFlow和NetStream
NetStream也可以对网络流量进行统计分析,但NetStream是一种基于网络流信息的统计技术。使用NetStream的网络设备自身需要对网络流进行初步的汇总并储存在缓存区。触发机制是缓存区满或者流统计信息老化后再输出统计信息。而sFlow不需要缓存区,网络设备仅进行报文的采样工作,网络流的统计分析工作由远端的sFlow采集器完成。
因此sFlow与NetStream相比具有以下优势:
- 节省资源、降低成本:由于不需要建立流表,对网络设备的资源占用少,实现成本低。
-
采集器灵活、随需的部署:由于网络流的分析和统计工作由采集器完成,采集器可以灵活的配置网络流特征进行统计分析,实现灵活、随需的部署。
工作原理
sFlow系统包含一个嵌入在设备中的sFlow Agent和远端的sFlow Collector。其中,sFlow Agent通过sFlow采样获取接口统计信息和数据信息,将信息封装成sFlow报文,当sFlow报文缓冲区满或是在sFlow报文缓存时间(缓存时间为1秒)超时后,sFlow Agent会将sFlow报文发送到指定的sFlow Collector。sFlow Collector对sFlow报文进行分析,并显示分析结果。
sFlow报文
报文采用UDP封装,缺省目的端口号为知名端口6343。
sFlow采样
sFlow Agent提供了两种采样方式供用户从不同的角度分析网络流量状况,分别为Flow采样以及Counter采样。
Flow采样
Flow采样是sFlow Agent设备在指定接口上按照特定的采样方向和采样比对报文进行采样分析,用于获取报文数据内容的相关信息。该采样方式主要是关注流量的细节,这样就可以监控和分析网络上的流行为
Counter采样
Counter采样是sFlow Agent设备周期性的获取接口上的流量统计信息,Counter采样支持获取的采样信息如下表所示。与Flow采样相比,Counter采样只关注接口上流量的数量,而不关注流量的详细信息。