BFD基础

版本声明:转载请注明出处。未经允许,禁止商业用途。

BFD基础

BFD是Bidirectional Forwarding Detection的缩写。标准为rfc5880 Bidirectional Forwarding Detection (BFD)。

 

上层协议自身的机制来进行故障检测,上层协议的检测时间都在1秒以上。BFD协议提供了一个通用的标准化的介质无关、协议无关的快速故障检测机制。在转发平面检测故障。

 

BFD控制报文有两种:hello报文和echo报文。但是BFD并没有定义echo报文的内容,因为只有发送者自己需要解析echo的内容。

BFD控制报文采用UDP封装,目的端口号为3784。

BFD Echo报文采用UDP封装,目的端口号为3785。

 

上层协议建立BFD邻居关系后。通知BFD模块源和目的地址,BFD通过控制报文使用三次握手机制建立BFD邻居。

BFD周期性发送控制报文,如果指定时间内没有收到对端的BFD控制报文,则认为通信中断。BFD双方可以协商参数,实际上由慢的一方决定了发送频率。

发现通信中断后,BFD会话断开,通知上层协议。上层协议收到通信中断的通知之后,断开邻居,选择新的路径。

 

Echo功能是指会话的周期性发送BFD Echo报文,对端不对此报文进行处理,只是将此报文返还给发送端。如果连续丢失的echo的数目达到指定个数则认为通信中断了。Echo模式使得报文量翻倍。但是发送方构造报文变得简单,应答方不需要构造报文了。所以报文发送间隔可以更小,检测出故障的时间可以更短。

 

其实上面所说的都是异步模式(Asynchronous mode)。还有一种模式,叫做查询模式(demand mode),是指在需要时才发送BFD报文。查询模式下也是可以选择使用BFD hello报文还是BFD Echo报文进行探测。

 

BFD实现

控制层面进行BFD会话的协商和建立。即会话还没有up时,转发平面将收到的BFD消息重定向给控制层面,同时由控制平面来发送BFD消息。会话up之后,报文收发都由转发平面进行。会话管理功能控制层面和转发层面都要实现,分别管理整机、本板的会话。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值