概述
BFD协议原理与配置
随着网络应用的广泛部署,如果网络发生中断,可能会影响业务正常运行并造成重大损失。为了减小链路、设备故障对业务的影响,提高网络的可靠性,网络设备需要尽快检测到与相邻设备间的通信故障,以便及时采取措施,保证业务正常进行。而双向转发检测( Bidirectional ForwardingDetection,BFD)提供了一个通用、标准化介质无关和协议无关的快速故障检测机制,用于快速检测监控网络中链路或者|P路由的转发连通状况。
本次将依次介绍BFD协议基本原理、BFD协议应用场景、BFD协议配置命令,并通过案例来说明如何在设备上配置BFD协议
1.BFD协议原理简介
BFD在两台网络设备上建立会话,用来检测网络设备间的双向转发路径,为上层应用服务。BFD本身并没有邻居发现机制,而是靠被服务的上层应用通知其邻居信息以建立会话。会话建立后会周期性地快速发送BFD报文,如果在检测时间内没收到BFD报文则认为该双向转发路径发生了故障,通知被服务的上层应用进行相应的处理。下面以OSPF与BFD联动为例,简单介绍会话工作流程两台设备上同时配置了OSPF与BFD,BFD会话建立过程如下
(1)OSPF通过自己的Helo机制发现邻居并建立连接。
(2)OSPF在建立了新的邻居关系后,将邻居信息(包括目的地址和源地址等)通告给BFD。
(3) 会话建立以后,BFD开始检测链路故障,并做出快速反应。
BFD故障发现处理流程
(1)被检测链路岀现故障。
(2)BFD快速检测到链路故障,BFD会话状态变为Down
(3)BFD通知本地OSPF进程BFD邻居不可达
(4)本地OSPF进程中断OSPF邻居关系。
BFD根据收到的邻居信息建立会话。
二BFD会话建立方式
BFD会话的建立有两种方式,即静态建立BFD会话和动态建立BFD会话。静态和动态建立BFD会话的主要区别在于本地标识符( Local Discriminator)和远端标识符( Remote Discriminator)的配置方式不同。
BFD通过控制报文中的 Local Discriminator和 Remote Discriminator来区分不同的会话。
1.静态建立BFD会话
静态建立BFD会话是指通过命令手工配置BFD会话参数,包括配置本地标识符和远端标识符等,然后手工下发BFD会话建立请求。
2.动态建立BFD会话
动态建立BFD会话时,系统对本地标识符和远端标识符的处理方式如下
(1)动态分配本地标识符。
当应用程序触发动态建立BFD会话时,系统分配属于动态会话标识符区域的值作为BFD会话的本地标识
符。然后向对端发送 Remote Discriminator的值为0的BFD控制报文,进行会话协商
(2)自学习远端标识符。
当BFD会话的一端收到 Remote Discriminator的值为0的BFD控制报文时,判断该报文是否与本地
BFD会话匹配。如果匹配,则学习接收到的BFD报文中 Local Discriminator的值,获取远端标识符。
三BFD检测机制
BFD的检测机制是两个系统建立BFD会话,并沿它们之间的路径周期性发送BFD控制报文。如果一方在既定的时间内没有收到BFD控制报文,则认为路径上发生了故障。
BFD提供异步检测模式。在这种模式下,系统之间相互周期性地发送BFD控制报文。如果某个系统连续几个报文都没有接收到,就认为此BFD会话的状态是Down。
四BFD单臂回声功能
单臂回声功能是指通过BFD报文的环回操作检测转发链路的连通性。
设备支持BFD功能,另一台设备不支持BFD功能,只支持基本的网在两台直接相连的设备中,其中络层转发。为了能够快速地检测这两台设备之间的故障,可以在支持BFD功能的设备上创建单臂回声功能的BFD会话。支持BFD功能的设备主动发起回声请求功能,不支持BFD功能的设备接收到该报文后直接将其环回,从而实现转发链路的连通性检测功能。
RouterA支持BFD功能, RouterB不支持BFD功能。在 RouterA上配置单臂回声功能的BFD会话,检测 RouterA到 RouterB之间的单跳路径。 RouterB接收到 RouterA发送的BFD报文后,直接在网络层将该报文环回,从而快速检测 RouterA和 RouterB之间直连链路的连通性。
BFD协议配置命令解析
一,bfd命令
1.命令功能
bfd命令用来全局使能BFD功能,并进入BFD全局视图。
undo bfd命令用来全局去使能BFD功能
2.命令格式
Bfd
Undo bfd
3.使用实例
全局使能BFD功能
Bfd
二,bfd bind peer-ip命令
1.命令功能
bfd bind peer-ip命令用来创建BFD会话绑定信息,并进入BFD会话视图。
undo bfd session-name命令用来删除指定的BFD会话,同时取消BFD会话的绑定信息
缺省情况下,未创建BFD会话。
2.命令格式
bfd session-name bind peer-ip ip-address vpn-instance vpn-name | interface interface-type interface-number ][ source-ip ip-address I
undo bfd session-name
3.参数说明
4.使用实例
创建名为atoc的BFD会话,检测到对端IP地址为10.10.20.2的多跳链路。
Sys
Bfd
Quit
Bfd atoc bind peer-ip 10.10.20.2
五,bfd one-arm-echo命令
1.命令功能
bfd one-arm-echo命令用来配置单臂回声功能的BFD会话。
undo bfd命令用来删除指定的BFD会话,并取消BFD会话的绑定信息
缺省情况下,未配置单臂回声功能的BFD会话
2.命令格式
bfd session-name bind peer-ip peer-ip vpn-instance vpn-instance-name l interface interface
type interface-number source-Ip p-address one-arm-echo
undo bfd session-name
3.参数说明
4.使用实例
配置名称为test单臂回声功能的BFD会话。
<Huawei> system-view
[Huawei bfd
[Huawei-bfd] quit
[Huawei] bfd test bind peer-ip 10.10.10.1 interface gigabitethernet 1/0/0 one-arm-echo
[Huawei-bfd-session-test] discriminator local 100
[Huawei-bfd-session-test) commit
四, discriminator命令
1.命令功能
discriminator命令用来配置静态BFD会话的本地标识符和远端标识符。
2.命令格式
discriminator {local discr-value | remote discr-value }
3.参数说明
local discr-value
参数说明:BFD会话的本地标识符
取值:整数形式,取值范围是1-8191
remote discr-value
参数说明:BFD会话的远端标识符
取值:整数形式,取值范围是1~8191
4.使用实例
配置BFD会话的本地标识符为80,远端标识符为800
<Huawei> system-view
[Huawei bfd atoc
THuawei-bfd-session-atoc] discriminator local 80
[Huawei-bfd-session-atocl discriminator remote 800
五,min- echo-rx- interval命令
1.命令功能
min-echo-rx- - interva命令用来配置单臂回声功能的BFD报文的最小接收间隔
undo min-echo-rx-interval命令用来恢复单臂回声功能的BFD报文的最小接收间隔为缺省值
缺省情况下,单臂回声功能的BFD报文的最小接收间隔为1000ms
2.命令格式
min-echo-rx-interval interval
undo min-echo-rx-interval
3.参数说明
Interval
参数说明:单臂回声功能的BFD报文的接收间隔
取值:整数形式,取值范围是10 ~ 2000,单位是毫秒。
4.使用实例
配置单臂回声功能的BFD报文的最小接收间隔为100ms。
<Huawei> system-view
[Huawei bfd test
[Huawei-bfd-session-testl min-echo-rx-interval 100
六, commit命令
1.命令功能
commit命令用来提交BFD会话配置。
2.命令格式
commit
3.参数说明
无参数
4.使用实例
提交当前会话的BFD配置
<Huawei> system-view
[Huawei] bfd test bind peer-ip 10.1.1.1 interface gigabitethernet 1/0/0
[Huawei-bfd-session-test] discriminator local 22
[Huawei-bfd-session-test] discriminator remote 33
[Huawei-bfd-session-test] commit
BFD实验
作用:监控和检测链路和IP路由连通性
原理:通过标识符建立session(会话)
本端标识符local
远端表示符remote
会话建立的方式:
静态:手工配置本地和远端标识符
动态:两端去协商确定这个标识符
bfd状态:
down
init
up
admindown
单跳:
1.启用bfd
bfd
quit
2.创建bfd会话。注意命令中需要跟上接口地址
bfd 1 bind peer-ip 12.1.1.2 inter g 0/0/0
discri local 10
discri remote 20
commit
查看:dis bfd session all 查看状态
dis bfd statistics 查看详细内容
关联接口:
bfd 1to2 bind peer-ip default-ip int g 0/0/0
discr local 10
discr remote 20
proccess-interface-status //bfd关联接口
commit
nqa test-instance hx icmp
test-type icmp
destination-address
最后
以上就是昏睡野狼为你收集整理的BFD协议的全部内容,希望文章能够帮你解决BFD协议所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复