华为静态路由与BFD联动切换的配置
前言概述
静态路由其配置简单、方便,但其短板也是非常明显的,它无法根据拓扑的变化做出动态的响应。
静态路由无法感知到网络拓扑的变化并做出动态响应,就需要使用一些技术或机制来解决这类问题。
BFD(Bidirectional Forwarding Detection)是双向转发检测,它是一种实现网络可靠性的机制,它可被用于检测网络中的链路状况,IP可达性等,BFD可以与多种协议或机制进行联动,以确保它们更加可靠的工作,例如静态路由、OSPF、ISIS、BGP、VRRP、PIM及MPLS LSP等。
静态路由与BFD实验拓扑
AR2通过以太网链路分别连接R1与R3,在R1与R2之间隔着一台交换机,此交换机不做任何配置,在该网络中发挥着数据帧透传的作用。
实验要求
<1>浮动路由(路由备份)
R2能够访问192.168.1.0网段的PC,在网络正常时,R2到达192.168.1.2的数据包优选R1,当R1与R2之间某段链路发生故障时,R2将数据转发路径自动切换至R3。
为什么用BFD?
当R2与R1间加入交换机机后,R2的GE0/0/0接口或者SW与R2间发生故障,R2能够感知到,会自动切换路径。
但是,R1发生故障或者R1与SW间发生故障,R2是无法感知的,在这种情况下,R2发往192.168.1.2的数据包依然传递给R1,但其实到R1的路由已经不可达,备份路由无法浮现切换,那么网络就中断了。
对于以上情况,可以在R1及R2上部署BFD联动来检测双方直连接口的IP连通性。
BFD配置原理
BFD在R1及R2之间开始工作后,两者会周期性的交互BFD报文,当R1与R2间连通性产生问题时,双方的BFD交互也将发生问题,此时,R1、R2都能通过BFD感知到网络的变化,当我们在R2上配置静态路由时,可将下一跳为R1的静态路由与BFD进行联动,当BFD检测状态为up时,这条静态路由能正常工作,当BFD检测状态为Down时,与之关联的静态路由会立即失效,从而路由备份能够浮现。
实验配置
SW4
#
<Huawei>undo ter monitor
system-view
sysname SW4
vlan batch 10 15 16
inter vlanif 10
ip add 192.168.1.1 24
quit
inter vlanif 15
ip add 10.1.15.4 24
quit
inter vlanif 16
ip add 10.1.16.4 24
quit
inter e0/0/3
port link-type access
port default vlan 10
quit
inter e0/0/1
port link-type access
port default vlan 15
quit
inter e0/0/2
port link-type access
port default vlan 16
quit
ip route-static 10.1.12.0 24 10.1.15.1
AR1
undo terminal monitor
system-view
sys AR1
inter g0/0/1
ip add 10.1.15.1 24
quit
inter g0/0/0
ip add 10.1.12.1 24
ip route-static 192.168.1.0 24 10.1.15.4
AR2
undo terminal monitor
system-view
sys AR2
inter g0/0/0
ip add 10.1.12.2 24
quit
inter g0/0/1
ip add 10.1.23.2 24
quit
ip route-static 192.168.1.0 24 10.1.12.1
AR3
#
system-view
sys AR3
inter g0/0/1
ip add 10.1.16.3 24
quit
inter g0/0/0
ip add 10.1.23.3 24
quit
ip route-static 192.168.1.0 24 10.1.16.4
BFD配置
#
[R1]
bfd
quit
bfd ar1 bind peer-ip 10.1.12.2 //创建一个bfd,名称为ar1,对端ip
discriminator local 200 //该BFD本地会话标识符
discriminator remote 100 //该BFD源端会话标识符
commit //提交配置
#
[R2]
#
bfd
quit
bfd ar2 bind peer-ip 10.1.12.1 //创建一个bfd,名称为ar2,对端ip
discriminator local 100 //该BFD本地会话标识符
discriminator remote 200 //该BFD源端会话标识符
commit //提交配置
ip route-static 192.168.1.0 24 10.1.12.1 track bfd-session ba
ip route-static 192.168.1.0 24 10.1.23.3 preference 100
上一篇: (九)Shell循环控制