BFD的基础原理和华为ENSP配置简单实例

 BFD基础概述:

BFD即双向转发检测,是一种检测两个转发点之间故障的网络协议。它提供一种轻量级的,快速检测链路或者路径故障的机制。

在网络检测中遇到的问题:

1.某些应用通过Hello报文进行泛洪检测邻居的故障,那么到达邻居的链路不可达的时候,也不会切换路径,但是流量还是会往故障链路去发送,所以在没有检查到邻居故障,会持续的断网,这个时间超过1s,会导致数据的大量的流失

2.在三层网络中,静态路由本身没有链路检测的机制,不支持Hello报文的检测

为何要使用此网络协议,BFD提供一个标准化的,通用的,协议无关的优点:

对相邻转发引擎之间的通道提供轻符合,快速的故障检测

用单一的机制对任何介质,任何协议层进行实时检测

BFD实际原理

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

BFD的应用场景:

1.OSPF和与接口状态的联动

2.BFD与了路由协议的联动(opsf,bgp)

3.动态与静态的BFD会话

4.BFD的单臂回声

5.BFD的单跳和多跳的检测

由于同一个数据路径上只建立一个BFD会话,如果不同的应用使用的BFD参数不一致,则应该配置一个能满足所有应用的BFD参数

BFD的工作原理:

BFD的会话的建立:

1.静态建立:
由管理员手工去配置本地标识符和远端标识符,适用于没有hello机制的协议,比如静态路由等

路由器的本地标识符和远端标识符需要一一对应

2.动态建立:

动态分配本地和远端标识符

比如igp

BFD的会话的状态:

1.DOWN

BFD的初始的状态

如果在这个状态收到down,那么就会进入init

2.INIT

初始化

收到init包,那么就会进入up

3.UP

建立

如果定时器超时,那么就会进入down

4.admin down

下面是会话状态一个示例图:

 其中BFD状态机的建立和拆除都采用三次握手机制

BFD的检测模式:

两个系统建立BFD会话,并验证它们之间的路径周期性发送BFD控制报文,如果一方在既定的时间内没有收到BFD控制报文,则认为路径发生了故障。

其中BFD的检测模式有异步模式和查询模式两种

异步模式:系统之间相互周期性的发送BFD控制包,如果某个系统在检测时间内没有收到对端的发来的BFD控制报文,就会宣告会话为down

查询模式:在需要验证连接性的情况下,系统会连续发送多个BFD控制包,如果在检测时间内没有收到返回的报文就会宣告会话为down

他们的本质区别:

检测位置不同 ,异步模式下本端按一定的发送周期发送BFD控制报文。检测位置为远端,远端检测本端是否周期性的发送BFD控制报文

查询模式下本端检测自身发送的BFD控制报文是否得到了回应

BFD的检测时间:

BFD会话检测时长由TX,RX,DM三个参数决定。BFD报文实际发送时间间隔,实际接受间隔由BFD会话协商决定

本地BFD报文的实际发送时间间隔=MAX{本地配置的发送时间间隔,对端配置的接受时间间隔}

本地BFD报文的实际接受时间间隔=MAX{对端配置的发送时间间隔,本端配置的接受时间间隔}

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

异步模式:本地BFD报文实际检测时间=本地BFD报文实际接受时间间隔 x 对端配置的BFD检测倍数

查询模式:本地BFD报文实际检测时间=本地BFD报文实际接受时间间隔 x 本地配置的BFD检测倍数

BFD缺省时间参数:

   bfd报文发送的时间间隔默认1000ms,接受时间间隔默认1000ms,本地检测倍数3倍

    bfd会话等待恢复时间0秒,会话延迟up时间0秒

检测超时倍数,用于检测方计算检测超时时间

  查询模式:本地检测倍数

  异步模式:对端检测倍数

BFD ECHO功能:

单臂回声

适用于对端路由器不支持BFD的场景

目的地址是自己,这个BFD的控制报文在链路正常的情况下,会弹回来,如果链路或者其他的一些原因导致网络不通,这个BFD的控制报文就不会弹回,路由器在一定的时间内,收不到自己的BFD控制的报文则认为对端失效

ENSP的配置实例

基本的配置

bfd  //使能bfd功能
bfd session 1 bind peer-Ip <对端IP地址> interface <出接口> 
discriminator local <本地标识符> 
discriminator remote <对端标识符>  
//创建bfd会话,并绑定信息,并进入bfd会话
<对端IP地址>:指定与之建立BFD会话的对端设备的IP地址。
<出接口>:指定用于发送BFD报文的本地接口。
<本地标识符>和<对端标识符>:用于区分不同BFD会话的标识符,必须确保双方标识符匹配才能建立BFD会话。
bfd session 1 min-tx-interval <最小发送间隔> max-retry-interval <最大重试间隔> detection-mode <检测模式> //可选 bfd检测参数  
<最小发送间隔>:设置BFD报文发送的最小时间间隔。
<最大重试间隔>:设置BFD报文在未收到对端响应时的最大重试时间间隔。
<检测模式>:设置BFD的检测模式,如单跳检测、多跳检测等。
commit //保存

静态路由与bfd联动配置

实验要求:

在R1上配置到达R4Loopback0 4.4.4.4/32网段的浮动静态路由,正常情况下通过R2访问R4,当R2故障时,自动选路通过R3访问R4Loopback0;

R1R2之间建立BFD会话,并与静态路由绑定,实现故障快速检测和路径快速收敛

R1

根据上面的基本的配置可以做下面的指令

R2

做相同的指令,实现对端的建立

在R1上配置静态路由并绑定BFD会话

其中4.4.4.4/32 是r4 的回环接口

同样的基础的配置不再展示

最后看bfd 表

可以看出配置的城呈现如上

ospf与bfd联动配置

实验要求

R1R2R3运行OSPF协议,且都属于Area 0

配置OSPFBFD联动,通过设置所有OSPF接口的BFD会话参数进一步提高链路状态变化时OSPF的收敛速度;

BFD会话的最大发送间隔和最大接受间隔都设置为100ms,检测次数默认不变。

R5

在配置过程中使用基本配置的可选内容,实现高速收敛

其他几个路由器如上图一样配置

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值