组网图形
BFD简介
为了减小设备故障对业务的影响,提高网络的可靠性,网络设备需要能够尽快检测到与相邻设备间的通信故障,以便及时采取措施,保证业务继续进行。在现有网络中,有些链路通常通过硬件检测信号,如SDH告警,检测链路故障,但并不是所有的介质都能够提供硬件检测。此时,应用就要依靠上层协议自身的Hello报文机制来进行故障检测。上层协议的检测时间都在1秒以上,这样的故障检测时间对某些应用来说是不能容忍的。在三层网络中,Hello报文检测机制无法针对所有路由来检测故障,如:静态路由。这对系统间互联互通定位故障造成困难。
BFD协议就是在这种背景下产生的,BFD提供了一个通用的标准化的介质无关和协议无关的快速故障检测机制。BFD所具备的毫秒级的链路感知与切换的特性,使其特别适用于一些对丢包、延迟比较敏感的环境。
配置注意事项
-
BFD会话的本地标识符和远端标识符分别对应,即本端的本地标识符与对端的远端标识符相同。如果BFD会话的本地标识符和远端标识符不对应,则会话无法Up。并且,本地标识符和远端标识符配置成功后不可修改。
-
对于使用缺省组播IP地址的BFD会话,本地标识符和远端标识符不能相同。
-
如果使用BFD等待恢复时间WTR,用户需要手工在两端配置相同的WTR。否则,当一端会话状态变化时,两端应用程序感知到的BFD会话状态将不一致。
- 本举例适用的产品包括:
- S3700-EI、S3700-HI
- S5720-SI、S5720S-SI、S5720I-SI、S5700-EI、S5700-HI、S5710-EI、S5720-EI、S5710-HI、S5720-HI、S5730-HI、S5730-SI、S5730S-EI、S5731-H、S5731-H-K、S5731-S、S5731S-S、S5731S-H、S5732-H、S5732-H-K、S5735-S-I、S5735-S、S5735S-S、S5735S-H、S5736-S
- S6720-SI、S6720S-SI、S6700-EI、S6720-EI、S6720S-EI、S6720-HI、S6730-H、S6730-H-K、S6730S-H、S6730-S、S6730S-S
- S7703、S7706、S7712、S7710、S7703 PoE、S7706 PoE、S7905、S7908
- S9703、S9706、S9712
-
本举例中产品的默认适用版本请参见“案例适用的产品和版本说明”中的表1。
如需了解交换机软件配套详细信息,请点击Info-Finder,在选择产品系列或产品型号后,在“硬件中心”进行查询。
S5731-L和S5731S-L属于远端模块,不支持Web管理、YANG和命令行,仅支持通过中心交换机对其下发配置,相关操作请参见《S300, S500, S2700, S5700, S6700 V200R022C00 配置指南-设备管理》中的“智能极简园区网络配置(小行星方案)”。
组网需求
如图1所示,SwitchA和SwitchB网络层直连,链路中间存在二层传输设备SwitchC和SwitchD。用户希望两端设备能够快速感知到链路故障,触发路由快速收敛。
配置思路
采用如下思路配置BFD与接口状态联动:
-
在SwitchA和SwitchB上分别配置BFD会话,实现SwitchA和SwitchB间链路的检测。
-
BFD会话状态Up以后分别在SwitchA和SwitchB上配置BFD状态与接口状态联动。
操作步骤
- 配置SwitchA和SwitchB的直连接口IP地址
# 配置SwitchA的接口IP地址。 <HUAWEI> system-view [HUAWEI] sysname SwitchA [SwitchA] vlan 10 [SwitchA-vlan10] quit [SwitchA] interface gigabitethernet 1/0/1 [SwitchA-GigabitEthernet1/0/1] port link-type hybrid //其中V200R005C00及之后版本,默认接口类型不是hybrid,需要手动配置 [SwitchA-GigabitEthernet1/0/1] port hybrid pvid vlan 10 [SwitchA-GigabitEthernet1/0/1] port hybrid untagged vlan 10 [SwitchA-GigabitEthernet1/0/1] quit [SwitchA] interface vlanif 10 [SwitchA-Vlanif10] ip address 10.1.1.1 24 [SwitchA-Vlanif10] quit # 配置SwitchB的接口IP地址。 <HUAWEI> system-view [HUAWEI] sysname SwitchB [SwitchB] vlan 10 [SwitchB-vlan10] quit [SwitchB] interface gigabitethernet 1/0/1 [SwitchA-GigabitEthernet1/0/1] port link-type hybrid //其中V200R005C00及之后版本,默认接口类型不是hybrid,需要手动配置 [SwitchB-GigabitEthernet1/0/1] port hybrid pvid vlan 10 [SwitchB-GigabitEthernet1/0/1] port hybrid untagged vlan 10 [SwitchB-GigabitEthernet1/0/1] quit [SwitchB] interface vlanif 10 [SwitchB-Vlanif10] ip address 10.1.1.2 24 [SwitchB-Vlanif10] quit
- 配置BFD单跳检测
# 在SwitchA上使能BFD,配置与SwitchB之间的BFD会话atob。 [SwitchA] bfd //全局使能BFD [SwitchA-bfd] quit [SwitchA] bfd atob bind peer-ip default-ip interface gigabitethernet 1/0/1 //配置BFD会话atob [SwitchA-bfd-session-atob] discriminator local 10 //配置BFD会话的本地标识符,SwitchA上的本地标识符需要与SwitchB上的远端标识符一致 [SwitchA-bfd-session-atob] discriminator remote 20 //配置BFD会话的远端标识符,SwitchA上的远端标识符需要与SwitchB上的本地标识符一致 [SwitchA-bfd-session-atob] commit //提交BFD会话配置,使配置生效 [SwitchA-bfd-session-atob] quit # 在SwitchB上使能BFD,并配置与SwitchA之间的BFD会话btoa。 [SwitchB] bfd [SwitchB-bfd] quit [SwitchB] bfd btoa bind peer-ip default-ip interface gigabitethernet 1/0/1 //配置BFD会话btoa [SwitchB-bfd-session-btoa] discriminator local 20 [SwitchB-bfd-session-btoa] discriminator remote 10 [SwitchB-bfd-session-btoa] commit [SwitchB-bfd-session-btoa] quit # 配置完成后,在SwitchA和SwitchB上执行display bfd session all verbose命令,可以看到建立了一个单跳(one hop)的BFD Session,状态为Up。以SwitchA为例: [SwitchA] display bfd session all verbose -------------------------------------------------------------------------------- Session MIndex : 16384 (One Hop) State : Up Name : atob -------------------------------------------------------------------------------- Local Discriminator : 10 Remote Discriminator : 20 Session Detect Mode : Asynchronous Mode Without Echo Function BFD Bind Type : Interface(GigabitEthernet1/0/1) Bind Session Type : Static Bind Peer Ip Address : 224.0.0.184 NextHop Ip Address : 224.0.0.184 Bind Interface : GigabitEthernet1/0/1 FSM Board Id : 3 TOS-EXP : 7 Min Tx Interval (ms) : 1000 Min Rx Interval (ms) : 1000 Actual Tx Interval (ms): 1000 Actual Rx Interval (ms): 1000 Local Detect Multi : 3 Detect Interval (ms) : 3000 Echo Passive : Disable Acl Number : - Destination Port : 3784 TTL : 255 Proc interface status : Disable Process PST : Disable WTR Interval (ms) : - Active Multi : 3 Last Local Diagnostic : No Diagnostic Bind Application : No Application Bind Session TX TmrID : - Session Detect TmrID : - Session Init TmrID : - Session WTR TmrID : - Session Echo Tx TmrID : - PDT Index : FSM-0 | RCV-0 | IF-0 | TOKEN-0 Session Description : - -------------------------------------------------------------------------------- Total UP/DOWN Session Number : 1/0
- 配置BFD状态与接口状态联动
# 在SwitchA上配置BFD状态与接口状态联动。 [SwitchA] bfd atob [SwitchA-bfd-session-atob] process-interface-status [SwitchA-bfd-session-atob] quit # 在SwitchB上配置BFD状态与接口状态联动。 [SwitchB] bfd btoa [SwitchB-bfd-session-btoa] process-interface-status [SwitchB-bfd-session-btoa] quit
- 验证配置结果
配置完成后,在SwitchA和SwitchB上执行display bfd session all verbose命令,看到“Proc interface status”字段显示为“Enable”。 以SwitchA上的显示为例。 [SwitchA] display bfd session all verbose -------------------------------------------------------------------------------- Session MIndex : 16384 (One Hop) State : Up Name : atob -------------------------------------------------------------------------------- Local Discriminator : 10 Remote Discriminator : 20 Session Detect Mode : Asynchronous Mode Without Echo Function BFD Bind Type : Interface(GigabitEthernet1/0/1) Bind Session Type : Static Bind Peer Ip Address : 224.0.0.184 NextHop Ip Address : 224.0.0.184 Bind Interface : GigabitEthernet1/0/1 FSM Board Id : 3 TOS-EXP : 7 Min Tx Interval (ms) : 1000 Min Rx Interval (ms) : 1000 Actual Tx Interval (ms): 13000 Actual Rx Interval (ms): 13000 Local Detect Multi : 3 Detect Interval (ms) : 30 Echo Passive : Disable Acl Number : - Destination Port : 3784 TTL : 255 Proc interface status : Enable Process PST : Disable WTR Interval (ms) : - Active Multi : 3 Last Local Diagnostic : No Diagnostic Bind Application : IFNET Session TX TmrID : - Session Detect TmrID : - Session Init TmrID : - Session WTR TmrID : - Session Echo Tx TmrID : - PDT Index : FSM-0 | RCV-0 | IF-0 | TOKEN-0 Session Description : - -------------------------------------------------------------------------------- Total UP/DOWN Session Number : 1/0 对SwitchB的GE1/0/1接口执行shutdown操作,让BFD状态Down。 [SwitchB] interface gigabitethernet 1/0/1 [SwitchB-GigabitEthernet1/0/1] shutdown [SwitchB-GigabitEthernet1/0/1] quit 在SwitchA上执行display bfd session all verbose命令和display interface gigabitethernet 1/0/1命令,可以看到BFD Session状态为Down,GE1/0/1接口的状态为UP(BFD status down)。 [SwitchA] display bfd session all verbose -------------------------------------------------------------------------------- Session MIndex : 16384 (One Hop) State : Down Name : atob -------------------------------------------------------------------------------- Local Discriminator : 10 Remote Discriminator : 20 Session Detect Mode : Asynchronous Mode Without Echo Function BFD Bind Type : Interface(GigabitEthernet1/0/1) Bind Session Type : Static Bind Peer Ip Address : 224.0.0.184 NextHop Ip Address : 224.0.0.184 Bind Interface : GigabitEthernet1/0/1 FSM Board Id : 3 TOS-EXP : 7 Min Tx Interval (ms) : 1000 Min Rx Interval (ms) : 10 Actual Tx Interval (ms): 13000 Actual Rx Interval (ms): 13000 Local Detect Multi : 3 Detect Interval (ms) : 30 Echo Passive : Disable Acl Number : - Destination Port : 3784 TTL : 255 Proc interface status : Enable Process PST : Disable WTR Interval (ms) : - Active Multi : 3 Last Local Diagnostic : Control Detection Time Expired Bind Application : IFNET Session TX TmrID : - Session Detect TmrID : - Session Init TmrID : - Session WTR TmrID : - Session Echo Tx TmrID : - PDT Index : FSM-0 | RCV-0 | IF-0 | TOKEN-0 Session Description : - -------------------------------------------------------------------------------- Total UP/DOWN Session Number : 0/1 [SwitchA] display interface gigabitethernet 1/0/1 GigabitEthernet1/0/1 current state : UP Line protocol current state : UP(BFD status down) ... 此处只列了display interface gigabitethernet 1/0/1命令需要关注的显式信息,“...”表示省略。
配置文件
SwitchA的配置文件
#
sysname SwitchA
#
vlan batch 10
#
bfd
#
interface Vlanif10
ip address 10.1.1.1 255.255.255.0
#
interface GigabitEthernet1/0/1
port hybrid pvid vlan 10
port hybrid untagged vlan 10
#
bfd atob bind peer-ip default-ip interface GigabitEthernet1/0/1
discriminator local 10
discriminator remote 20
process-interface-status
commit
#
return
SwitchB的配置文件
#
sysname SwitchB
#
vlan batch 10
#
bfd
#
interface Vlanif10
ip address 10.1.1.2 255.255.255.0
#
interface GigabitEthernet1/0/1
port hybrid pvid vlan 10
port hybrid untagged vlan10
#
bfd btoa bind peer-ip default-ip interface GigabitEthernet1/0/1
discriminator local 20
discriminator remote 10
process-interface-status
commit
#
return