随着数据中心架构的发展和Vxlan、RDMA等新技术的应用,传统的SNMP等运维手段已经无法满足当前IDC运维需求。更大规模、更复杂的云数据中心和高性能计算集群都对运维提出了更高的要求,如何找到更加精细化、智能化的运维手段,实现对网络更高效、及时地监控和运维,成为数据中心网络运维面临的一大挑战。
在前几期的《技术干货》中,我们介绍了基于交换机硬件芯片的INT(In-band Network Telemetry,带内网络遥测技术)技术实现运维可视化的方案,本文将在前文基础上详细介绍INT技术具体如何实现运维可视化。
INT技术背景及可视化方案
Telemetry是一项远程的从物理设备或虚拟设备上高速采集数据的技术。设备通过推模式(Push Mode)主动向采集器推送设备数据信息,提供更实时更高效的数据采集能力。
Telemetry模型
Telemetry技术采取推送方式,由设备主动向后台监控服务器推送自身信息,从而避免了查询模式下查询请求造成的在网络中的额外延时,以及大量查询请求给网络和设备带来的压力。与传统的SNMP、CLI、SYSLOG等方式相比,Telemetry可以实现亚秒级监控精度。理论上,通过Telemetry技术可以获取设备所有信息。
INT技术是由Barefoot、Arista、Dell、Intel和VMware在Telemetry的基础上共同提出的一种新的Telemetry模型。INT技术是通过在数据层面收集和报告网络的状态来实现对网络状态的监控,这个过程不需要控制层面的参与。
INT架构模型中的术语:
INT header:任何包含INT信息的packet header;
INT Source:在报文中嵌入INT header的设备;
INT Instruction:收集数据信息的定义;
INT Metadata:监控对象信息,即在每台设备上收集的数据信息;
INT Transit Hop:加入本设备节点INT Metadata信息的设备;
INT Sink:拆除INT header报文头,并收集上送INT Metadata信息的设备。
基于INT实现运维可视化的具体流程:
- 业务报文进入***台交换机(INT Source),通过交换机上设置的采样方式采样并镜像出该业务流报文,INT Source在报文中封装一个INT header,同时定义INT Instruction,并在INT header后添加INT Metadata,将需要收集的交换机信息填入INT Metadata 中。
- 报文转发至下一台路径上的交换机(INT Transit Hop),INT Transit Hop根据上一台设备的INT Metadata内容继续添加本机的INT Metadata 信息。
- 经过所有INT Transit Hop,报文转发至***一台交换机(INT Sink),INT Sink将INT Header拆除,并将其中的路径信息通过gRPC报文发送给后端的监控服务器进行解析和呈现。
可视化网络
通过上图我们可以清楚地了解到INT的具体流程,简单地说INT就是在报文转发路径上的每台设备上收集Metadata数据,通过对Metadata数据的分析来准确监控网络状态。那么Metadata中有哪些数据可以提供给我们来监控网络呢?
INT Metadata报文信息详解
INT Metadata报文格式:
从上图中可以看到INT Metadata报文包含8个字节的报文头和多个Metadata数据,每个Metadata数据,即每一跳设备收集的数据信息。
INT Metadata报文头中包含几个关键的字段:
Ver(2bit):版本号;
Flags(9bit):包括复制允许、超过***跳数置位等以及5bit的Reserved预留;
Instruction Count(5bit):Metadata中收集数据项的数量;
Max Hop Count(8bit):***跳数,即报文中可封装的Metadata数据的***数量;
Total Hop Count(8bit):当前总跳数,即当前报文中封装的Metadata数据的数量;
Instruction Bitmap(8bit):Metadata数据的具体内容。
Instruction Bitmap 字段8个bit分别对应8个数据选项,每个bit的置位代表该项数据需要收集到Metadata中。
- bit0:交换机ID
- bit1:入端口号
- bit2:转发时间
- bit3:队列占用
- bit4:入时间戳
- bit5:出端口号
- bit6:队列拥塞状态
- bit7:出端口链路利用率
举个例子,上图是一个INT Metadata报文头,我们看下其中的具体信息:
Instruction Count字段数值为2,表示Metadata中共收集两项数据;
Max Hop Count字段数值为16,表示***支持16跳,可封装16个Metadata数据;
Total Hop Count字段数值为3,表示当前为第3跳,报文已封装了3个Metadata数据;Instruction Bitmap字段,2个bit置位,表示Metadata数据中包含两个数据项,交换机ID(bit0)和队列占用(bit3);
Metadata数据部分即为每一跳交换机封装的交换机ID以及队列占用信息。
总结一下,INT技术可以基于交换机芯片提供的可视化能力,通过收集分析数据报文在交换机网络中转发的详细信息,实现流量转发的路径可视化和延时可视化,为实现数据中心网络运维可视化提供了新的解决方案。锐捷网络新一代25G/100G数据中心网络解决方案已全面支持INT功能,欢迎留言交流。
感谢您关注锐捷网络技术干货文章!现诚邀您参与有奖调研,您宝贵的意见和建议将帮助我们在技术探索与分享上持续精进。
点击下方链接或扫描二维码参与调研。戳👇
http://survey.ruijie.com.cn/m/25081797.aspx