BFD分析与故障定位-许吉东.ppt

上传人:b****3 文档编号:2728896 上传时间:2022-11-09 格式:PPT 页数:94 大小:2.20MB
下载 相关 举报
BFD分析与故障定位-许吉东.ppt_第1页
第1页 / 共94页
BFD分析与故障定位-许吉东.ppt_第2页
第2页 / 共94页
BFD分析与故障定位-许吉东.ppt_第3页
第3页 / 共94页
BFD分析与故障定位-许吉东.ppt_第4页
第4页 / 共94页
BFD分析与故障定位-许吉东.ppt_第5页
第5页 / 共94页
点击查看更多>>
下载资源
资源描述

BFD分析与故障定位-许吉东.ppt

《BFD分析与故障定位-许吉东.ppt》由会员分享,可在线阅读,更多相关《BFD分析与故障定位-许吉东.ppt(94页珍藏版)》请在冰豆网上搜索。

BFD分析与故障定位-许吉东.ppt

1BFD分析与故障定位软件三部许吉东烽火通信科技股份有限公司2013年2月2培训内容:

BFD协议诞生背景BFD检测原理BFD问题分析定位典型故障案例分析3BFD协议诞生背景为了保护关键应用,网络中会设计有一定的冗余备份链路,网络发生故障时就要求网络设备能够快速检测出故障并将流量切换至备份链路以加快网络收敛速度。

目前,一些硬件如SDH等可以提供这个功能,但是对于很多硬件或者软件无法提供这个功能,比如以太网。

还有一些无法实现路径检测,比如转发引擎或者接口等,无法实现端到端的检测。

目前的网络一般采用慢Hello机制,尤其在路由协议中,在没有硬件帮助下,检测时间会很长(例如:

OSPF需要2秒的检测时间,ISIS需要1秒的检测时间)。

这对某些应用来说时间过长。

当数据速率到吉比特(Gbps),故障感应时间长代表着大量数据的丢失,并且对于不允许路由协议的节点没有办法检测链路的状态。

4同时,在现有的IP网络中并不具备秒以下的间歇性故障修复功能,而传统路由架构在对实时应用(如语音)进行准确故障检测方面能力有限。

伴随着VoIP应用的激增,实现快速网络故障检测和修复越发显得必要。

5技术优点BFD协议提供了一个通用的标准化的介质无关和协议无关的快速故障检测机制。

具有以下优点:

1.对网络设备间任意类型的双向转发路径进行故障检测,包括直连物理链路、虚电路、隧道、MPLSLSP、多跳路由路径以及单向链路等。

2.可以为不同的上层应用服务,提供一致的快速故障检测时间。

3.提供毫秒级的检测时间,从而加快网络收敛速度,减少应用中断时间,提高网络的可靠性。

6培训内容:

BFD协议诞生背景BFD检测原理BFD问题分析定位典型故障案例分析7BFD检测原理BFD(BidirectionalForwardingDetection):

双向转发检测;BFD实施在系统的业务层上,使检测更专注于业务报文转发的连通性;BFD可以运行在任何数据协议的顶层,对不同层次的网络提供检测;BFD能够在系统之间的任何类型通道上进行故障检测;8BFD在两台网络设备上建立会话,用来检测网络设备间的双向转发路径,为上层应用服务。

BFD本身并没有邻居发现机制,而是靠被服务的上层应用通知其邻居信息以建立会话。

会话建立后会周期性地快速发送BFD报文,如果在检测时间内没有收到BFD报文则认为该双向转发路径发生了故障,通知被服务的上层应用进行相应的处理。

9BFD报文格式BFD报文分为BFD控制报文和BFDEcho报文。

一.BFD控制报文格式如下:

必选可选012301234567890123456789012345678901VersDiagStaPFCARDetectMultLengthMyDiscreaminatorYourDiscreaminatorDesiredMinTXIntervalRequiredMinRXIntervalRequiredMinEchoRXIntervalAuthTypeAuthLenAuthenticationDataD10BFD控制报文各字段含义Vers:

BFD协议版本号,目前版本号为1;Diag:

诊断码,表明发送方最近一次会话Down的原因;Valuesare:

0-NoDiagnostic1-ControlDetectionTimeExpired2-EchoFunctionFailed3-NeighborSignaledSessionDown4-ForwardingPlaneReset5-PathDown6-ConcatenatedPathDown7-AdministrativelyDown8-ReverseConcatenatedPathDown9-31-ReservedforfutureuseSta:

发送方BFD会话当前状态,取值为:

0代表AdminDown,1代表Down,2代表Init,3代表Up;P:

Poll会话参数变化时置位;设置为1,表示发送系统请求进行连接确认,或者发送请求参数改变的确认;设置为0,表示发送系统不请求确认。

11F:

Final如果收到的BFD控制报文P字段置位,则将下一个发送的BFD控制报文的F字段置位作为应答;设置为1,表示发送系统响应一个接收到P比特为1的BFD包;设置为0,表示发送系统不响应一个P比特为1的包。

C:

该字段置位表明BFD的实现是独立于控制平面的;A:

该字段置位表明报文包含认证部分,会话需要进行认证;设置为1,表示控制报文包含认证字段,并且会话是被认证的D:

Demand设置为1,表示发送系统希望操作在查询模式;设置为0,表示发送系统不希望操作在查询模式,或者表示发送系统不能操作在查询模式;R:

保留位,发送时设为0,接收时忽略该字段;DetectMult:

检测时间倍数;Length:

BFD控制报文长度,单位为字节;MyDiscriminator:

发送方产生的一个唯一非0值,用来标识不同的BFD会话;YourDiscriminator:

如果已经收到会话邻居发送的BFD控制报文则该值为收到报文中的MyDiscriminator,否则为0;12DesiredMinTXInterval:

发送方支持的最小BFD控制报文发送时间间隔,单位为微秒;RequiredMinRXInterval:

发送方支持的最小BFD控制报文接收时间间隔,单位为微秒;RequiredMinEchoRXInterval:

发送方支持的最小BFDEcho报文接收时间间隔,单位为微秒。

为0表示不支持BFDEcho报文;AuthType:

认证类型;AuthLen:

可选认证部分长度,包括AuthType和AuthLen字段,单位为字节;AuthenticationData:

可选认证部分的数据内容。

BFD控制报文采用UDP封装,目的端口号为3784,源端口号在49152到65535的范围内。

13二.BFDEcho报文BFDEcho报文提供了一种不依赖于BFD控制报文的故障检测方法。

本端发送本端接收,远端不对报文进行处理,而只是将此报文在反向通道上返回。

因此BFD协议并没有对BFDEcho报文的格式进行定义,唯一的要求是发送方能够通过报文内容区分会话。

BFDEcho报文采用UDP封装,目的端口号为3785,目的IP地址为发送接口的地址,源IP地址由配置产生。

14Discriminator字段由于两个系统之间可能存在多个BFD会话,因此当收到BFD控制报文时,需要一个机制来将其分离到对应的会话上。

每个系统都必须选择唯一的标识符(Discriminator)确定每个会话(Session)。

本地标识符封装在BFD控制报文的MyDiscriminator字段中,与远端系统BFD报文YourDiscriminator对应。

一旦远端系统返回它的本地标识符,后续收到的BFD报文都将唯一地通过YourDiscriminator字段分离到各个会话上。

也就是说,源地址、接口等都可能发生变化,但BFD报文仍然能够对应到相应的会话上去。

15BFD检测原理BFD有两种操作模式:

异步模式/查询模式BFD的主要操作模式称为异步模式。

在这种模式,系统之间相互周期性地发送BFD控制包,如果某个系统连续几个周期没有收到对端发送的报文,就认为会话为“Down”了。

16BFD的第二种操作模式称为查询模式。

查询模式下,会话两端通过3次握手建立起连接,一旦一个BFD会话建立并UP,系统停止发送BFD控制包,除非某个系统需要显式地验证连接性。

在需要显式验证连接性的情况下,系统发送一个短系列的BFD控制包(由P和F比特控制“握手”的实现),然后,协议再次保持沉默。

17动态BFDBFDBFD使用本地标识符(使用本地标识符(LocalDiscriminatorLocalDiscriminator)和远端标识)和远端标识符(符(RemoteDiscriminatorRemoteDiscriminator)区分同一对系统之间的多个)区分同一对系统之间的多个BFDBFD会话。

会话。

VRVRRRPP支持静态配置支持静态配置BFDBFD会话和动态触发建立会话和动态触发建立BFDBFD会话。

会话。

对于静态配置的对于静态配置的BFDBFD会话,其本地、远端标识符都通过手会话,其本地、远端标识符都通过手工配置。

工配置。

对于动态触发建立的对于动态触发建立的BFDBFD会话包括:

动态分配本端标识符会话包括:

动态分配本端标识符和自学习远端标识符。

和自学习远端标识符。

18自学习远端标识符1A:

MyDiscriminator100B:

MyDiscriminator200YourDiscriminator0YourDiscriminator0Sip10.0.0.1Sip10.0.0.2Dip10.0.0.2Dip10.0.0.1A端收到B端发来的MyDiscriminator为200、YourDiscriminator为0的包。

FPGA收到这种报文后,解析报文,将报文中的Vlan、Sip、Dip、MyDiscriminator存放于FIFO中。

A端从FIFO中读取解析出来的信息,根据Dip查找A端已建立的bfd会话的Sip。

若存在bfd会话的Sip与FIFO中读出的Dip相等,则FIFO中的MyDiscriminator即为A端该会话的YourDiscriminator。

19自学习远端标识符2A:

MyDiscriminator100B:

MyDiscriminator200YourDiscriminator200YourDiscriminator0Sip10.0.0.1Sip10.0.0.2Dip10.0.0.2Dip10.0.0.1此后,A端不再发出MyDiscriminator100,YourDiscriminator0的报文。

在这之前若B尚未学习到YourDiscriminator。

B将永远学不到YourDiscriminator。

为解决该问题,增加了从FPGA寄存器中学习功能。

B端收到A端发来的MyDiscriminator为100、YourDiscriminator为200的报文。

FPGA收到这种报文后,解析报文中的MyDiscriminator、YourDiscriminator。

根据解析出来的YourDiscriminator确定该报文所属系统中的bfd会话,并将解析出来的MyDiscriminator写入相应条目的FPGA中,供本端该条目学习YourDiscriminator。

20BFD检测原理BFD会话建立前有主动与被动两种模式。

如果一台设备为主动模式,那么在会话建立前不管有没有收到对端发来的BFD控制报文,都会主动发送BFD控制报文。

如果一台设备为被动模式,那么在会话建立前就不会主动发送BFD控制报文,直到收到对端发来的BFD控制报文才发送。

我们现在做的是主动模式。

下面对两端都为主动模式的会话建立过程进行说明。

21BFD检测原理三次握手-建立连接22状态机迁移过程BFD使用三次握手的机制来建立会话,发送方在发送BFD控制报文时会在Sta字段填入本地当前的会话状态,接收方根据收到的BFD控制报文的Sta字段以及本地当前会话状态来进行状态机的迁移,建立会话。

RouterA和RouterB的BFD收到上层应用的通知后,发送状态为DOWN的BFD控制报文。

RouterB的BFD状态变化同RouterA。

RouterB收到对端状态为DOWN的BFD控制报文后,本地会话状态由DOWN迁移到INIT,随后发送的BFD控制报文中将Sta字段填为2表明会话状态为INIT。

RouterA的BFD状态变化同RouterB。

23RouterA收到对端状态为INIT的BFD控制报文后,本地会话状态由INIT迁移到UP,随后发送的BFD控制报文中将Sta字段填为3表明会话状态为UP。

RouterB的BFD状态变化同RouterA。

BFD双方状态都为UP,会话成功建立并开始检测链路状态。

24定时器协商BFD会话建立前BFD控制报文以1秒的时间间隔周期发送以减小报文流量。

在会话建立后则以协商的

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1