关于MPLS TE FRR(Fast Re-Route / 快速重路由)
当 TE tunnel 所经过的节点或链路有失效时,TE 数据库会重新收敛!而这种收敛速度在骨干网上是不可取的!就 TE 本身来看它可以有建立第二条 tunnel 然后用浮动静态做备份或者启用 path-option 20!但最好的方式还是用 TE 的 FRR
全局保护(几乎没有任何厂商能够提供该种保护机制的解决方案)
部分保护(链路和节点保护)
(1) 链路保护(下一跳保护)
黄色作为主链路,其发送数据包的过程是(数据流是通过 TE tunnel 封装的):
r1 --> r2 : 37 | IP-Data
r2 --> r4 : 14 | IP-Data
r4 --> r9 : pop | IP-Data
当主链路出现故障,备份链路就会无缝接替转发数据包:
r1 --> r2 : 27 | IP-Data
r2 --> r6 : 17 | 14 | IP-Data
r6 --> r7 : 22 | 14 | IP-Data
r7 --> r4 : pop | 14 | IP-Data
r4 --> r9 : pop | IP-Data
(2) 节点保护(下下一跳保护)
主链路正常时的发送数据包过程:
r1 --> r2 : 37 | IP-Data
r2 --> r3 : 11 | IP-Data
r3 --> r4 : 14 | IP-Data
r4 --> r9 : pop | IP-Data
当主链路出现故障时,切换到备份链路的发送数据包过程:
r1 --> r2 : 37 | IP-Data
r2 --> r6 : 17 | 14 | IP-Data (注意封装的是下下一跳标签值,即末端 Tunnnel 标签)
r6 --> r7 : 22 | 14 | IP-Data
r7 --> r4 : pop | 14 | IP-Data
r4 --> r9 : pop | IP-Data
FRR Lab:
Point of Local Repair(R2:本地修复点,R3:next-next-hop backup Router)
Marge Point(缝合点)
FRR一定需要用到RRO的,同时默认也是开启的
其中以上两个 tunnel 一定要写显式路径
1、主 tunnel 开启 FRR 功能
2、PLR(Point of Loacl Repair)的主 tunnel 经过的物理接口(e0/0.23)下启用TE backup
r1(config)#int tunnel 14
r1(config-if)#tunnel mpls traffic-eng fast-reroute
r2(config)#int e0/0.23
r2(config-subif)#mpls traffic-eng backup-path tunnel 24
r1#show mpls traffic-eng tunnels tunnel 15(可以发现 tunnel 15 写的显式路径依然没有改变的)
r1#traceroute 5.5.5.5
Type escape sequence to abort.
Tracing the route to 5.5.5.5
1 12.1.1.2 [MPLS: Label 16 Exp 0] 12 msec 12 msec 4 msec
2 23.1.1.3 [MPLS: Label 20 Exp 0] 8 msec 8 msec 8 msec
3 34.1.1.4 [MPLS: Label 18 Exp 0] 4 msec 8 msec 8 msec
4 45.1.1.5 8 msec * 4 msec
r1#traceroute 5.5.5.5
Type escape sequence to abort.
Tracing the route to 5.5.5.5
1 12.1.1.2 [MPLS: Label 16 Exp 0] 8 msec 8 msec 4 msec
2 26.1.1.6 [MPLS: Labels 19/18 Exp 0] 0 msec 12 msec 0 msec
3 67.1.1.7 [MPLS: Labels 18/18 Exp 0] 4 msec 8 msec 8 msec
4 47.1.1.4 [MPLS: Label 18 Exp 0] 0 msec 8 msec 8 msec
5 45.1.1.5 8 msec * 0 msec
把 R2 的 e0/0.23 断开在真实设备当中能够做到无缝切换到 Backup tunnel 转发数据,而模拟器会丢失 2~3 个包