BFD故障检测技术之概述

目录

技术背景:

简介:

检测机制:

BFD的检测机制:

1.异步模式:

2.查询模式:

特殊的检测功能:单臂回声

简介:

配置:

检测时间:

BFD会话:

BFD会话建立方式:

介绍:

1)静态配置BFD会话:

简介:

配置:

2)动态建立BFD会话:

简介:

配置:

BFD会话状态:

BFD丰富的联动:

简介:

1.BFD与静态路由的联动:

背景:

配置:

2.BFD与OSPF的联动:

背景:

配置:

BFD与BGP联动:

简介:

配置:

BFD与VRRP联动:

简介:

配置:

尾声:

技术背景:

随着网络应用的广泛部署,网络发生故障极大可能导致业务异常,为了减少链路、设备故障对业务的影响,网络设备需要尽快检测到相邻设备间的通信故障,以便及时采取措施,保证业务正常进行

网络故障检测遇到的问题:

        ·在无法通过硬件信号检测故障的系统中,应用通常采用上层协议本身的Hello报文机制检测网络故障

        ·常用路由协议的Hello报文检测时间较长,检测时间超过1秒钟。当应用在网络中传输的数据超过GB/s时,秒级的检测时间将会导致应用传输的数据大量丢失

        ·在三层网络中,静态路由本身没有故障检测机制

简介:

BFD(Bidirection Forwarding Detection,双向转发检测)提供了一个通用的、标准化的、介质无关和协议无关的快速故障检测机制,用于快速检测、监控网络中链路或IP路由的转发连通性。

同时BFD有着以下两大优点:

        ·对相邻转发引擎之间的通道提供轻负荷、快速故障检测

        ·用单一的机制(hello机制)对任何介质、任意协议层进行实时检测

BFD本质是一个简单的Hello协议,两个转发引擎之间建立BFD会话通道,并周期性发送BFD检测报文,如果某个系统在规定的时间内没有收到对端的检测报文,则认为会话通道中的某个部分发生了故障

检测机制:

BFD的检测机制:

两个转发引擎建立BFD会话,并沿着它们之间建立BFD会话的路径周期性发送BFD控制报文,如果一方在既定的时间内没有收到BFD控制报文,则认为路径上发生了故障。BFD的检测模式有异步模式和查询模式:

1.异步模式:

转发引擎之间相互周期性地发送BFD控制报文,如果某个转发引擎在检测时间内没有收到对端发来的BFD控制报文,就宣布会话为Down

2.查询模式:

在需要验证连接性的情况下,转发引擎连续发送多个BFD控制报文,如果在检测时间内没有收到返回的报文就宣布会话为Down

特殊的检测功能:单臂回声

简介:

1)BFD Echo功能也被称为BFD回声功能,是由本地发送的BFD Echo报文,远端系统将报文环回的一种检测机制

2)在两台直接相连的设备中,其中一台设备支持BFD功能,另一台设备不支持BFD功能,只支持基本的网络层转发,那么为了能够快速检测这两台设备之间的故障,就产生了单臂回声这么一个极端环境下的解决方案。可以在支持BFD功能的设备上创建单臂回声的BFD会话。支持BFD功能的设备主动发起回声功能,不支持BFD功能的设备在收到该报文后直接将其环回,从而实现转发链路的连通性检测

配置:

bfd 1 bind peer-ip [ip-addr] {interface [] | source-ip [ip-addr]} one-arm-echo

检测时间:

BFD会话检测时长由TX(Desired Min TX Interval,所需最小发送数据时间间隔),RX(Required Min RX interval,必须最小接收数据时间间隔),DM(Detect Multi,检测倍数)三个参数决定。

BFD报文的实际发送时间,实际接收时间间隔由BFD会话协商决定

本地BFD报文实际发送时间间隔=MAX(本地配置的发送时间间隔 | 对端配置的接收时间间隔)//比本地配置发送时间间隔和对端配置的接收时间间隔谁最大

本地BFD报文实际接收时间间隔=MAX(对端配置的发送时间间隔 | 本地配置的接收时间间隔)//比对端配置的发送时间间隔和本地配置的接收时间间隔谁最大

本地BFD报文实际检测时间:

1)异步模式:本地BFD报文实际检测时间=本地BFD报文实际接收时间间隔*对端配置的BFD检测倍数//因为异步模式是两端相互交互BFD控制报文,因此是乘上对端配置的BFD检测倍数

2)查询模式:本地BFD报文实际检测时间=本地BFD报文实际接收时间间隔*本端配置的BFD检测倍数//因为查询模式不和对方交互BFD,而是在有需要时发出一个BFD控制报文,等待BFD控制报文返回本端,相当于是一个单臂回声,因此是乘上本端配置的BFD检测倍数

BFD会话:

BFD会话建立方式:

介绍:

BFD会话建立有两种方式,即静态建立BFD会话和动态建立BFD会话。BFD通过控制报文中的本地标识符和远端标识符区分不同的会话,静态和动态创建BFD会话的主要区别在于Local Discriminator和Remote Discriminator的配置方式不同

1)静态配置BFD会话:

简介:

静态建立BFD会话是指通过命令行手工配置BFD会话参数,包括配置Local Discriminator和Remote Discriminator等,然后手工下发BFD会话建立请求

配置:
系统视图下键入 bfd // 全局使能
bfd [bfd会话名称] bind peer-ip [ip-addr] interface x/x/x source-ip [ip-addr] //建立对等体
bfd [bfd会话名称] //进入bfd 会话视图
discriminator local [1-8191]//配置本地标识符
discriminator remote [1-8191]//配置远端标识符(如果配单臂回声就不用配远端标识符)
commit //提交配置。注意!一定要提交配置,否则配置不生效

2)动态建立BFD会话:

简介:

动态建立BFD会话的本地标识符由触发创建BFD会话的转发引擎动态分配,Remote Discriminator(远端标识符)由收到对端BFD消息的Local Discriminator(本地标识符)的值学习而来

配置:
系统视图下键入 bfd // 全局使能
bfd [bfd会话名称] bind peer-ip [ip-addr] interface x/x/x source-ip [ip-addr] auto //建立对等体,并动态生成远端和本地标识符

BFD会话状态:

BFD会话有四种状态:Down(失效、关闭)、Init(初始化)、up(上线)、AdminDown(管理down,通过命令配置使会话失效)。

会话状态的变化通过BFD报文的State字段传递,转发引擎根据自己本地的会话状态和接收到的对端BFD报文驱动状态变化

BFD丰富的联动:

简介:

正如我们开头所言,由于BFD其单一的机制,和其通用的、标准化的、协议无关、介质无关的特质,BFD能够与几乎所有路由协议进行联动

1.BFD与静态路由的联动:

背景:

静态路由本身没有故障检测机制,如果存在冗余路径,通过静态路由与BFD联动,当主用路径故障时,实现静态路由的快速切换

配置:

ip route-static [目标网段] [目标网段的子网掩码] [去往目标网段的下一跳] track bfd-session []//当BFD会话失效时,说明链路故障,则自动将这条静态路由失效,这里的BFD-session为bfd会话名称

2.BFD与OSPF的联动:

背景:

ospf在未绑定BFD的情况下,链路故障检测时间由协议Hello机制决定,通常是秒级(Hello时间X*4,若链路类型为P2P或bma,则为40s,若为P2MP或NBMA,则为120s)。通过绑定BFD,可以实现毫秒级检测

配置:

ospf [进程号]
 bfd all-interface enable//使能ospf下BFD功能
 bfd all-interface {min-rx-interval | min-tx-interval | detect-multiplier}//ospf下BFD检测功能的配置,依次为[期望从对端接收报文的最小接收间隔],[指定向对端发送BFD报文的最小发送间隔],[指定本地检测间隔]

BFD与BGP联动:

简介:

BGP协议通过存活时间(Keepalive)定时器和保持时间(Holdtime)定时器来维护邻居关系。 但这些定时器都是秒级的,而且根据协议规定,设置的保持时间(默认为180s)应该至少为存活时间间隔(默认为60s)的三倍。 这样使得BGP邻居关系的检测比较慢,对于带宽流速较高的接口会导致大量报文丢失。因此可以绑定BFD,实现一个毫秒级故障检测,减小故障损失。

配置:

bgp [进程号]
 peer [ip-addr] bfd enable

BFD与VRRP联动:

简介:

将VRRP与BFD联动绑定,可以实现网关的快速切换

配置:

int vlanif []
 vrrp vrid [] track bfd-session [只支持静态会话的本地标识符] {increased增加优先级| reduced减少优先级}//这里的bfd-session x为bfd的本地标识符

若想按照bfd会话名绑定,则配置为:
int vlan if []
 vrrp vrid [] track bfd-session session-name [] {increased增加优先级|reduced减少优先级}

尾声:

这差不多就是BFD的大致内容了,我们BFD的内容也告一段落了,那么我们下次再见

  • 20
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数通Dinner

伟大之人,请投我宝贵的一票

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值