目录
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通过新增LSA来实现(通过OSPF下发拓扑信息、前缀信息、SRGB和标签信息的通告)
新增了10类LSA(在10类LSA中又新增了TLV和Sub-TLV)
注意事项:
To-Way的邻居状态也可以分配标签
运行OSPF的接口不需要再开启MPLS,只需要全局开启MPLS就可以
在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 (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的头部信息
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通过在原有的TLV的基础上添加子的TLV(Sub-TLV)来支持SR-MPLS
使用ISIS为SR-MPLS分配标签时,带宽模式必须改为Wide模式(因为窄带不支持Sub-TLV)
在ISIS中,将Adj SID细分为LAN Adj SID和Adj SID
什么情况下产生
当链路为广播链路时,产生的Adj SID类型就为LAN Adj SID
当链路为P2P链路时,产生的Adj SID类型就为Adj SID
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实现
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信息