配置动态BFD检测LDP Tunnel示例
本例介绍了动态BFD检测LDP Tunnel的配置过程,包括配置LDP FRR和配置BFD for LDP Tunnel。
组网需求
在采用LDP LSP承载其他应用(如VPN等)的场景中,为了提升可靠性,通常部署LDP FRR以及上层应用的保护机制(如VPN FRR、VPN等价负载分担等)。由于BFD for LDP LSP只能检测主LSP的故障,并触发LSP流量切换至FRR LSP,因此如果主LSP和FRR LSP同时故障,则BFD检测机制将失效,只能等LDP自身感知到FRR LSP发生故障之后,才能触发LDP上层应用的保护倒换。这会导致大量的流量丢失。
为了解决上述问题,即:当BFD FOR LDP LSP无法满足主备LSP故障检测导致大量丢包的时,需要配置动态BFD检测LDP Tunnel,即创建动态BFD会话同时检测主LSP和FRR LSP。这样,当主LSP和FRR LSP均发生故障时,BFD也能快速感知并触发LDP的上层应用进行保护倒换,减少流量丢失。
如图4-14所示,从LSRA到LSRD建立一条LDP LSP,为了保障可靠性,配置LDP Auto FRR,则主LSP路径为LSRA->LSRC->LSRD,FRR LSP路径为LSRA->LSRB->LSRC->LSRD。要求配置动态BFD检测LDP Tunnel,即:动态创建一个可以同时检测主LSP和FRR LSP的BFD会话。
设备 |
接口 |
IP地址 |
---|---|---|
LSRA |
Loopback0 |
1.1.1.9/32 |
GigabitEthernet0/1/0 |
10.1.1.1/24 |
|
GigabitEthernet0/1/1 |
10.1.2.1/24 |
|
LSRB |
Loopback0 |
2.2.2.9/32 |
GigabitEthernet0/1/0 |
10.1.1.2/24 |
|
GigabitEthernet0/1/1 |
10.1.3.1/24 |
|
LSRC |
Loopback0 |
3.3.3.9/32 |
GigabitEthernet0/1/0 |
10.1.4.1/24 |
|
GigabitEthernet0/1/1 |
10.1.2.2/24 |
|
GigabitEthernet0/1/2 |
10.1.3.2/24 |
|
LSRD |
Loopback0 |
4.4.4.9/32 |
GigabitEthernet0/1/0 |
10.1.4.2/24 |
操作步骤
- 配置各接口的IP地址,具体配置过程请参见配置文件
- 配置IS-IS基本功能,具体配置过程请参见配置文件
- 配置LDP LSP
# 配置LSRA。
<LSRA> system-view
[~LSRA] mpls lsr-id 1.1.1.1
[*LSRA] mpls
[*LSRA-mpls] quit
[*LSRA] mpls ldp
[*LSRA-mpls-ldp] quit
[*LSRA] interface GigabitEthernet 0/1/0
[*LSRA-GigabitEthernet0/1/0] mpls
[*LSRA-GigabitEthernet0/1/0] mpls ldp
[*LSRA-GigabitEthernet0/1/0] quit
[*LSRA] interface GigabitEthernet 0/1/1
[*LSRA-GigabitEthernet0/1/1] mpls
[*LSRA-GigabitEthernet0/1/1] mpls ldp
[*LSRA-GigabitEthernet0/1/1] quit
# LSRB、LSRC和LSRD上的配置与LSRA上相似,具体配置过程请参见配置文件。
- 配置LDP Auto FRR
# 在LSRA上使能IS-IS Auto FRR。
[~LSRA] isis 1
[*LSRA-isis-1] frr
[*LSRA-isis-1-frr] loop-free-alternate level-2
[*LSRA-isis-1-frr] quit
[*LSRA-isis-1] commit
[~LSRA-isis-1] quit
使能IS-IS Auto FRR后,LDP Auto FRR自动生效。此时,在LSRA上执行命令display mpls lsp,可以看到主LSP和FRR LSP的建立情况。
[~LSRA] display mpls lsp
------------------------------------------------------------------------------- LSP Information: LDP LSP ------------------------------------------------------------------------------- FEC In/Out Label In/Out IF Vrf Name 1.1.1.9/32 3/NULL -/- 2.2.2.9/32 NULL/3 -/GE0/1/1 2.2.2.9/32 32833/3 -/GE0/1/1 **LDP FRR** NULL/32835 -/GE0/1/0 **LDP FRR** 32833/32835 -/GE0/1/0 3.3.3.9/32 NULL/3 -/GE0/1/1 3.3.3.9/32 32837/3 -/GE0/1/1 **LDP FRR** NULL/32837 -/GE0/1/0 **LDP FRR** 32837/32837 -/GE0/1/0 4.4.4.9/32 NULL/32832 -/GE0/1/1 4.4.4.9/32 32836/32832 -/GE0/1/1 **LDP FRR** NULL/32836 -/GE0/1/0 **LDP FRR** 32836/32836 -/GE0/1/0 10.1.3.0/24 32834/3 -/GE0/1/0 10.1.3.0/24 32834/3 -/GE0/1/1 10.1.4.0/24 32835/3 -/GE0/1/1
- 使能全局BFD能力
# 配置LSRA。
[~LSRA] bfd
[*LSRA-bfd] commit
[~LSRA-bfd] quit
# 配置LSRD。
[~LSRD] bfd
[*LSRD-bfd] commit
[~LSRD-bfd] quit
- 使能MPLS动态创建BFD会话功能
# 配置LSRA。
[~LSRA] mpls
[~LSRA-mpls] mpls bfd enable
[*LSRA-mpls] commit
[~LSRA-mpls] quit
# 配置LSRD。
[~LSRD] bfd
[~LSRD-bfd] mpls-passive
[*LSRD-bfd] commit
[~LSRD-bfd] quit
- 配置动态BFD检测LDP Tunnel的触发策略
# 在LSRA上创建FEC列表并添加FEC节点4.4.4.9,即:只触发BFD检测从LSRA到LSRD的LDP Tunnel。
[~LSRA] fec-list list1
[*LSRA-fec-list-list1] fec-node 4.4.4.9
[*LSRA-fec-list-list1] commit
[~LSRA-fec-list-list1] quit
# 在LSRA上指定动态触发BFD会话的FEC列表。
[~LSRA] mpls
[~LSRA-mpls] mpls bfd-trigger-tunnel fec-list list1
[*LSRA-mpls] commit
[~LSRA-mpls] quit
- 验证配置结果
# 在LSRA上执行display mpls bfd session protocol ldp bfd-type ldp-tunnel verbose命令,可以看到动态创建的BFD会话状态为Up。
[~LSRA] display mpls bfd session protocol ldp bfd-type ldp-tunnel verbose
-------------------------------------------------------------------------------- BFD Information: LDP Tunnel -------------------------------------------------------------------------------- No : 1 LspIndex : 0 Protocol : LDP Fec : 4.4.4.9 Bfd-Discriminator : 16389 ActTx : 10 ActRx : 10 ActMulti : 3 Bfd-State : Up Time : 800 sec
配置文件
LSRA的配置文件
# sysname LSRA # bfd # mpls lsr-id 1.1.1.9 # mpls mpls bfd enable mpls bfd-trigger-tunnel fec-list list1 # fec-list list1 fec-node 4.4.4.9 # mpls ldp # ipv4-family # isis 1 is-level level-2 network-entity 10.0000.0000.0001.00 frr loop-free-alternate level-1 loop-free-alternate level-2 # interface GigabitEthernet0/1/0 undo shutdown ip address 10.1.1.1 255.255.255.0 isis enable 1 mpls mpls ldp # interface GigabitEthernet0/1/1 undo shutdown ip address 10.1.2.1 255.255.255.0 isis enable 1 mpls mpls ldp # interface LoopBack0 ip address 1.1.1.9 255.255.255.255 isis enable 1 # return
LSRB的配置文件
# sysname LSRB # mpls lsr-id 2.2.2.9 # mpls lsp-trigger all # mpls ldp # ipv4-family # isis 1 is-level level-2 network-entity 10.0000.0000.0002.00 # interface GigabitEthernet0/1/0 undo shutdown ip address 10.1.1.2 255.255.255.0 isis enable 1 mpls mpls ldp # interface GigabitEthernet0/1/1 undo shutdown ip address 10.1.3.1 255.255.255.0 isis enable 1 mpls mpls ldp # interface LoopBack0 ip address 2.2.2.9 255.255.255.255 isis enable 1 # return
LSRC的配置文件
# sysname LSRC # mpls lsr-id 3.3.3.9 # mpls lsp-trigger all # mpls ldp # ipv4-family # isis 1 is-level level-2 network-entity 10.0000.0000.0003.00 # interface GigabitEthernet0/1/0 undo shutdown ip address 10.1.4.1 255.255.255.0 isis enable 1 mpls mpls ldp # interface GigabitEthernet0/1/1 undo shutdown ip address 10.1.2.2 255.255.255.0 isis enable 1 mpls mpls ldp # interface GigabitEthernet0/1/2 undo shutdown ip address 10.1.3.2 255.255.255.0 isis enable 1 mpls mpls ldp # interface LoopBack0 ip address 3.3.3.9 255.255.255.255 isis enable 1 # return
LSRD的配置文件
# sysname LSRD # bfd mpls-passive # mpls lsr-id 4.4.4.9 # mpls lsp-trigger all # mpls ldp # ipv4-family # isis 1 is-level level-2 network-entity 10.0000.0000.0004.00 # interface GigabitEthernet0/1/0 undo shutdown ip address 10.1.4.2 255.255.255.0 isis enable 1 mpls mpls ldp # interface LoopBack0 ip address 4.4.4.9 255.255.255.255 isis enable 1 # return