10

网络遥测知多少之INT篇

 3 years ago
source link: https://www.sdnlab.com/24184.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

作者简介:高小添,盛科网络资深SDN网络工程师,邮箱:[email protected]

一、遥测技术的诞生

当前网络规模发展迅速、业务种类越来越多,流量带宽逐年增大,网络管理的方式也层出不穷,但总体趋势都是向远程化、精细化、实时化发展,因此对于网络监控测量技术的需求也越来越强烈。

为了实现远程精细化的管理,和能够及时准确的定位出网络问题并及时解决掉问题,通常会期望检测技术应当拥有监测设备状态、主动进行网络失效检测、故障定位手段、故障恢复等功能。

网络测量技术实际上已经诞生已久,存在很多分类及功能,如按照测量方式的不同,可以分为主动测量、被动测量和混合测量,例如:

主动测量

通过向网络中主动发送探测信息,根据探测信息受网络状态的变化来分析网络行为,优点使用灵活,缺点会占用额外带宽。常见主动测量技术如:

PING (Packet Internet Groper):因特网包探索器,用于测试网络连接量的程序。

MPLS-LM/DM(LM:Loss Measurement/ DM:Delay Measurement):LM通过协议报文交互统计收发业务帧数量,判断是否丢包,是一种主动性能监视OAM功能;DM通过在诊断时间间隔内由源MEP和目的MEP间周期性地传送DM帧来测量帧时延和帧时延抖动。

被动测量

通过捕获流经测量点的流量来测量网络状态、流量特征和性能参数,优点不会占用额外带宽,缺点缺少网络状态、丢包率等全局状态信息的收集分析。

sflow:sFlow(Sampled Flow,采样流, RFC3176)是一种基于报文采样的网络流量监控技术,主要用于对网络流量进行统计分析。

ipfix:ipfix即为按照配置需求对不同的流的情况(流量速率等)进行实时统计并进行上报,需要配合相应的数据收集和分析功能的设备。

混合测量

综合以上两种测量方案,对网络进行主动被动协同测量,其中典型包括带内测量,即通过路径中间交换节点对数据包依次插入元数据(Measure metadata)的方式完成网络状态采集。本文中所述INT即为此类测量方案。

IOAM:IETF IPPM工作组和OPSA工作组主导的带内OAM(In-situ Operation Administration and Maintenance,IOAM),与INT原理类似,存在一些细节定义差异。

IFA:IFA(Inband Flow Analyzer)完成流量的的分析和带内的行为动作,复制一份数据并且标记他们用于数据的分析和收集,被复制的流作为原始流的代表需要和原始流具有相同的特征,在网络中和原始流做相同的路径。

二、INT技术摘要

INT(Inband Network Telemetry)带内网络遥测技术作为一种混合测量技术,从根本上来说就是一种借助数据面业务进行网络状况的收集、携带、整理、上报的技术,不使用单独的控制面管理流量进行上述信息收集。通过技术名称也可以看出此项技术的两个关键点:一个是Inband(带内),意味着借助数据面的业务流量,而不是像很多协议那样专门使用协议报文来完成协议想要达到的目的,第二点就是Telemetry(遥测),体现为测量网络的数据并远程上报的特点。

当前INT技术已经经过了多年的发展,其中涉及大量技术细节的增删,目前由P4联盟主导,其主要发展历程为:

  • 2015-09-28 Initial release
  • 2017-12-11 v0.5 spec发布
  • 2018-04-20 v1.0 spec发布
  • 2020-02-14 v2.0 spec发布

三、INT2.0协议解读

当前INT协议经过数年发展,期间存在大量的技术细节变更,本文旨在针对最新发布的INT2.0协议进行技术细节解读,帮助理解遥测技术相关发展方向,同时与旧有较为成型的INT前系列spec技术进行对比。后文中标注v2.0的内容,均为INT2.0协议特有的新增、变更内容。

int-1.png

图1 INT域图示

一般来说,一个INT域中包含3个主要的功能节点,分别是INT Source、INT Sink和INT Transit Hop。其中INT Source、INT Sink可认为是遥测线路的起点和终点,INT Source负责指出需要收集信息的流量和要收集的信息,INT Sink负责将收到的信息进行整理并上报给监控设备;INT Transit Hop则可认为是线路上支持INT遥测的所有设备。

对遥测管理者来说,需要进行遥测的业务流量会在source节点上增加一个INT头部,其中带有指明需要收集信息类型的指令集(INT Instruction),从而成为一个INT报文,在到达关心的INT Transit Hop节点时,会根据指令集把收集到的信息(INT Metadata)插入INT报文,最终在INT Sink节点上弹出所有的INT信息并发送给监测设备。

对业务用户来说,上述INT对流量的处理过程,是完全透明的,用户不能也不需要去感知这些信息。

除此之外,INT2.0协议较此前的旧有协议,定义了新的转发模式,其中提到了如Flow Watchlist(INT设备上INT instruction 组成的集合)等新的概念,在为下一步INT技术的发展做准备。

工作原理

INT2.0协议中规定了三种工作模式,分别为:INT-MD、INT-MX和INT-XD,其中INT-MD即为从协议诞生之初的经典工作模式,另外两种为协议2.0中新增说明的模式,除大致工作原理外尚无详细定义。

  • INT-MD(eMbed Data)/Hop-by-Hop

int-2.png

图2 INT-MD模式数据包处理流程图示

INT-MD模式数据包处理流程如下:

1.普通数据报文到达INT系统的source交换节点时,INT模块通过在交换机上设置的采样方式匹配出该报文,根据数据采集的需要在指定位置插入INT头部,包含instruction,同时将INT头部所指定的遥测信息封装成元数据(MetaData,MD)插入到INT头部之后;

2.报文转发到Transmit Hop节点时,设备匹配INT头部后按指令插入相应的MD;

3.报文转发到带内网络遥测系统的Sink节点时,交换设备匹配INT头部插入最后一个MD并提取全部遥测信息并通过gRPC等方式转发到遥测服务器,将源数据报文复原并进行正常转发处理。

  • INT-MX(eMbed instruct(X)ions)

int-3.png

图3 INT-MX模式数据包处理流程图示

INT-MX模式数据包处理流程如下:

1.普通数据报文到达INT系统的source交换节点时,INT模块通过在交换机上设置的采样方式匹配出该报文,根据数据采集的需要在指定位置插入INT头部,仅包含instruction,同时将INT头部所指定的遥测信息封装成元数据(MetaData,MD)组成report报文直接转发到遥测服务器;

2.报文转发到Transmit Hop节点时,设备匹配INT报文并将INT头部所指定的遥测信息封装成元数据直接组包上报;

3.报文转发到带内网络遥测系统的Sink节点时,交换设备匹配INT头部并上报本节点MD,同时将INT头部弹出,将源数据报文复原并进行正常转发处理。

  • INT-XD(eXport Data)

int-4.png

图4 INT-XD模式数据包处理流程图示

INT-XD模式数据包处理流程如下:

1.普通数据报文到达INT系统的source交换节点时,INT模块通过在交换机上设置的采样方式匹配出该报文,按照设备上配置的Watchlist中所指定的遥测信息封装成元数据(MetaData,MD)组成report报文直接转发到遥测服务器;

2.报文转发到Transmit Hop节点时,设备匹配指定报文并将设备Watchlist中所指定的遥测信息封装成元数据直接组包上报;

3.报文转发到带内网络遥测系统的Sink节点时,交换设备匹配指定报文并按Watchlist上报本节点MD,不干涉原有报文的任何转发行为。

监测内容

理论上,我们可以收集任何交换机内部的信息。然而在实际中,如果定义一个小的通用子集则能够使得INT适用于更多的设备,INT报文中通过头部中的Instruction Bitmap字段进行上述收集项的标识。INT协议定义的相关信息,主要分为以下几类:

int-5.png

表1 INT2.0协议定义的metadata分类

四、INT技术优缺点

综上所述,INT技术的特点决定了其有一些应用上的优点:

1.INT完全的随路检测特性能够保证获取业务流量的状态的准确性,同时保证了尽量少的占用额外的带宽去做网络测量。

2.相较于传统网络测量方案,能够对网络拓扑、网络性能和网络流量实现更细粒度的测量。

3.较好的可编程性,数据信息的收集类型存在很大自由度。

同时,INT也存在一定的缺陷如:

1.带内网络遥测检测范围有限,预先定义的随路检测特性使得带内网络遥测只能监测特定路径上的某些数据包的遥测数据。

2.由于将遥测指令和数据封装到正常数据包中,正常数据包的有效载荷比降低,没能有效降低通信开销。

3.对用户数据包的遥测操作可能伴随着用户隐私泄露和安全风险问题。

在与其他遥测技术进行对比时,INT作为一种混合测量技术也有特点,因此在选用及部署时,需要有针对性的进行调整,如对当前常见的遥测技术进行比较时,可以看到遥测技术因其特性差异在各方面各有优劣:

int-6.png

表2 通用遥测技术特性对比

五、当前市场对于INT等网络遥测技术支持的情况

当前市场上成型的INT方案并没有较为统一的协议依托,相关协议也在频繁的进行变更,各大厂商提出及实现的带内网络遥测方案参差不齐,颇有几分百家争鸣的意味。

与INT协议类似的IOAM、IFA等协议,也在逐步进行修改,逐渐经由各大厂商的实现走向大众视野,包括盛科网络在内的多家网络通信厂商均在此功能上进行了布局,如盛科网络依托自己具有的芯片研发能力,使用精细的芯片处理逻辑,降低INT处理过程中的误差和时延,同时考虑丰富的北向接口方案,针对遥测数据进行处理上报。

如INT之类的带内混合测量技术,尚未达到完全成熟的程度,在发展和优化的道路上还有很多的问题要解决。同时这一技术的发展也能带动更多的网络监管产品的发展,对网络管理向远程化、精细化、实时化发展,有所助益。

参考资料和文献说明:
https://github.com/p4lang/p4-applications/tree/master/docs
https://p4.org/assets/INT-current-spec.pdf
https://datatracker.ietf.org/wg/ippm/documents/
https://www.sdnlab.com/23822.html

除此之外本文涉及的多项技术介绍参考了微软,思科,华为,阿里等公司的相关文献,其他相关厂商这里不一一列举。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK