#卫星
#遥测技术
#INT
一、INT是什么?
INT,In‐band Network Telemetry ,带内网络遥监测。telemetry,英文原意是遥测技术。从其英文名称可以了解如下:
a.In-band,说明监测指令及数据均在带内传输
b.telemetry ,说明是长距离,远程获取网络数据的方法。
想象一下卫星在天上飞,地面遥测监控的场景,卫星的各项数据根据地面指令从外太空发回地面。
INT是用于收集和报告网络状态的技术框架,它是由数据转发平面收集,无需控制平面主动介入。在INT定义的框架里,报文可以携带INT指令,这些指令可以被中间转发设备所解释并且填写期望的数据,然后继续往下转发,直到目的。
举个例子,一个INT源(比如应用、主机、容器、网卡、设备等)可以在一个正常业务报文或者探测报文中,嵌入INT指令,比如需要收集转发设备的ingress port id,中间转发设备会解读这些指令并且根据这些指令填写相关ingress port id,如此这样转发下去,一直到某个INT汇集点(INT Sink,sink英文本意是水槽的意思,流动的水经过水槽,脏东西留下,水继续流走,很形象啊),它从报文中移除相关INT指令和相关数据并且进行后续上报或者处理。
在IP网络中,因为TCP/IP架构的历史演进原因,网络对应用的反馈很差,主要体现应用将报文扔给网络后,就一无所知,只能等着超时或者对端反馈收到了,很被动。是不是有种无法跟踪快递的感觉类似。
二、INT的用处
故障处理
精准路径跟踪,即hop by hop跟踪实际转发路径、接口。在网络中因为多路径、负载均衡的存在,跟踪实际转发路径和端口是非常困难的。传统traceroute使用限制很多,而且只能跟踪三层路由,对于二层转发无能为力,而且traceroute过于依赖icmp机制,局限很多。
突发监测
突发对网络业务质量影响巨大,大多数做网络的人,一般不太注意突发,只关注应用速率和接口带宽,但是在面对一些业务感知不好的故障时候,因为对突发原理和设备转发机制的理解不够,很难联想到突发造成的业务质量下滑(这个以后有机会,我会结合我这么多年实际现网 经验,share一些case来说明)。有了INT机制,可以实时监测业务转发环节中接口的队列情况,对一些突发可以做到一定程度的发现。
当然现在业内也有一些厂商有智能光模块或者DPI设备来监测突发,DPI的精度比较差,智能光模块的效果更好,据我所知,在移动某些省的基站已经有了部署应用。
拥塞控制
比如RCP(Rate-based Congestion Control), XCP(explict congestion control ), TIMELY(RTT-Based Congestion Control)
用户面转发校验
基于时延、利用率的灵活路由
三、INT的使用
Int既然是in band,那么其header可以attach到任何协议封装上。比如udp\tcp\vxlan\Geneve 等。
下图是INT一个收集转发路径节点及每个节点转发延时的例子。
具体过程如下:
主机H1发出报文packet 给H2SW1在packet 插入INT header,header source是自己,sink 是SW3SW1插入的指令为收集SW ID和转发时延SW1插入自己的ID和从ingress到exgress的转发时延中间交换机SW2、SW3类似追加SW3是INT sink,负责将INT收集信息汇总发给report server。
四、INT可收集信息
● 设备id
● 设备状态及版本
● 入、出端口 id
● 入、出时间戳
● 入、出端口收包统计
● 入、出端口收字节统计
● 入、出端口丢包统计 Ingress port RX drop count
● 入、出端口利用率Ingress port RX utilization
● 队列ID
● 队列实时长度
● 队列平均 长度
● 队列利用率
● 队列丢包
……..
五、与TWAWP区别
TWAWP(RFC5357)也是一个网络性能测试协议(以后有机会单独拉出来讲),目前主流路由器基本都支持,Juniper、Nokia 、华为(但是华为不跟第三方设备互通)支持,特别是在移动通信设备中支持广泛,比如E///、Nokia 4G全线支持。
INT跟TWAMP对比,优势还是很明显的:
-
INT属于染色方案(华为叫法,很贴切),其将指定和收集信息挂载在真实业务报文之上,收集的信息路径就是真实报文转发路径,获取的信息也是真实的业务转发路径信息,而这一点恰恰是twamp无法做法,因为其属于带外主动式测试。同样,ping工具也属于带外主动式,测试的路径和报文构造跟真实业务完全不同。
-
INT受更多设备厂商支持,可以收集更多转发路径消息,特别是转发中间设备支持。而TWAMP只能在源和目的设备之间运行,中间设备是不会增加信息的。Ping工具也类似。
ps:说点题外,某字母+数字的厂商有个Telemetry Streaming (TS)技术,好像跟INT 有点类似,具体能做如下:
设备监控
:有了TS可以替代SNMP监控方式。TS可以监控磁盘使用率、磁盘IO、接口状态和流量、内存、cpu、连接数等信息 。
资产梳理
:获取设备的基本信息。例如版本、许可、接口信息等。可以进行资产的管理和统计,包含许可到期提醒等。
集群信息维护
:可以清楚知道目前哪个设备是处于Active,配置是否有同步。防止主设备出现问题的时候备用设备配置不一致。
生命周期管理
:设备license、https证书管理,可以在过期前进行预警。
应用梳理
:通过流量和连接数可以筛选无效配置。通过irules规则命中统计,可以筛选高频使用的irule结合基础监控优化irules规则
首先可以确定,这个TS技术并不是所谓的In-band telemetry,更接近升级版的SNMP,当然相对于SNMP还是提升很多,最主要的变化是从pull 改为post。
TS技术还是定位网元监测,加强版SNMP,基本属于厂商自定义,无RFC和ITU 标准,而INT定位dataplane的性能跟踪,属于RFC级别的规范。
原创 kavi zhang 曾经工程师的笔记