[SRv6]《SRv6网络编程》SRv6 OAM与随路网络测量(1/2:OAM)
发布日期:2021-05-28 16:50:55
浏览次数:27
分类:技术文章
本文共 2300 字,大约阅读时间需要 7 分钟。
概述
本文主要介绍SRv6 OAM和数据平面Telemetry关键技术(随路网络测量)
OAM:基于已有的IPv6 OAM机制进行简单扩展,实现故障管理和性能测量 随路网络测量:基于IFIT(In-situ Flow Information Telemetry)框架实现,不引入额外的测量报文,提升了检测的准确度;支持多种随路网络测量技术的数据平面封装,可大规模部署在IP网络中第一部分: SRv6 OAM
1.1. SRv6故障管理
由于SRv6的转发基于IPv6,所以传统的IP OAM工具都可用于SRv6
1.1.1. 经典IP Ping
当前ICMPv6 Ping支持报文按照最短转发路径转发到目的地址,实现目的地址的可达性检测
如果希望ICMPv6 Echo报文按照指定的转发路径转发到对应的IPv6目的地址,完成对指定路径的Ping,则可以通过在IPv6报文头中增加SRH携带指定的路径1.1.2. Ping SRv6 SID
SRv6 SID无法直接通过ICMPv6 Ping实现检测,需要使用SRv6的OAM扩展才能实现
原因:如果直接进行Ping SID操作的话,Ping封装后的报文的Next Header将是ICMPv6,该报文将因为Next Header值不匹配而被丢弃 解决方案:在SRH中引入O-bit(OAM bit),用于标识一个报文是否为OAM报文;同时还引入了两个新的SRv6 Function(End.OP和End.OTP),来标识是否需要对报文进行OAM处理O-bit位于SRH的Flags字段内,起到了对OAM功能使能去使能的作用
对于两个新的SRv6 Function,根据对时间戳的需要与否,分为以下两种: End.OP:OAM Endpoint with Punt,End的一种变种功能,指示将报文上送到控制平面进行OAM处理 End.OTP:OAM Endpoint with Timestamp and Punt,除了End.OP的功能外还要在上送控制平面之前打上时间戳 为了防止重复报文处理,控制平面停止响应IPv6上层的协议,比如ICMP PingR4节点对于Ping SID的处理,其中B:4::100是End.OP SID:
控制平面程序检测SRH中的下一个SID是否为本地初始化的SID,若是,则返回ICMPv6成功报文1.1.3. 经典Traceroute
与ICMPv6相同,SRv6也支持普通的IPv6地址的Traceroute
还可以利用SRH进行指定路径的Traceroute1.1.4. SRv6 SID Traceroute
同样也需要通过插入End.OP/End.OTP
其原理与普通的IPv6地址的Traceroute没有太大差异,仅在对最后的SRv6节点或最后的SID发布节点的处理上有所不同1.2. SRv6性能测量
性能测量主要分为两类
一类是以TWAMP为代表的主动测量,该技术可用于SR-MPLS,SRv6和IP/MPLS等各种场景下 一类是以基于染色为代表的混合测量1.2.1. TWAMP测量的基础原理
当前SRv6使用的测量方案主要采用TWAMP的Light架构,即轻量级TWAMP
TWAMP是一种主动性能测量方法,基于五元组(源目的IP,源目的端口,DSCP)构建测试流,根据收到的UDP应答报文,测量IP链路的性能和状态TWAMP有四种逻辑实体:
- Control Client :控制平面角色
- Server:控制平面角色
- Session-Sender:数据平面角色
- Sessioin Reflector:数据平面角色
根据四种逻辑实体的部署位置,可分为Full架构和Light架构:
TWAMP Full架构:
TWAMP Light架构: Light架构下关键信息通过界面配置直接下发给Controller,不需要控制平面TCP报文的协商过程1.2.2. 基于TWAMP的主动SRv6性能测量–主动测量
由于TWAMP Light架构的控制层面是基于TCP的,数据平面Test报文基于UDP,二者都可以基于IPv6的网络层进行传输,所以不需要任何改动就可以直接应用在SRv6网络上,实现性能测量。
什么是主动测量? 简单的解释就是通过在链路上发送OAM报文,通过对OAM报文模拟业务报文,并以此推算网络的性能,不够准确。1.2.3. 基于染色的混合SRv6性能测量–混合测量
上一节提到了主动测量,这一节让我们首先澄清一下被动测量和混合测量的概念:
被动测量:直接观测真实流量 混合测量:对真实流量进行修改后直接观测 被动检测可以选择IPFIX(IP Flow Informatica Export)将报文上送给分析器 混合测量可以选择基于染色的IPFPM,或者IFIT(下面章节将详细介绍)着重介绍一下基于染色的IPFPM的工作原理:
数据流区分Block并进行染色 Block的区分方法:以固定报文数目进行区分;以固定时长进行区分 染色位置:IPv6的Flow Label即可作为一个染色位置;可以基于SRv6的Path Segment进行染色 SRv6 Path Segment仅用于表示路径和服务,不用于路由。P-Flag用于指示是否携带了Path Segment Path Segment存在的意义:由于Segment List长度可变且长度较长,不利于作为染色标识位,因此推出了Path Segment来指代这组Segment List第二部分 随路网络测量
转载地址:https://blog.csdn.net/qq_33868661/article/details/115742537 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
做的很好,不错不错
[***.243.131.199]2024年08月16日 23时52分47秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
MATLAB绘图之二维曲线
2019-05-24
提交案例到YARN上运行
2019-05-24
解决Maven的编码GBK的不可映射字符的问题
2019-05-24
提交自定义开发的MR作业到YARN上运行
2019-05-24
用户行为日志
2019-05-24
电商常用术语
2019-05-24
标准化随机变量的意义
2019-05-24
数据处理流程图
2019-05-24
浏览量统计功能实现
2019-05-24
省份浏览量统计之IP库解析
2019-05-24
Vue框架中常用的rules校验规则 看完是不是觉得很简单
2019-05-24
Mybatis源码分析—Mapper创建和Spring的管理
2019-05-24
被大厂面试官连环炮轰炸的ThreadLocal (吃透源码的每一个细节和设计原理)
2019-05-24
Redis 的命令详解 - List 篇
2019-05-24
Redis 的命令详解 - Hash 篇
2019-05-24
Redis 的命令详解 - String 篇
2019-05-24
Redis 的命令详解 - Key 篇
2019-05-24
Redis 的命令详解 - SET 篇
2019-05-24
Redis 的命令详解 - Sorted Set 篇
2019-05-24
MyBatis开发入门学习
2019-05-24