静态路由是一种需要管理员手工配置的特殊路由。
静态路由在不同网络环境中有不同的目的:
当网络结构比较简单时,只需配置静态路由就可以使网络正常工作。
在复杂网络环境中,配置静态路由可以改进网络的性能,并可为重要的应用保证带宽。
静态路由可在VPN实例中使用,主要用于VPN路由的管理。
与动态路由协议不同,静态路由自身没有检测机制,当网络发生故障的时候,需要管理员介入。BFD for静态路由特性可为静态路由绑定BFD会话,利用BFD会话来检测静态路由所在链路的状态。
BFD for静态路由可为每条静态路由绑定一个BFD会话,在自身满足参与选路条件的前提下,静态路由最终是否能参与选路还受BFD会话检测状态影响。
当某条静态路由上的BFD会话检测到链路故障(BFD会话检测状态为Down)时,BFD会将故障上报系统,系统将这条路由从IP路由表中删除。
当某条静态路由上的BFD会话检测到故障的链路重新建立成功(BFD会话检测状态为Up)时,BFD会上报系统,系统将这条路由加入IP路由表。
缺省情况下,当BFD会话状态处于Admin down(shutdown命令触发)或邻居Admin down时,与该BFD会话绑定的静态路由可以参与选路。但是在系统整机重启场景下,BFD会话需要重新协商,静态路由是否能参与选路以BFD重新协商状态为准。
BFD for静态路由有单跳检侧和多跳检测两种方式。
单跳检测
对于非迭代的静态路由,所配置的出接口和下一跳就是直连下一跳信息。这样,BFD会话的出接口即静态路由的出接口,对端地址即路由的下一跳。
多跳检测
对于迭代的静态路由,仅配置了下一跳,需要迭代出直连下一跳和出接口。这样,BFD会话的对端地址为路由的原始下一跳,出接口则不限。一般情况下,迭代的原始下一跳是多跳的,非直接可达,故支持迭代的静态路由进行多跳检测。
注:如果路由的下一跳信息不是直接可达的,那么该路由就不能用来指导转发,系统会根据下一跳信息计算出一个实际的出接口和下一跳,这个过程就叫做路由迭代。另外,使用display ip routing-table命令查看路由时,如果Flags字段显示为R,则表示路由为迭代路由,否则,为非迭代路由。
如图中所示,S1通过S2和NMS跨网段相连。在S1上通过静态路由与NMS进行正常通信。在S1和S2之间实现毫秒级故障感知,提高收敛速度。
采用如下思路配置IPv4静态路由与静态BFD联动:
在S1和S2上配置BFD Session,在S1和S2之间实现毫秒级故障感知,提高收敛速度。
配置S1到NMS的静态路由并绑定BFD Session,实现毫秒级故障感知,提高收敛速度。
实验步骤
# 配置S1。S2的配置与S1类似。
system-view
Enter system view, return user view with Ctrl+Z.
[Huawei]sysname S1
[S1]undo info-center enable
Info: Information center is disabled.
[S1]vlan 10
[S1-vlan10]quit
[S1]interface GigabitEthernet 0/0/1
[S1-GigabitEthernet0/0/1]port link-type trunk
[S1-GigabitEthernet0/0/1]port trunk allow-pass vlan 10
[S1-GigabitEthernet0/0/1]quit
2. 配置各VLANIF接口的IP地址
# 配置S1。S2的配置与S1类似。
[S1]interface Vlanif 10
[S1-Vlanif10]ip address 10.1.1.1 24
[S1-Vlanif10]quit
3. 配置S1和S2间的BFD会话
# 在S1配置与S2间的BFD Session。
[S1]bfd
[S1-bfd]quit
[S1]bfd aa bind peer-ip 10.1.1.2
[S1-bfd-session-aa]discriminator local 10
[S1-bfd-session-aa]discriminator remote 20
[S1-bfd-session-aa]commit
[S1-bfd-session-aa]quit
# 在S2配置与S1之间的BFD Session。
[S2]bfd
[S2-bfd]quit
[S2]bfd bb bind peer-ip 10.1.1.1
[S2-bfd-session-bb]discriminator local 20
[S2-bfd-session-bb]discriminator remote 10
[S2-bfd-session-bb]commit
[S2-bfd-session-bb]quit
4. 配置静态路由并绑定BFD会话
# 在S1配置到外部网络的静态路由,并绑定BFD会话aa。
[S1]ip route-static 10.2.2.0 24 10.1.1.2 track bfd-session aa
5. 验证配置结果
# 配置完成后,在S1和S2上执行display bfd session all命令,可以看到BFD会话已经建立,且状态为Up。S1上的显示为例。
# 在S1查看IP路由表,静态路由存在于路由表中。
# 对S2接口GigabitEthernet0/0/1执行shutdown命令模拟链路故障。
[S2]interface GigabitEthernet 0/0/1
[S2-GigabitEthernet0/0/1]shutdown
[S2-GigabitEthernet0/0/1]quit
# 查看S1的路由表,发现静态路由10.2.2.0/24也不存在了。因为静态路由绑定了BFD会话,当BFD检测到故障后,就会迅速通知所绑定的静态路由不可用。
# 对S2接口GigabitEthernet0/0/1执行undo shutdown命令模拟链路恢复正常。
[S2]interface GigabitEthernet 0/0/1
[S2-GigabitEthernet0/0/1]undo shutdown
[S2-GigabitEthernet0/0/1]quit
# 查看S1的路由表,发现静态路由10.2.2.0/24重新出现在路由表中。因为当BFD检测到链路恢复正常后,就会迅速通知所绑定的静态路由重新生效。
S2 配置
system-view
Enter system view, return user view with Ctrl+Z.
[Huawei]s
[Huawei]sysname S2
[S2]undo info-center enable
Info: Information center is disabled.
[S2]vlan batch 10 20
Info: This operation may take a few seconds. Please wait for a moment...done.
[S2]interface GigabitEthernet 0/0/1
[S2-GigabitEthernet0/0/1]port link-type trunk
[S2-GigabitEthernet0/0/1]port trunk allow-pass vlan 10
[S2-GigabitEthernet0/0/1]interface GigabitEthernet 0/0/2
[S2-GigabitEthernet0/0/2]port link-type trunk
[S2-GigabitEthernet0/0/2]port trunk allow-pass vlan 20
[S2-GigabitEthernet0/0/2]quit
[S2]interface Vlanif 10
[S2-Vlanif10]ip address 10.1.1.2 24
[S2-Vlanif10]quit
[S2]interface Vlanif 20
[S2-Vlanif20] ip address 10.2.2.2 24
[S2-Vlanif20]quit
[S2]bfd
[S2-bfd]quit
[S2]bfd bb bind peer-ip 10.1.1.1
[S2-bfd-session-bb]discriminator local 20
[S2-bfd-session-bb]discriminator remote 10
[S2-bfd-session-bb]commit
[S2-bfd-session-bb]quit
[S2]interface GigabitEthernet 0/0/1
[S2-GigabitEthernet0/0/1]shutdown
[S2-GigabitEthernet0/0/1]quit
[S2]interface GigabitEthernet 0/0/1
[S2-GigabitEthernet0/0/1]undo shutdown
[S2-GigabitEthernet0/0/1]quit
NMS 配置
system-view
Enter system view, return user view with Ctrl+Z.
[Huawei]undo info-center enable
Info: Information center is disabled.
[Huawei]interface GigabitEthernet 0/0/1
[Huawei-GigabitEthernet0/0/1]ip address 10.2.2.1 24
[Huawei-GigabitEthernet0/0/1]quit