链路心跳、状态双向转发检测BFD技术,配置+案例

IT海睿 344 0

BFD应用介绍:

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

BFD检测是毫秒级的。

检测模式:

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

image.png

配置命令:

1,创建BFD会话,进入BFD配置视图

几种常见创建方式,任选,使用ipv6时将peer-ip 改为peer-ipv6
[Huawei] bfd bfd名称 bind peer-ip 对端IP interface 接口 source-ip 本地IP ## 本端与对端通过指定的接口连通性检测
[Huawei] bfd bfd名称 bind peer-ip 对端IP source-ip 本地IP  ## 本端与对端连通性检测
[Huawei] bfd bfd名称 bind peer-ip 对端IP vpn-instance vpn实例名 source-ip 本地IP ## 本端与对端通过VPN实例连通性检测

2,创建使用组播地址作为对端地址的BFD会话,并进入BFD会话视图。(可选配置)

[Huawei] bfd BFD名称 bind peer-ip default-ip interface 接口 source-ip 对端IP

3,创建单臂Echo功能的BFD会话(可选配置)

在对端设备不支持bdf时做单臂配置使用

这里都不用看,就是在创建BFD会话,末尾加上one-arm-echo

[Huawei] bfd bfd名称 bind peer-ip 对端IP interface 接口 source-ip 本地IP one-arm-echo ## 本端与对端通过指定的接口连通性检测
[Huawei] bfd bfd名称 bind peer-ip 对端IP source-ip 本地IP one-arm-echo ## 本端与对端连通性检测
[Huawei] bfd bfd名称 bind peer-ip 对端IP vpn-instance vpn实例名 source-ip one-arm-echo 本地IP ## 本端与对端通过VPN实例连通性检测

4,配置本端与对端会话标识

这个是必配选项,不配置是起不来的。标识两边各自的都要一样。即本端为10时,在对端设备上对端为10。两边都要配置
[Huawei-bfd-session-test] discriminator local 10 ## 假设这里bfd名位test,指定本端标识为10
[Huawei-bfd-session-test] discriminator remote 20 ## 假设这里bfd名位test,指定对端标识为20

5,最后提交即可

简单的配置一般1,4,5条就够了,配置完可以通过抓包工具看看已经建立了链接
[Huawei-bfd-session-test] commit ## 提交

image.png

6,查看状态

[Huawei] dis bfd session all ## 提交

image.png

案例1:结合静态路由使用BFD:

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

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

image.png

配置命令:

BFD的配置

[R1]bfd
[R1]bfd 12 bind peer-ip 10.0.12.2 interface GigabitEthernet 0/0/1 ## 名称名为12的BFD,对端地址10.0.12.2通过G0/0/1口检测
[R1-bfd-session-12]discriminator local 10 ## 指定本端标识为10
[R1-bfd-session-12]discriminator remote 20 ## 指定对端标识为20
[R1-bfd-session-12]commit ## 提交
[R2]bfd
[R2]bfd 21 bind peer-ip 10.0.12.1 interface GigabitEthernet 0/0/1 ## 名称为21的BFD,对端地址10.0.12.1通过G1口检测
[R2-bfd-session-21]discriminator local 20 ## 
[R2-bfd-session-21]discriminator remote 10
[R2-bfd-session-21]commit

在R1上绑定配置

[R1] ip route-static 4.4.4.4 32 10.0.12.2 track bfd-session 12 ## 即当bfd名为12的链路正常时优先走这条,断线后直接剔除。
[R1] ip route-static 4.4.4.4 32 10.0.13.2 preference 100 ## 默认的走R3,注意静态路由默认优先级60,第一条命令在没有移除时优先级为60.


案例2:结合OSPF使用

image.png

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

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

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


配置命令:

[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 
## min-tx-interval 指定向对端发送BFD报文的最小发送间隔。毫秒
## min-rx-interval 指定期望从对端接收BFD报文的最小接收间隔。毫秒
## detect-multiplier 指定本地检测倍数。
R2,R3类似照此配置即可

引深参考:bfd all-interfaces(OSPF) - S9300, S9300X V200R021C00, C01 命令参考 - 华为 (huawei.com)

标签: #BFD

  • 评论列表

留言评论