[SRv6]《SRv6网络编程》SRv6 OAM与随路网络测量(2/2:IFIT)
概述
本文主要介绍SRv6 OAM和数据平面Telemetry关键技术(随路网络测量)
OAM:基于已有的IPv6 OAM机制进行简单扩展,实现故障管理和性能测量
随路网络测量:基于IFIT(In-situ Flow Information Telemetry)框架实现,不引入额外的测量报文,提升了检测的准确度;支持多种随路网络测量技术的数据平面封装,可大规模部署在IP网络中
第一部分:OAM
参照我的博客:
《SRv6网络编程》SRv6 OAM与随路网络测量(1/2:OAM)
第二部分:随路网络测量
2.1. 随路网络测量概述
网络Telemetry可分为管理平面,控制平面和数据平面的Telemetry。随路网络测量时数据平面的Telemetry所使用的一种关键技术
区别于主动的性能测量方法,随路网络测量并不会发送主动探测报文,而是在用户报文中携带OAM的指令
随路网络测量是一种混合测量方法
随路网络测量的优点:
- 测量的是真实的用户流量
- 可实现逐报文的监控
- 可以获得更多的数据平面信息
- 可获得报文在网络转发中所经过的路径,包括设备和出入接口
- 报文在每一个网络设备的转发过程中命中的规则
- 报文在每一个网络设备中缓存所消耗的时间(纳秒级)
- 报文在排队过程中和哪些其他的流同时竞争队列
2.2. 随路网络测量模式
业界随路网络测量的技术方案包括:IOAM,PBT(Postcard-Based Telemetry)和EAM(Enhanced Alternate Marking, 增强交替染色)
随路网络测量分为两种模式:passport和postcard模式
两种模式下,测量域的入节点会为被测量报文添加一个TIH(Telemetry Information Header),区别在于每经过一台设备时对采集数据的处理
Passport模式:
就好像一个周游世界的游客,每到一个国家就在护照上盖一个出入境的戳
Postcard模式:
就好比游客到了一个景点,就一张明信片回家
两者的优劣对比:
2.3. IFIT的架构与功能
随路网络测量在网络部署中存在的诸多挑战:
- 只能监控有限规模的流对象
- 可能影响正常的转发性能
- 海量的数据接收,存储和分析将给服务器造成极大的冲击
- 需要一种方式,能够实现灵活可扩展的数据定义,并将所需的数据交付给数据分析的应用
IFIT架构
IFIT应用给网络设备下发监控和测量任务,包括但不限于指定测量的流对象和收集的数据,并且选择随路网络测量的数据平面封装
IFIT功能
- 智能选流:对一部分流进行识别和重点监控
- 高效数据上送:采用二进制编码;仅上送新发现的流路径或者发生变更的流路径,从而减少数据传输量
- 动态网络探针:按需加载网络测量功能,从而利用有限的资源满足多张业务需求
2.4. IFIT的封装模式
一致模式:将IFIT指令头封装在隧道外,使报文在途径的每一个节点都被相同地处理
管道模式:将IFIT指令头封装在隧道内,无论隧道由多少中间节点,IFIT都将隧道当成一跳来处理
2.5. SRv6支持的IFIT功能
Passport模式
IOAM支持Passport和Postcard两种模式,本节先来介绍Passport模式
IOAM定义的Trace Option(跟踪模式)实现了一种Passport模式的随路
Trace Option的指令格式如图:
Trace Option中每个字段的含义:
着重关注其中的IOAM-Trace-Type字段:
报文每经过一个IOAM域的节点时都会根据IOAM-Trace-Type收集相应类型的数据并依次添加在IOAM指令头后面
Postcard模式
EAM
EAM属于Postcard模式的随路网络测量
EAM指令格式:
EAM各字段的含义:
L比特通过周期性的交替设置为0或1的形式(交替染色),以Postcard模式逐跳上送FlowMonID,周期号,周期内的计数值上送到分析器,得到丢包术和丢包位置等信息
D比特位会为需要检测的数据包置位为1,并对其打上时间戳,用以计算出标记报文的单向时延
IOAM
IOAM支持PBT-I(Postcard-Based Telemetry with Instruction Header)
IOAM新增了一种IOAMDEX(Directly EXport)的选项实现了PBT-I,指令头格式如图:
对比IOAM Passport模式中的Trace Option,该报文中新增加了如下表的两个字段:
SRv6 IFIT封装
封装方式主要分为两种:
- 封装在IPv6的逐跳选项扩展报文头中
- 封装在SRH的Optional TLV中
封装在IPv6的逐跳选项扩展报文头中:
这种封装方式中的IFIT指令会被所有IPv6转发节点苏处理
在SR-BE或者松散SR-TE场景下,可以让运维人员知道报文是如何逐跳转发的
封装在SRH的Optional TLV中:
这种封装方式的IFIT指令只会有指定的Endpoint节点处理
在SRv6 TE严格路径的场景下,该封装效果等同于IFIT在逐跳选项扩展报文头中的封装
总结
与传统OAM相比较,随路网络测量是很有前景的数据平面Telemetry技术
SRv6的数据面可编程特性也极大地促进了随路网络测量技术的发展和应用
IFIT框架支持多种随路网络测量技术的数据平面封装,可以结合控制器,提供智能选流,高效数据上送和动态探针等多种功能