华为配置BFD状态与接口状态联动实验

组网图形

图1配置BFD状态与接口状态联动组网图

  • BFD简介
  • 配置注意事项
  • 组网需求
  • 配置思路
  • 操作步骤
  • 配置文件
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与接口状态联动:

  1. 在SwitchA和SwitchB上分别配置BFD会话,实现SwitchA和SwitchB间链路的检测。

  2. BFD会话状态Up以后分别在SwitchA和SwitchB上配置BFD状态与接口状态联动。

操作步骤
  1. 配置SwitchA和SwitchB的直连接口IP地址

    bash 复制代码
    # 配置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单跳检测

    bash 复制代码
    # 在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状态与接口状态联动

    bash 复制代码
    # 在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. 验证配置结果

    bash 复制代码
    配置完成后,在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命令需要关注的显式信息,"..."表示省略。
配置文件
bash 复制代码
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
相关推荐
学传打活19 小时前
【边打字.边学昆仑正义文化】_进阶篇5 宇宙星系的运转(续1)
微信公众平台·1024程序员节·汉字·昆仑正义文化
fangzhanpeng1689 天前
快速掌握C#语言基础知识点(1.基础数据类型)
开发语言·c#·1024程序员节
无己心11 天前
面向多平台 AI 搜索引擎的适配层架构设计
前端·人工智能·搜索引擎·ai·1024程序员节
u01030552717 天前
AI驱动的安卓UI自动生成功能实现
人工智能·1024程序员节
u01030552717 天前
长株潭智能体赋能腾讯元器链接共享
1024程序员节
云贝贝贝19 天前
OceanBase认证体系介绍与备考指南
运维·服务器·oceanbase·1024程序员节
u01030552719 天前
Java图像处理实战指南
人工智能·1024程序员节
u01030552719 天前
Java AWT鼠标事件全解析
人工智能·1024程序员节
u01030552722 天前
Java实用类应用精讲
人工智能·1024程序员节
u01030552722 天前
Java I/O核心操作实战
人工智能·1024程序员节