应用场景:
当您的网络中部署了策略路由(PBR)这种功能的时候,出于可靠性,故障能快速恢复的考虑,您希望有一种技术,能够在策略路由的下一跳对应的链路,
或者是中间某个设备节点故障的时候能够预先感知到,将流量切换到冗余备份的路径上面,而不是将数据转发到已经故障的链路上面去,导致业务中断,此时就可以考虑采用策略路由与BFD联动功能解决这个问题。当BFD检测到邻居链路或者设备已经故障,断开的时候,就会通知策略路由模块当前对应的该条策略路由失效,而且触发切换,可以是到冗余备份的另一条策略路由,也可以是走普通路由表转发数据。BFD的检测时间非常短,所以切换几乎是在1s内完成的,对应业务断流时间可接受,可谓优势明显,不过他需要对端邻居设备也需要支持并配置BFD功能。
一、组网需求
三层交换机SWA、SWB通过二层交换机switch 互连,在设备上配置策略路由来建立转发路径,同时使能允许策略路由在双方接口上关联BFD应用。在SWB和二层交换机switch之间的链路发生故障后,BFD能够快速检测并通告策略路由,触发系统删除该策略路由,从而避免选路错误。
二、组网拓扑
三、配置要点
1、配置IP地址及PBR
2、配置PBR关联BFD
四、配置步骤
配置SWA
1、在SWA上配置接口g2/1接口IP、接口的BFD会话参数
SWA>en
SWA# configure
terminal
SWA(config)#
interface GigabitEthernet2/1
SWA(config-if)#
no switchport
SWA(config-if)#
ip address 192.168.3.1 255.255.255.0
SWA(config-if)#
bfd interval 500 min_rx 500 multiplier 5 ------>配置BFD时间参数,该命令同时启用了接口的BFD功能,因此必须配置; 这里的 500/500/3 为推荐配置,间隔500ms发送一个探测报文,连续3个没收到回应宣告链路失败。
SWA(config-if)#
no bfd echo ------>默认是bfd echo模式,在某些时候(如中间连接FW或对接友商设备的时候)可能吧echo报文过滤导致BFD无法建立成功,推荐关闭
2、配置接口ge1/1的IP
SWA(config-if)#
exit
SWA(config)#
interface GigabitEthernet1/1
SWA(config-if)#
no switchport
SWA(config)# ip
address 192.168.1.1 255.255.255.0
3、配置策略路由并关联BFD来检测192.168.3.2邻居
SWA(config)# ip
access-list extended 100
SWA(config-ext-nacl)#
permit ip any 192.168.2.0 0.0.0.255
SWA(config-ext-nacl)#
deny ip any any
SWA(config-ext-nacl)#
exit
SWA(config)#
route-map Example1 permit 10
SWA(config-route-map)#
match ip address 100
SWA(config-route-map)#
set ip precedence priority
SWA(config-route-map)#set
ip next-hop verify-availability 192.168.3.2 bfd GigabitEthernet 0/1 192.168.3.2
SWA(config)# end
SWA#wr
配置SWB
1、在SWB上配置接口g2/1接口IP、接口的BFD会话参数
SWB# configure
terminal
SWB(config)#
interface GigabitEthernet 2/1
SWB(config-if)#
no switchport
SWB(config-if)#
ip address 192.168.3.2 255.255.255.0
SWB(config-if)#
bfd interval 500 min_rx 500 multiplier 5 ------>配置BFD时间参数,该命令同时启用了接口的BFD功能,因此必须配置; 这里的 500/500/3 为推荐配置,间隔500ms发送一个探测报文,连续3个没收到回应宣告链路失败。
SWB(config-if)#
no bfd echo ------>默认是bfd echo模式,在某些时候(如中间连接FW或对接友商设备的时候)可能吧echo报文过滤导致BFD无法建立成功,推荐关闭
2、配置接口ge1/1的IP
SWB(config-if)#
exit
SWB(config)#
interface GigabitEthernet1/1
SWB(config-if)#
no switchport
SWB(config)# ip
address 192.168.2.1 255.255.255.0
3、配置策略路由并关联BFD来检测192.168.3.1邻居
SWB(config)# ip
access-list extended 100
SWB(config-ext-nacl)#
permit ip any 192.168.1.0 0.0.0.255
SWB(config-ext-nacl)#
deny ip any any
SWB(config-ext-nacl)#
exit
SWB(config)#
route-map Example1 permit 10
SWB(config-route-map)#
match ip address 100
SWB(config-route-map)#
set ip precedence priority
SWB(config-route-map)#set
ip next-hop verify-availability 192.168.3.1 bfd GigabitEthernet 2/1 192.168.3.1
SWB(config)# end
SWB#
重要说明:
1)、BFD功能不支持单向检测,如果要配置BFD功能,两端设备必须同时需要支持BFD功能;
2)、在配置BFD功能时,推荐将BFD
echo功能关闭;
五、配置验证
1、查看SWA BFD会话建立情况
Ruijie# show bfd
neighbors details
OurAddr NeighAddr LD/RD RH/RS Holdown(mult) State Int
192.168.3.1 192.168.3.2 1/2 Up 532
(3 ) Up Ge2/1
Local Diag: 0,
Demand mode: 0, Poll bit: 0
MinTxInt:
200000, MinRxInt: 200000, Multiplier: 5
Received
MinRxInt: 50000, Received Multiplier: 3
Holdown (hits):
600(22), Hello (hits): 200(84453)
Rx Count: 49824,
Rx Interval (ms) min/max/avg: 208/440/332
Tx Count: 84488,
Tx Interval (ms) min/max/avg: 152/248/196
Registered
protocols: PBR
Uptime: 02:18:49
Last packet:
Version: 1 -
Diagnostic: 0
I Hear You bit:
1 -
Demand bit: 0
Poll bit: 0 -
Final bit: 0
Multiplier: 3 -
Length: 24
My Discr.: 2 -
Your Discr.: 1
Min tx interval:
50000 -
Min rx interval: 50000
Min Echo
interval: 0
2、查看SWB BFD会话建立情况
Ruijie# show bfd
neighbors details
OurAddr NeighAddr LD/RD RH/RS Holdown(mult) State Int
192.168.3.2 192.168.3.1 2/1 Up 532
(5 ) Up Ge2/1
Local Diag: 0,
Demand mode: 0, Poll bit: 0
MinTxInt: 50000,
MinRxInt: 50000, Multiplier: 3
Received
MinRxInt: 500000, Received Multiplier: 5
Holdown (hits):
600(22), Hello (hits): 200(84453)
Rx Count: 49824,
Rx Interval (ms) min/max/avg: 209/440/332 last: 66 ms ago
Tx Count: 84488,
Tx Interval (ms) min/max/avg: 153/249/197 last: 190 ms ago
Registered
protocols: PBR
Uptime: 02:18:49
Last packet:
Version: 1 -
Diagnostic: 0
I Hear You bit:
1 -
Demand bit: 0
Poll bit: 0 -
Final bit: 0
Multiplier: 5 -
Length: 24
My Discr.: 1 -
Your Discr.: 2
Min tx interval:
500000 - Min rx interval:
500000
Min Echo
interval: 0
相关信息的意思说明如下:
|
字段 |
说明 |
|
OurAddr |
会话本地的IP地址 |
|
NeighAddr |
会话邻居的IP地址 |
|
LD/RD |
会话本地和远端标识 |
|
RH/RS |
会话对端当前状态 |
|
Holdown(mult) |
会话本地未接收到hello报文的时间及会话超时检测次数 |
|
State |
会话当前状态 |
|
Int |
会话所在的接口号 |
|
Session state is UP and using echo function with 50 ms
interval |
会话是否采用echo模式以及echo的时间间隔(该信息只有在工作在Echo情况下才会显示) |
|
Local Diag |
会话的诊断信息 |
|
Demand mode |
会话查询模式是否激活 |
|
Poll bit |
会话的配置是否修订 |
|
MinTxInt |
会话本地配置的最小发送间隔 |
|
MinRxInt |
会话本地配置的最小接收间隔 |
|
Multiplier |
会话本地配置的超时检测次数 |
|
Received MinRxInt |
会话远端配置的最小发送间隔 |
|
Received Multiplier |
会话远端配置的超时检测次数 |
|
Holdown (hits) |
会话检测时间及检测到超时的次数 |
|
Hello (hits) |
会话协商后hello保文的接收最小间隔 |
|
Rx Count |
会话本地接收到BFD报文的个数 |
|
Rx Interval (ms) min/max/avg |
会话本地接收的最小间隔,最大间隔,平均间隔 |
|
Tx Count |
会话本地发送到BFD报文的个数 |
|
Tx Interval (ms) min/max/avg |
会话本地发送的最小间隔,最大间隔,平均间隔 |
|
Registered protocols |
注册到该会话的应用协议类型 |
|
Uptime |
会话保持UP的时间 |
|
Last packet |
会话本地收到的最后一个BFD报文信息 |