需要增强网络可靠性时,利用静态路由绑定BFD会话,可以快速检测链路故障,提高路由的收敛速度。
组网需求
如图1所示:
· RouterA通过SwitchC和RouterB相连。
· 要求RouterA可以与其他Router和外部网络进行正常通信。
· 利用BFD检测RouterA和RouterB之间的链路。
图1 配置BFD for IPv4静态路由组网图
由于网络拓扑比较简单,所以仅仅配置静态缺省路由就可以正常通信。另外,为缺省静态路由绑定BFD会话,利用BFD检测链路故障,可以为静态路由提供保障机制。
配置思路
采用如下思路配置BFD for IPv4静态路由:
在RouterA和RouterB上配置BFD会话,检测RouterA和RouterB之间的链路。
配置RouterA到外部的缺省路由并绑定BFD会话。
数据准备
为完成此配置例,需要准备如下数据:
BFD检测的对端IP地址。
BFD会话的本地标识符和远端标识符。
BFD控制报文的最小发送间隔、最小接收间隔、本地检测倍数等都使用缺省值。
操作步骤
1. 配置各接口IP地址(略)
2. 配置RouterA和RouterB之间的BFD会话
# 在RouterA上配置与RouterB之间的BFD会话。
<RouterA> system-view
[RouterA] bfd
[RouterA-bfd] quit
[RouterA] bfd aa bind peer-ip 1.1.1.2
[RouterA-bfd-session-aa] discriminator local 10
[RouterA-bfd-session-aa] discriminator remote 20
[RouterA-bfd-session-aa] commit
[RouterA-bfd-session-aa] quit
# 在RouterB上配置与RouterA之间的BFD Session。
<RouterB> system-view
[RouterB] bfd
[RouterB-bfd] quit
[RouterB] bfd bb bind peer-ip 1.1.1.1
[RouterB-bfd-session-bb] discriminator local 20
[RouterB-bfd-session-bb] discriminator remote 10
[RouterB-bfd-session-bb] commit
[RouterB-bfd-session-bb] quit
3. 配置静态缺省路由并绑定BFD会话
# 在RouterA上配置到外部网络的静态缺省路由,并绑定BFD会话aa。
[RouterA] ip route-static 0.0.0.0 0 1.1.1.2 track bfd-session aa
4. 验证配置结果
# 配置完成后,在RouterA和RouterB上执行display bfd session all命令,可以看到BFD会话已经建立,且状态为Up。在系统视图下执行display current-configuration | include bfd命令,可以看到静态路由已经绑定BFD会话。
以RouterA上的显示为例。
[RouterA] display bfd session all
--------------------------------------------------------------------------------
Local Remote PeerIpAddr State Type InterfaceName
--------------------------------------------------------------------------------
10 20 1.1.1.2 Up S_IP_PEER -
--------------------------------------------------------------------------------
Total UP/DOWN Session Number : 1/0
[RouterA] display current-configuration | include bfd
bfd
bfd aa bind peer-ip 1.1.1.2
ip route-static 0.0.0.0 0.0.0.0 1.1.1.2 track bfd-session aa
# 在RouterA上查看IP路由表,静态路由存在于路由表中。
[RouterA] display ip routing-tableRoute Flags: R - relay, D - download
to fib
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 3 Routes : 3
Destination/Mask Proto Pre Cost Flags NextHop Interface
0.0.0.0/0 Static 60 0 RD 1.1.1.2 GigabitEthernet1/0/0
1.1.1.0/24 Direct 0 0 D 1.1.1.1 GigabitEthernet1/0/0
1.1.1.1/32 Direct 0 0 D 127.0.0.1 GigabitEthernet1/0/0
# 对RouterB的接口GE1/0/0执行shutdown命令模拟链路故障。
[RouterB] interface GigabitEthernet 1/0/0
[RouterB-GigabitEthernet1/0/0] shutdown
# 查看RouterA的路由表,发现静态缺省路由0.0.0.0/0也不存在了。因为静态缺省路由绑定了BFD会话,当BFD检测到故障后,就会迅速通知所绑定的静态路由不可用。如果未配置静态路由绑定BFD会话,静态缺省路由0.0.0.0/0不会从路由表删除,可能会造成流量损失。
[RouterA] display ip routing-tableRoute Flags: R - relay, D - download
to fib
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 2 Routes : 2
Destination/Mask Proto Pre Cost Flags NextHop Interface
1.1.1.0/24 Direct 0 0 D 1.1.1.1 GigabitEthernet1/0/0
1.1.1.1/32 Direct 0 0 D 127.0.0.1 GigabitEthernet1/0/0
配置文件
RouterA的配置文件
#
sysname RouterA
#
bfd
#
interface GigabitEthernet1/0/0
ip address 1.1.1.1 255.255.255.0
#
bfd aa bind peer-ip 1.1.1.2
discriminator local 10
discriminator remote 20
commit
#
ip route-static 0.0.0.0 0.0.0.0 1.1.1.2 track bfd-session aa
#
return
RouterB的配置文件
#
sysname RouterB
#
bfd
#
interface GigabitEthernet1/0/0
ip address 1.1.1.2 255.255.255.0
#
interface Pos2/0/0
link-protocol ppp
ip address 2.2.2.2 255.255.255.0
#
bfd bb bind peer-ip 1.1.1.1
discriminator local 20
discriminator remote 10
commit
#
return