配置双向转发检测
双向转发检测 (BFD) 协议是一种快速检测转发路径故障的机制。BFD 按毫秒顺序检测路径故障。BFD 与动态路由协议一起使用。
在 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:
- ISIS
- RIP (IPv4)
- RIPng (IPv6)
- Citrix ADC 设备不支持以下 BFD 功能:
- BFD 回声模式
- BFD 身份验证
- BFD 需求异步模式
- BFD 间隔和 BFD Rx 计时器的最小值为 100 毫秒。
- 当 BFD 用于具有共享 IP 地址的拓扑(例如,带 SNIP 地址的第 2 层高可用性设置或带条带 IP 地址的群集设置)中使用 BFD 时,BFD 会在故障切换期间关闭活动会话,因为 BFD 故障检测时间(毫秒顺序)小于 HA故障切换检测时间间隔(3-4 秒)。因此,Citrix 建议在第 2 层 HA 拓扑中使用“正常”重新启动,因为路由将在故障转移过程中保留。
配置步骤
在 Citrix ADC 设备上配置 BFD 包括以下任务:
- 配置 BFD 参数
- 配置动态路由协议的 BFD 支持
配置 BFD 参数
Citrix ADC 设备为单跃点会话、IPv4 多跃点会话和 IPv6 多跃点会话提供单独的 BFD 会话参数。如果未为某种会话类型配置 BFD 参数,则默认值将应用于该会话。
对于单跃点会话、IPv4 多跃点会话和 IPv6 多跃点会话,每个 BFD 参数的默认值相同。下表显示了每个 BFD 参数的默认值。
BFD 参数名称 | 默认值 |
---|---|
时间间隔 | 750 毫秒 |
最小 Rx | 500 毫秒 |
乘数 | 3 |
重要:
Citrix 设备中的 Mellanox NIC 需要大约 1500 毫秒才能初始化。对于采用 Mellanox 网卡的 Citrix ADC 设备,必须将 BFD 定时器设置为 1500 毫秒以上。Citrix 建议将 BFD 计时器设置为 3000 毫秒:
- 间隔 Tx = 600 毫秒
- 最低 Rx = 600 毫秒
- 多路复用器 = 5
为单跳会话配置 BFD 参数
要使用 VTYSH
命令行为单跳会话配置 BFD 参数,请在命令提示符处键入以下命令,按显示的顺序:
命令 | 说明 |
---|---|
vtysh |
显示 VTYSH 命令提示符。 |
configure terminal |
进入全局配置模式。 |
interface vlan ID> |
进入界面配置模式。 |
bfd singlehop-peer interval <num> minrx <num> multiplier <num> |
在指定接口上配置 BFD 参数。 |
示例配置:
> vtysh
ns# configure terminal
ns(config)# interface vlan3
ns(config-if)# bfd singlehop-peer interval 200 minrx 200 multiplier 5
ns(config-if)# exit
<!--NeedCopy-->
为 IPv4 多跃点会话配置 BFD 参数
要使用 VTYSH
命令行为 IPv4 多跳会话配置 BFD 参数,请在命令提示符处键入以下命令,按显示的顺序:
命令 | 说明 |
---|---|
vtysh |
显示 VTYSH 命令提示符。 |
configure terminal |
进入全局配置模式。 |
bfd multihop-peer <ipv4addr> interval <num> minrx <num> multiplier <num> |
为 IPv4 多跳会话配置 BFD 参数。 |
示例配置:
> vtysh
ns# configure terminal
ns(config)# bfd multihop-peer 20.20.20.138 interval 300 minrx 300 multiplier 5
ns(config)# exit
<!--NeedCopy-->
为 IPv6 多跃点会话配置 BFD 参数
要使用 VTYSH
命令行为 IPv6 多跳会话配置 BFD 参数,请在命令提示符处键入以下命令,按显示的顺序:
命令 | 说明 |
---|---|
vtysh |
显示 VTYSH 命令提示符。 |
configure terminal |
进入全局配置模式。 |
bfd multihop-peer ipv6 <ipv6addr> interval <num> minrx <num> multiplier <num> |
为 IPv6 多跳会话配置 BFD 参数。 |
示例配置:
> vtysh
ns(config)# bfd multihop-peer ipv6 20fe:125::138 interval 500 minrx 500 multiplier 5
ns(config)# exit
<!--NeedCopy-->
配置动态路由协议的 BFD 支持
对于与对等体的某种会话,您可以为动态路由协议启用 BFD。例如,单跳和多跳。Citrix ADC 设备将相关的 BFD 参数设置应用于会话。
为 IPv4 BGP 单跳会话配置 BFD
要使用 VTYSH
命令行为 IPv4 BGP 单跳会话配置 BFD,请在命令提示符处按显示的顺序键入以下命令:
命令 | 说明 |
---|---|
vtysh |
显示 VTYSH 命令提示符。 |
configure terminal |
进入全局配置模式。 |
router bgp <asnumber> |
BGP 自治系统。 asnumber 是必需的参数。 |
neighbor <ipv4addr> remote-as <num> |
使用指定自治系统中邻居的 IPv4 地址更新 IPv4 BGP 表。 |
neighbor <ipv4addr> fall-over bfd |
为指定邻居启用 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
<!--NeedCopy-->
为 IPv4 BGP 多跃点会话配置 BFD
要使用 VTYSH
命令行为 IPv4 BGP 多跳会话配置 BFD,请在命令提示符处按显示的顺序键入以下命令:
命令 | 说明 |
---|---|
vtysh |
显示 VTYSH 命令提示符。 |
configure terminal |
进入全局配置模式。 |
router bgp <asnumber> |
BGP 自治系统。 asnumber 是必需的参数。 |
neighbor <ipv4addr> remote-as <num> |
使用指定自治系统中邻居的 IPv4 地址更新 IPv4 BGP 表。 |
neighbor <ipv4addr> fall-over bfd multihop |
为指定邻居启用 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
<!--NeedCopy-->
为 IPv6 BGP 单跳会话配置 BFD
要使用 VTYSH
命令行为 IPv6 BGP 单跳会话配置 BFD,请在命令提示符处按显示的顺序键入以下命令:
命令 | 说明 |
---|---|
vtysh |
显示 VTYSH 命令提示符。 |
configure terminal |
进入全局配置模式。 |
router bgp <asnumber> |
BGP 自治系统。 asnumber 是必需的参数。 |
neighbor <ipv6addr> remote-as <num> |
使用指定自治系统中邻居的链接本地 IPv6 地址更新 IPv6 BGP 表。 |
neighbor <ipv6addr> fall-over bfd |
为指定邻居启用 BFD。 |
address-family ipv6 |
输入地址系列配置模式。 |
neighbor <ipv6addr> activate |
使用链接本地地址在对等节点和本地节点之间的 IPv6 路由器系列的 Exchange 前缀。 |
示例配置:
> 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 fall-over 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
<!--NeedCopy-->
为 IPv6 BGP 多跃点会话配置 BFD
要使用 VTYSH
命令行为 IPv6 BGP 多跳会话配置 BFD,请在命令提示符处按显示的顺序键入以下命令:
命令 | 说明 |
---|---|
vtysh |
显示 VTYSH 命令提示符。 |
configure terminal |
进入全局配置模式。 |
router bgp <asnumber> |
BGP 自治系统。 asnumber 是必需的参数。 |
neighbor <ipv6addr> remote-as <num> |
使用指定自治系统中邻居的链接本地 IPv6 地址更新 IPv6 BGP 表。 |
neighbor <ipv6addr> fall-over bfd multihop |
为指定邻居启用 BFD。 |
address-family ipv6 |
输入地址系列配置模式。 |
neighbor <ipv6addr> activate |
使用链接本地地址在对等节点和本地节点之间的 IPv6 路由器系列的 Exchange 前缀。 |
示例配置:
> 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 fall-over 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
<!--NeedCopy-->
在接口上为 OSPFv2 (IPv4) 配置 BFD
您可以在所有或使用 OSPFv2 协议的特定接口上启用 BFD。
要使用 VTYSH
命令行在所有接口上配置 OSPFv2 的 BFD,请执行以下操作:
在命令提示符下,按所示顺序键入以下命令:
命令 | 说明 |
---|---|
vtysh |
显示 VTYSH 命令提示符。 |
configure terminal |
进入全局配置模式。 |
router ospf <process tag> |
进入 OSPFv2 配置模式。 |
bfd all-interfaces |
在使用 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
<!--NeedCopy-->
要使用 VTYSH
命令行在特定接口上配置 OSPFv2 的 BFD,请执行以下操作:
在命令提示符下,按所示顺序键入以下命令:
命令 | 说明 |
---|---|
vtysh |
显示 VTYSH 命令提示符。 |
configure terminal |
进入全局配置模式。 |
interface <vlan ID> |
进入界面配置模式。 |
ip ospf bfd |
在使用 OSPFv2 的指定接口上启用 BFD。 |
示例配置:
> vtysh
ns# configure terminal
ns(config)# interface vlan5
ns(config-if)# ip ospf bfd
ns(config-if)# exit
<!--NeedCopy-->
在接口上为 OSPFv3 (IPv6) 配置 BFD
您可以在所有或使用 OSPFv3 协议的特定接口上启用 BFD。
要使用 VTYSH
命令行在所有接口上配置 OSPFv3 的 BFD,请执行以下操作:
在命令提示符下,按所示顺序键入以下命令:
命令 | 说明 |
---|---|
vtysh |
显示 VTYSH 命令提示符。 |
configure terminal |
进入全局配置模式。 |
router ipv6 ospf <process tag> |
进入 OSPFv3 配置模式。 |
bfd all-interfaces |
在使用 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
<!--NeedCopy-->
要使用 VTYSH
命令行在特定接口上配置 OSPFv3 的 BFD,请执行以下操作:
在命令提示符下,按所示顺序键入以下命令:
命令 | 说明 |
---|---|
vtysh |
显示 VTYSH 命令提示符。 |
configure terminal |
进入全局配置模式。 |
interface <vlan ID> |
进入界面配置模式。 |
ipv6 ospf bfd |
在使用 OSPFv3 的指定接口上启用 BFD。 |
示例配置:
> vtysh
ns# configure terminal
ns(config)# interface vlan15
ns(config-if)# ipv6 ospf bfd
ns(config-if)# exit
<!--NeedCopy-->