一、BFD双向转发检测 :
(一)BFD:Bidirectional Forwarding Detection
1.BFD目的:双向转发检测机制是一套全网统一的检测机制,用于快速检测,监控网络中链路或者IP路由的转发连通状况。
2.BFD作用: 改善网络性能,是相邻系统之间快速检测到通信故障,更快的建立起备用通道恢复通信。
(二)BFD工作原理
1. 建立会话:
两端建立BFD的检测会话,互相发送类似“hello”包的BFD检测包 ,通过BFD控制报文中的本地标识符合远端标识符来区分不同的BFD会话。 (1)静态会话:
手动配置BFD会话参数(手动指定标识符和远端标识符 1-8191,0保留作为动态BFD协商时使用),手动下发BFD会话建立请求。
(2)动态会话:
动态BFD联动由各种路由协议(如RIP,OSPF)触发,在建立BFD会话时系统对本地标识符合远端标识符分别采用如下处理
1-----开启BFD会话
2-----开启与应用协议的BFD联动(自动创建BFD会话,BFD会话源目的,动态下发本地标识符,动态学习对端标识符)
2. 检验方式:
(1)异步模式:系统之间互相周期性的发送BFD控制包,如果在某个系统检测时间内没有收到对端的BFD控制包,就判断会话down,告知联动应用执行相应策略动作。
(2)查询模式:每个系统都有一个独立的方法用来确认它所连接的系统,一旦一个会话建立后,系统停止发送控制报文,只有在需要显示地验证连接性,发送一个短系列的控制包,再检测时间内没有收到返回的报文就宣布会话为down。
(3)回声模式:本地发送一系列回声报文,远端系统正常情况下会将这些控制报文环回回来。如果联系几个回合或者时间内都没有收到回声报文,判断检测端故障,告知本端联动应用执行相应策略动作。
3.会话状态:
Down,Init;Up;AdminDown
1)故障发生被检测到后,最先感知到故障端会发送状态为AdminDown的BFD报文;
2)对端收到这个报文后会发状态为Down的BFD报文,同时关闭自己的的BFD会话,告知联动的上层应用执行动作
3)源端收到对端状态为Down的BFD报文后,关闭本端的BFD会话告知联动的上层应用执行动作 。
(三)BFD特点:
(四)BFD与应用联动
(五)静态BFD会话的特殊形式----单臂回声BFD
1.单臂回声BFD简介:
单臂回声功能是指通过BFD报文的环回操作来检测转发链路的联通性,主要针对对端系统不支持BFD会话的情景。
2.单臂回声特殊性:
单臂回声功能只适用于BFD单跳检测,且不支持二层设备间的链路检测;即只能做直节连接链路的检测。
3.单臂回声BFD原理:
源端发起的BFD控制报文目的端收到后直接将网络层的报文环回
二、BFD配置
(一)静态BFD单跳检测配置
[AR-1]
[AR-1]bfd
--开启BFD会话
[AR-1-bfd]default-ip-address 224.0.0.184
--指定本BFD报文发往目的的组播地址(默认为224.0.0.184,范围为224.0.0.107--225.0.0.250;BFD会话两端必须一致)
[AR-1-bfd]quit
[AR-1]bfd AAA bind
bind ldp-lsp------针对动态下发LSP的协议的ldp的BFD检测
bind mpls-te------针对MPL转发链路的BFD
bind peer-ip-----指定BFD会话绑定的对端为IP地址
[AR-1]bfd AAA bind
[AR-1]bfd AAA bind peer-ip 12.1.1.2 ?
12.1.1.2 interface-----检测对端地址12.1.1.2时使用指定本端源接口
12.1.1.2 source-ip-----检测对端地址1 2.1.1.2是指定本端的源IP地址
12.1.1.2 vpn-instance-----检测对端地址12.1.1.2时指定BFD绑定的VPN实例
[AR-1]
[AR-1]bfd AAA bind peer-ip 12.1.1.2 interface G0/0/0
--创建名称为AAA的BFD检测会话,检测对端地址为12.1.1.2,使用本地接口G0/0/0作为BFD报文的源第和源地址
[AR-1-bfd-session-aaa]discriminator local 12
--指定本BFD会话本端标识符为12(取值范围1--8191)
[AR-1-bfd-session-aaa]discriminator remote 21----指定本BFD会话对端BFD的标识符为21(取值范围1--8191)
[AR-1-bfd-session-aaa]min-rx-interval 300
--设定本BFD会话接收BFD报文的间隔时间为300毫秒(默认1000毫秒,取值范围10---2000毫秒)
[AR-1-bfd-session-aaa]min-tx-interval 300
--设定本BFD会话发送BFD的间隔时间为300毫秒(默认1000毫秒,取值范围10---2000毫秒)
[AR-1-bfd-session-aaa]detect-multiplier 3
--设定本BFD会话超时次数为3次(默认3次,取值范围3--50次)
[AR-1-bfd-session-aaa]commit
--下发/激活本BFD会话
(二)静态BFD多跳检测配置
[AR-1]bfd CCC bind peer-ip 3.3.3.3
[AR-1-bfd-session-ccc]discriminator local 30
[AR-1-bfd-session-ccc]discriminator remote 10
[AR-1-bfd-session-ccc]min-rx-interval 300
[AR-1-bfd-session-ccc]min-tx-interval 300
[AR-1-bfd-session-ccc]detect-multiplier 3
[AR-1-bfd-session-ccc]commit
[AR-1-bfd-session-ccc]quit
[AR-1]
(三)静态BFD-----单臂回声BFD
[AR-1]
[AR-1]bfd ZZZ bind peer-ip 12.1.1.2 interface G0/0/0 one-arm-echo
[AR-1-bfd-session-zzz]discriminator local 100
[AR-1-bfd-session-zzz]min-echo-rx-interval 300
[AR-1-bfd-session-zzz]detect-multiplier 3
[AR-1-bfd-session-zzz]commit
[AR-1-bfd-session-zzz]quit
[AR-1]
[AR-1]bfd VVV bind peer-ip 12.1.1.2 interface G0/0/1 source-ip 12.1.1.1 auto
--配置静态标识符自协商BFD
BFD的检测时间=接收到远端的Detect Multi * MAX
=接收端的倍数 X 本端最短BFD报文的接收时间
[AR-1]dis bfd session all
--查看本设备的所有BFD会话的状态
[AR-1]dis bfd interface G0/0/0
--查看配置了BFD会话下的接口信息
[AR-1]dis bfd statistics session
--查看所有的BFD会话统计信息