华为数通---BFD多跳检测示例

定义

双向转发检测BFD(Bidirectional Forwarding Detection)是一种全网统一的检测机制,用于快速检测、监控网络中链路或者IP路由的转发连通状况。

目的

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

BFD协议就是在这种背景下产生的,BFD提供了一个通用的标准化的介质无关和协议无关的快速故障检测机制。具有以下优点:

  • 对相邻转发引擎之间的通道提供轻负荷、快速故障检测。这些故障包括接口、数据链路,甚至有可能是转发引擎本身。

  • 用单一的机制对任何介质、任何协议层进行实时检测。

组网需求

如下图所示,SwitchA和SwitchC为非直连设备,通过配置静态路由互通。用户希望可以实现对设备间链路故障的快速检测。

配置思路

采用如下思路配置BFD多跳检测:

在SwitchA和SwitchC上分别配置BFD会话,实现SwitchA到SwitchC间多跳路径的检测。

操作步骤

(1)配置设备间的网络互连

配置设备各接口的IP地址,以SwitchA为例。SwitchB和SwitchC的配置与SwitchA类似,详见配置文件。

cpp 复制代码
<Huawei>system-view 
[Huawei]sysname SwitchA	
[SwitchA]vlan batch 10
[SwitchA]interface GigabitEthernet 0/0/1
[SwitchA-GigabitEthernet0/0/1]port link-type hybrid 
[SwitchA-GigabitEthernet0/0/1]port hybrid pvid vlan 10
[SwitchA-GigabitEthernet0/0/1]port hybrid untagged vlan 10
[SwitchA-GigabitEthernet0/0/1]quit
[SwitchA]interface Vlanif 10
[SwitchA-Vlanif10]ip address 10.1.1.1 24
[SwitchA-Vlanif10]quit

(2)配置静态路由,使SwitchA、SwitchC之间有可达路由

SwitchC的配置与SwitchA类似,具体配置过程略,详见配置文件。

cpp 复制代码
[SwitchA]ip route-static 10.2.1.0 24 10.1.1.2

(3)配置多跳BFD检测

在SwitchA上配置与SwitchC之间的BFD会话。

cpp 复制代码
[SwitchA]bfd
[SwitchA-bfd]quit	
[SwitchA]bfd atoc bind peer-ip 10.2.1.2
[SwitchA-bfd-session-atoc]discriminator local 10
[SwitchA-bfd-session-atoc]discriminator remote 20	
[SwitchA-bfd-session-atoc]commit 
[SwitchA-bfd-session-atoc]quit

在SwitchC上配置与SwitchA之间的BFD会话。

cpp 复制代码
[SwitchC]bfd 
[SwitchC-bfd]quit
[SwitchC]bfd ctoa bind peer-ip 10.1.1.1
[SwitchC-bfd-session-ctoa]discriminator local 20
[SwitchC-bfd-session-ctoa]discriminator remote 10
[SwitchC-bfd-session-ctoa]commit 
[SwitchC-bfd-session-ctoa]quit

(4)验证配置结果

配置完成后,在SwitchA和SwitchC上执行display bfd session all verbose命令,可以看到建立了一个BFD会话,且状态为Up。以SwitchA上的显示为例:

cpp 复制代码
[SwitchA]display bfd session all verbose 
--------------------------------------------------------------------------------
Session MIndex : 256       (Multi Hop) State : Up        Name : atoc           
--------------------------------------------------------------------------------
  Local Discriminator    : 10               Remote Discriminator   : 20        
  Session Detect Mode    : Asynchronous Mode Without Echo Function             
  BFD Bind Type          : Peer IP Address                                     
  Bind Session Type      : Static                                              
  Bind Peer IP Address   : 10.2.1.2                                            
  Bind Interface         : -                                                   
  Track Interface        : -                                                   
  FSM Board Id           : 0                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                    : 254       
  Proc Interface Status  : Disable                                             
  WTR Interval (ms)      : -                                                   
  Active Multi           : 3                                                   
  Last Local Diagnostic  : No Diagnostic                                       
  Bind Application       : No Application Bind
  Session TX TmrID       : 1039             Session Detect TmrID   : 1040      
  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

对SwitchA的GE0/0/1接口执行shutdown操作,模拟链路故障。

cpp 复制代码
[SwitchA]interface GigabitEthernet 0/0/1
[SwitchA-GigabitEthernet0/0/1]shutdown 
[SwitchA-GigabitEthernet0/0/1]quit

配置完成后,在SwitchA和SwitchC上执行display bfd session all verbose命令,可以看到建立了一个多跳检测的BFD会话,且会话状态为Down。以SwitchA上的显示为例:

cpp 复制代码
[SwitchA]display bfd session all verbose 
--------------------------------------------------------------------------------
Session MIndex : 256       (Multi Hop) State : Down      Name : atoc           
--------------------------------------------------------------------------------
  Local Discriminator    : 10               Remote Discriminator   : 20        
  Session Detect Mode    : Asynchronous Mode Without Echo Function             
  BFD Bind Type          : Peer IP Address                                     
  Bind Session Type      : Static                                              
  Bind Peer IP Address   : 10.2.1.2                                            
  Bind Interface         : -                                                   
  Track Interface        : -                                                   
  FSM Board Id           : 0                TOS-EXP                : 7         
  Min Tx Interval (ms)   : 1000             Min Rx Interval (ms)   : 1000      
  Actual Tx Interval (ms): 2200             Actual Rx Interval (ms): 2200      
  Local Detect Multi     : 3                Detect Interval (ms)   : -         
  Echo Passive           : Disable          Acl Number             : -         
  Destination Port       : 3784             TTL                    : 254       
  Proc Interface Status  : Disable                                             
  WTR Interval (ms)      : -                                                   
  Active Multi           : 3                                                   
  Last Local Diagnostic  : Control Detection Time Expired                      
  Bind Application       : No Application Bind
  Session TX TmrID       : 1039             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的配置文件
cpp 复制代码
#
sysname SwitchA
#
vlan batch 10
#
bfd
#
interface Vlanif10
 ip address 10.1.1.1 255.255.255.0
#
interface GigabitEthernet0/0/1
 port link-type hybrid
 port hybrid pvid vlan 10
 port hybrid untagged vlan 10
#
bfd atoc bind peer-ip 10.2.1.2
 discriminator local 10
 discriminator remote 20
 commit
#
ip route-static 10.2.1.0 255.255.255.0 10.1.1.2
#
return
  • SwitchB的配置文件
cpp 复制代码
#
sysname SwitchB
#
vlan batch 10 20
#
interface Vlanif10
 ip address 10.1.1.2 255.255.255.0
#
interface Vlanif20
 ip address 10.2.1.1 255.255.255.0
#
interface GigabitEthernet0/0/1
 port link-type hybrid
 port hybrid pvid vlan 10
 port hybrid untagged vlan 10
#
interface GigabitEthernet0/0/2
 port link-type hybrid
 port hybrid pvid vlan 20
 port hybrid untagged vlan 20
#
return
  • SwitchC的配置文件
cpp 复制代码
#
sysname SwitchC
#
vlan batch 20
#
bfd
#
interface Vlanif20
 ip address 10.2.1.2 255.255.255.0
#
interface GigabitEthernet0/0/1
 port link-type hybrid
 port hybrid pvid vlan 20
 port hybrid untagged vlan 20
#
bfd ctoa bind peer-ip 10.1.1.1
 discriminator local 20
 discriminator remote 10
 commit
#
ip route-static 10.1.1.0 255.255.255.0 10.2.1.1
#
return
相关推荐
道法自然04022 分钟前
Ethernet 系列(8)-- 基础学习::ARP
网络·学习·智能路由器
yeyuningzi9 分钟前
Debian 12环境里部署nginx步骤记录
linux·运维·服务器
SuperHeroWu71 小时前
【HarmonyOS】键盘遮挡输入框UI布局处理
华为·harmonyos·压缩·keyboard·键盘遮挡·抬起
EasyCVR1 小时前
萤石设备视频接入平台EasyCVR多品牌摄像机视频平台海康ehome平台(ISUP)接入EasyCVR不在线如何排查?
运维·服务器·网络·人工智能·ffmpeg·音视频
明月看潮生2 小时前
青少年编程与数学 02-003 Go语言网络编程 15课题、Go语言URL编程
开发语言·网络·青少年编程·golang·编程与数学
wowocpp2 小时前
ubuntu 22.04 硬件配置 查看 显卡
linux·运维·ubuntu
萨格拉斯救世主2 小时前
jenkins使用slave节点进行node打包报错问题处理
运维·jenkins
川石课堂软件测试2 小时前
性能测试|docker容器下搭建JMeter+Grafana+Influxdb监控可视化平台
运维·javascript·深度学习·jmeter·docker·容器·grafana
龙哥说跨境3 小时前
如何利用指纹浏览器爬虫绕过Cloudflare的防护?
服务器·网络·python·网络爬虫
懒大王就是我3 小时前
C语言网络编程 -- TCP/iP协议
c语言·网络·tcp/ip