BFD技术白皮书

更新时间:2023-09-21 13:55:01 阅读量: 工程科技 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

资料编码

BFD技术白皮书

文档版本 发布日期

01

2012-08-07

华为技术有限公司

错误!未知的文档属性名称 BFD技术白皮书 前 言

版权所有 ? 华为技术有限公司 2012。 保留一切权利。

非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。

商标声明

和其他华为商标均为华为技术有限公司的商标。

本文档提及的其他所有商标或注册商标,由各自的所有人拥有。

注意

您购买的产品、服务或特性等应受华为公司商业合同和条款的约束,本文档中描述的全部或部分产品、服务或特性可能不在您的购买或使用范围之内。除非合同另有约定,华为公司对本文档内容不做任何明示或默示的声明或保证。

由于产品版本升级或其他原因,本文档内容会不定期进行更新。除非另有约定,本文档仅作为使用指导,本文档中的所有陈述、信息和建议不构成任何明示或暗示的担保。

华为技术有限公司

地址: 网址:

客户服务邮箱: 客户服务电话: 客户服务传真:

深圳市龙岗区坂田华为总部办公楼 邮编:518129 http://www.huawei.com support@huawei.com 0755-28560000 4008302118 0755-28560111

错误!未知的文档属性名称 BFD技术白皮书 目 录

目 录

1 BFD .................................................................................................................................. 1

1.1 介绍(Introduction) ....................................................................................................................... 1 1.2 参考标准和协议(Reference Standards and Protocols) .................................................................... 2 1.3 原理描述(Principles) ........................................................................................................................ 2 1.3.1 原理简介.................................................................................................................................. 2 1.3.2 BFD报文 ................................................................................................................................. 3 1.3.3 检测机制.................................................................................................................................. 5 1.3.4 会话建立方式 .......................................................................................................................... 6 1.3.5 BFD检测的链路类型 ............................................................................................................... 8 1.3.6 BFD会话管理 .......................................................................................................................... 9 1.4 应用(Applications).......................................................................................................................... 10 1.4.1 BFD检测IP链路 ................................................................................................................... 10 1.4.2 BFD单臂回声功能 ................................................................................................................. 10 1.4.3 BFD与接口状态联动 .............................................................................................................. 11 1.4.4 BFD与静态路由联动 .............................................................................................................. 11 1.4.5 BFD与OSPF联动 ................................................................................................................ 12 1.4.6 BFD与IS-IS联动 .................................................................................................................. 13 1.4.7 BFD与BGP联动 .................................................................................................................. 13 1.4.8 BFD与MPLS LSP联动 ........................................................................................................ 14 1.4.9 BFD与MPLS TE联动 ........................................................................................................... 15 1.4.10 BFD与VRRP联动 .............................................................................................................. 16 1.4.11 BFD与PIM联动 .................................................................................................................. 17 1.5 故障处理案例(Troubleshooting Cases) ......................................................................................... 18 1.5.1 BFD会话无法Up ................................................................................................................... 18 1.5.2 BFD会话检测Down影响接口转发 ....................................................................................... 19 1.6 FAQ ................................................................................................................................................ 20 1.6.1 在插有逻辑插卡的交换机上配置了BFD监视端口,并配置了WTR,为什么有时BFD会出现

振荡 ................................................................................................................................................. 20 1.6.2 BFD的检测时间是多少 .......................................................................................................... 20 1.7 术语和缩略语(Reference Standards and Protocols) ..................................................................... 20

错误!未知的文档属性名称 BFD技术白皮书 插图目录

插图目录

图1-1 BFD会话建立流程 ....................................................................................................................... 2 图1-2 BFD故障发现处理流程图 ............................................................................................................ 3 图1-3 BFD报文格式 .............................................................................................................................. 3 图1-4 可选认证部分报文格式 ................................................................................................................ 4 图1-5 BFD会话建立流程 ....................................................................................................................... 9 图1-6 BFD检测单跳链路 ..................................................................................................................... 10 图1-7 BFD检测多跳链路 ..................................................................................................................... 10 图1-8 BFD单臂回声功能 ...................................................................................................................... 11 图1-9 BFD与接口状态联动 .................................................................................................................. 11 图1-10 BFD与OSPF联动 .................................................................................................................. 12 图1-11 BFD与IS-IS联动 .................................................................................................................... 13 图1-12 BFD与BGP联动 .................................................................................................................... 14 图1-13 BFD与MPLS LSP联动 .......................................................................................................... 15 图1-14 BFD与MPLS TE联动 ............................................................................................................ 16 图1-15 BFD与VRRP联动 .................................................................................................................. 17 图1-16 BFD与PIM联动...................................................................................................................... 18

错误!未知的文档属性名称 BFD技术白皮书 表格目录

表格目录

表1-1 参考标准和协议 ........................................................................................................................... 2 表1-2 诊断字字段含义 ........................................................................................................................... 3 表1-3 状态字字段含义 ........................................................................................................................... 4 表1-4 认证字类型 .................................................................................................................................. 5 表1-5 OSPF协议数据收敛速度的数据 ................................................................................................ 12 表1-6 IS-IS协议收敛速度数据 ............................................................................................................. 13 表1-7 BGP协议收敛速度的数据 .......................................................................................................... 14 表1-8 PIM协议收敛速度的数据 ........................................................................................................... 17 表1-9 缩略语 ....................................................................................................................................... 20

错误!未知的文档属性名称 BFD技术白皮书 1 BFD

1 1.1 介绍(Introduction)

定义(Definition) 目的(Purpose)

BFD

双向转发检测BFD(Bidirectional Forwarding Detection)是一套全网统一的检测机制,用于快速检测、监控网络中链路或者IP路由的转发连通状况。

为了减小设备故障对业务的影响,提高网络的可靠性,网络设备需要能够尽快检测到与相邻设备间的通信故障,以便及时采取措施,保证业务继续进行。在现有网络中,有些链路通常通过硬件检测信号,如SDH告警,检测链路故障,但并不是所有的介质都能够提供硬件检测。有些应用依靠上层协议自身的Hello报文机制来进行故障检测,但是上层协议的检测时间都在1秒以上,这样的故障检测时间对某些应用来说是不能容忍的。同时,在一些小型三层网络中,如果没有部署路由协议,则无法使用路由协议的Hello报文机制来检测故障。

BFD协议就是在这种背景下产生的,BFD提供了一个通用的标准化的介质无关和协议无关的快速故障检测机制。具有以下优点:

?

对相邻转发引擎之间的通道提供轻负荷、快速故障检测。这些故障包括接口、数据链路,甚至有可能是转发引擎本身。

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

?

受益(Benefits)

BFD可以实现快速检测并监控网络中链路或IP路由的转发连通状态,改善网络性能。相邻系统之间通过快速检测发现通信故障,可以更快地帮助用户建立起备份通道以便恢复通信,保证网络可靠性。

错误!未知的文档属性名称 BFD技术白皮书 1 BFD

1.2 参考标准和协议(Reference Standards and Protocols)

表1-1 参考标准和协议 文档 RFC 5880 RFC 5881 RFC 5882 RFC 5883 RFC 5884

描述 Bidirectional Forwarding Detection (BFD) Bidirectional Forwarding Detection (BFD) for IPv4 and IPv6 (Single Hop) Generic Application of Bidirectional Forwarding Detection (BFD) Bidirectional Forwarding Detection (BFD) for Multihop Paths Bidirectional Forwarding Detection (BFD) for MPLS Label Switched Paths (LSPs) 备注 - - - - - 1.3 原理描述(Principles)

1.3.1 原理简介

BFD在两台网络设备上建立会话,用来检测网络设备间的双向转发路径,为上层应用服务。BFD本身并没有邻居发现机制,而是靠被服务的上层应用通知其邻居信息以建立会话。会话建立后会周期性地快速发送BFD报文,如果在检测时间内没有收到BFD报文则认为该双向转发路径发生了故障,通知被服务的上层应用进行相应的处理。下面以OSPF与BFD联动为例,简单介绍会话工作流程。 图1-1 BFD会话建立流程 OSPF21OSPF neighbors3BFD neighborsOSPF2SwitchA

SwitchB

上图所示是一个简单的网络组网,两台设备上同时配置了OSPF与BFD。OSPF通过自己的Hello机制发现邻居并建立连接(1),OSPF在建立了新的邻居关系后,将邻居信息(包括目的地址和源地址等)通告给BFD(2),BFD根据收到的邻居信息建立会话(3)。会话建立以后,BFD开始检测链路故障,并做出快速反应。

错误!未知的文档属性名称 BFD技术白皮书 1 BFD

图1-2 BFD故障发现处理流程图

4OSPF neighbors2BFD neighbors1OSPF3OSPF3SwitchA

SwitchB

上图所示是被检测链路出现故障(1),BFD快速检测到链路故障,BFD会话状态变为Down(2),BFD通知本地OSPF进程BFD邻居不可达(3),本地OSPF进程中断OSPF邻居关系(4)。

1.3.2 BFD报文

BFD报文分为BFD控制报文和BFD回声功能报文。 图1-3 BFD报文格式 0VersDiag7StaPFCADRDetect MultMy DiscriminatorYour DiscriminatorDesired Min TX IntervalResired Min RX IntervalRequired Min Echo RX Interval? ?

23Length31 Vers:BFD协议版本号,目前为1

Diag:诊断字,标明本地BFD系统最近一次会话状态发生变化的原因,其取值及含义见下表:

表1-2 诊断字字段含义 诊断字 0 1 2 3 4 5 原因 No Diagnostic Control Detection Time Expired Echo Function Failed Neighbor Signaled Session Down Forwarding Plane Reset Path Down 错误!未知的文档属性名称 BFD技术白皮书 1 BFD

诊断字 6 7 8 ?

原因 Concatenated Path Down Administratively Down Reverse Concatenated Path Down Sta:BFD本地状态,其取值及含义见下表:

表1-3 状态字字段含义 BFD本地状态字 0 1 2 3 ?

BFD本地状态 AdminDown Down Init Up P:若置位,表示发送系统请求进行连接确认,或者发送请求参数改变的确认;清除,表示发送系统不请求确认。

F:若置位,表示发送系统响应一个接收到P比特为1的BFD包;清除,表示发送系统不响应一个P比特为1的包。

C:转发/控制分离标志,一旦置位,控制平面的变化不影响BFD检测,如:控制平面为OSPF,当OSPF重启/GR时,BFD可以继续监测链路状态。 A:认证标识,置位代表会话需要进行验证。

D:查询请求,置位代表发送方期望采用查询模式对链路进行监测。 R:预留位,在发送时置为0,在接收时忽略。

Detect Mult:检测超时倍数,异步模式下,发送系统的检测时间为协商的发送间隔乘以这个倍数。

Length:报文长度,单位为字节。

My Discreaminator:BFD会话连接本地标识符,由发送系统产生的一个唯一的、非0鉴别值,用来对两个系统之间的多个BFD会话进行分离。

Your Discreaminator:BFD会话连接远端标识符,从远端系统接收到的鉴别值,这个域直接返回接收到的“My Discriminator”,如果不知道这个值就返回0。 Desired Min Tx Interval:本地系统支持的最小BFD报文发送间隔,单位毫秒。 Required Min RX Interval:本地系统能支持的最小BFD接收间隔,单位毫秒。 Required Min Echo RX Interval:本地支持的最小Echo报文接收间隔(如果本地不支持Echo功能,则设置0),单位毫秒。

?

?

? ? ? ?

? ?

?

? ? ?

图1-4 可选认证部分报文格式

Auth Type?

Auth LenAuthentication Data Auth Type:认证类型,当A为1时有效,表示BFD控制报文使用的认证类型,目前协议提供有:

错误!未知的文档属性名称 BFD技术白皮书 1 BFD

表1-4 认证字类型 认证类型字段 0 1 2 3 4 5 6-255 ? ?

认证类型 Reserved Simple Password Keyed MD5 Meticulous Keyed MD5 Keyed SHA1 Meticulous Keyed SHA1 Reserved for future use Auth Length:认证字段长度,包括认证类型与认证长度字段,单位字节。 Authentication Data:认证数据区。

其中认证部分为可选部分,可以在报文中选择使用,认证数据区根据认证类型的不同而不同,此处不详细列举。协议定义了控制报文所使用的UDP目的端口号为3784。交换机目前不支持BFD报文认证。

BFD Echo报文提供了一种不依赖于BFD控制报文的故障检测方法。本端发送本端 接收,远端不对报文进行处理,而只是将此此报文在反向通道上返回。因此BFD协 议并没有对BFD回声功能报文的格式进行定义,唯一的要求是发送方能够通过报文内 容区分会话。

BFD回声功能报文采用UDP封装,目的端口号为3785,目的IP地址为发送接口的地 址,源IP地址由配置产生(配置的源IP地址要避免产生ICMP重定向)。

1.3.3 检测机制

BFD的检测机制是两个系统建立BFD会话,并沿它们之间的路径周期性发送BFD控制报文,如果一方在既定的时间内没有收到BFD控制报文,则认为路径上发生了故障。 BFD 控制报文封装在UDP 报文中传送。会话开始阶段,双方系统通过控制报文中携带的参数(会话标识符、期望的收发报文最小时间间隔、本端BFD会话状态等)进行协商。协商成功后,以协商的报文收发时间在彼此之间的路径上定时发送BFD控制报文。

为满足快速检测的需求,BFD草案规定发送间隔和接收间隔单位是微秒。但限于目前的设备处理能力,大部分厂商的设备配置BFD时只能达到毫秒级,在进行内部处理时再转换到微秒。

BFD提供两种检测模式:

?

异步模式:BFD的主要操作模式为异步模式。在这种模式下,系统之间相互周期性地发送BFD控制报文,如果某个系统连续几个报文都没有接收到,就认为此BFD会话的状态是Down。

错误!未知的文档属性名称 BFD技术白皮书

?

1 BFD

查询模式:BFD的第二种操作模式称为查询模式。当一个系统中存在大量BFD会话时,为防止周期性发送BFD控制报文的开销影响到系统的正常运行,可以采用查询模式。在查询模式下,一旦BFD会话建立,系统就不再周期性发送BFD控制报文,而是通过其他与BFD无关的机制检测连通性(比如路由协议的Hello机制、硬件检测机制等),从而减少BFD会话带来的开销。

两种模式的一个辅助功能是回声功能。当回声功能激活时,一个BFD控制报文按照如下方式发送:本地发送一个BFD控制报文,远端系统通过它的转发通道将它们环回回来。如果连续几个回声包都没有接收到,会话就被宣布为“Down”。回声功能可以与异步模式或者查询模式一起使用。

目前华为S系列交换机只支持被动回声功能。

1.3.4 会话建立方式

BFD会话的建立有两种方式,即静态建立BFD会话和动态建立BFD会话。静态和动态创建BFD会话的主要区别在于Local Discriminator和Romote Discriminator的配置方式不同。BFD通过控制报文中的Local Discriminator和Remote Discriminator区分不同的会话。

?

静态建立BFD会话

静态配置BFD会话是指通过命令行手工配置BFD会话参数,包括了配置本地标识符和远端标识符等,然后手工下发BFD会话建立请求。 下面以配置BFD单跳检测二层链路为例。

步骤 1 全局使能BFD会话

system-view [Quidway] bfd [Quidway-bfd] quit

步骤 2 配置BFD单跳检测会话

[Quidway] bfd atob bind peer-ip default-ip interface gigabitethernet 1/0/1 [Quidway-bfd-session-atob] discriminator local 1 [Quidway-bfd-session-atob] discriminator remote 2 [Quidway-bfd-session-atob] commit [Quidway-bfd-session-atob] quit

步骤 3 在对端交换机设备配置BFD单跳检测会话

[Quidway] bfd btoa bind peer-ip default-ip interface gigabitethernet 1/0/1 [Quidway-bfd-session-btoa] discriminator local 2 [Quidway-bfd-session-btoa] discriminator remote 1 [Quidway-bfd-session-btoa] commit [Quidway-bfd-session-btoa] quit

步骤 4 配置完成后,在交换机设备上上执行display bfd session命令,可以看到建立了一个

单跳检测的BFD会话,且会话状态为Up。

display bfd session all verbose

错误!未知的文档属性名称 BFD技术白皮书 1 BFD

------------------------------------------------------------------------- Session MIndex : 4097 (One Hop) State : Up Name : atob

------------------------------------------------------------------------- Local Discriminator : 1 Remote Discriminator : 2 Session Detect Mode : Asynchronous Mode Without Echo Function BFD Bind Type : Interface(GigabitEthernet1/0/1) Bind Session Type : Static Bind Peer IP Address : 224.0.0.184 NextHop Ip Address : 224.0.0.184

Bind Interface : GigabitEthernet1/0/1

FSM Board Id : 0 TOS-EXP : 7

Min Tx Interval (ms) : 1000 Min Rx Interval (ms) : 1000 Actual Tx Interval (ms): 13000 Actual Rx Interval (ms): 13000 Local Detect Multi : 3 Detect Interval (ms) : 3000 Echo Passive : Disable Acl Number : - Destination Port : 3784 TTL : 255 Proc Interface Status : Disable Process PST : Disable WTR Interval (ms) : - Active Multi : 3

Last Local Diagnostic : No Diagnostic Bind Application : No Application Bind

Session TX TmrID : - Session Detect TmrID : - Session Init TmrID : - Session WTR TmrID : - Session Echo Tx TmrID : -

PDT Index : FSM-0 | RCV-0 | IF-0 | TOKEN-0 Session Description : -

-------------------------------------------------------------------------

Total UP/DOWN Session Number : 1/0

?

动态建立BFD会话

动态建立BFD会话时,系统对本地标识符和远端标识符的处理方式如下:

?

动态分配本地标识符

当应用程序触发动态创建BFD会话时,系统分配属于动态会话标识符区域的值作为BFD会话的本地标识符。然后向对端发送Remote Discriminator的值为0的BFD控制报文,进行会话协商。

?

自学习远端标识符

当BFD会话的一端收到Remote Discriminator的值为0的BFD控制报文时,判断该报文是否与本地BFD会话匹配,如果匹配,则学习接收到的BFD报文中Local Discriminator的值,获取远端标识符。

下面以配置BFD和OSPF联动为例。

步骤 1 配置OSPF的基本功能(略) 步骤 2 全局使能BFD功能

错误!未知的文档属性名称 BFD技术白皮书

system-view [Quidway] bfd [Quidway-bfd] quit

1 BFD

步骤 3 配置BFD与OSPF联动

[SwitchA] ospf

[SwitchA-ospf-1] bfd all-interfaces enable [SwitchA-ospf-1] quit

步骤 4 配置完成后,在SwitchA和SwitchB上执行display ospf bfd session all命令,可以

看到BFDState的状态为Up。

[Quidway] display ospf bfd session all

OSPF Process 1 with Router ID 1.1.1.1

Area 0.0.0.0 interface 3.3.3.1(Vlanif20)'s BFD Sessions

NeighborId:2.2.2.2 AreaId:0.0.0.0 Interface:Vlanif20 BFDState:up rx :1000 tx :1000

Multiplier:3 BFD Local Dis:8195 LocalIpAdd:3.3.3.1 RemoteIpAdd:3.3.3.2 Diagnostic Info:No diagnostic information

Area 0.0.0.0 interface 1.1.1.1(Vlanif10)'s BFD Sessions

NeighborId:3.3.3.3 AreaId:0.0.0.0 Interface:Vlanif10 BFDState:up rx :1000 tx :1000

Multiplier:3 BFD Local Dis:8194 LocalIpAdd1:1.1.1.1 RemoteIpAdd:1.1.1.2 Diagnostic Info:No diagnostic information

1.3.5 BFD检测的链路类型

通常来说,BFD检测的链路类型有如下几种

? ?

IP链路

Eth-Trunk,包括汇聚端口和成员端口对应的链路,检测Trunk成员口与检测Trunk口的BFD会话互相独立,可同时检测

VLANIF,包括VLAN以太成员链路和VLANIF接口,检测VLANIF与检测VLANIF

成员口的BFD会话相互相独立,可同时检测。

?

?

MPLS LSP,这种情况下BFD会话协商有两种方式,静态配置BFD,即通过手工配置BFD的本地标识符和远端标识符,由BFD本身的协商机制建立会话;以及动态创建BFD会话,即通过在LSP Ping报文中携带BFD Discriminator TLV进行会话协商。

MPLS TE,这种情况下BFD会话协商有两种方式,静态配置BFD,即通过手工配置BFD的本地标识符和远端标识符;以及动态BFD会话,即BFD的本地标识符和远端标识符由系统自动分配。

?

错误!未知的文档属性名称 BFD技术白皮书

?

1 BFD

PW,这种情况下BFD会话协商有两种方式,静态配置BFD,即通过手工配置BFD的本地标识符和远端标识符;以及动态BFD会话,即通过VCCV Ping协商BFD会话对端标识符。

1.3.6 BFD会话管理

BFD会话有四种状态:Down、Init、Up和AdminDown。会话状态变化通过BFD报文的State字段传递,系统根据自己本地的会话状态和接收到的对端BFD报文驱动状态改变。BFD状态机的建立和拆除都采用三次握手机制,以确保两端系统都能知道状态的变化。以BFD会话建立为例,简单介绍状态机的迁移过程。 图1-5 BFD会话建立流程

SwitchASwitchBDOWNSta: DownSta: DownDOWNDOWN => INITSta: InitSta: InitDOWN => INITINIT => UPSta: UpSta: UpINIT => UP

1. SwitchA和SwitchB各自启动BFD状态机,初始状态为Down,发送状态为Down

的BFD报文。对于静态配置BFD会话,报文中的Remote Discriminator的值是用户指定的;对于动态创建BFD会话,Remote Discriminator的值是0。 2. SwitchB收到状态为Down的BFD报文后,状态切换至Init,并发送状态为Init的

BFD报文。 3. SwitchB本地BFD状态为Init后,不再处理接收到的状态为Down的报文。 4. SwitchA的BFD状态变化同SwitchB。

5. SwitchB收到状态为Init的BFD报文后,本地状态切换至Up。 6. SwitchA的BFD状态变化同SwitchB。

错误!未知的文档属性名称 BFD技术白皮书 1 BFD

1.4 应用(Applications)

1.4.1 BFD检测IP链路

在IP链路上建立BFD会话,利用BFD检测机制快速检测故障。BFD检测IP链路支持单跳检测和多跳检测:

?

BFD单跳检测是指对两个直连系统进行IP连通性检测,“单跳”是IP链路的一跳。

BFD多跳检测是指BFD可以检测两个系统间的任意路径,这些路径可能跨越很多跳,也可能在某些部分发生重叠。

?

如图1-6所示,BFD检测两台设备之间的IP单跳路径,BFD会话绑定出接口。 图1-6 BFD检测单跳链路

BFD sessionInterface 110.1.1.1/25SwitchABFD sessionInterface 210.1.1.2/25SwitchB

如图1-7所示,BFD检测SwtichA和SwtichC之间的IP多跳路径,BFD会话绑定对端IP但不绑定出接口。 图1-7 BFD检测多跳链路

BFD sessionInterface 110.1.1.1/24SwitchAInterface 110.1.1.2/24Interface 210.2.1.1/24Interface 210.2.1.2/24SwitchCSwitchBBFD session

1.4.2 BFD单臂回声功能

单臂回声功能是指通过BFD报文的环回操作检测转发链路的连通性。

错误!未知的文档属性名称 BFD技术白皮书 1 BFD

在两台直接相连的设备中,其中一台设备支持BFD功能,另一台设备不支持BFD功能,只支持基本的网路层转发。为了能够快速的检测这两台设备之间的故障,可以在支持BFD功能的设备上创建单臂回声功能的BFD会话。支持BFD功能的设备主动发起回声请求功能,不支持BFD功能的设备接收到该报文后直接将其环回,从而实现转发链路的连通性检测功能。

如图1-8所示,SwtichA支持BFD功能,SwtichB不支持BFD功能。在SwtichA上配置单臂回声功能的BFD会话,检测SwtichA到SwtichB之间的单跳路径。SwtichB接收到SwtichA发送的BFD报文后,直接在网络层将该报文环回,从而快速检测SwtichA和SwtichB之间的直连链路的连通性。 图1-8 BFD单臂回声功能 SwitchASwitchB支持BFD功能不支持BFD功能

1.4.3 BFD与接口状态联动

BFD与接口状态联动提供一种简单的机制,使得BFD检测行为可以关联接口状态,提高了接口感应链路故障的灵敏度,减少了非直连链路故障导致的问题。BFD检测到链路故障会立即上报Down消息到相应接口,使得接口进入一种特殊的Down状态:BFD Down状态。该状态等效于链路协议Down状态,在该状态下只有BFD的报文可以正常处理,从而使接口也可以快速感知链路故障。只有BFD组播会话支持该功能。 如图1-9所示,链路中间存在其他设备,虽然三层仍是直连,但由于实际物理线路分段,一旦链路故障,两端设备需要比较长的时间才能检测到,导致直连路由收敛慢,网络中断时间长。在SwtichA和SwtichB上配置BFD会话,配置接口联动后,当BFD检测到链路出现故障,立即上报Down消息到相应接口,使接口进入BFD Down状态。 图1-9 BFD与接口状态联动

BFDInterface 1Interface 2SwitchA

SwitchB

1.4.4 BFD与静态路由联动

与动态路由协议不同,静态路由自身没有检测机制,当网络发生故障的时候,需要管理员介入。BFD与静态路由联动特性可为公网静态路由绑定BFD会话,利用BFD会话来检测静态路由所在链路的状态。

错误!未知的文档属性名称 BFD技术白皮书 1 BFD

BFD与静态路由联动可为每条静态路由绑定一个BFD会话,当这条静态路由上绑定的BFD会话检测到链路故障(由Up转为Down)后,BFD会将故障上报路由管理系统,由路由管理模块将这条路由设置为“非激活”状态(此条路由不可用,从IP路由表中删除)。当这条静态路由上绑定的BFD会话成功建立或者从故障状态恢复后(由Down转为Up),BFD会上报路由管理模块,由路由管理模块将这条路由设置为“激活”状态(此路由可用,加入IP路由表)。

1.4.5 BFD与OSPF联动

网络上的链路故障或拓扑变化都会导致路由的重新计算,要提高网络的可用性,缩短路由协议的收敛时间非常重要。由于链路故障无法完全避免,因此,加快故障感知速度并将故障快速通告给路由协议是一种可行的方案。

BFD与OSPF联动就是将BFD和OSPF协议关联起来,通过BFD对链路故障的快速感应进而通知OSPF协议,从而加快OSPF协议对于网络拓扑变化的响应。表1-5显示了OSPF协议是否绑定BFD时收敛速度的数据。 表1-5 OSPF协议数据收敛速度的数据 是否绑定BFD 链路故障检测机制 未绑定BFD 绑定BFD OSPF HELLO keepalive定时器超时 BFD会话Down 收敛速度 秒级 毫秒级 如图1-10所示,SwtichA分别与SwtichC和SwtichD建立OSPF邻居关系,SwtichA到SwtichB的路由出接口为Interface 1,经过SwtichC到达SwtichB。邻居状态到达FULL状态时通知BFD建立BFD会话。

当SwtichA和SwtichC之间链路出现故障,BFD首先感知到并通知SwtichA。SwtichA处理邻居Down事件,重新进行路由计算,新的路由出接口为Interface 2,经过SwtichD到达SwtichB。

图1-10 BFD与OSPF联动

SwitchC cost1Interface 1SwitchAInterface 2cost1SwitchDcost10SwitchBcost1

错误!未知的文档属性名称 BFD技术白皮书 1 BFD

如图1-16所示,在与用户主机相连的共享网段上,SwitchC的下游接口Interface1和SwitchD的下游接口Interface2之间建立PIM BFD会话,通过在链路两端发送BFD检测报文检测链路状态。

SwitchC的作为当前DR,下游接口Interface1负责接收端组播数据的转发。若接口Interface1发生故障,BFD快速把会话状态通告给RM,再由RM通告给PIM。PIM模块触发新一轮的DR竞选,SwitchD的作为新当选的DR,下游接口Interface2在短时间内向接收端转发组播数据,从而缩小组播数据传输的中断时间。 图1-16 BFD与PIM联动

EthernetInterface 1SwitchCSourceSwitchASwitchBInterface 2SwitchDPIM BFD SessionHostA

1.5 故障处理案例(Troubleshooting Cases)

1.5.1 BFD会话无法Up

常见原因

? ?

BFD会话检测的链路存在故障,导致BFD报文无法进行交互。 BFD会话频繁震荡。

操作步骤

步骤 1 执行display current-configuration configuration bfd-session命令查看BFD会话

两端的本地标识符和远端标识符是否匹配。

?

如果会话两端的discriminator local字段和discriminator remote字段匹配,则转到步骤2。

如果会话两端的discriminator local字段和discriminator remote字段不匹配,则使用discriminator命令配置BFD会话的本地标识符和远端标识符,然后使用display bfd session all命令查看BFD会话是否Up。

? ?

?

如果State字段的值为Up,则表明BFD会话已经建立。 如果State字段的值为非Up,则请转到步骤2。

错误!未知的文档属性名称 BFD技术白皮书 1 BFD

步骤 2 使用display current-configuration configuration bfd-session命令,查看BFD会

话的min-tx-interval和min-rx-interval信息,检查BFD会话的检测时间是否大于链路的延迟时间。

检测时间 = 接收到的远端Detect Multi × max(本地的RMRI,接收到的DMTI) ,其中,Detect Mult(Detect time multiplier)是检测倍数,通过detect-multiplier命令配置;RMRI(Required Min Rx Interval)是本端能够支持的最短BFD报文接收间隔,通过min-rx-interval命令配置;DMTI(Desired Min Tx Interval)是本端想要采用的最短BFD报文的发送间隔,通过min-tx-interval命令配置。

链路的延迟时间是指链路的时延,可通过ping或者tracert的方式获取链路的时延。 如果BFD会话的检测时间小于链路的延迟时间,则在BFD会话视图下执行detect-multiplier命令、min-rx-interval和min-tx-interval命令调整BFD会话的检测时间,使之大于链路的延迟时间。

1.5.2 BFD会话检测Down影响接口转发

常见原因

本故障常见的原因是配置了BFD会话与接口联动功能。

操作步骤

步骤 1 执行display interface interface-type interface-number命令查看BFD会话绑定的接口

的状态。

?

如果Line protocol current state字段的值为UP,表明当前接口的状态受BFD会话的影响,BFD会话检测到链路故障后,会将此接口的状态置为BFD status down,则转到步骤2。

如果Line protocol current state字段的值为UP,但是接口不可转发,排除转发模块的故障。

?

步骤 2 执行display bfd session all命令,查看BFD会话的状态。

如果BFD会话的状态为Down,则转到步骤3。

步骤 3 执行display current-configuration configuration bfd-session查看BFD会话的配

置信息,检查是否配置了process-interface-status命令。

如果配置了process-interface-status命令,表明此接口的状态是因为BFD会话检测Down,接口被置为UP(BFD status down)状态,导致接口不可转发。

错误!未知的文档属性名称 BFD技术白皮书 1 BFD

1.6 FAQ

1.6.1 在插有逻辑插卡的交换机上配置了BFD监视端口,并配置了WTR,为什么有时BFD会出现振荡

V100R002版本的逻辑发包是非强制发包,BFD会话变为Up后,会取消端口的阻塞状态。但是由于配置了WTR后,当BFD会话从Down变为Up时,BFD需要等待WTR计时器超时后才将这个变化通知给上层应用,这样端口的阻塞状态要等待WTR计时器超时之后才会被取消。然而此时,被阻塞的端口不能发送报文,又会导致BFD会话变为Down。因此,会造成BFD振荡。V100R003版本及后续版本已解决此问题。

1.6.2 BFD的检测时间是多少

V100R006版本以前,如果设备带灵活插卡,则可以支持10ms、20ms、50ms、100ms、1s的检测间隔;不带灵活插卡的设备上只支持1s的检测间隔。V100R006版本以后,由于设备开始支持超级任务,不带灵活插卡的情况下,可以支持最小100ms的检测间隔。

1.7 术语和缩略语(Reference Standards and Protocols)

表1-9 缩略语 缩略语 ISIS BFD PE CE OSPF TE VRRP MPLS 英文全称 Intermediate System-Intermediate System Bidirectional Forwarding Detection Provider Edge Router Customer Edge Router Open Shortest Path First Traffic Engineer Virtual Router Redundancy Protocol Multi Protocol Label Switching Label switched path Protocol Independent Multicast Border Gateway Protocol 中文全称 中间系统到中间系统 双向转发检测 边缘路由器 用户边缘路由器 开放式最短路径优先协议 流量工程 虚拟路由冗余协议 多协议标签交换 标签转发路径 协议无关组播 边界网关协议 LSP PIM BGP

错误!未知的文档属性名称 BFD技术白皮书 1 BFD

1.4.6 BFD与IS-IS联动

通常情况下,ISIS设定发送Hello报文的时间间隔为10秒钟,相邻设备失效的时间一般配置为Hello报文间隔的3倍。若在相邻设备失效时间内没有收到邻居发来的Hello报文,将会删除邻居。设备能感知到邻居故障的时间最小也是秒级。在高速的网络环境中,这将导致报文大量丢失。

BFD与ISIS联动是指BFD会话由ISIS协议动态创建,不再依靠手工配置,当BFD检测到故障时,通过路由管理通知ISIS协议,由协议进行相应邻居Down处理,快速更新LSP信息和进行增量路由计算,从而实现ISIS路由的快速收敛。使用BFD并不是代替ISIS协议本身的Hello机制,而是配合ISIS协议更快的发现邻居方面出现的故障,并及时通知ISIS重新计算相关路由以便正确指导报文的转发。表1-6显示了IS-IS协议是否绑定BFD时收敛速度的数据。 表1-6 IS-IS协议收敛速度数据 是否绑定BFD 链路故障检测机制 未绑定BFD 绑定BFD hello报文机制 BFD会话Down 收敛速度 秒级 毫秒级 如图1-11所示,在各设备上使能了ISIS功能,在SwitchA和SwitchB上配置了BFD与ISIS联动。当SwitchA和SwitchB之间的链路故障时,BFD能够快速检测到故障并通告给IS-IS协议,IS-IS Down掉此接口的邻居,从而触发拓扑计算,同时更新LSP使得其他邻居(如SwitchB的邻居SwitchC)及时收到SwitchB的更新LSP,实现了网络拓扑的快速收敛。 图1-11 BFD与IS-IS联动

SwitchASwitchDSwitchBSwitchC

1.4.7 BFD与BGP联动

BGP协议通过周期性的向对等体发送Keepalive报文来实现邻居检测机制,但这种机制检测到故障所需时间比较长,超过1秒钟。当数据达到吉比特速率级别时,将会导致大量的数据丢失。因此,BGP协议通过引入BFD与BGP联动功能,利用BFD的快速检测机制,迅速发现BGP对等体间链路的故障,并报告给BGP协议,从而实现BGP路由的快速收敛。表1-7显示了BGP协议是否绑定BFD时收敛速度的数据。

错误!未知的文档属性名称 BFD技术白皮书 1 BFD

表1-7 BGP协议收敛速度的数据 是否绑定BFD 链路故障检测机制 未绑定BFD 绑定BFD keepalive报文机制 BFD会话Down 收敛速度 秒级 毫秒级 如图1-12所示,SwitchA和SwitchB分别属于AS100和AS200,两台路由器直接相连并建立EBGP连接。使用BFD检测SwitchA和SwitchB之间的BGP邻居关系,当SwitchA和SwitchB之间的链路发生故障时,BFD能够快速检测到故障并通告给BGP协议。

图1-12 BFD与BGP联动

BFD sessionAS 100Interface 1 SwitchA200.1.1.1/24EBGPInterface 2200.1.1.2/24AS 200SwitchBBFD session

1.4.8 BFD与MPLS LSP联动

在LSP链路上建立BFD会话,利用BFD检测机制快速检测LSP链路的故障,可以提供端到端的保护。使用BFD检测单向LSP路径时,反向链路可以是IP链路、LSP或TE隧道。检测MPLS LSP的连通性时,BFD会话协商有静态配置BFD和动态创建BFD两种方式,其中,动态创建BFD方式只支持动态LSP,静态配置BFD方式则支持静态和动态LSP。

BFD检测LSP的连通性,即Ingress和Egress之间相互周期性地发送BFD报文。如果任何一端在检测时间内没有收到对端发来的BFD报文,就认为LSP状态为Down,并向LSPM上报LSP Down消息。

如图1-13所示,为简化起见,只考虑从PE1到CE2的流量。当PE1到P1之间的链路发生故障时,PE1可以通过和P1相连的接口感知到故障。但是如果P1到PE2之间的链路发生故障,则PE1无法通过接口感知,这时需要结合BFD与动态LSP联动来进行快速故障检测。

在PE1上有到PE2的动态LSP,配置BFD与动态LSP联动为这条动态LSP建立BFD会话并进行检测,同时在PE1上配置VPN FRR的相关策略,指定保护路径为PE1到PE3。当PE1到P1或者P1到PE2之间的链路发生故障时,PE1上能迅速感知到LSP故障,并触发VPN FRR切换,使流量切换到PE1到PE3、PE3到CE2,实现保护。

错误!未知的文档属性名称 BFD技术白皮书 1 BFD

图1-13 BFD与MPLS LSP联动

PE2BFD sessionP1BFD sessionPE1CE2PE3

1.4.9 BFD与MPLS TE联动

BFD和MPLS TE联动是MPLS TE中的一种端到端的快速检测机制,用于快速检测隧道所经过的链路中所发生的故障。传统的检测机制依靠RSVP Hello或者RSVP刷新超时等进行检测,都有检测速度慢的缺点。BFD检测机制采用快速收发报文的机制,完成这些隧道链路故障的快速检测,从而引导承载业务的快速切换,达到保护业务的目的。 BFD支持的MPLS TE类型有:

?

静态BFD与TE CR-LSP联动

静态BFD与TE CR-LSP联动使用BFD检测CR-LSP,做到快速发现LSP故障。

BFD会话需要手动配置。

?

静态BFD与TE Tunnel联动

静态BFD与TE Tunnel联动使用BFD检测整条TE隧道,触发VPN FRR等应用进行流量切换。

?

动态BFD与TE CR-LSP联动

动态BFD与TE CR-LSP联动的作用和静态BFD与TE CR-LSP联动相同。所不同的是建立BFD会话的方式,动态BFD与TE CR-LSP联动的BFD会话动态触发。

其中,BFD与TE Tunnel联动与BFD与CR-LSP联动的区别是故障通告的对象不同。BFD与TE Tunnel联动是向VPN等应用通告故障,触发业务流在不同隧道接口上的切换;BFD与CR-LSP联动是向TE隧道通告故障,触发业务流在同一TE隧道内的不同CR-LSP上的切换。

通过和LSP绑定,在Ingress和Egress之间建立BFD会话。BFD报文从源端开始经过LSP到达宿端,宿端再对该BFD报文进行回应,通过此方式在源端可以快速检测出LSP所经过链路的故障状态。当检测出链路故障以后,BFD将此信息上报给承载在该LSP上面的应用模块,应用再将流量切换到备份路径上。

?

BFD与TE CR-LSP联动

如图1-14所示,在设备S1和设备S2之间建立一条主Tunnel,同时配置热备份LSP。在设备S1上建立一个到设备S2的BFD会话,用于检测该Tunnel中的主LSP。当主LSP链路出现故障时,BFD会快速通知设备S1。收到故障信息以后,设备S1会立即将流量切换到热备份LSP上,从而保证流量的不中断性。

错误!未知的文档属性名称 BFD技术白皮书

?

1 BFD

BFD与TE Tunnel联动

如图1-14所示,在设备S1到P2、P2到设备S2之间建立一条主Tunnel,同时在设备S1到P3、P3到设备S2之间建立一条备份Tunnel。在路径设备S1到P2、P2到设备S2上建立一个BFD会话,用于检测主Tunnel的路径。当主链路出现故障时,BFD会快速通知设备S1。收到故障信息以后,S1会立即将流量切换到备份Tunnel上,从而保证了流量的不中断。

图1-14 BFD与MPLS TE联动

S1P2Primary tunnelBackup tunnelP3Primary LspBackup LspS2

1.4.10 BFD与VRRP联动

VRRP的协议关键点是当Master出现故障时,Backup能够快速接替Master的转发工作,保证用户数据流的中断时间尽量短。

当Master出现故障时,VRRP依靠Backup设置的超时时间来判断是否应该抢占,切换速度在1秒以上。将BFD应用于Backup对Master的检测,可以实现对Master故障的快速检测,缩短用户流量中断时间。BFD对Backup和Master之间的实际地址通信情况进行检测,如果通信不正常,Backup就认为Master已经不可用,升级成Master。VRRP通过监视BFD会话状态实现主备快速切换,切换时间控制在50毫秒以内。 如图1-15所示,SwitchA和SwitchB之间配置VRRP备份组建立主备关系,SwitchA为主用设备,SwitchB为备用设备,用户过来的流量从SwitchA出去。在SwitchA和SwitchB之间建立BFD会话,VRRP备份组监视该BFD会话,当BFD会话状态变化时,通过修改备份组优先级实现主备快速切换。

当BFD检测到故障时,上报给VRRP一个BFD检测Down事件,SwitchB上VRRP备份组的优先级增加,增加后的优先级大于SwitchA上的VRRP备份组的优先级,于是SwitchB立刻升为Master,后继的用户流量就会通过SwitchB转发,从而实现VRRP的主备快速切换。

错误!未知的文档属性名称 BFD技术白皮书 1 BFD

1.4.11

图1-15 BFD与VRRP联动

InternetMasterBackup上层设备上层设备SwitchASwitchBMSTPSwitchCSwitchD区域A区域BVRRP报文区域A用户BFD探测报文数据流心跳线区域B用户端口阻塞数据流

与PIM联动

正常情况下,如果共享网段上的当前DR(Designate Router)出现故障,其他PIM邻

居会等到邻居关系超时才触发新一轮的DR竞选过程,组播数据传输中断的时间将会不小于邻居关系的超时时间,通常是秒级。

BFD与PIM联动的特点是可以进行快速故障检测,能够在毫秒级别内通知PIM模块触发新一轮的DR竞选,而不是等到邻居关系超时。

BFD与PIM联动同时也适用于共享网段上Assert竞选的过程,可以快速响应Assert Winner接口故障。表1-8显示了PIM协议是否绑定BFD时收敛速度的数据。 表1-8 PIM协议收敛速度的数据 是否绑定BFD 链路故障检测机制 收敛速度 未绑定BFD 邻居关系超时 秒级 绑定BFD BFD会话Down 毫秒级 BFD

本文来源:https://www.bwwdw.com/article/gj3h.html

Top