IGP协议对SR-MPLS的扩展

news2025/1/21 5:54:19

目录

 OSPF对于SR-MPLS的扩展

OSPF对邻接SID做了细分

10类LSA定义的TLV类型

10类LSA定义的TLV的报文格式            

ISIS对SR-MPLS的扩展

ISIS对邻接SID做了细分

ISIS定义的Sub-TLV的类型

ISIS定义的Sub-TLV的报文格式


 OSPF对于SR-MPLS的扩展

OSPF为了支持SR-MPLS通过新增LSA来实现(通过OSPF下发拓扑信息、前缀信息、SRGB和标签信息的通告)

新增了10类LSA(在10类LSA中又新增了TLV和Sub-TLV)

注意事项:

To-Way的邻居状态也可以分配标签

运行OSPF的接口不需要再开启MPLS,只需要全局开启MPLS就可以

OSPF对邻接SID做了细分

在OSPF中,将Adj SID细分为LAN Adj SID和Adj SID

什么情况下产生

当设备为DR时,产生的Adj SID类型就为LAN Adj SID

当设备为非DR或P2P网络类型时,产生的Adj SID类型就为Adj SID

两者的报文有什么区别(具体在TLV的报文格式有介绍)

Adj SID直接通过Link ID表明DR的router id地址,知道自己的直连设备

LAN Adj SID的Link ID是自己,无法知道自身和哪些设备相连,需要多携带一个 Neighbor ID字段,表明此接口的邻居是谁

10类LSA定义的TLV类型

10类LSA (Opaque LSA,即不透明的LSA)通过定义TLV和Sub-TLV来完成对SR-MPLS技术的支持

SR Local Block TLV              用于通告自己SRLB范围

10类LSA的Type 8下定义了2个TLV和1个Sub TLV支持SR-MPLS

SR-Algorithm TLV(TLV 8)              用于对外通告自己使用的算法

SID/Label Range TLV(TLV 9)           用于通告自己的SRGB范围

SID/Label Sub-TLV(TLV9的Sub TLV1)  与TLV9一起确定SRGB的范围

10类LSA的Type 7下定义了1个TLV和1个Sub-TLV支持SR-MPLS

OSPFv2 Extended Prefix TLV(TLV 1)        用于通告自身的前缀信息

Prefix SID Sub-TLV(TLV1的Sub Tlv 2)     用于通告节点SID信息

10类LSA的Type 7下定义了1个TLV和2个Sub-TLV支持SR-MPLS

OSPFv2 Extended Link TLV(TLV1)        用于通告自身的链路状态信息

Adj-SID Sub-TLV(TLV1的Sub TLV2)     用于通告自身的Adj信息(非DR)

LAN Adj-SID Sub-TLV(TLV1的Sub-TLV3)用于通告自身的LAN Adj SID信息(DR)

10类LSA定义的TLV的报文格式            

10类LSA的头部信息

LS Type:标识LSA的类型(10类LSA可以细分为3大类型)

Opq-Link  (分别代表链路上泛洪)

Opq-Area (OSPF区域内泛洪)

Opq-AS   (AS域内泛洪)

Link State ID:由Type和ID两部分组成(共8字节)

常见的1类等LSA此字段为4字节,只有Link State ID部分(无Type)

Advertising Router:产生此LSA的设备的Router-id

10类LSA的Type 4下的TLV

SR-Algorithm TLV

SR-Algorithm:算法类型

SID/Label Range TLV

Range Size:标识SRGB的范围,与SID.Label共同决定一个SRGB的空间范围

SID/Label Sub-TLV

TLV Length:3标识此字段最右边的20位用于标记MPLS标签值

                      4标识此字段代表32位的SID

10类LSA的Type 7下的TLV

OSPFv2 Extended Prefix RLV

Atttach:    只有在多区域的时候才会用得到(单区域为0)

Node Flag : 1表示是Node SID,0表示不是Node节点

(手动配置Prefix节点时,默认都是Node节点)

Prefix SID Sub-TLV

NP:No-PHP,倒数第二条弹出标志(默认0)

        1表示不用倒数第二条弹出,0表示要倒数第二跳弹出

E:Explicit-Null,显式空标签标志(默认0)

        1表示启用显式空标签特性,0表示启用隐藏空标签特性

V:Value/Label标志(默认0)

       1表示Prefix-SID携带完整标签值而不是索引值,0表示携带索引值

L:Local标志(默认0)

       1表示Prrfix SID携带的标签值/索引值只具有本地意义,0表示全局意义

SID/Lavel:

        此处表示索引值为1,即针对前缀1.1.1.1分得的索引值为1

10类LSA的Type 8下的TLV

OSPFv2 Extended Link TLV

Link ID:DR的Router ID

Link Data:产生此TLV1的接口IP地址

Adj SID Sub-TLV

V:Value/Index字段(默认为1)

       1表示Adj-SID携带完整标签值而不是索引值,0表示携带索引值

L:Local/Global字段(默认为1)

       1表示Adj SID携带的标签值/索引值只具有本地意义,0表示全局意义

P:表示标签是否是永久的(即是动态生成的还是手工配置的)默认0

       0表示动态生成的,1表示手工配置的(永久的)

LAN Adj SID Sub-TLV同Adj SID Sub-TLV字段(多了个Neighbor ID字段)


ISIS对SR-MPLS的扩展

ISIS通过在原有的TLV的基础上添加子的TLV(Sub-TLV)来支持SR-MPLS

使用ISIS为SR-MPLS分配标签时,带宽模式必须改为Wide模式(因为窄带不支持Sub-TLV)

ISIS对邻接SID做了细分

在ISIS中,将Adj SID细分为LAN Adj SID和Adj SID

什么情况下产生

当链路为广播链路时,产生的Adj SID类型就为LAN Adj SID

当链路为P2P链路时,产生的Adj SID类型就为Adj SID

ISIS定义的Sub-TLV的类型

ISIS常用TLV的含义可参考下文

ISIS——图解9种报文与TLV讲解_静下心来敲木鱼的博客-CSDN博客_isis几种报文https://blog.csdn.net/m0_49864110/article/details/126069383?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166988209516782390546976%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=166988209516782390546976&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-5-126069383-null-null.nonecase&utm_term=LSP&spm=1018.2226.3001.4450icon-default.png?t=N4P3https://blog.csdn.net/m0_49864110/article/details/126069383?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166988209516782390546976%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=166988209516782390546976&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-5-126069383-null-null.nonecase&utm_term=LSP&spm=1018.2226.3001.4450

Prefix-SID Sub-TLV

通告Prefix SID;存在于TLV 135(Extended IPv4 Reachability)、TLV 235(Multitopology IPv4 Reachability)、TLV 236(IPv6 IP Reachability)、TLC 237(Multitopology IPv6 IP Reachability)

LAN Adj-SID Sub-TLV

在广播网络通告Adj SID;存在于TLV 22(Extended IS reachability)、TLV 23(IS Neighbor Attribute)、TLV 141(Inter-AS reachability information)、TLV 222(Multitopology IS)、TLV 223(Multitopology IS)

Adj-SID Sub-TLV

在P2P网络通告Adj SID;目前仅支持携带在TLV 22中

SR-Capabilities Sub-TLV

通告自己的SRGB范围;存在于TLV 242(Router Capability)

SR-Algorithm Sub-TLV

通告自己使用的算法;存在于TLV 242(Router Capability)

Local Block Sub-TLV

通告自己的SRLB算法;存在于TLV 242(Router Capability)

SID/Label Binding TLV

通告前缀和SID的映射信息;TLV 149(一般用于SR为LDP设备分配前置SID)

OSPF通告前缀和SID的映射信息通过Prefix SID Sub-TLV实现

ISIS定义的Sub-TLV的报文格式

Prefix-SID Sub-TLV

Flags字段

R:重发布标志位,有没有做泄露

       1表示此前缀是从其它协议引入或者从其它Level级别泄露而来的

       0表示就是本地产生的

N:Node-SID标志(默认为1)

       1表示是Node SID,0表示不是Node节点

    (手动配置Prefix节点时,默认都是Node节点)

P:No-PHP,倒数第二条弹出标志(默认为0)

        1表示不用倒数第二条弹出,0表示要倒数第二跳弹出

E:Explicit-Null,显式空标签标志(默认0)

        1表示启用显式空标签特性,0表示启用隐藏空标签特性

V:Value/Label标志(默认0)

       1表示Prefix-SID携带完整标签值而不是索引值,0表示携带索引值

L:Local标志(默认0)

       1表示Prrfix SID携带的标签值/索引值只具有本地意义,0表示全局意义

LAN-Adj-SID Sub-TLV

F:地址簇标志

       1表示IPv6,未置位表示IPv4

V:Value/Index字段(默认为1)

       1表示Adj-SID携带完整标签值而不是索引值,0表示携带索引值

L:Local/Global字段(默认为1)

       1表示Adj SID携带的标签值/索引值只具有本地意义,0表示全局意义

S:序列标志

       1表示Adj-SID是一个Adjacency序列

P:表示标签是否是永久的(即是动态生成的还是手工配置的)默认0

       0表示动态生成的,1表示手工配置的(永久的)

Weight:代表Adj-SID的权重,可以用于负载分担

SR-Capabilities Sub-TLV

I:MPLS IPv4标志

        1表示可以处理从所有接口接收到的SR-MPLS IPv4报文

V:MPLS IPv6标志

        1表示可以处理从所有接口接收到的SR-MPLS IPv6报文

通过Range和Label字段共同确定SRGB的范围(范围为Label值~Label值+Range值)

SID/Label Binding TLV

BGP通过BGP-LU(BGP标签单播) 方式通告Segment信息

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/625248.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vue.js 3.x Composition APIs 及简单使用

文章目录 Vue 3.0 和 2.x 的区别源码组织方式packages 目录结构 不同构建版本Composition API 设计动机设计动机Options API Demo:Composition API Demo:对比: 性能提升响应式系统升级编译优化优化打包体积 ViteESModuleVite as Vue-CLIVite 特点 Composition APICo…

NLP学习笔记三-数据处理基础

NLP学习笔记三-数据处理基础 NLP设计的处理处理技术也比较多,我们简单介绍一部分: 1.Tokenization NLP当中的Tokenization,博主以前无论是在文章中还是在代码中都能经常看到,这在自然语言处理中也是比较常用的技术。 Tokenizati…

ASEMI代理英飞凌TLD2314EL参数,LED驱动器TLD2314EL

编辑-Z TLD2314EL参数描述: 型号:TLD2314EL 电源电压VS:40V 输出电压VOUTx:40V 状态电压VST:6V 输出电流IOUTx:130 mA 结温Tj:-40~ 150℃ 储存温度Tstg:-55~ 150℃ 正常工作…

要不是和阿里P7聊过,我也不知道自己是个棒槌

前几天和一个朋友聊面试,他说上个月同时拿到了测试开发岗位腾讯和阿里的offer,最后选择了阿里。 阿里内部将员工一共分为了14个等级,P6是资深工程师,P7是技术专家。 其中P6和P7就是一个分水岭了,P6是最接近P7的不持股…

# Windows 专业版安装 Hyper-V

Windows 专业版安装 Hyper-V 文章目录 Windows 专业版安装 Hyper-V检查要求硬件要求安装方式使用 PowerShell 启用 Hyper-V使用 CMD 和 DISM 启用 Hyper-V通过设置启用 Hyper-V 角色 创建虚拟机Hyper-v 管理器创建Hyper-V Quick Create 完整官网地址:Windows 10 上的…

SpringCloud-Gateway的详细讲解以及完整的示意图和代码-下

目录 二说Gateway 路由配置 创建com/springcloud/config/GateWayRoutesConfig.java 测试 动态路由 示意图 代码实现 测试 注意事项和细节 代码 Predicate/断言 基本介绍 Route Predicate Factories 解读 Route Predicate 实例 After Route Predicate 测试 B…

tamper脚本编写与mitmdump

tamper脚本编写与mitmdump 0x01 前提 ​ 注入点在登录框处,但是目标每次都会先校验验证码,而验证码会在返回包中以json格式出现。 0x02 编写tamper脚本 由于目标的验证码在response中回显出来了,所以我们可以利用tamper脚本去读取验证码&a…

Python:SVOREX

公式看懂了就写导数。写完导数撸码 Car数据集上对比: 在Car数据集上,SVOREX稍微胜出。 """ SVOREX author: Daniel He at CQUPT 2023-06-08 """ import xlwt import xlrd import numpy as np import pandas as pd import matplotlib.pylab a…

17.16按摩师

目录 一、题目 二、分析代码 一、题目 面试题 17.16. 按摩师 - 力扣&#xff08;LeetCode&#xff09; 二、分析代码 class Solution { public:int massage(vector<int>& nums) {int nnums.size();// vector<int>dp(n,0);// if(n<0)// return 0;// if(n1…

Docker部署ssh连接工具webssh2

Docker部署ssh连接工具webssh2 一、检查系统版本二、检查docker状态三、下载webssh2镜像四、创建webssh2容器1.创建webssh2容器2.查看webssh2状态3.查看容器运行日志 五、访问webssh21. 访问webssh22. 远程连接服务器3. 文件管理 一、检查系统版本 检查操作系统版本 [rootserve…

Python对普通文件的操作

目录 1. 常用函数语法 1.1. open_打开文件 1.2. read_读取文件 1.3. readlines_读取文件 1.4. csv.reader_读取csv文件 1.5. write_写入内容 2. 操作普通文件 2.1. 读取内容 ① 按大小读取 ② 按行数读取 ③ 按列数读取 ④ 读取大文件 ⑤ 条件过滤 2.2. 写入内容…

一文详解!JMeter该如何并发测试和持续性压测?

目录 前言&#xff1a; 概念 并发测试 持续性压测 查看报告 总结 试试其他 API 工具 知识扩展&#xff1a; 前言&#xff1a; JMeter 是一个 Java 编写的开源负载测试工具&#xff0c;基于模拟用户、线程和请求&#xff0c;结合测试计划和策略&#xff0c;可以模拟真实…

和托托一起学计算机图形学(一)-初识计算机图形学

文章目录 初识计算机图形学一、计算机科学与视觉信息处理二、计算机图形学的应用三、总结 数字图像基础一、像素二、RGB和CMY颜色模型三、颜色编码四、查色表五、图像文件六、总结 初识计算机图形学 一、计算机科学与视觉信息处理 计算机图形学&#xff1a;建模&#xff08;建…

Kafka-Eagle安装及连接成功web端登陆不了问题解决

kafka自身并没有集成监控管理系统&#xff0c;因此对kafka的监控管理比较不便&#xff0c;好在有大量的第三方监控管理系统来使用&#xff0c;常见的有&#xff1a; Kafka EagleKafkaOffsetMonitorKafka Manager&#xff08;雅虎开源的Kafka集群管理器&#xff09;Kafka Web C…

1.7 基于XML配置方式使用Spring MVC

一、基于XML配置与注解的方式使用Spring MVC 1、创建Maven项目 Maven项目 - SpringMvcDemo01 单击【Finish】按钮 2、添加相关依赖 在pom.xml文件里添加支持Spring MVC的相关依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmln…

excel学习--开始界面控制台讲解

1、部分基础控制台讲解 上面的那行表示垂直居中 下面的那行表示水平居中 上面设置表格内容的表现方向 下面设置表格内容的缩进量 合并单元格的两种主要方式即左图所示&#xff0c;一种是跨越合并&#xff0c;另一种是合并单元格&#xff0c;跨越合并只能进行列合并&#xff0c…

09 - Linux进程层次分析

---- 整理自狄泰软件唐佐林老师课程 查看所有文章链接&#xff1a;&#xff08;更新中&#xff09;Linux系统编程训练营 - 目录 文章目录 1. 详解Linux进程组1.1 Linux进程组1.2 进程组示例程序1.3 编程实验&#xff1a;Linux进程组1.4 深入理解进程组1.4.1 进程组标识设置技巧…

【算法题解】35. 两两交换链表中的节点

这是一道 中等难度 的题 https://leetcode.cn/problems/swap-nodes-in-pairs/ 题目 给你一个链表&#xff0c;两两交换其中相邻的节点&#xff0c;并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题&#xff08;即&#xff0c;只能进行节点交换&#xff…

LVS负载均衡群集及VS/NAT部署

一、企业群集应用概述 1.群集的含义 群集&#xff08;Cluster&#xff09;&#xff0c;又称集群。由多台主机构成&#xff0c;但对外只表现为一个整体&#xff0c;只提供一个访问入口&#xff08;域名或IP地址&#xff09;&#xff0c;相当于一台大型计算机。 但是在互联网应…

htmlCSS-----元素类型

目录 前言&#xff1a; 元素类型 1.块级元素 2. 行内元素 3. 行内块元素 前言&#xff1a; 今天我们就学习CSS中的元素的类型&#xff0c;了解网页元素类型的相关性质&#xff0c;有助于我们去对网页进行排版处理。下面就一起去看看吧。 元素类型 常见元素类型有&#xff…