配置双向转发检测
BFD (Bidirectional Forwarding Detection)协议是一种快速检测转发路径故障的机制。BFD以毫秒为单位检测路径故障。BFD is used with dynamic routing protocols.
在BFD操作中,路由对等体按照约定的时间间隔交换BFD报文。如果在协商的时间间隔加上宽限期内没有收到对等体的报文,则认为该对等体已死亡,并向已注册的路由协议集发送通知。然后,路由协议重新计算最佳路径并重新编程路由表。与路由协议提供的定时器相比,BFD支持更小的时间间隔,从而更快地检测到故障。
Citrix ADC设备支持对以下路由协议进行BFD检测:BGP (IPv4和IPv6)、OSPFv2 (IPv4)和OSPFv3 (IPv6)。Citrix ADC设备中的BFD支持符合rfc 5880、5881和5883。
配置双向转发检测的注意事项
配置BFD前,需要考虑以下几点:
- 请了解rfc 5880、5881和5883中BFD的不同组成部分。
- Citrix ADC设备支持以下路由协议的BFD特性:
- BGP (IPv4和IPv6)
- OSPFv2 (IPv4)
- OSPFv3 (IPv6)
- 以下路由协议不支持Citrix ADC设备上的BFD:
- 伊西斯
- RIP (IPv4)
- RIPng (IPv6)
- Citrix ADC设备不支持以下BFD特性:
- BFD回声模式
- BFD身份验证
- BFD需求异步模式
- BFD间隔和BFD Rx定时器的最小值为100毫秒。
- 当BFD应用于IP地址为共享的拓扑(例如,具有SNIP地址的二层高可用性设置或具有条带IP地址的集群设置)时,由于BFD故障检测时间(以毫秒为单位)小于HA故障检测间隔(3 ~ 4秒),在故障切换过程中,BFD会导致活动会话断开。因此,Citrix建议在二层HA拓扑中使用Graceful restart,因为在故障转移过程中路由会被保留。
配置步骤
在Citrix ADC设备上配置BFD包括以下任务:
- 配置BFD参数
- 配置动态路由协议BFD支持
配置BFD参数
Citrix ADC设备为单跳会话、IPv4多跳会话和IPv6多跳会话提供单独的BFD会话参数。如果没有为某一类型的会话配置BFD参数,则该会话采用缺省值。
对于单跳会话、IPv4多跳会话和IPv6多跳会话,各BFD参数的缺省值相同。BFD各参数的缺省值如下表所示。
BFD参数名称 | 默认值 |
---|---|
时间间隔 | 750毫秒 |
最小的处方 | 500毫秒 |
乘数 | 3. |
重要的是:
Citrix设备中的Mellanox网卡初始化大约需要1500毫秒。对于具有Mellanox网卡的Citrix ADC设备,必须将BFD定时器设置为超过1500毫秒。Citrix建议将BFD定时器设置为3000ms:
- 间隔Tx = 600毫秒
- 最小Rx = 600 ms
- 倍数= 5
Configuring BFD Parameters for a Single Hop Session
使用命令配置单跳会话的BFD参数VTYSH
命令行,在命令提示符处,按所示顺序键入以下命令:
命令 | 指定 |
---|---|
vtysh |
显示VTYSH 命令提示符。 |
配置终端 |
进入全局配置模式。 |
接口vlan ID> |
进入接口配置模式。 |
BFD单跳对等体间隔 |
Configure the BFD parameters on the specified interface. |
示例配置:
> vtysh ns# configure terminal ns(config)# interface vlan3 ns(config-if)# BFD单跳对等体间隔200 minrx 200 multiplier 5 ns(config-if)# exit
配置IPv4多跳BFD参数
配置IPv4多跳会话的BFD参数VTYSH
命令行,在命令提示符处,按所示顺序键入以下命令:
命令 | 指定 |
---|---|
vtysh |
显示VTYSH 命令提示符。 |
配置终端 |
进入全局配置模式。 |
BFD multihop peer |
配置IPv4多跳会话的BFD参数。 |
示例配置:
> vtysh ns# configure terminal ns(config)# BFD multihop-peer 20.20.20.138 interval 300 minrx 300 multiplier 5 ns(config)# exit
配置IPv6多跳BFD参数
To configure BFD parameters for IPv6 multiple hop sessions by using theVTYSH
命令行,在命令提示符处,按所示顺序键入以下命令:
命令 | 指定 |
---|---|
vtysh |
显示VTYSH 命令提示符。 |
配置终端 |
进入全局配置模式。 |
BFD multihop peer ipv6 |
配置IPv6多跳会话的BFD参数。 |
示例配置:
> vysh ns(config)# BFD multihop-peer ipv6 20fe:125::138 interval 500 minrx 500 multiplier 5 ns(config)# exit
配置动态路由协议BFD支持
可以对对等体的某一会话类型启用针对某一动态路由协议的BFD。例如单跳和多跳。Citrix ADC设备将相关的BFD参数设置应用到会话。
Configuring BFD for an IPv4 BGP Single Hop Session
配置IPv4 BGP单跳会话与BFD联动VTYSH
命令行,在命令提示符处,按所示顺序键入以下命令:
命令 | 指定 |
---|---|
vtysh |
显示VTYSH 命令提示符。 |
配置终端 |
进入全局配置模式。 |
路由器BGP |
BGP自治系统。asnumber 是必选参数。 |
邻居 |
使用指定自治系统邻居的IPv4地址更新IPv4 BGP表。 |
Neighbor |
对指定邻居启用BFD功能。 |
示例配置:
> vtysh ns# configure terminal ns(config)#router BGP 1 ns(config-router)#neighbor 20.20.20.138 remote-as 1 ns(config-router)#neighbor 20.20.20.138 fall-over BFD ns(config-router)#redistribute kernel ns(config-router)#exit
配置IPv4 BGP多跳BFD
配置IPv4 BGP多跳会话与BFD联动VTYSH
命令行,在命令提示符处,按所示顺序键入以下命令:
命令 | 指定 |
---|---|
vtysh |
显示VTYSH 命令提示符。 |
配置终端 |
进入全局配置模式。 |
路由器BGP |
BGP自治系统。asnumber 是必选参数。 |
邻居 |
使用指定自治系统邻居的IPv4地址更新IPv4 BGP表。 |
Neighbor |
对指定邻居启用BFD功能。 |
示例配置:
> vtysh ns# configure terminal ns(config)#router BGP 1 ns(config-router)#neighbor 20.20.20.138 remote-as 1 ns(config-router)#neighbor 20.20.20.138 fall-over BFD multihop ns(config-router)#redistribute kernel ns(config-router)#exit
配置IPv6 BGP单跳BFD
配置IPv6 BGP单跳会话与BFD联动VTYSH
命令行,在命令提示符处,按所示顺序键入以下命令:
命令 | 指定 |
---|---|
vtysh |
显示VTYSH 命令提示符。 |
配置终端 |
进入全局配置模式。 |
路由器BGP |
BGP自治系统。asnumber 是必选参数。 |
Neighbor |
使用指定自治系统邻居的link local IPv6地址更新IPv6 BGP表。 |
neighbor |
对指定邻居启用BFD功能。 |
ipv6地址系列 |
进入地址族配置模式。 |
邻居 |
通过使用link local地址在对等体和本地节点之间交换IPv6路由器族的前缀。 |
示例配置:
> vtysh ns# configure terminal ns(config)#router BGP 1 ns(config-router)#neighbor 30fe:123::124 remote-as 1 ns(config-router)#neighbor 30fe:123::124 fallover BFD ns(config-router)#address-family ipv6 ns(config-router-af)#neighbor 30fe:123::124 activate ns(config-router-af)#redistribute kernel ns(config-router-af)#exit
配置IPv6 BGP多跳BFD
配置IPv6 BGP多跳会话与BFD联动VTYSH
命令行,在命令提示符处,按所示顺序键入以下命令:
命令 | 指定 |
---|---|
vtysh |
显示VTYSH 命令提示符。 |
配置终端 |
进入全局配置模式。 |
路由器BGP |
BGP自治系统。asnumber 是必选参数。 |
Neighbor |
使用指定自治系统邻居的link local IPv6地址更新IPv6 BGP表。 |
neighbor |
对指定邻居启用BFD功能。 |
ipv6地址系列 |
进入地址族配置模式。 |
邻居 |
通过链路本地地址在对等体和本地节点之间交换IPv6路由器族的前缀。 |
示例配置:
> vtysh ns# configure terminal ns(config)# BFD multihop-peer ipv6 20fe:125::138 interval 500 minrx 500 multiplier 5 ns(config)#router BGP 1 ns(config-router)#neighbor 20fe:125::138 remote-as 1 ns(config-router)#neighbor 20fe:125::138 fallover BFD multihop ns(config-router)#address-family ipv6 ns(config-router-af)#neighbor 20fe:125::138 activate ns(config-router-af)#redistribute kernel ns(config-router-af)#end
在接口上配置BFD for OSPFv2 (IPv4)
可以在所有使用OSPFv2协议的接口上使能BFD,也可以在某个接口上使能BFD。
在所有接口上配置BFD for OSPFv2VTYSH
命令行:
在命令提示符下,按所示顺序键入以下命令:
命令 | 指定 |
---|---|
vtysh |
显示VTYSH 命令提示符。 |
配置终端 |
进入全局配置模式。 |
路由器ospf |
进入OSPFv2配置模式。 |
bfd所有接口 |
在所有使用OSPFv2协议的接口上使能BFD。 |
示例配置:
> vtysh ns# configure terminal ns(config)#router ospf 1 ns(config-router)#bfd all-interfaces ns(config-router)#redistribute kernel ns(config-router)#exit
在指定接口上配置BFD for OSPFv2VTYSH
命令行:
在命令提示符下,按所示顺序键入以下命令:
命令 | 指定 |
---|---|
vtysh |
显示VTYSH 命令提示符。 |
配置终端 |
进入全局配置模式。 |
interface |
进入接口配置模式。 |
IP ospf BFD |
在使用OSPFv2协议的接口上使能BFD功能。 |
示例配置:
> vvtysh ns# configure terminal ns(config)# interface vlan5 ns(config-if)# IP ospf BFD ns(config-if)# exit
配置接口BFD for OSPFv3 (IPv6)
可以在所有使用OSPFv3协议的接口上使能BFD,也可以在指定接口上使能BFD。
To configure BFD for OSPFv3 on all interfaces by using theVTYSH
命令行:
在命令提示符下,按所示顺序键入以下命令:
命令 | 指定 |
---|---|
vtysh |
显示VTYSH 命令提示符。 |
配置终端 |
进入全局配置模式。 |
Router ipv6 ospf |
进入OSPFv3配置模式。 |
bfd所有接口 |
在所有使用OSPFv3协议的接口上使能BFD。 |
示例配置:
> vtysh ns# configure terminal ns(config)#router ipv6 ospf 10 ns(config-router)#bfd all-interfaces ns(config-router)#redistribute kernel ns(config-router)#exit
To configure BFD for OSPFv3 on a specific interface by using theVTYSH
命令行:
在命令提示符下,按所示顺序键入以下命令:
命令 | 指定 |
---|---|
vtysh |
显示VTYSH 命令提示符。 |
配置终端 |
进入全局配置模式。 |
interface |
进入接口配置模式。 |
Ipv6 ospf BFD |
在使用OSPFv3协议的指定接口上使能BFD。 |
示例配置:
> vtysh ns# configure terminal ns(config)# interface vlan15 ns(config-if)# ipv6 ospf BFD ns(config-if)# exit