帮助中心 >  行业资讯 >  开发 >  流式遥测(StreamTelemetry)技术介绍

流式遥测(StreamTelemetry)技术介绍

2021-04-29 14:05:00 3526

一、 概述

基于传统的SNMP网络监控系统专为传统实现而设计,当今高密度平台的扩展性较差,而且可扩展性非常有限,而SNMP是基于查询的模式,网管系统通过定期发送snmp 查询消息,获取网络设备的接口统计、CPU使用率、内线占用率等等;由于是定时查询,一般情况下我们都是配置5分钟,即300秒;而在网络中会存在某一个时刻就会有突发数据,可是这突发流量仍然会造成网络接口丢包。但在基于SNMP查询时经常又感知不到突发的存在,所有从SNMP获取的数据看来流量是非常稳定的,但是客户抱怨网络很差。


1.jpg


综上所述,SNMP在现如今的网络环境下,的确遇到了瓶颈。尤其是网络规模日益扩大的今天,怎么办? 我们能不能换个角度,把传统的从监控系统到网络设备”拉“数据的方法,变为网络设备主动向监控系统”推“数据的方法?

二、 Streaming Telemetry技术

流式遥测是(StreamTelemetry)一种用于网络监控的新方法,它就是实现了上述“推”数据的方法,网络管理员可以通过订阅的方式将特定数据项(标准化)从网络设备发往数据收集器.

事实上Stream Telemetry并不是新发明,sFlow和NetFlow等早已实现了网络流量的采样和推送,下面介绍目前三种主流的流式遥测技术。

1.sFlow

行业标准sFlow是SNMP的流式遥测替代方案,在过去近20年中已经被供应商迅速采用。


2.jpg


sFlow是嵌入在交换机和路由器中的采样技术,数据包采样是基于硬件的,由交换ASIC执行,实现线速性能,它使sFlow成为一种可扩展的技术,能够以高达10 GBps的速度监控链路,。完整的一套sFlow系统由sflow Sample、sFlow Agent和sFlow Collector组成。


3.jpg


sFlow Agent是一个软件进程,作为设备中网络管理软件的一部分运行(参见图2)。 它将端口上的计数统计和采样得到的数据封装为sFlow数据报通过网络发送到sFlow收集器。 报文的采样通常由交换/路由ASIC执行,它能提供以线速的方式提供采样,以此同时它还可以记录相关联的转发/路由表条目的状态。 sFlow Agent执行的处理非常少。 它只是将数据打包到sFlow数据报中,这些数据报立即在网络上发送。 立即转发数据可最大限度地减少与sFlow Agent相关的内存和CPU要求。


4.jpg


图3显示了sFlow系统的基本元素。整个网络中的sFlow代理不断向中央sFlow收集器发送sFlow数据报流,在中央sFlow收集器中对它们进行分析,以生成丰富,实时,网络范围的流量视图。高速,路由和交换网络的sFlow监控具有以下特性:

(1)准确 因为采样非常简单,可以在硬件中执行,所以它以线速运行。此外,sFlow系统的设计使得可以确定任何测量的精度。其他交通流量测量技术在重负载下发生折叠,导致难以量化的错误。

(2)详细的完整数据包标头和交换/路由信息允许详细分析L2-L7流量。  

(3)可扩展 sFlow系统可以在其可监控的网络的大小和速度上进行扩展。 sFlow能够监控10Gbps,100Gbps及更高速率的网络。单个sFlow Collector可以监控数千个设备。

(4)低成本 sFlow Agent实现起来非常简单,并且可以为交换机或路由器增加可忽略的成本。

(5)及时 sFlow Collector始终在整个网络中拥有最新的流量视图。如果需要交通数据来提供实时控制,及时的信息尤为重要。例如,管理服务质量或抵御拒绝服务攻击。

目前基于sFlow已成为行业的基本标准,其由RFC3176制订规范,目前所有主流交换机厂商的设备基本上都支持sflow,由于sFlow是行业标准,故sFlow Collector和sFlow Analyzers可由专门的厂商提供;目前盛科的芯片已实现sFlow采样技术,芯片可基于Port/Vlan/Flow将报文采样送到CPU的sFlow Agent处理,然后组装报文送到sFlow Collector。

2.NetFlow/NetStream/IpFix等

前述的sFlow是一种纯数据包采样技术,即每一个被采样的X包的长度被记录下来,而大部分的包则被丢弃,只留下样本被传送给采集器,所以它不可能获得每台主机流量100%的准确值;而NetFlow(或NetStream、IpFix(NetFlow v9))不同,它用来跟踪每个开启NetFlow功能接口上的所有进入会话的技术。比如它根据7个关键标准分析数据包,如果两个包在所有7个判断标准上都匹配的话,就把它们归类为相同的流量或会话。一旦会话结束或被汇总,就被传送给采集器,所以如果NetFlow配置恰当并且硬件没有过载的话,这种技术可以以接近100%的准确性来描述谁经过设备进行通信。   


5.jpg


由于NetFlow产生的数据包数量会非常巨大,由于需要100%的会话流量进行处理同一会话做比较,记录和缓存,所以在采集器的负担非常的重,采集器可能会变得不堪重负,早期,无论NetFlow还是NetStream是一种软件技术,报文的采样、缓存和数据导出等都是在CPU中完成的,故只有在路由器设备才能看到有相应的应用。


6.jpg


近年来,由于交换技术的发展,特别是对网络监控越来越重视,交换芯片内部开始集成NetFlow的采集器,以盛科芯片为例,盛科的IpFix技术在交换机内部硬件完成Ipfix会话的学习、会话记录、会话更新、触发导出等功能,最大限度的降低CPU的负担。

3.openConfig

OpenConfig是近年来由Google提出(谷歌推动的Stratum项目),希望提供一个中立于设备厂商的标准 API等,有别于NetConfig是由网络设备厂商推动的,内耗太大,各个设备厂商都希望在软件定义网络的时代继续保持硬件设备的重要性,并且能够体现自己公司产品的差异化优势,所以一经推出得到了各互联网提供商的积极响应,目前AT&T,British Telecom,Facebook,Apple,Microsoft 等互联网服务提供商加入了 OpenConfig 工作组,目前国内的腾讯、百度和阿里等互联网服务提供商也已经加入了 OpenConfig 工作组,网络设备商Cisco、Juniper也在其设备中增加对OpenConfig的支持。


7.jpg


       OpenConfig也不是一个全新的技术,它 沿用了 Netconf 的协议框架,但是它不太关注底层的数据传输,而是更关注上层的数据表达和数据建模。这意味着:不管是 A 厂还是 B 厂,所有的数据都必须符合 OpenConfig YANG Model,并且 Key-Value 都必须是 OpenConfig 所规定的标准格式,基于YANG Model/gRPC的OpenConfig网络管理系统包括的网络配置管理和流式遥测(Streaming Telemetry),流式遥测(Streaming Telemetry)作为是网络监控是其重要的组成部分,Telemetry技术的采样数据源来自转发面、控制面和管理面的数据源,数据按照YANG模型描述的结构进行组织,利用GPB格式编码,并通过GRPC协议将数据上送至采集器和分析器进行分析处理。

     

8.jpg

     

    目前OpenConfig官方定义了大量标准YANG模型,用于统一设备管理,期望一统天下,解决不同设备厂商间兼容的问题。


9.jpg


 而其中定义的Openonfig-telemetry.yang 是描述网络设备telemetry的参数信息,包括:

(1)配置采样传感器组(sensor-group),包括传感器路径(sensor-path)和过滤条件,其sensor-path对应于需要采样的YANG Model所在的路径;

(2)配置上送目的组(estination-group)包括配置上送目标采集器的IP地址、端口号、上送目标传感器的协议和加密方式;

(3)配置订阅(subscription)参数包含配置关联采样任务组、采样周期,关联上送目标,触发采样、冗余抑制以及心跳间隔.


10.png


三、流式遥测优势

对比传统SNMP/CLI,Telemetry 具有以下优势:

1.Telemetry 采用推模式推送数据,降低设备压力

传统SNMP/CLI“一问一答”拉模式采集数据;

Telemetry 采用“一次网管订阅,多次响应“推模式采集数据,由于设备以周期性推送的方式向采集器主动推送数据,而不是被动的等待采集器定时查询,避免查询请求在网络传输中的延迟和大量查询请求对网络和设备带来的压力,提升监控性能

2.实现更实时更精确的监控,避免网络延时导致数据不准确;

在设备上线注册的时候,SNMP模式下,设备就只能等待网管系统的定期轮循扫描;而Telemetry模式下,设备启动后马上上报注册,让监控系统即刻发现自己,保证监控系统的及时性和不间断性;

在视频出现卡顿时,传统模式下可能需要查询T1时刻CPU信息以满足行为判断;但由于网络卡顿得到是是T1+3时刻的数据网络出现失真;而在Telemetry 由于提前订阅了CPU信息,网络延时不影响,数据不会出现失真;

虽然传统的监控模式也可以通过SNMP TRAP或SysLog等方式主控上报数据,但定时上报的时间一般为分钟级或秒级;而Telemetry可做到亚秒级或实时;

3.Telemetry可以订阅大量的监控节点,弥补传统网络监控方式的不同;

传统方式需要查询N台设备,做N次查询同时采集M种数据,则一台网管设备需要N*N*M次查询,并返回N*N*M次结果

而Telemetry 的设备都只需要提前订阅,各种设备实时上报,无需人工操作;

4.数据结构不同,传统的SNMP采用MIB定义结构;而Telemetry 采用YANG模型定义结构;

四、厂商支持情况

1.Cisco

Cisco Model-driven Telemetry (MDT)技术就是来实现基于YANG Model的Telemetry,目前Cisco支持以下的YANGmodels来配置支持MDT:nopenconfig-telemetry.yang提供OpenConfig的配置;nCisco-IOS-XR-telemetry-model-driven-cfg.yang通过NETCONF配置MDT相关的配置nCisco-IOS-XR-telemetry-model-driven-oper.yang读取关于MDT的信息.


11.jpg

 

2.SONIC

由微软主导的SONIC系统的Telemetry参考OpenConfig的架构定义,数据源主要为为两部分:以CPU子系统相关的监控数据由SONIC系统软件采集,消息封装和消息发布;以芯片相关的监控数据由SAI软件进行数据采集、消息封装和发布,但就目前进展来看,消息发布的格式并没有完全细化,还有待进一步的定义。


12.jpg


3. Stratum项目


13.jpg


由Google主导的Stratum项目完全抛弃了SNMP/CLI管理模式,采用全新的基于YangModel的OpenConfig模型,目前整个项目还处于开发阶段,只有项目组成员可以访问其代码。

五、 总结

无论是sFlow、NetFlow、NetStream或者是IPFix都是实现了主动向采集器上送设备数据信息,实现了推模式(Push Mode),但他们推送的都是最原始的数据采样信息,数据以IP报文格式呈现给分析工具,而非用户期望的规范化数据模型,所以预计未来不久,基于Yang的OpenConfig的数据模型将成为新一代数据中心网络运维管理系统的主流选择,无论是芯片厂商还是设备厂商,数据信息采集后导出的方式采用标准化和规范化数据模型(如YANG Mode)势在必行。



提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: