• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 新华三人才研学中心
  • 关于我们

10-可靠性配置指导

目录

10-BFD配置

本章节下载 10-BFD配置  (240.78 KB)

10-BFD配置


1 BFD

说明

·       BFD功能中所指的“接口”为三层口,包括VLAN接口、三层以太网端口等。三层以太网端口是指被配置为三层模式的以太网端口,有关以太网端口模式切换的操作,请参见“二层技术-以太网交换配置指导”中的“以太网端口配置”。

·       本系列交换机未形成IRF时,适用本手册中的“独立运行模式”的情况;形成IRF后则适用本手册中的“IRF模式”的情况。有关IRF特性的详细介绍,请参见“IRF配置指导”。

 

1.1  BFD简介

为了减小设备故障对业务的影响、提高网络的可用性,设备需要能够尽快检测到与相邻设备间的通信故障,以便能够及时采取措施,从而保证业务继续进行。

现有的故障检测方法主要包括以下几种:

·              硬件检测:例如通过SDH(Synchronous Digital Hierarchy,同步数字系列)告警检测链路故障。硬件检测的优点是可以很快发现故障,但并不是所有介质都能提供硬件检测。

·              慢Hello机制:通常采用路由协议中的Hello报文机制。这种机制检测到故障所需时间为秒级。对于高速数据传输,例如吉比特速率级,超过1秒的检测时间将导致大量数据丢失;对于时延敏感的业务,例如语音业务,超过1秒的延迟也是不能接受的。并且,这种机制依赖于路由协议。

·              其他检测机制:不同的协议有时会提供专用的检测机制,但在系统间互联互通时,这样的专用检测机制通常难以部署。

BFD(Bidirectional Forwarding Detection,双向转发检测)就是为了解决上述检测机制的不足而产生的,它是一套全网统一的检测机制,用于快速检测、监控网络中链路或者IP路由的转发连通状况,保证邻居之间能够快速检测到通信故障,从而快速建立起备用通道恢复通信。

1.1.1  BFD工作机制

BFD提供了一个通用的、标准化的、介质无关、协议无关的快速故障检测机制,可以为各上层协议如路由协议、MPLS等统一地快速检测两台路由器间双向转发路径的故障。

BFD在两台路由器上建立会话,用来监测两台路由器间的双向转发路径,为上层协议服务。BFD本身并没有发现机制,而是靠被服务的上层协议通知其与谁建立会话,会话建立后如果在检测时间内没有收到对端的BFD控制报文则认为发生故障,通知被服务的上层协议,上层协议进行相应的处理。

1. BFD工作流程

图1-1 BFD会话建立流程图(以OSPF为例)

 

BFD会话建立过程:

(1)      上层协议通过自己的Hello机制发现邻居并建立连接;

(2)      上层协议在建立了新的邻居关系时,将邻居的参数及检测参数都(包括目的地址和源地址等)通告给BFD;

(3)      BFD根据收到的参数进行计算并建立邻居。

 

图1-2 BFD处理网络故障流程图(以OSPF为例)

 

当网络出现故障时:

(1)      BFD检测到链路/网络故障;

(2)      拆除BFD邻居会话;

(3)      BFD通知本地上层协议进程BFD邻居不可达;

(4)      本地上层协议中止上层协议邻居关系;

(5)      如果网络中存在备用路径,路由器将选择备用路径。

说明

BFD草案中没有规定检测的时间精度,目前支持BFD的设备大多数提供的是毫秒级检测。

 

2. BFD检测方式

·              单跳检测:BFD单跳检测是指对两个直连系统进行IP连通性检测,这里所说的“单跳”是IP的一跳。

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

·              双向检测:BFD通过在双向链路两端同时发送检测报文,检测两个方向上的链路状态,实现毫秒级的链路故障检测。(BFD检测LSP是一种特殊情况,只需在一个方向发送BFD控制报文,对端通过其他路径报告链路状况。)

3. BFD会话的工作方式

·              控制报文方式:链路两端会话通过控制报文交互监测链路状态。

·              Echo报文方式:链路某一端通过发送Echo报文由另一端转发回来,实现对链路的双向监测。

4. BFD运行模式

BFD会话建立前有两种模式:主动模式和被动模式。

·              主动模式:在建立会话前不管是否收到对端发来的BFD控制报文,都会主动发送BFD控制报文;

·              被动模式:在建立会话前不会主动发送BFD控制报文,直到收到对端发送来的控制报文。

在会话初始化过程中,通信双方至少要有一个运行在主动模式才能成功建立起会话。

BFD会话建立后通信双方均运行在异步模式:以异步模式运行的设备周期性地发送BFD控制报文,如果在检测时间内对端没有收到BFD控制报文,则认为会话down。

说明

当BFD会话工作于echo报文方式时,不受运行模式控制。

 

5. 动态改变BFD参数功能

会话建立后,可以动态协商BFD的相关参数(例如最小发送间隔、最小接收间隔、初始模式等),两端协议通过发送相应的协商报文后采用新的参数,不影响会话的当前状态。

1.1.2  BFD报文格式

BFD控制报文封装在UDP报文中传送,对于单跳检测其UDP目的端口号为3784,对于多跳检测其UDP目的端口号为4784(也可配置为3784,具体参见配置任务)。BFD echo报文与BFD控制报文格式类似(区别在于字段Desired Min TX Interval和Required Min RX Interval为空),其UDP目的端口号为3785。报文格式如图1-3所示。

图1-3 BFD报文格式图

 

·              Vers:协议的版本号,协议版本为1。

·              Diag:本地会话最后一次从up状态转换到其他状态的原因如表1-1

表1-1 Diag原因描述

Diag

描述

0

无诊断信息(No Diagnostic)

1

控制检测超时(Control Detection Time Expired)

2

回声功能失效(Echo Function Failed)

3

邻居通知会话down(Neighbor Signaled Session Down)

4

转发平面重启(Forwarding Plane Reset)

5

通道失效(Path Down)

6

连接通道失效(Concatenated Path Down)

7

管理down(Administratively Down)

8

反向链路down(Reverse Concatenated Path Down)

9~31

保留位(Reserved for future use)

 

·              State(Sta):BFD会话当前状态,取值为:0代表AdminDown,1代表Down,2代表Init,3代表Up。

·              Poll(P):设置为1,表示发送方请求进行连接确认,或者发送请求参数改变的确认;设置为0,表示发送方不请求确认。

·              Final(F):设置为1,表示发送方响应一个接收到P比特为1的BFD控制报文;设置为0,表示发送方不响应一个接收到P比特为1的BFD控制报文。

·              Control Plane Independent(C):设置为1,表示发送方的BFD实现不依赖于它的控制平面(即,BFD报文在转发平面传输,即使控制平面失效,BFD仍然能够起作用);设置为0,表示BFD报文在控制平面传输。

·              Authentication Present(A):如果设置为1,则表示控制报文包含认证字段,并且会话是被认证的。

·              Demand(D):设置为1,表示发送方希望操作在查询模式;设置为0,表示发送方不区分是否操作在查询模式,或者表示发送方不能操作在查询模式。

·              Reserved(R):在发送时设置为0,在接收时忽略。

·              Detect Mult:检测时间倍数。即接收方允许发送方发送报文的最大连续丢包数,用来检测链路是否正常。

·              Length:BFD控制报文的长度,单位字节。

·              My Discriminator:发送方产生的一个唯一的、非0鉴别值,用来区分两个协议之间的多个BFD会话。

·              Your Discriminator:接收方收到的鉴别值“My Discriminator”,如果没有收到这个值就返回0。

·              Desired Min Tx Interval:发送方发送BFD控制报文时想要采用的最小间隔,单位毫秒。

·              Required Min Rx Interval:发送方能够支持的接收两个BFD控制报文之间的间隔,单位毫秒。

·              Required Min Echo Rx Interval:发送方能够支持的接收两个BFD回声报文之间的间隔,单位毫秒。如果这个值设置为0,则发送不支持接收BFD回声报文。

·              Auth Type:BFD控制报文使用的认证类型。

·              Auth Len:认证字段的长度,包括认证类型与认证长度字段。

1.1.3  BFD支持的应用

·              OSPF与BFD联动:详细情况请参见“三层技术-IP路由配置指导”中的“OSPF”。

·              OSPFv3与BFD联动:详细情况请参见“三层技术-IP路由配置指导”中的“OSPFv3”。

·              IS-IS与BFD联动:详细情况请参见“三层技术-IP路由配置指导”中的“IS-IS”。

·              IPv6 IS-IS与BFD联动:详细情况请参见“三层技术-IP路由配置指导”中的“IPv6 IS-IS”。

·              RIP与BFD联动:详细情况请参见“三层技术-IP路由配置指导”中的“RIP”。

·              静态路由与BFD联动:详细情况请参见“三层技术-IP路由配置指导”中的“静态路由”。

·              BGP与BFD联动:详细情况请参见“三层技术-IP路由配置指导”中的“BGP”。

·              IPv6 BGP与BFD联动:详细情况请参见“三层技术-IP路由配置指导”中的“IPv6 BGP”。

·              PIM与BFD联动:详细情况请参见“IP组播配置指导”中的“PIM”。

·              MPLS与BFD联动:详细情况请参见“MPLS配置指导”中的“MPLS基础”。

·              Track与BFD联动:详细情况请参见“可靠性配置指导”中的“Track”。

·              IP快速重路由:目前支持快速重路由的有OSPF、RIP、IS-IS和静态路由。详细情况请参见“三层技术-IP路由配置指导”中的“OSPF”、“IS-IS”、“RIP”和“静态路由”。

1.1.4  协议规范

与BFD相关的协议规范有:

·              RFC 5880:Bidirectional Forwarding Detection (BFD)

·              RFC 5881:Bidirectional Forwarding Detection (BFD) for IPv4 and IPv6 (Single Hop)

·              RFC 5882:Generic Application of Bidirectional Forwarding Detection (BFD)

·              RFC 5883:Bidirectional Forwarding Detection (BFD) for Multihop Paths

·              RFC 5884:Bidirectional Forwarding Detection (BFD) for MPLS Label Switched Paths (LSPs)

·              RFC 5885:Bidirectional Forwarding Detection (BFD) for the Pseudowire Virtual Circuit Connectivity Verification (VCCV)

1.2  配置BFD基本功能

BFD基本功能配置,是配置其他协议和BFD联动应用的基础。

1.2.1  配置准备

在配置BFD基本功能之前,需完成以下任务:

·              配置接口的网络层地址,使相邻节点之间网络层可达

·              配置可支持BFD的路由协议

1.2.2  配置步骤

表1-2 配置BFD基本功能

操作

命令

说明

进入系统视图

system-view

-

配置BFD会话建立前的会话模式

bfd session init-mode { active | passive }

可选

缺省情况下,BFD会话建立前的会话模式为active

配置多跳BFD控制报文的目的端口号

bfd multi-hop destination-port port-number

可选

缺省情况下,多跳BFD控制报文的目的端口号为4784

配置echo报文源IP地址

bfd echo-source-ip ip-address

可选

需要注意的是,为了避免对端发送大量的ICMP重定向报文造成网络拥塞,建议不要将BFD echo报文的源IP地址配置为属于该设备任何一个接口所在网段

进入接口视图

interface interface-type interface-number

-

配置接收echo报文的最小时间间隔

bfd min-echo-receive-interval value

可选

请参见1.1.2  BFD报文格式中的参数Required Min Echo Rx Interval

缺省情况下,接收echo报文的最小时间间隔为400毫秒

配置发送BFD控制报文的最小时间间隔

bfd min-transmit-interval value

可选

请参见1.1.2  BFD报文格式中的参数Desired Min Tx Interval

缺省情况下,发送BFD控制报文的最小时间间隔为400毫秒

配置接收BFD控制报文的最小时间间隔

bfd min-receive-interval value

可选

请参见1.1.2  BFD报文格式中的参数Required Min Rx Interval

缺省情况下,接收BFD控制报文的最小时间间隔为400毫秒

配置检测时间倍数

bfd detect-multiplier value

可选

请参见1.1.2  BFD报文格式中的参数Detect Mult

缺省情况下,检测时间倍数为5

 

图1-1所示,假如Router A的Desired Min Tx Interval为100毫秒,Required Min Rx Interval为300毫秒,Detect Mult为5;Router B的Desired Min Tx Interval为150毫秒,Required Min Rx Interval为400毫秒,Detect Mult为10。那么会有以下结果:

·              Router A的实际发送时间为Router A发送控制报文的最小时间间隔和Router B接收控制报文的最小时间间隔之间的较大值=Max(100,400)=400毫秒。

·              Router B的实际发送时间为Router B发送控制报文的最小时间间隔和Router A接收控制报文的最小时间间隔之间的较大值=Max(150,300)=300毫秒。

·              Router A的实际检测时间为Router B的检测时间倍数和Router B的实际发送时间的乘积=10×300=3000毫秒。

·              Router B的实际检测时间为Router A的检测时间倍数和Router A的实际发送时间的乘积=5×400=2000毫秒。

1.3  BFD显示和维护

在完成上述配置后,在任意视图下执行display命令可以显示配置后BFD的运行情况,通过查看显示信息验证配置的效果。

在用户视图下执行reset命令可以清除BFD会话的统计信息。

表1-3 BFD显示和维护

操作

命令

显示使能的BFD接口信息

display bfd interface [ verbose ] [ | { begin | exclude | include } regular-expression ]

显示使能的BFD调试信息开关

display bfd debugging-switches [ | { begin | exclude | include } regular-expression ]

显示BFD会话信息(独立运行模式)

display bfd session [ slot slot-number [ all | verbose ] | verbose ] [ | { begin | exclude | include } regular-expression ]

显示BFD会话信息(IRF模式)

display bfd session [ chassis chassis-number slot slot-number [ all | verbose ] | verbose ] [ | { begin | exclude | include } regular-expression ]

清除BFD会话统计信息(独立运行模式)

reset bfd session statistics [ slot slot-number ]

清除BFD会话统计信息(IRF模式)

reset bfd session statistics [ chassis chassis-number slot slot-number ]

 

不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!

新华三官网
联系我们