错误!未知的文档属性名称 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会话
步骤 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。
错误!未知的文档属性名称 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功能
搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新工程科技BFD技术白皮书 (3)全文阅读和word下载服务。
相关推荐: