【bfd】

概要

作了2年的技术支持整理下自己的知识点了

先讲讲bfd吧

当有些协议并没有一个检测故障机制的时候就需要bfd了(即使有些协议是支持检测的比如ospf 但是最快的检测都要1秒 对于一些场景下是不能忍受的了)bfd作为一个快速检测故障的协议就出现了

bfd

单跳检测:是指对两个直连设备进行IP连通性检测,这里所说的“单跳”是IP的一跳

多跳检测:中间有跨过很多的设备

bfd自己本身是没有发现机制的 所以一般来说是要由上层的协议来建立相关的会话 比如上层的协议建立了相应的邻居然后通告给bfd相应的参数(源目地址)。会话建立后,双方开始周期的发送bfd的报文 如果在检测时间内没有收到会话对端的BFD报文 则认为该双向转发路径发生了故障 并将故障信息通知给该会话所服务的上层应用

bfd详情

bfd有一方的检测和双方的检测,所以有两种的报文

echo报文方式的BFD会话。echo报文方式的BFD会话不需要对端设备支持BFD功能,或者不需要对端配置BFD。适用于仅一端设备需要故障检测的情况。

控制报文方式的BFD会话。控制报文方式需要两端设备均配置BFD。适用于两端设备均需要故障检测的情况。

那echo报文采用UDP封装,目的端口号为3785,

BFD控制报文采用UDP封装,源端口号的范围为49152到65535,对于单跳检测其UDP目的端口号为3784,对于多跳检测其UDP目的端口号为4784。

BFD会话通常有三种状态,分别为:

· DOWN:本端会话已经关闭或刚刚创建。DOWN状态表示转发路径不可用,与BFD会话联动的上层应用需要采取适当的措施,例如主备路径切换等。

· INIT:本端已经可以与对端通信,且本端希望会话进入UP状态。

· UP:本端会话已经建立成功。UP状态表示转发路径可用。

BFD会话建立前,通过改变BFD会话的运行模式可以控制发送BFD控制报文的方式:

· 主动模式:在建立会话前不管是否收到对端发来的BFD控制报文,都会主动发送BFD控制报文;

· 被动模式:在建立会话前不会主动发送BFD控制报文,直到收到对端发送来的控制报文。

但是至少有一方是主动模式 ,然后经过三次握手来建立起会话

建立会话后 又有两种方式来检测机制

一种叫做异步 :一般来说都是这个 一段时间没有收到对方的报文 来判断是否正常运转。

一种叫查询:在bfd会话很多的一个情况才会使用
本端的BFD会话工作在查询模式时,本端设备会向对端发送D比特位置1的BFD控制报文,对端(缺省为异步模式)收到该报文后将停止周期性发送BFD控制报文。
如果BFD会话两端都是查询模式,则双方在BFD会话建立后停止周期性发送BFD控制报文。仅当需要验证连通性的时候,设备会连续发送P比特位置1的BFD控制报文。如果在检测时间内没有收到对端回应的F比特位置1的报文,就认为会话DOWN;如果在检测时间内收到对端回应的F比特位置1的报文,就认为链路连通,停止发送报文,等待下一次触发查询。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值