目录
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.4450https://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信息