应用场景:

       当您的网络中部署了策略路由(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报文信息