当前位置:网站首页>SRv6性能测量
SRv6性能测量
2022-08-09 22:10:00 【InfoQ】
OAM的另一个主要功能是性能测量,包括丢包测量、时延测量、时延抖动测量以及吞吐量测量。目前业界提出多种方案:基于RFC 6374的性能测量方案 、基于TWAMP的性能测量方案和基于染色的性能测量方案。基于RFC 6374的方案和基于TWAMP的方案都是主动性能测量,基于染色的方案是混合测量。对于主动性能测量的两个方案,基于RFC 6374的方案仅适用于MPLS封装的场景,而基于TWAMP的方案可以用于SR-MPLS、SRv6和IP/MPLS等各种场景,比较通用。
1、TWAMP测量的基础原理
当前SRv6的主动性能测量方案主要采用TWAMP的Light架构,即轻量级的TWAMP。TWAMP是一种主动性能测量的方法,其基于五元组(源IP、目的IP、源端口、目的端口、DSCP)构造测试流,根据收到的UDP应答报文,测量IP链路的性能和状态。
TWAMP具有4种逻辑实体,包括Session-Sender、Session-Reflector、Control-Client、Server。其中Control-Client、Server为控制平面角色,负责测量任务的协商(初始化)、启动、停止等管理工作。Session-Sender、SessionReflector为数据平面角色,用于执行测量。Session-Sender发送TWAMP Test报文,Session-Reflector响应TWAMP Test报文。
在实际应用中,根据4种逻辑实体的部署位置,TWAMP分为Full架构和Light架构。
- Full架构:Session-Sender与Control-Client合为一个实体,被称为Controller;Session-Reflector与Server合为一个实体,被称为Responder。Controller通过TCP类型的TWAMP Control报文和Responder交互,建立测试会话。会话建立后, Controller发送UDP类型的报文给Responder,Responder中的Session-Reflector响应TWAMP Test报文。
- Light架构:Session-Sender、Control-Client和Server合为一个实体,被称为Controller;Session-Reflector为一个实体,被称为Responder。Light架构下,关键信息通过界面配置直接下发给Controller,不需要控制平面的TCP报文协商过程,简化Controller为Sender;Responder只负责接收TWAMP Test报文并响应报文,从而简化了整体架构。
2、基于TWAMP的主动SRv6性能测量
由于TWAMP Light架构的控制平面是基于TCP的,数据平面Test报文是基于UDP的,二者都可以基于IPv6的网络层进行传输,所以不需要任何改动就可以直接应用在SRv6网络上,实现性能测量。
可以通过控制器配置TWAMP Light架构来使能SRv6的性能测量。配置模型如下图所示,需配置测量协议、目的UDP端口、测量类型等参数。
3、基于染色的混合SRv6性能测量
基于染色的IPFPM的工作原理是将数据流的报文按照一定的Block(区块)进行染色,并对区块内染色的报文进行性能测量,比如每个Block的报文固定,则可以根据收到对应颜色报文的数目计算丢包率。
首先,可以基于报文数目设置染色的区块,如将连续1000个报文设置为一个颜色区块;也可以基于时间设置,如将1 s内的连续报文设置为一个颜色区块。使用报文的某个字段的某个值指定颜色,如可以使用IPv6的Flow Label字段来进行染色,则Flow Label取值为0时是一种颜色,取值为1时是另一种颜色。
以丢包测量为例,染色节点对报文进行染色并发送。每1000个报文为一种颜色,颜色以0、1交替。统计节点在记录报文时根据颜色进行统计,如设备连续收到998个颜色为1的报文,则丢包数目为2,进而计算出丢包率为0.2%。
在SRv6网络中,IPFPM可以基于IPv6的染色字段进行染色,也可以基于SRv6的Path Segment进行染色 。通过替换Path Segment的值,可以实现对SRv6报文的染色,从而支持基于IPFPM的性能测量。
边栏推荐
猜你喜欢
随机推荐
如何坚持使用程序化系统?
mysql中的key是怎么用的,或者这个值有什么意义,如下图?
Qt 消息机制和事件
2021年国内外五大BI厂商——优秀的商业智能工具推荐
JS--hashchange事件--使用/教程
(转)字符集编码标识符,数字表示字符编码
34. Fabric2.2 证书目录里各文件作用
R语言拟合ARIMA模型并使用拟合模型进行预测推理:使用forecast函数计算ARIMA模型未来值(包含时间点、预测值、两个置信区间)
OSG笔记:使用setFontResolution设置字体分辨率
一体化伺服电机在三轴钻孔机中的应用
leetcode:325. 和等于k的最长子数组长度
为什么刀具数据库无法打开?
ArrayList 和 LinkedList 区别
R语言修改dataframe数据列的名称:使用dplyr包的rename函数修改列名、使用colnmaes函数修改列名、在数据筛选的时候重命名列名
联盟链技术应用的难点
Transfer Learning & Kemin Initialization
1018.值周
【技术分享】SLA(服务等级协议)原理与配置
matplotlib散点图颜色分组图例
PyQt5:入门使用教程