C114门户论坛百科APPEN| 举报 切换到宽版

亚星游戏官网

 找回密码
 注册

只需一步,快速开始

短信验证,便捷登录

搜索
查看: 9524|回复: 1

关于BFD [复制链接]

军衔等级:

亚星游戏官网-yaxin222  上士

注册:2008-2-19
发表于 2009-11-14 10:25:59 |显示全部楼层
很久没有写技术类的文章了。看来自己是懒了。前天晚上有个割接,遇到一点BFD的问题,不太明白。现在学习一下。
BFD:bidirectional forwarding detection:双向转发检测
产生背景
为了保护关键应用,网络中会设计有一定的冗余备份链路,网络发生故障时就要求网络设备能够快速检测出故障并将流量切换至备份链路以加快网络收敛速度。目前有些链路(如POS)通过硬件检测机制来实现快速故障检测。但是某些链路(如以太网链路)不具备这样的检测机制。此时,应用就要依靠上层协议自身的机制来进行故障检测,上层协议的检测时间都在1秒以上,这样的故障检测时间对某些应用来说是不能容忍的。某些路由协议如OSPFIS-IS虽然有Fast Hello功能来加快检测速度,但是检测时间也只能达到1秒的精度,而且Fast Hello功能只是针对本协议的,无法为其它协议提供快速故障检测。
<联想问题1:POS如何快速链路检测;问题2:ARP探测检测是怎么回事>
BFD协议提供了一个通用的标准化的介质无关和协议无关的快速故障检测机制。具有以下优点:
l              网络设备间任意类型的双向转发路径进行故障检测,包括直连物理链路、虚电路、隧道、MPLS LSP、多跳路由路径以及单向链路等。<因此可知BFD可以和多种技术相结合使用:ETH-TRUNK,VPN,等等>
l              可以为不同的上层应用服务,提供一致的快速故障检测时间
l              提供小于1秒的检测时间,从而加快网络收敛速度,减少应用中断时间,提高网络的可靠性。
实现原理:BFD在两台网络设备上建立会话,用来检测网络设备间的双向转发路径,为上层应用服务。BFD本身并没有邻居发现机制,而是靠被服务的上层应用通知其邻居信息以建立会话。会话建立后会周期性地快速发送BFD报文,如果在检测时间内没有收到BFD报文则认为该双向转发路径发生了故障,通知被服务的上层应用进行相应的处理。
BFD有两种操作模式:异步模式和查询模式。异步模式下,会话两端周期性地发送BFD控制报文,根据是否能收到对端的BFD控制报文来检测会话状态。<同步模式是什么情况>
回声功能启动后,会话的一端周期性地发送BFD Echo报文,对端不对此报文进行处理,而只将此报文转发回发送端。根据发送端是否能收到BFD Echo报文来检测会话状态。
BFD会话的两端可能是在直连网段(即IP报文的一跳),也可能是在不同网段。回声功能只可以检测直连网段故障,即BFD Echo报文是单跳发送;而BFD控制报文可以检测直连网段和非直连网段的故障,即BFD控制报文可以是单跳或多跳发送。
BFD报文
2.2.1  BFD控制报文

BFD控制报文包括强制部分和可选认证部分。
强制部分格式如3
[img=459,153 src=]http://www.txrjy.com/[/img]
图3 BFD控制报文
可选认证部分格式如4
[img=458,27 src=]http://www.txrjy.com/[/img]
图4 BFD控制报文(认证部分)
BFD控制报文各字段含义如1
表1 BFD控制报文各字段含义
字段
含义
Vers
BFD协议版本号,目前版本号为1
Diag
诊断码,表明发送方最近一次会话Down的原因
Sta
发送方BFD会话当前状态,取值为:0代表AdminDown1代表Down2代表Init3代表Up
P
会话参数变化时置位
F
如果收到的BFD控制报文P字段置位,则将下一个发送的BFD控制报文的F字段置位作为应答
C
该字段置位表明BFD的实现是独立于控制平面的
A
该字段置位表明报文包含认证部分,会话需要进行认证
D
该字段置位表明发送方希翼以查询模式运行,不置位表明不希翼以查询模式运行或不支撑查询模式
R
保留位,发送时设为0,接收时忽略该字段
Detect Mult
检测时间倍数
Length
BFD控制报文长度,单位为字节
My Discriminator
发送方产生的一个唯一非0值,用来标识不同的BFD会话
Your Discriminator
如果已经收到会话邻居发送的BFD控制报文则该值为收到报文中的My Discriminator,否则为0
Desired Min TX Interval
发送方支撑的最小BFD控制报文发送时间间隔,单位为微秒。
Required Min RX Interval
发送方支撑的最小BFD控制报文接收时间间隔,单位为微秒
Required Min Echo RX Interval
发送方支撑的最小BFD Echo报文接收时间间隔,单位为微秒。为0表示不支撑BFD Echo报文
Auth Type
认证类型
Auth Len
可选认证部分长度,包括Auth TypeAuth Len字段,单位为字节


BFD控制报文采用UDP封装,目的端口号为3784,源端口号在4915265535的范围内。
2.2.2  BFD Echo报文

BFD Echo报文提供了一种不依赖于BFD控制报文的故障检测方法。本端发送本端接收,远端不对报文进行处理,而只是将此报文在反向通道上返回。因此BFD协议并没有对BFD Echo报文的格式进行定义,唯一的要求是发送方能够通过报文内容区分会话。
BFD Echo报文采用UDP封装,目的端口号为3785,目的IP地址为发送接口的地址,源IP地址由配置产生(配置的源IP地址要避免产生ICMP重定向)。
已有 1 人评分经验 家园分 收起 理由
传输 + 5 + 10 + 5 感谢分享

总评分: 经验 + 5  家园分 + 10  + 5   查看全部评分

举报本楼

本帖有 1 个回帖,您需要登录后才能浏览 登录 | 注册
您需要登录后才可以回帖 登录 | 注册 |

手机版|C114 ( 沪ICP备12002291号-1 )|联系大家 |网站地图  

GMT+8, 2024-9-24 19:18 , Processed in 0.230803 second(s), 16 queries , Gzip On.

Copyright © 1999-2023 C114 All Rights Reserved

Discuz Licensed

回顶部
XML 地图 | Sitemap 地图