双向转发检测(BFD)技术及简单实验

技术介绍

BFD(Bidirectional Forwarding Detection)双向转发检测,其原理和ip-link类似,都是用于快速检测系统之间的通信故障,并在出现故障时通知上层协议。

该协议有两种模式,异步或同步,在本文中不过多讨论。其技术原理是在两个设备间互相周期性地发送报文,A发B,B发A。一旦出现故障导致链路断开,报文没有回应,BFD协议就会将故障通知上层协议。

和ip-link的区别在于,ip-link只需在一台设备上配置,而BFD需要在两个设备上同时配置。

其他的异同可以参考下面的表格:
 

BFD的响应速度会比ip-link要快很多,联动的应用场景也更多。

会话的建立方式

通过控制报文中的本地标识符(Local Discriminator)和远端标识符(Remote Discriminator)来区分不同的会话。

比如A设备,它的标识符是:

  • Local Discriminator(本端): a
  • Remote Discriminator(远端): b

B设备的标识符就对应为:

  • Local Discriminator(本端): b
  • Remote Discriminator(远端): a

本端a和远端b是一个会话,本端b和远端a是另一个会话,两者互相对称。

会话状态

BFD会话有4种状态:Down、Init、Up和AdminDown。

  • Down:会话处于断开状态或刚刚被创建,尚未开始通信。
  • Init:已经能够与对端系统通信,本端希望会话进入Up状态(这通常是一个中间状态)。
  • Up:会话已成功建立,双方可以正常通信。
  • AdminDown:会话被管理性地置于Down状态,即使物理链路可能仍然正常。

发送方在BFD控制报文的STA(State)字段会填入本地当前的会话状态。接收方根据接收到的BFD控制报文以及本端当前的会话状态来进行状态机的迁移。

会话的建立过程可以参考下图:

应用场景:可用于双机热备的场景,由VGMP管理组进行调用。

实验目标:在FWA上配置bfd会话1,配置对端ip地址,并设定本地、远端标识符,并绑定在ospf协议上进行测试。

实验拓扑如上图。

1、防火墙基础配置

FWA:

int g1/0/0

ip add 1.1.1.1 24

service-man all permit //配置ip地址,允许端口接收、回复协议报文。

quit

firewall zone trust

add int g1/0/0 //将端口加入trust区域。

quit

security-policy

rule name test

source-zone local

destination-zone trust

action permit//配置路由策略

quit

FWB上的配置正好相反:

int g1/0/0

ip add 1.1.1.2 24

service-man all permit

quit

firewall zone trust

add int g1/0/0

quit

security-policy

rule name test

source-zone local

destination-zone trust

action permit

quit

配置好之后测试路由是否联通:
 

2、进行BFD配置
FWA:

bfd

bfd 1 bind peer-ip 1.1.1.2

discriminator local 10

discriminator remote 20

commit//配置开启bfd、对端ip、本地;远端标识符。

FWB:

bfd

bfd 1 bind peer-ip 1.1.1.1

discriminator local 20

discriminator remote 10

commit

查看命令可以用display bfd configuration all来进行查看。

抓包如上图。

3、尝试在ospf协议上绑定BFD

3.1、首先取消步骤2BFD配置,并进行ospf配置:

FWA:

undo bfd

y

bfd  //取消bfd配置,确认,并重新开启bfd功能

quit

ospf 1

area 0

network 1.1.1.1 0.0.0.0

quit

FWB:

undo bfd

y

bfd

quit

ospf 1

area 0

network 1.1.1.2 0.0.0.0

quit

等待两台设备ospf邻居握手成功。

状态成为full。

抓包可以看到ospf报文。

3.2、在ospf中配置bfd

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

bfd all-interfaces min-rx-interval 100 min-tx-interval 100 detect-multiplier 3 //开启bfd,最小间隔,最大间隔均设置为100,认证次数设置为3。

此时已经可以抓包到BFD控制报文,且因为对端尚未配置,state状态为down。

对端配置完成后,快速完成init和up的状态。

在防火墙上通过disp bfd session all也可以进行端口状态查看。

实验成功。

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值