下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

双向转发检测BFD

作者:课课家教育     来源: http://www.kokojia.com点击数:3140发布时间: 2017-09-04 15:00:22

标签: BDF通信路由交换

软考,您想通过吗?一次通过才是硬道理

  当数据速率到吉比特(Gb)时,故障感应时间代表着大量数据的丢失。相邻的系统间快速侦测通讯失效的需求日益增多,而且也显得越来越重要。在没有硬件信号发送的情况下,以前的路由协议通常采用发送hello报文的侦测机制。Hello报文的侦测时间一般都大于1秒,这个时间对于一些特殊的应用来说太长了,无法侦测和发现在短时间内发生的链路状态。

  当路由协议不在运行状态的时候,hello报文机制也没有被支持。于是就产生一种在双向路由引擎之间建立一条路径的检测方法—BFD。

  1、BDF定义

  BFD(Bidirectional Forwarding Detection)双向转发检测,可以实现链路的快速检测,BFD通过与上层路由协议联动,可以实现链路的快速检测、监控网络中链路或者IP路由的转发连通状况,保证邻居之间能够快速检测到通信故障,从而快速建立起备用通道恢复通信。

  BDF之所以称为双向,是因为BFD协议通过三次握手机制,能提供链路来回两个方向的连通性检测。BFD可以快速检测到转发路径上的接口和链路故障、节点的转发引擎故障等,并把故障通知上层协议,使上层协议能够快速收敛。BFD可用于检测任何形式的路径,包括直接相连的物理链路、虚电路、隧道、MPLSLSP乃至多跳的路由通道。甚至对于单向链路(如MPLSTE隧道),只要有回来的路径,都可以检测。

  2、BFD的工作机制

  BFD提供了一个通用的、标准化的、介质无关、协议无关的快速故障检测机制,可以为各上层协议如路由协议、MPLS等统一地快速检测两台路由器间双向转发路径的故障。

  BFD在两台路由器或路由交换机上建立会话,用来监测两台路由器间的双向转发路径,为上层协议服务。BFD本身并没有发现机制,而是靠被服务的上层协议通知其该与谁建立会话,会话建立后如果在检测时间内没有收到对端的BFD控制报文则认为发生故障,通知被服务的上层协议,上层协议进行相应的处理。

  3、BDF的特征

  1)BGP 是一种增强型距离矢量(distance vector)路由协议

  2)传输协议:TCP,端口号:179

  3)支持CIDR(无类别域间选路)

  4)路由更新只发送增量路由

  5)具有丰富的路由过滤和路由策略配置

  4、故障检测

双向转发检测BFD_BDF_通信_路由交换_课课家教育

  1)链路出现故障。

  2)BFD检测到故障,BFD邻居撤消。

  3)BFD通知其支撑的应用模块连接断链。

  4)BFD支撑的应用OSPF通知邻居断链。

  5、检测方法

  1)硬件检测:例如通过SDH(Synchronous Digital Hierarchy,同步数字体系)告警检测链路故障。硬件检测的优点是可以很快发现故障,但并不是所有介质都能提供硬件检测。

  2)慢Hello机制:通常采用路由协议中的Hello报文机制。这种机制检测到故障所需时间为秒级。对于高速数据传输,例如吉比特速率级,超过1秒的检测时间将导致大量数据丢失;对于时延敏感的业务,例如语音业务,超过1秒的延迟也是不能接受的。并且,这种机制依赖于路由协议。

  3)其他检测机制:不同的协议有时会提供专用的检测机制,但在系统间互联互通时,这样的专用检测机制通常难以部署。

  双向转发检测(BFD)的新协议将帮助解决这个问题,提高故障检测与恢复速度。作为一项IETF草案标准,BFD提供一种检测链路或系统转发传输流能力的简单方法。

  6、如何使用

  在使用时,要包含bfd.h这个头文件

  #include

  #include"bfd.h"

  int main()

  {

  const char **t = bfd_target_list();

  while(*t)

  {

  printf("%s\\n",*t);

  t++;

  }

  }

  保存为target.c

  在Linux下编译时:gcc -o target target.c -lbfd -liberty

  对BDF的介绍就简单到这了,如果您有疑问,欢迎登陆课课家教育或关注公众号【课课家IT精品课程】和我们讨论学习!

赞(0)
踩(0)
分享到:
推荐查看
华为认证网络工程师 HCIE直播课视频教程