BFD双向转发检测

简介:

BFD双向转发检测:是用来实现快速故障检测的标准协议

产生背景

为了保护关键业务应用,网络中采用冗余备份链路,网络发生故障要求快速检测出故障并将流量切换至备份链路以加快网络收敛速度,POS通过硬件检测机制来实现快速故障检测,但是某些链路不具备这样的检测机制,此时依靠上层协议自身的机制来进行故障检测,上层协议都是1s以上,对于某些应用不能容忍,像ospf、lsls的检测时间也只能达到1s的精度

BFD协议提供了一个通用的标准化的介质无关协议无关的快速故障检测机制,为上层应用提供服务

优点:
1、网络设备间任意类型的双向转发路径进行故障检测,包括直连链路、隧道等

2、提供小于1s的检测时间,加快网络收敛速度,减少中断时间,提高网络的可靠性

3、可以为不同上层应用服务,提供一致的快速故障检测时间


BFD没有邻居发现机制,而是靠被服务上层应用通知其邻居信息建立会话,建立会话会周期性地快速发送BFD报文,如果在检测时间内没收到BFD报文则认为该双向转发路径发生故障,通知被服务的上层应用进行相应的处理


BFD不能建立邻居,而是靠OSPF,形成会话状态,BFD以快速发送报文检测链路,当链路故障,第一时间通知OSPF,并拆散会话状态


如图所示

wKiom1ioDevi0vjhAAEEpnsXFcM440.jpg


BFD控制报文采用UDP封装,目的端口号3784,源端口号49152-65535
BFD echo报文采用UDP封装,目的端口号为3785
控制报文方式:链路两端会话通过控制报文交互检测链路状态
Echo报文方式:链路某一端通过发送Echo报文由另一端转发回来,实现对链路的双向检测

BFD会话建立前BFD控制报文以1s的时间间隔发送以减少报文流量,会话建立后,发送BFDecho报文以实现快速检测


BFD检测方式
1、单跳检测:指对两个直连的系统进行IP连通性检测,这“单跳”是IP的一跳
2、多跳检测:检测两个系统间的任意路径,这些路径可能跨越很多跳,也可能在某些部分发送重叠
3、双向检测:两端同时发送检测报文,检测两个方向上的链路状态,实现毫秒级的链路故障检测

报文格式

wKiom1ioDpbR9Z0CAAHjIMdPPpQ302.jpg











本文转自 周小玉 51CTO博客,原文链接:http://blog.51cto.com/maguangjie/1899059,如需转载请自行联系原作者
目录
相关文章
|
边缘计算 负载均衡 网络虚拟化
在GitHub首页3分钟被下架!爱奇艺《高并发网关设计》笔记被盗?
阿嘴又又又又又来给大家分享好书了:爱奇艺网络虚拟化团队的 《负载均衡:高并发网关设计原理与实践》,出版才半年,开源版本也只能想想!小编会在文末附电子版免费下载方式。
|
XML 人工智能 缓存
使用 Higress 快速构建 AI 应用
Higress 基于企业内外的丰富场景沉淀了众多面向 AI 的功能,推出了 AI 原生的 API 网关形态并且全部开源。
651 83
|
缓存 Linux 开发工具
CentOS 7- 配置阿里镜像源
阿里镜像官方地址http://mirrors.aliyun.com/ 1、点击官方提供的相应系统的帮助 :2、查看不同版本的系统操作: 下载源1、安装wget yum install -y wget2、下载CentOS 7的repo文件wget -O /etc/yum.
261398 0
|
网络协议 Linux C语言
Intel HDSLB 高性能四层负载均衡器 — 基本原理和部署配置
本篇主要介绍了 Intel HDSLB 的基本运行原理和部署配置的方式,希望能够帮助读者们顺利的把 HDSLB-DPVS 项目 “玩” 起来。
798 9
Intel HDSLB 高性能四层负载均衡器 — 基本原理和部署配置
|
Ubuntu Linux
Ubuntu中下载编译linux内核源码
Ubuntu中下载编译linux内核源码
Ubuntu中下载编译linux内核源码
|
11月前
|
存储 人工智能 API
(Elasticsearch)使用阿里云 infererence API 及 semantic text 进行向量搜索
本文展示了如何使用阿里云 infererence API 及 semantic text 进行向量搜索。
449 8
|
消息中间件 缓存 监控
【Java笔记+踩坑】SpringBoot基础3——开发。热部署+配置高级+整合NoSQL/缓存/任务/邮件/监控
springboot的热部署、配置的宽松绑定和校验、任务、邮件、监控、springboot整合JdbcTemplate,h2等sql技术、整合redis,mongodb,es等nosql技术、整合redis,Memcached,jetcache,j2cache等缓存技术、整合ActiveMQ,RabbitMQ,RocketMQ,Kafka等消息的中间件的入门、整合缓存/任务/邮件/监控
【Java笔记+踩坑】SpringBoot基础3——开发。热部署+配置高级+整合NoSQL/缓存/任务/邮件/监控
|
网络协议
详解VXLAN网络中报文是如何转发的?值得收藏学习!
详解VXLAN网络中报文是如何转发的?值得收藏学习!
619 0
详解VXLAN网络中报文是如何转发的?值得收藏学习!
OpenWrt配置opkg.conf的方法代码
OpenWrt配置opkg.conf的方法代码
1120 1
|
监控 Linux Docker
关于小白如何从0开始使用Windows中的docker制作一道自己的ctf题
关于小白如何从0开始使用Windows中的docker制作一道自己的ctf题