网络数据采集技术snmp/netflow/sflow/network telemetry简介

snmp

介绍

SNMP(Simple Network Management Protocol : 简单网络管理协议)是一种简单网络管理协议,它属于TCP/IP五层协议中的应用层协议,使用udp传输(默认端口是UDP161,也会用到162端口接收trap数据),用于网络管理的协议。

SNMP用于收集和组织有关IP网络上被管理设备的信息,同时支持修改该信息以更改设备行为,此外,SNMP可监控路由器和交换机端口的带宽利用,以及CPU负荷和内存利用等设备读数。
因此:SNMP可通过“利用网络管理网络”的方式,实现对网络设备的批量管理,从而提高设备管理效率。

关键词:批量管理网络设备,网络设备的资源(cpu、内存、通过的字节数/包数)使用获取。

原理

SNMP协议主要由两大部分构成
SNMP管理站是一个中心节点,负责收集维护各个SNMP元素的信息,并对这些信息进行处理,最后反馈给网络管理员
SNMP代理agent运行在各个被管理的网络节点之上,负责统计该节点的各项信息,并且负责与SNMP管理站交互,接收并执行管理站的命令,上传各种本地的网络信息。
在这里插入图片描述
在这里插入图片描述

1> snmp使用UDP协议进行通讯,默认端口是UDP161(也会用到162端口接收trap数据);
关键词:snmp: udp 161端口;
2> SNMP管理站通过向SNMP代理发送请求命令(GetRequest,GetNextRequest, GetBulkRequest或InformRequest),当SNMP代理收到命令后返回响应(Response);
关键词:请求–响应模式;中心节点<----->agent
3> SNMP管理站向SNMP代理发送SetRequest,代理设备执行设置操作;
关键词:中心节点—>agent 发送设置命令,agent执行。
4> SNMP代理发生特定重要状况改变时主动向SNMP管理站发送Trap消息。
关键词:特定情况,agent发送trap消息主动上报

snmp的优缺点

SNMP可以采集到网络设备CPU、内存、日志等信息,但缺点是无法采集到网络数据流量,无法判断链路拥塞情况。

关键词:有cpu、内存、日志等;无网络数据流;

NetFlow、sFlow

sflow

sFlow(sampled flow:采样流)是一种用于监控交换机或路由器流量转发状况的技术,采用内置在硬件中的专用芯片,旨在消除路由器或交换机的CPU和内存负担。
关键词:内嵌在交换机/路由器的芯片中(硬件采样),减少cpu负担;

  • 组成 & 原理
    一个sFlow系统主要由若干内嵌于交换机或路由器等转发设备(即sFlow Agent,sFlow代理)和一个核心sFlow Collector(即sFlow采集器)组成。
    在这里插入图片描述
    分布在网络不通位置的sFlow代理把sFlow数据报源源不断地传送给中央sFlow采集器,然后采集器会对sFlow数据报进行分析并生成丰富、实时、全网范围的传输流视图或表报,帮助网络管理员更加有效地管理整个站点的网络流量。
    sFlow收集器将得到的信息按接收方地址类型、协议类型等进行分类处理,能够统计不同类型的通信信息。
    在这里插入图片描述

关键词:sflow agent、sflow collector

netflow

NetFlow是一种基于软件的技术,主要用来将网络流量记录到设备的高速缓存中,从而提供精准的流量测试。

  • 组成 & 原理
    该技术对通过LAN设备的分组进行识别,将与“发送源IP地址”“发送目的地IP地址”“发送源端口”“发送目的地端口”“IP协议号”“输入接口”“IP的ToS值”这7个参数相一致的单向传送的分组集合定义为“数据流”,并对该数据进行统计。随后,将统计结果发送到名为NetFlow收集器的监控装置中,就能够以地址或协议为单位进行信息的二次统计。
    在这里插入图片描述
    NetFlow利用标准的交换模式处理数据流的第一个IP包数据,然后生成NetFlow缓存,随后同样的数据基于缓存信息在同一个数据流中进行传输,不再匹配相关的访问控制等策略,NetFlow缓存同时包含了随后数据流的统计信息。
    由于NetFlow是用来跟踪每个开启NetFlow功能接口上的所有进入会话的技术,因此它可以接近100%的准确性来描述谁经过设备进行了通信。

netflow 和 sflow对比

1》相同点:
sFlow和NetFlow都是通过对交换机的端口或路由器的接口之间的流量进行采样来提供有关网络活动的数据的技术。
关键词:采样。

2》不同点:
netFlow技术只针对IP流量;
sFlow技术可采样所有内容并访问来自OSI第二层到第七层的流量。
在这里插入图片描述

netflow 和 snmp的区别

相对于SNMP而言,NetFlow是一种更紧凑的协议,它可以更好地扩展性能采集和网络流量管理。NetFlow与SNMP两者之间的区别有:

1》实时性:
SNMP可对网络实行实时(每秒)监控,而NetFlow虽然可为每个流提供开始时间和结束时间,但它不如SNMP实时。
2》粒度差异:
NetFlow会告诉您谁在消耗带宽以及消耗带宽的原因,相比SNMP更加细致,因此NetFlow会消耗更多的磁盘空间来存储历史信息。
3》cpu/内存/日志等信息:
SNMP能用于收集CPU和内存使用信息,但NetFlow不能。

总结:

sFlow、NetFlow、SNMP之间最大的区别在于:

  • SNMP用于标准的网络监控
  • sFlow和NetFlow用于网络流量收集、监控和分析。
  • sFlow与NetFlow相比,sFlow更合适在多协议网络中使用。
  • NetFlow更合适需要提高准确性和可扩展性且基于IP流量的情况下使用。

Network telemetry

背景/需求

针对网络丢包引起的业务故障,需要网络监控系统快速定位网络中哪台交换机的哪个端口因缓存不足导致了丢包。同时,重要业务端到端时延超出预期时,也需要定位流量转发路径上每个节点的转发时延。
总结起来,需要网络监控系统实现如下能力:

  • 快速定位哪台交换机的哪个端口发生丢包
  • 实时监控每台交换机的Buffer使用情况
  • 端到端时延可以定位到具体设备和链路。

关键词:查看一条流在整个路径上的延迟、设备情况。

telemetry 对比 snmp、netflow/sflow

和 snmp对比

凭借传统的网络监控手段无法解决“看不见”的问题,如时延、转发路径、缓存和丢包;由外部应用发起的请求获取网络状态信息的SNMP协议,就无法实时反映网络的状态。
为了解决此类难题,业界广泛引入Network Telemetry(网络遥测)这一理念,相比于SNMP,Telemetry实现了网络设备主动推送状态信息的能力,具有更强的时效性。

在这里插入图片描述
传统监管方式,例如SNMP/CLI,使用了“网管查询到设备响应”的拉模式(请求-响应)(PULL Mode)采集数据。一次查询都有一次响应,设备需要处理大量重复的查询。Telemetry采用了“网管定制-设备实时推送”的**推模式(主动上报)**采集数据。一次定制就可以对应多次响应,降低了设备处理查询报文的压力。

在这里插入图片描述
在这里插入图片描述
Telemetry的工作模式是推模式,可以主动推送数据,精度是亚秒级。而且比较关键的一点是,Telemetry的数据结构采用采用标准结构和标准编码。方便对接第三方的设备,有助于网络监控的效率的提升和监控质量的提升。

和 netflow/sflow对比

NetFlow、sFlow等,可以实现网络数据流量的采样和推送,但推送的是原始数据,需要进行二次数据加工分析;而且是按照一定比例采集的,不能反映整个网络链路的流量全貌,所以不能预测流量和拥塞;同时,网络设备的 CPU、内存、网络拥塞信息、网络事件日志信息等没有实时传递出来,无法判断是什么原因导致的拥塞。。

有人说如果将NetFlow和SNMP同时都部署到网络中,这样不就OK了?但是这些技术都要靠网络设备CPU进行处理,无疑增加了网络设备的负担,给网络稳定运行带来了不稳定因素

关键词:原始数据,需二次加工;比例采样;无cpu、内存、日志等信息;SNMP/netflow依靠CPU.

out-band network telemetry

简介

带外网络遥测(Out-band Network Telemetry,ONT,简称带外遥测),可以有效改进采集不全和CPU负担等问题,带外遥测是通过监控设备单独发送探测报文,从而收集链路状态信息,类似在网络中部署一套长PING设备,通过PING网络中不同设备和主机,从而判断网络链路是否可达。相当于派出一辆辆连接检测的小车,看站点是否可达
但它并不是最完美的方案,因为探测报文并不能覆盖所有转发路径和表项,有的网络链路故障仅仅是一条转发表项出问题,而探测报文只能走一条转发表项,大概率发现不了网络故障;另外探测报文虽少,但仍会占用少量带宽,造成网络带宽的一些浪费。

怎么区分带外和带内

对于网络监控,有两种方案:带外(out-band)和内联(带内: in-band)。该定义通常指的是从监控工具的角度来看设备的位置。
基本上,监控工具是否在网络数据的关键路径上?如果工具不在主数据路径中,而只是使用数据包的副本,则称为带外(比如:旁路方式应该是带外)。如果它实际上是在处理原始数据,那么它就被称为内联

关键词:带外还是带内:看是否处理的原始转发数据。

带外或内联监控方案的类型会影响监控设备的放置,使用的设备类型,以及作为可见性体系架构的一部分可以执行的监视活动。
例如:
防火墙通常位于公司通往外部世界的主要网络接口处。因此它们是内联放置。
入侵监测系统(IDS)/抗DDOS设备,通常不会内联放置,它被安装为带外方案的一部分,因为虽然它用于对入侵数据进行采样,但并不打算检查通过网络的每个数据包。

关键词:防火墙:带内;抗DDOS设备:带外;

in-band network telemetry

INT(In-band Network Telemetry)也是一种新型Telemetry协议,INT的出现解决了转发路径和转发时延不可见的问题。
在这里插入图片描述

  • 首节点:匹配、采样、镜像;插入(INT头、metadata)
    报文达到首节点,通过在交换机上设置的采样方式匹配并镜像出该报文,并在四层头部后插入INT(inband telemetry)头,将报文入端口Port ID、出端口 Port ID、入端口时间、出端口时间、以及设备的DEVICE ID封装成MetaData,将MD(meta data)插入到INT头部之后
  • 中间节点:匹配INT头、插入(metadata)
    报文转发到中间节点,设备匹配到INT头部后,在INT头部后再插入一层MD(meta data)
  • 最后一跳:匹配INT头,插入(metadata),封装
    报文转发到最后一跳,设备匹配INT头部后,再插入一层MD,并在报文外部封装一个IP头(ERSPAN),外层IP为监控服务器地址,这样INT报文便转发到监控服务器。

关键词:首节点:匹配、采样、镜像,插入INT头/MD; 中间节点:匹配INT头,插入MD; 最后节点:匹配INT头,插入MD;ERSPAN封装。

Telemetry涉及的技术

Telemetry方案网络技术一般主要涉及INT、gRPC、ERSPAN以及NetConf等。

  • ERSPAN(encap remote switch port anylize network):
    主要负责从物理网络的指定端口捕获指定的数据报文(包头或者全包),并通过GRE(或者其他合适封装)走带内转发到指定的Target IP(Host);
  • NetConf (net conf: 网络配置)
    主要负责控制器配置下发。
  • INT(inband telemetry: 带内遥测)
    传统探测网络时延和路径主要是Ping和Tracert,但是数据中心网络对于时延的要求越来越高,Ping和Tracert并不能精准的定位出到底是那台设备的那个端口的转发时延最高,因而不能对网络做出针对性的优化,INT技术正是为了满足这一需求诞生的。
  • GRPC
    gRPC基于HTTP/2标准设计,带来诸如双向流、流控、头部压缩、单TCP连接上的多复用请求等特性。
    在这里插入图片描述
    gRPC可以实现周期性推送网络设备的各种运行状态给监控服务器,gRPC具有响应速度快,实时性高,采集数据全面的优点,很好解决了实时数据无法有效传给监控服务器的问题。
    当然,INT的数据也可以通过gRPC发送给监控服务器,INT+gRPC奠定了数据中心网络可化实现的技术基础。

telemetry原理

gRPC(Google Remote Procedure Calls ,谷歌远程过程调用)是Google公司开源的一个高性能、跨语言的RPC框架,使用HTTP/2协议并使用Proto Buffer作为序列化和反序列化的工具。通过在交换机中集成gRPC应用,定义灵活的数据格式以及数据推送的阈值来实现交换机自身状态的主动推送能力,可以实现周期性推送交换机Buffer Usage、CPU、Memory等信息给监控服务器。当发生Buffer不足导致丢包,也会实时通知给监控服务器,实现网络运行数据的可视化。
在这里插入图片描述
作为网络设备,Telemetry相当于原始数据模型,编码类型和传输协议的组合。对于网管系统,Telemetry就相当于收集系统存储系统和应用分析系统的组合。在网络设备测,Telemetry按照样yang模型组织数据,用GPB(goole protocol buffer)格式编码,并通过加RPC协议传输数据,使得数据的获取更高效,智能对接更便捷。而在网管系统测,Telemetry可以完成数据的收集存储和分析功能,利用分析结果可以为网络配置调整提供依据。

在这里插入图片描述
上图展示了其中一种gRPC的交互机制:

  • 在交换机开启gRPC功能后充当gRPC 客户端角色,监控服务器充当gRPC服务器角色
  • 交换机主动向监控服务器发起gRPC通道建连
  • 交换机主动上报Buffer Usage、CPU、内存等信息给监控服务器,当Buffer发生丢包,交换机会也会实时上报丢包事件给监控服务器。

INT(inband telemetry)的优势

透过INT技术,可以获知报文实际转发路径上的每台网络设备IP、出入端口信息、队列ID、CNG拥塞通知标记、出入时间戳以及转发时延等,并且在路径探测的最后一跳上,对监测的数据进行UDP头和IP头封装,统一发送给采集器。同时因为INT技术采用的是推模式,因而支持一次配置下发,网元持续上报数据。
INT技术的优势有

  • 支持推模式,支持配置订阅和配置下发,持续数据上报;
  • 支持配置原始报文的采用率,这样可以有效节省网络资源和数据资源;
  • 支持在路径探测的最后一跳,直接封装报文并发送给采集器,无需中间节点单独重复上送数据,节省网络资源;
  • 支持收集探测路径上每台设备的设备信息、接口信息、队列信息、时间戳信息和转发路径信息等,包括采集Underlay网络和Overlay网络路径信息;

INT小结

基于INT和gRPC的Network Telemetry技术可以实现业务端到端的网络流量可视化,打破“网络黑盒”,为精细化网络运维提供整体的解决方案和必要的技术支撑。

参考

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值