光之远征团跨服战

BFD协议原理和配置

BFD协议原理和配置

概述协议原理配置

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

链路故障:

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

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

3、在三层网络中,静态路由本身没有故障检查机制。

一、概述

功能:BFD提供了一个通用的、标准化的、介质无关的、协议无关的快速故障检测机制

优点:

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

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

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

特点: 检测速度快(毫秒级),可以和多个协议进行联合使用。

应用场景:

1.静态路由和BFD联动

2.OSPF和BFD联动

3. 其它动态协议和BFD联动

二、协议原理

2.1 报文结构

强制部分:

sta: 本地状态,bfd有四种邻居状态分别是down,init,up,adminDown

detect mult: 检测倍数,默认是3

discriminator: 本地标识符 local , 远端标识符 remote

mim TX: 最小发送间隔时间,默认1000ms

min RX: 最小接收间隔时间,默认1000ms

可选部分:主要用于认证

2.2 BFD会话建立

静态建立会话:静态建立BFD会话是指通过命令行手工配置BFD会话参数,包括配置本地标识符和远端标识符等,然后手工下发BFD会话建立请求。

动态建立会话:动态建立BFD会话的本地标识符由触发创建BFD会话的系统动态分配,远端标识符从收到对端BFD消息的Local Discriminator的值学习而来。

会话状态:

BFD会话有四种状态:Down、Init、Up和AdminDown。会话状态变化通过BFD报文的State字段传递,系统根据自己本地的会话状态和接收到的对端BFD报文驱动状态改变。

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

2.3 BFD检测模式

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

1、异步模式

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

2、查询模式

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

2.4 BFD检测时间

BFD会话检测时长由TX(Desired Min TX Interval),RX(Required Min RX Interval),DM(Detect Multi)三个参数决定。BFD报文的实际发送时间间隔,实际接受时间间隔由BFD会话协商决定。

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

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

BFD缺省时间参数 :

BFD报文发送间隔默认1000毫秒,接受间隔默认1000毫秒,本地检测倍数3次。

BFD会话等待恢复时间0秒,会话延迟Up时间0秒。

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

查询模式:采用本地检测倍数。

异步模式:采用对端检测倍数。

2.5 BFD Echo功能

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

工作原理:

在两台直接相连的设备中,其中一台设备支持BFD功能(R1);另一台设备不支持BFD功能(R2),只支持基本的网络层转发。为了能够快速的检测这两台设备之间的故障,可以在支持BFD功能的设备上创建单臂回声

2.6 BFD联动功能

联动功能由检测模块、Track和应用模块三部分组成。

监测模块负责对链路状态、网络性能等进行监测,并将探测结果通知给Track模块

Track模块收到监测模块的探测结果后,及时改变Track项的状态,并通知应用模块。

应用模块根据Track项的状态,进行相应的处理,从而实现联动。

三、配置

3.1 基本配置

bfd //使能bfd

bfd 名字 bind peer 对端IP interface 本端接口 //配置静态bfd会话

discriminator local 10 // 配置本地标识符

discriminator remote 20 //配置远端标识符

commit // 提交配置

注意本地标识符和远端标识符要匹配否则无法建立BFD会话

会话验证:display bfd session all verbose

3.1 BFD和静态路由联动

实验要求:

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

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

配置:

在R1与R2之间建立静态BFD会话:

[R1]bfd

[R1]bfd 12 bind peer 10.0.12.2 interface GigabitEthernet 0/0/1

[R1-bfd-session-12]discriminator local 10

[R1-bfd-session-12]discriminator remote 20

[R1-bfd-session-12]commit

[R2]bfd

[R2]bfd 21 bind peer 10.0.12.1 interface GigabitEthernet 0/0/1

[R2-bfd-session-21]discriminator local 20

[R2-bfd-session-21]discriminator remote 10

[R2-bfd-session-21]commit

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

[R1] ip route-static 4.4.4.4 32 10.0.12.2 track bfd-session 12

[R1] ip route-static 4.4.4.4 32 10.0.13.2 preference 100

3.2 BFD和OSPF联动

实验要求:

R1、R2、R3运行OSPF协议,且都属于Area 0;

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

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

配置:

R1配置如下

[R1]bfd

[R1]interface GigabitEthernet 0/0/1

[R1-GigabitEthernet0/0/1]ip address 10.0.12.1 30

[R1]ospf 1

[R1-ospf-1]area 0

[R1-ospf-1-area-0.0.0.0]network 10.0.12.0 0.0.0.3

[R1-ospf-1-area-0.0.0.0]quit

[R1-ospf-1]bfd all-interfaces enable

[R1-ospf-1]bfd all-interfaces min-tx-interval 100 min-rx-interval 100 detect-multiplier 3

R2 R3 配置和R1类似

如何锻炼颈部肌肉改善颈椎病
吻痕的8个鉴定方法 教你一眼辨别(图文)


最新发表

友情链接