华为配置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
相关推荐
尘佑不尘17 分钟前
shodan5,参数使用,批量查找Mongodb未授权登录,jenkins批量挖掘
数据库·笔记·mongodb·web安全·jenkins·1024程序员节
SeniorMao0071 小时前
结合Intel RealSense深度相机和OpenCV来实现语义SLAM系统
1024程序员节
网安_秋刀鱼1 小时前
CSRF防范及绕过
前端·安全·web安全·网络安全·csrf·1024程序员节
WW、forever1 小时前
【ArcGIS Pro实操第4期】绘制三维地图
1024程序员节
记录学习-python1 小时前
Django-cookie,session
1024程序员节
b21431241 小时前
【运动的&足球】足球运动员球守门员裁判检测系统源码&数据集全套:改进yolo11-DBBNCSPELAN
1024程序员节
聪明的墨菲特i2 小时前
Vue组件学习 | 二、Vuex组件
前端·vue.js·学习·前端框架·1024程序员节
长潇若雪2 小时前
结构体(C 语言)
c语言·开发语言·经验分享·1024程序员节
DARLING Zero two♡3 小时前
关于我、重生到500年前凭借C语言改变世界科技vlog.12——深入理解指针(2)
c语言·开发语言·科技·1024程序员节
独行soc3 小时前
#渗透测试#SRC漏洞挖掘# 信息收集-Shodan进阶之Jenkins组件
安全·jenkins·安全威胁分析·1024程序员节·shodan