Clarence Filsfils
Kris Michielsen
Segment Routing Co-existence with LDP段路由与LDP的共存
Segment Routing与LDP的共存
•与LDP和其它MPLS控制协议共存
•从LDP简单迁移到Segment Routing
Segment Routing与LDP控制平面共存
与其它MPLS标签分发协议共存
• MPLS体系架构允许同时使用多个标签分配协议
– LDP,RSVP-TE, …和SR控制平面无需交互也可以共存
• 每个节点的标签管理器( Label Manager)
– 预留一个SR控制平面的标签范围(SRGB)
– 确保所有动态标签在SRGB块之外分配
– 确保动态标签是唯一分配
• 每个LSR必须确保它可以唯一地解读其入标签
– 邻接段:Label Manager本地自动分配独一无二的标签
– 前缀段:运营商确保在SRGB范围内分配唯一的标签
段路由和LDP数据平面共存
MPLS到MPLS转发与MPLS到IP转发标签交换与标签处置
• 对于MPLS到MPLS与MPLS到IP转发条目,SR和LDP可以共存
–这些条目可以按照本地(入向)标签来索引
–由LDP和SR (或其他标签分配协议)掌管的本地/入向标签是唯一的
–出向标签仅对下游邻居有意义,而对本地节点无意义
–可以为一个Prefix创建多个MPLS到MPLS或MPLS到IP转发条目
>即LSP中间点的交叉连接
local/in lbl out lbl
16000
…
…
1048575
local/in lbl out lbl
16000
...
…
1048575
local/in lbl out lbl
16000
…
…
1048575
local/in lbl out lbl
16000
…
…
1048575
MPLS到MPLS与MPLS到IPSR LDP
SR
GB
SR
GB
SR
GB
SR
GB
local/in lbl out lbl
16000
…
23999
24000
…
…
1048575
local/in lbl out lbl
16000
…
23999
24000
…
…
1048575
local/in lbl out lbl
16000
…
…
23999
24000
…
…
31999
…
…
1048575
local/in lbl out lbl
16000
…
23999
24000
…
…
1048575
1 2 43 5
1.1.1.5
Prefix-SID
index 5
所有节点:启用SR + LDP
MPLS到MPLS与MPLS到IP到1.1.1.5/32的SR Prefix-Segment
SR
GB
SR
GB
SR
GB
SR
GB
local/in lbl out lbl
16000
…
16005 16005
…
23999
24000
…
…
1048575
local/in lbl out lbl
16000
…
16005 24005
…
23999
24000
…
…
1048575
local/in lbl out lbl
16000
…
…
23999
24000
…
24005 16005
…
31999
…
…
1048575
local/in lbl out lbl
16000
…
16005 pop
…
23999
24000
…
…
1048575
1 2 43 5
SR LDP
1.1.1.5
Prefix-SID
index 5
所有节点:启用SR + LDP
SR
GB
SR
GB
SR
GB
SR
GB
MPLS到MPLS与MPLS到IP到 1.1.1.5/32的LDP FEC
local/in lbl out lbl
16000
…
16005 16005
…
23999
24000
…
24002 24001
…
…
1048575
local/in lbl out lbl
16000
…
16005 24005
…
23999
24000
24001 32011
…
…
1048575
local/in lbl out lbl
16000
…
…
23999
24000
…
24005 16005
…
31999
…
32011 24003
…
1048575
local/in lbl out lbl
16000
…
16005 pop
…
23999
24000
…
24003 pop
…
…
1048575
1 2 43 5
SR LDP
1.1.1.5
Prefix-SID
index 5
所有节点:启用SR + LDP
IP到MPLS –标签压入
•相同Prefix的多个IP到MPLS 转发条目(如LDP到SR)不能够共存
–这些转发条目(指定标签压入)只能按照prefix来索引
–转发表查询的结果是到目的地的一个或多个路径
–每个路径只能有一个IP2MPLS转发条目
–如果多路径通向目的地,那么每个路径都有其自己的IP2MPLS条目
>例如,一个路径压入一个LDP标签,另一个路径压入一个SR标签
IP到MPLS:哪个标签应该被压入?S
RG
B
SR
GB
SR
GB
SR
GB
local/in lbl out lbl
16000
…
16005 16005
…
23999
24000
…
24002 24001
…
…
1048575
local/in lbl out lbl
16000
…
16005 24005
…
23999
24000
24001 32011
…
…
1048575
local/in lbl out lbl
16000
…
…
23999
24000
…
24005 16005
…
31999
…
32011 24003
…
1048575
local/in lbl out lbl
16000
…
16005 pop
…
23999
24000
…
24003 pop
…
…
1048575
1 2 43 5
SR LDP
1.1.1.5
Prefix-SID
index 5
Payload
to 1.1.1.5
segment-routing mpls sr-prefer
segment-routing mpls (default)
所有节点:开启SR + LDP
IP到MPLS—标签压入
• 对于IP到MPLS转发,LDP或SR条目(二选一)可以写入到FIB
– 每一个前缀路径,仅有1个IP2MPLS条目能够存在
• 默认:LDP标签压入为优选
– 可配置为优选SR而不是LDP
router isis 1
address-family ipv4|6 unicast
segment-routing mpls sr-prefer
router ospf 1
segment-routing mpls
segment-routing sr-prefer
SR
GB
local/in lbl out lbl
16000
…
16005 16005
…
23999
24000
…
24002 24001
…
…
1048575
1
IGP/SR与LDP对FIB的写入• 此图示显示了第8页里节点1的行为
RIB
FIB
IGP
LDP/LSD
1.1.1.5/32
Loc_lbl 16005
Out_lbl 16005
1.1.1.5/32
1.1.1.5/32
Loc_lbl 16005
Out_lbl 16005
1.1.1.5/32
Loc_lbl 24002
Out_lbl 24001
16005: SR label
24002: LDP labelLoc_lbl: 本地标签, 由本地节点分配Out_lbl: 出向标签
FIB
IGP/SR与LDP对FIB的写入• 此图示显示了默认行为:优选LDP标签压入
IGP/RIB LDP/LSD
1.1.1.5/32
Loc_lbl 16005
Out_lbl 16005
1.1.1.5/32
Loc_lbl 24002
Out_lbl 24001
16005: SR label
24002: LDP label
cef
1.1.1.5/32 24001
mpls forwarding
24002 24001
16005 16005
Loc_lbl: 本地标签, 由本地节点分配Out_lbl: 出向标签
SR
GB
local/ in lbl out lbl
16000
…
16005 16005
…
23999
24000
…
24002 24001
…
…
1048575
1
Payload
to 1.1.1.5
segment-routing mpls (default)
SR
GB
local/ in lbl out lbl
16000
…
16005 16005
…
23999
24000
…
24002 24001
…
…
1048575
1
Payload
to 1.1.1.5
segment-routing mpls sr-prefer
FIB
IGP/SR与LDP对FIB的写入• 此图示显示了当配置了优选SR标签命令时的行为
IGP/RIB LDP/LSD
1.1.1.5/32
Loc_lbl 16005
Out_lbl 16005
1.1.1.5/32
Loc_lbl 24002
Out_lbl 24001
16005: SR label
24002: LDP label
cef
1.1.1.5/32 16005
mpls forwarding
16005 16005
24002 24001
Loc_lbl: 本地标签, 由本地节点分配Out_lbl: 出向标签
MPLS到MPLS转发条目
RP/0/0/CPU0:xrvr-3#show mpls forwarding labels 24003
Local Outgoing Prefix Outgoing Next Hop Bytes
Label Label or ID Interface Switched
------ ----------- ------------------ ------------ --------------- ------------
24003 24005 100.0.0.3/32 Gi0/0/0/0 99.2.3.3 5670
RP/0/0/CPU0:xrvr-3#show mpls forwarding labels 16001
Local Outgoing Prefix Outgoing Next Hop Bytes
Label Label or ID Interface Switched
------ ----------- ------------------ ------------ --------------- ------------
16001 16001 SR Pfx (idx 1) Gi0/0/0/0 99.2.3.3 345243
MPLS到MPLS LDP标签条目
MPLS到MPLS SR标签条目
两个条目被呈现,而不是优先设置
3 2 1
1.1.1.3 1.1.1.2 1.1.1.1
所有节点: 启用SR + LDP
LDP优选时的IP到MPLS转发条目
RP/0/0/CPU0:xrvr-3#show mpls ldp bindings 1.1.1.1/32 neighbor 1.1.1.2
1.1.1.1/32, rev 24
Local binding: label: 24003
Remote bindings: (1 peer)
Peer Label
----------------- ---------
1.1.1.2:0 24005
RP/0/0/CPU0:xrvr-3#show cef 1.1.1.1/32
1.1.1.1/32, version 222, internal 0x4000001 0x0 (ptr 0xa1376074) [1], 0x0 (0xa135b560),
0x228 (0xa1411118)
Updated May 21 07:08:50.475
local adjacency 99.2.3.2
Prefix Len 32, traffic index 0, precedence n/a, priority 3
via 99.2.3.2, GigabitEthernet0/0/0/0, 9 dependencies, weight 0, class 0 [flags 0x0]
path-idx 0 NHID 0x0 [0xa0e300bc 0x0]
next hop 99.2.3.2
tx adjacency
local label 24003 labels imposed {24005}
本地LDP标签
邻居的(远程)LDP标签
IP到MPLS cef条目:采用LDP标签
默认 (LDP优先) 3 2 1
1.1.1.3 1.1.1.2 1.1.1.1
所有节点: 启用SR + LDP
SR优选时的IP到MPLS转发条目
RP/0/0/CPU0:xrvr-3#show route 1.1.1.1/32 detail
Routing entry for 1.1.1.1/32
Known via "isis 1", distance 115, metric 2, type level-2
Installed May 21 07:08:45.345 for 00:35:05
Routing Descriptor Blocks
99.2.3.2, from 1.1.1.1, via GigabitEthernet0/0/0/0
Route metric is 2
Label: 0x3e81 (16001)
Tunnel ID: None
Extended communities count: 0
Path id:1 Path ref count:0
NHID:0x1(Ref:6)
Route version is 0xa (10)
Local Label: 0x3e81 (16001)
RP/0/0/CPU0:xrvr-3#show cef 1.1.1.1/32
1.1.1.1/32, version 222, internal 0x4000001 0x0 (ptr 0xa1376074) [1], 0x0 (0xa135b560),
0x228 (0xa1411118)
Updated May 21 07:08:50.475
local adjacency 99.2.3.2
Prefix Len 32, traffic index 0, precedence n/a, priority 3
via 99.2.3.2, GigabitEthernet0/0/0/0, 9 dependencies, weight 0, class 0 [flags 0x0]
path-idx 0 NHID 0x0 [0xa0e300bc 0x0]
next hop 99.2.3.2
tx adjacency
local label 16001 labels imposed {16001}
邻居的(远程)SR标签
本地SR标签
IP到MPLS cef条目:采用SR标签
配置sr-prefer时 3 2 1
1.1.1.3 1.1.1.2 1.1.1.1
All nodes: SR + LDP
Segment Routing and LDP “Ships in the night” Deployment Model 段路由与LDP“午夜航船”部署模式
“午夜航船”部署模式
• LDP与SR保持独立
– 在SR PE之间需要保持持续的SR连接;
– 在LDP PE之间需要保持持续的LDP连接;
– 不需要SR到LDP或LDP到SR的交互工作(interworking)
• 其它部署模式也可以,请参见“SR/LDP交互工作” 章节
最简单地迁移方式:LDP到SR
• 初始状态: 所有节点运行LDP, 而不运行SR
1 LDP
3 4
2
5 6
LDP Domain
LDP LDP
LDP LDP
LDP LDP
假设:• 所有节点可以升级到SR• 所有服务可以升级到over SR
• 初始状态:所有节点运行LDP, 而不运行SR
• 步骤1:所有节点都升级到支持SR
– 没有特殊的顺序要求
– 仍旧默认优选LDP标签压入
1 LDP
3 4
2
5 6
SR+LDP Domain
SR+LDP SR+LDP
SR+LDP SR+LDP
SR+LDP SR+LDP
最简单地迁移方式:LDP到SR假设:• 所有节点可以升级到SR• 所有服务可以升级到over SR
• 初始状态:所有节点运行LDP, 而不运行SR
• 步骤1:所有节点都升级到支持SR
– 没有特殊的顺序要求
– 仍旧默认优选LDP标签压入
• 步骤2:所有PE都配置成优选SR标签压入
– 没有特殊的顺序要求
SR+LDP Domain
1 SR
3 4
2
5 6
SR+LDP SR+LDP
SR+LDP SR+LDP
SR+LDP SR+LDP
sr-prefer
最简单地迁移方式:LDP到SR假设:• 所有节点可以升级到SR• 所有服务可以升级到over SR
• 初始状态:所有节点运行LDP, 而不运行SR
• 步骤1:所有节点都升级到支持SR
– 没有特殊的顺序要求
– 仍旧默认优选LDP标签压入
• 步骤2:所有PE都配置成优选SR标签压入
– 没有特殊的顺序要求
• 步骤3:LDP被从网络节点中移除
– 没有特殊的顺序要求
• 最终状态:所有节点运行SR,而不运行LDP SR Domain
1 SR
3 4
2
5 6
SR SR
SR SR
SR SR
最简单地迁移方式:LDP到SR假设:• 所有节点可以升级到SR• 所有服务可以升级到over SR
请访问:
cisco.com
segment-routing.net
鸣谢:
Ahmed Bashandy
Robert Hanzl
Steven Luong
Stefano Previdi
Peter Psenak
Thank you.