组网图形

图1 配置BFD状态与接口状态联动组网图
  • BFD简介
  • 配置注意事项
  • 组网需求
  • 配置思路
  • 操作步骤
  • 配置文件

BFD简介

为了减小设备故障对业务的影响,提高网络的可靠性,网络设备需要能够尽快检测到与相邻设备间的通信故障,以便及时采取措施,保证业务继续进行。在现有网络中,有些链路通常通过硬件检测信号,如SDH告警,检测链路故障,但并不是所有的介质都能够提供硬件检测。此时,应用就要依靠上层协议自身的Hello报文机制来进行故障检测。上层协议的检测时间都在1秒以上,这样的故障检测时间对某些应用来说是不能容忍的。在三层网络中,Hello报文检测机制无法针对所有路由来检测故障,如:静态路由。这对系统间互联互通定位故障造成困难。

BFD协议就是在这种背景下产生的,BFD提供了一个通用的标准化的介质无关和协议无关的快速故障检测机制。BFD所具备的毫秒级的链路感知与切换的特性,使其特别适用于一些对丢包、延迟比较敏感的环境。

配置注意事项

  • BFD会话的本地标识符和远端标识符分别对应,即本端的本地标识符与对端的远端标识符相同。如果BFD会话的本地标识符和远端标识符不对应,则会话无法Up。并且,本地标识符和远端标识符配置成功后不可修改。
  • 对于使用缺省组播IP地址的BFD会话,本地标识符和远端标识符不能相同。
  • 如果使用BFD等待恢复时间WTR,用户需要手工在两端配置相同的WTR。否则,当一端会话状态变化时,两端应用程序感知到的BFD会话状态将不一致。

组网需求

如图1所示,SwitchA和SwitchB网络层直连,链路中间存在二层传输设备SwitchC和SwitchD。用户希望两端设备能够快速感知到链路故障,触发路由快速收敛。

配置思路

采用如下思路配置BFD与接口状态联动:

  1. 在SwitchA和SwitchB上分别配置BFD会话,实现SwitchA和SwitchB间链路的检测。
  2. BFD会话状态Up以后分别在SwitchA和SwitchB上配置BFD状态与接口状态联动。

操作步骤

  1. 配置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
  2. 配置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
  3. 配置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
  4. 验证配置结果配置完成后,在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命令需要关注的显式信息,“…”表示省略