In‐band Network Telemetry

news/2025/1/10 19:32:08/文章来源:https://www.cnblogs.com/o-O-oO/p/18664583

#卫星 #遥测技术 #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 曾经工程师的笔记

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/867288.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

潮汐指纹识别工具 : 在线网站识别利器

最近发现了一个免费在线收集网站信息的工具,感觉挺好用的,给各位推荐下。潮汐在线指纹识别是山东新潮信息技术有限公司安全团队提供的一个免费开源在线网站信息收集工具。 功能亮点: 全面扫描 只需输入目标网站的URL或IP地址,即可获取该网站的标题、中间件、操作系统、域名…

JAVA-Day 11:数组的静态初始化和遍历

数组的静态初始化和遍历 数组静态初始化格式 数组的静态初始化与遍历 完整格式:数据类型 [] 数组名=new 数据类型[]{元素1,元素2,元素3,....} 简化格式:数据类型 [] 数组名={元素1,元素2,元素3,....} []在数组名前后都可以 代码如下: int number[]={1,2,3,4,5};for (int …

JAVA-Day 10:Do...While循环语句

Do...While循环语句 Do...While循环格式 初始化语句; do{ 循环体语句; 条件控制语句; }while(条件判断语句); 例: 使用do...while循环输出1-10的和(包括10) int i=1;int count=0;do{count+=i;i++;}while(i<=10);System.out.println(count);代码运行结果如下图所示:

配置tigerVNC,登陆远程服务器

1.在远程服务器安装、配置 (1) sudo apt update sudo apt install xfce4 xfce4-goodies (2) 安装TigerVNC sudo apt install tigervnc-standalone-server (3) 配置vnc vncpasswd (4) 配置.vnc: vim ~/.vnc/xstartup 添加:cat .vnc/xstartup#!/bin/sh # 启动 D-Bus 会话 (如果未…

CF1993F2 Dyn-scripted Robot (Hard Version)

Dyn-scripted Robot (Hard Version) 题目链接。 Problem Easy Version:\(K \le n\)。 Hard Version:\(K \le 10^{12}\)。 一个 \(Oxy\) 平面上有一个 \(w \times h\) 矩形,矩形的左下方有点 \((0, 0)\) ,右上方有点 \((w, h)\) 。 您还有一个最初位于点 \((0, 0)\) 的机器人…

OmniNxt 论文阅读

来源: https://arxiv.org/html/2403.20085?_immersive_translate_auto_translate=1 标题: OmniNxt: A Fully Open-source and Compact Aerial Robot with Omnidirectional Visual Perception OmniNxt 感觉是, 取自 Omnidirectional 中 全的意思, Nxt 像是 Next 的意思,表…

2024-12-1-#{}与¥{}的区别-response

{}与¥{}的区别response实现重定向response响应字符数据response响应字节数据以及导入工具类实现响应

手动部署前后端分离的项目到本地

1.准备工作 使用maven打包springboot项目为.jar文件得到springboot-0.0.1-SNAPSHOT.jar打包vue项目 npm install -g @vue/cli安装Vue CLI 在项目根目录下,运行npm run build命令来构建项目得到一个dist文件夹将打包好的文件通过远程仓库中转至docker虚拟机在虚拟机拉取镜像,并…

nvm 安装进行node多版本管理及环境变量配置

注意: 1、安装nvm之前需要卸载之前的nodejs,并且还要删除之前的环境变量配置,否则会出现一些奇怪的问题 2、nvm的安装路径不能有中文或者空格,否则后面在cmd中切换node版本会出现乱码 一、完全卸载旧的nodejs 参考文章《Node卸载超详细步骤》 1、打开系统的控制面板,点击卸…

M5Stack 发布全双工通信语音识别硬件;雷蛇发布 AI 游戏伴侣 Project AVA,实时指导复盘

开发者朋友们大家好:这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE(Real-Time Engagement) 领域内「有话题的 新闻 」、「有态度的 观点 」、「有意思的 数据 」、「有思考的 文章 」、「有看点的 会议 」,但内容仅代表编辑…

WPF 怎么利用behavior优雅的给一个Datagrid添加一个全选的功能

前言:我在迁移旧项目代码的时候发现别人写很多界面都涉及到一个DataGrid的全选,但是每个都写的很混乱,现在刚好空闲下来,写一个博客, 给部分可能不太会写这个的同学讲一下,怎么实现全选功能,并且可以在任何项目里面复用这个功能。 先准备一个Datagrid,我们给这个DataGr…

使用chai3d-GEL模块进行软体模型力反馈仿真的一点碎片化记录

在要模拟的网格模型中手动添加节点或者对于形状比较复杂的模型使用TetGen之类的网格划分程序自动添加节点和连接;然后设置合理的仿真参数(质量、刚度、重力、时间步长...) 骨架驱动:SkeletonModel 使用骨架结构来表示变形体。骨架由一系列节点(cGELSkeletonNode)和连接这…