华为数通---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类似,详见配置文件。
<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类似,具体配置过程略,详见配置文件。
[SwitchA]ip route-static 10.2.1.0 24 10.1.1.2
(3)配置多跳BFD检测
# 在SwitchA上配置与SwitchC之间的BFD会话。
[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会话。
[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上的显示为例:
[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 BindSession 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操作,模拟链路故障。
[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上的显示为例:
[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 BindSession 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的配置文件
#
sysname SwitchA
#
vlan batch 10
#
bfd
#
interface Vlanif10ip address 10.1.1.1 255.255.255.0
#
interface GigabitEthernet0/0/1port link-type hybridport hybrid pvid vlan 10port hybrid untagged vlan 10
#
bfd atoc bind peer-ip 10.2.1.2discriminator local 10discriminator remote 20commit
#
ip route-static 10.2.1.0 255.255.255.0 10.1.1.2
#
return
-
SwitchB的配置文件
#
sysname SwitchB
#
vlan batch 10 20
#
interface Vlanif10ip address 10.1.1.2 255.255.255.0
#
interface Vlanif20ip address 10.2.1.1 255.255.255.0
#
interface GigabitEthernet0/0/1port link-type hybridport hybrid pvid vlan 10port hybrid untagged vlan 10
#
interface GigabitEthernet0/0/2port link-type hybridport hybrid pvid vlan 20port hybrid untagged vlan 20
#
return
-
SwitchC的配置文件
#
sysname SwitchC
#
vlan batch 20
#
bfd
#
interface Vlanif20ip address 10.2.1.2 255.255.255.0
#
interface GigabitEthernet0/0/1port link-type hybridport hybrid pvid vlan 20port hybrid untagged vlan 20
#
bfd ctoa bind peer-ip 10.1.1.1discriminator local 20discriminator remote 10commit
#
ip route-static 10.1.1.0 255.255.255.0 10.2.1.1
#
return相关文章:
华为数通---BFD多跳检测示例
定义 双向转发检测BFD(Bidirectional Forwarding Detection)是一种全网统一的检测机制,用于快速检测、监控网络中链路或者IP路由的转发连通状况。 目的 为了减小设备故障对业务的影响,提高网络的可靠性,网络设备需要…...
AWS 日志分析工具
当您的网络资源托管在 AWS 中时,需要定期监控您的 AWS CloudTrail 日志、Amazon S3 服务器日志和 AWS ELB 日志等云日志,以降低任何潜在的安全风险、识别严重错误并确保满足所有合规性法规。 什么是 Amazon S3 Amazon Simple Storage Serviceÿ…...
gitLab 和Idea分支合并
以下二选1即可完成分支合并建议第一种简单有效 Idea合并方式 切换到被合并的分支,如我想把0701的内容合并到dev,切换到dev分支,然后再点击merge然后选择要合并的分支,即可,此时git上的代码没有更新只是把代码合到本地需要pull才…...
关于 mapboxgl 的常用方法及效果
给地图标记点 实现效果 /*** 在地图上添加标记点* point: [lng, lat]* color: #83f7a0*/addMarkerOnMap(point, color #83f7a0) {const marker new mapboxgl.Marker({draggable: false,color: color,}).setLngLat(point).addTo(this.map);this.markersList.push(marker);},…...
C语言——二级指针
指针变量也是变量,是变量就有地址,那么指针变量的地址存放在哪里?——这就是二期指针 int a 10;int *pa &a;int **ppa &pa;//a的地址存放在pa中,pa的地址存放在ppa中。 //pa是一级指针,ppa是二级指针。 对…...
股市复苏中的明懿金汇:抓住新机遇
2023年对于明懿金汇来说是充满挑战与机遇的一年。面对复杂多变的市场环境,明懿金汇展现了其对市场趋势的敏锐洞察和卓越的策略适应能力。以下是该公司在2023年的主要投资策略和市场适应方式的详细分析。 随着2023年中国股市迎来反弹,明懿金汇迅速调整了…...
Spacemesh、Kaspa和Chia的全面对比!
当今区块链领域,PoST(Proof of Space and Time)共识算法引领着一股新的技术浪潮。在这个热潮下,Chia项目作为PoST共识机制的经典项目,和目前算力赛道备受瞩目的Kaspa项目,都是不可忽视的存在。虽然这两个项…...
【HTML语法】
HTML语法 1. HTML语法1.1 HTML编辑器1.2 HTML模板1.3 标签示例1.4 常见的HTML标签1.51.61.71.81.91.101.11 学习网站:https://www.runoob.com/html/html-tutorial.html 1. HTML语法 HTML(全称 Hypertext Markup Language,超文本标记语言&…...
ROS报错:RLException:Invalid roslaunch XML Syntax: mismatched tag:
运行roslaunch文件提示: RLException:Invalid roslaunch XML Syntax: mismatched tag: line 45, column 2 The traceback for the exception was written to the log file. j 解决办法: line45 行多了标签:</node> 另外…...
C语言实现快速排序
完整代码: #include<stdio.h>//用第一个元素将待排序序列划分成左右两个部分,返回排序后low的位置,即枢轴的位置 int partition(int arr[],int low,int high){//让待排序序列中的第一个元素成为基准int pivotarr[low];//lowhigh代表一…...
ChatGPT对于当今的社会或科技发展有何重要性?
ChatGPT对于当今社会和科技发展的重要性在于: 促进社交交流:ChatGPT可以为人们提供全天候的在线聊天服务,连接人与人之间的沟通交流,改善社交沟通方式。 提高有效性和效率:人们可以通过ChatGPT获得快速和精确的信息&a…...
宝塔是可以切换mongodb版本的
在软件商店,搜索monggodb,点击设置。点击第三个标签版本切换即可。但是前提要删除所有非系统数据库。 删除数据库方法: 要在 MongoDB 中删除一个数据库,可以使用 dropDatabase() 命令。请注意,在执行此操作之前&#x…...
16、XSS——会话管理
文章目录 一、web会话管理概述1.1 会话管理1.2 为什么需要会话管理?1.3 常见的web应用会话管理的方式 二、会话管理方式2.1 基于server端的session的管理方式2.2 cookie-based的管理方式2.3 token-based的管理方式 三、安全问题 一、web会话管理概述 1.1 会话管理 …...
稀疏矩阵的操作(数据结构实训)
题目: 标准输入输出 题目描述: 稀疏矩阵可以采用三元组存储。 输入: 输入包含若干个测试用例,每个测试用例的第一行为两个正整数m,n(1<m,n<100),表示矩阵的行数和列数,接下来m行,每行n个整数,表示稀疏…...
sqlite - sqlite3_exec - c++回调函数的处理
文章目录 sqlite - sqlite3_exec - c回调函数的处理概述笔记回调赋值实现用到的数据结构回调分发函数的实现具体的回调处理sqlite3_exe执行完后, 行集的具体处理END sqlite - sqlite3_exec - c回调函数的处理 概述 以前给客户写了个小程序, 处理sqlite执行sql时, 给定回调, 等…...
docker搭建logstash和使用方法
配置logstash 查询下载镜像【固定和elasticsearch一样的版本】 [roothao ~]# docker search logstash NAME DESCRIPTION STARS OFFICIAL AUTOMATED logstash …...
Memory-augmented Deep Autoencoder for Unsupervised Anomaly Detection 论文阅读
Memorizing Normality to Detect Anomaly: Memory-augmented Deep Autoencoder for Unsupervised Anomaly Detection 摘要1.介绍2.相关工作异常检测Memory networks 3. Memory-augmented Autoencoder3.1概述3.2. Encoder and Decoder3.3. Memory Module with Attention-based S…...
Mac端 DevEco Preview 窗口无法展示,提示文件中的node.dir错误
语雀知识库地址:语雀HarmonyOS知识库 飞书知识库地址:飞书HarmonyOS知识库 DevEco版本:Build Version: 3.1.0.501, built on June 20, 2023 环境信息 问题描述 打开 Preview 标签窗口后,提示Preview failed。 Run窗口提示如下 F…...
TIMO后台管理系统 Shiro 反序列化漏洞复现
0x01 产品简介 TIMO 后台管理系统,基于SpringBoot2.0 + Spring Data Jpa + Thymeleaf + Shiro 开发的后台管理系统,采用分模块的方式便于开发和维护,支持前后台模块分别部署,目前支持的功能有:权限管理、部门管理、字典管理、日志记录、文件上传、代码生成等,为快速开发后…...
3.4_1 java自制小工具 - pdf批量转图片
相关链接 目录参考文章:pdf转图片(apache pdfbox)参考文章:GUI界面-awt参考文章:jar包转exe(exe4j)参考文章:IDEA导入GIT项目参考文章:IDEA中使用Gitee管理代码gitee项目链接:pdf_2_image网盘地址…...
Debian系统简介
目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版ÿ…...
iPhone密码忘记了办?iPhoneUnlocker,iPhone解锁工具Aiseesoft iPhone Unlocker 高级注册版分享
平时用 iPhone 的时候,难免会碰到解锁的麻烦事。比如密码忘了、人脸识别 / 指纹识别突然不灵,或者买了二手 iPhone 却被原来的 iCloud 账号锁住,这时候就需要靠谱的解锁工具来帮忙了。Aiseesoft iPhone Unlocker 就是专门解决这些问题的软件&…...
【第二十一章 SDIO接口(SDIO)】
第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...
Python爬虫(一):爬虫伪装
一、网站防爬机制概述 在当今互联网环境中,具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类: 身份验证机制:直接将未经授权的爬虫阻挡在外反爬技术体系:通过各种技术手段增加爬虫获取数据的难度…...
unix/linux,sudo,其发展历程详细时间线、由来、历史背景
sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...
Java多线程实现之Thread类深度解析
Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...
均衡后的SNRSINR
本文主要摘自参考文献中的前两篇,相关文献中经常会出现MIMO检测后的SINR不过一直没有找到相关数学推到过程,其中文献[1]中给出了相关原理在此仅做记录。 1. 系统模型 复信道模型 n t n_t nt 根发送天线, n r n_r nr 根接收天线的 MIMO 系…...
Python 包管理器 uv 介绍
Python 包管理器 uv 全面介绍 uv 是由 Astral(热门工具 Ruff 的开发者)推出的下一代高性能 Python 包管理器和构建工具,用 Rust 编写。它旨在解决传统工具(如 pip、virtualenv、pip-tools)的性能瓶颈,同时…...
Python ROS2【机器人中间件框架】 简介
销量过万TEEIS德国护膝夏天用薄款 优惠券冠生园 百花蜂蜜428g 挤压瓶纯蜂蜜巨奇严选 鞋子除臭剂360ml 多芬身体磨砂膏280g健70%-75%酒精消毒棉片湿巾1418cm 80片/袋3袋大包清洁食品用消毒 优惠券AIMORNY52朵红玫瑰永生香皂花同城配送非鲜花七夕情人节生日礼物送女友 热卖妙洁棉…...
React---day11
14.4 react-redux第三方库 提供connect、thunk之类的函数 以获取一个banner数据为例子 store: 我们在使用异步的时候理应是要使用中间件的,但是configureStore 已经自动集成了 redux-thunk,注意action里面要返回函数 import { configureS…...
