当前位置:文档之家› BFD分析与故障定位-许吉东

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


可选
9
BFD控制报文各字段含义
Vers :BFD协议版本号,目前版本号为1;
Diag :诊断码,表明发送方最近一次会话Down的原因;Values are: 0 -- No Diagnostic 1 -- Control Detection Time Expired 2 -- Echo Function Failed 3 -- Neighbor Signaled Session Down 4 -- Forwarding Plane Reset 5 -- Path Down 6 -- Concatenated Path Down 7 -- Administratively Down 8 -- Reverse Concatenated Path Down 9-31 -- Reserved for future use Sta :发送方BFD会话当前状态,取值为:0代表AdminDown,1代表 Down,2代表Init,3代表Up; P : Poll会话参数变化时置位;设置为1,表示发送系统请求进行连接确 认,或者发送请求参数改变的确认;设置为0,表示发送系统不请求确认。
state (Local) Point of changing state (Local) Point of changing state (in sending packet)
A端收到B端发来的My Discriminator为200、Your Discriminator为0的 包。FPGA收到这种报文后,解析报文,将报文中的Vlan、Sip、Dip、My Discriminator存放于FIFO中。A端从FIFO中读取解析出来的信息,根据 Dip查找A端已建立的bfd会话的Sip。若存在bfd会话的Sip与FIFO中读出的 Dip相等,则FIFO中的My Discriminator即为A端该会话的Your Discriminator。
My Discreaminator
Your Discreaminator Desired Min TX Interval Required Min RX Interval Required Min Echo RX Interval
必 选
Auth Type
Auth Len
Authentication Data…
20
BFD检测原理
三次握手-建立连接
A
down
BFD DOW N
Packet transmit
B
down
OWN BFD D
down => init init
BFD INIT BFD UP
BFD DOWN
down => init init => up
IT BFD IN
: DOWN state in packet : INIT state in packet : UP state in packet : Resault of changing : :
BFD能够在系统之间的任何类型通道上进行故障检测;
7
BFD在两台网络设备上建立会话,用来检测网络设备间 的双向转发路径,为上层应用服务。BFD本身并没有邻居发 现机制,而是靠被服务的上层应用通知其邻居信息以建立会 话。会话建立后会周期性地快速发送BFD报文,如果在检测 时间内没有收到BFD报文则认为该双向转发路径发生了故障 ,通知被服务的上层应用进行相应的处理。
10
F : Final如果收到的BFD控制报文P字段置位,则将下一个发送的BFD 控制报文的F字段置位作为应答;设置为1,表示发送系统响应一个接收 到P比特为1的BFD包;设置为0,表示发送系统不响应一个P比特为1的 包。 C :该字段置位表明BFD的实现是独立于控制平面的; A :该字段置位表明报文包含认证部分,会话需要进行认证;设置为1, 表示控制报文包含认证字段,并且会话是被认证的 D :Demand 设置为1,表示发送系统希望操作在查询模式;设置为0, 表示发送系统不希望操作在查询模式,或者表示发送系统不能操作在查 询模式; R :保留位,发送时设为0,接收时忽略该字段; Detect Mult :检测时间倍数; Length :BFD控制报文长度,单位为字节; My Discriminator :发送方产生的一个唯一非0值,用来标识不同的BFD 会话; Your Discriminator : 如果已经收到会话邻居发送的BFD控制报文则该值 为收到报文中的My Discriminator,否则为0;
18
自学习远端标识符2
A:My Discriminator 100 B:My Discriminator 200 Your Discriminator 200 Your Discriminator 0 Sip 10.0.0.1 Sip 10.0.0.2 Dip 10.0.0.2 Dip 10.0.0.1 此后,A端不再发出My Discriminator 100,Your Discriminator 0的报文 。在这之前若B尚未学习到Your Discriminator。B将永远学不到Your Discriminator。为解决该问题,增加了从FPGA寄存器中学习功能。 B端收到A端发来的My Discriminator为100、Your Discriminator为200的 报文。FPGA收到这种报文后,解析报文中的My Discriminator、Your Discriminator。根据解析出来的Your Discriminator确定该报文所属系统中的 bfd会话,并将解析出来的My Discriminator写入相应条目的FPGA中,供本 端该条目学习Your Discriminator。
BFD分析与故障定位
软件三部 许吉东 烽火通信科技股份有限公司
2013年2月
1
培训内容:
BFD协议诞生背景 BFD检测原理
BFD问题分析定位
典型故障案例分析
2
BFD协议诞生背景
为了保护关键应用,网络中会设计有一定的冗余备份 链路,网络发生故障时就要求网络设备能够快速检测出故 障并将流量切换至备份链路以加快网络收敛速度。 目前,一些硬件如SDH等可以提供这个功能,但是对 于很多硬件或者软件无法提供这个功能,比如以太网。还 有一些无法实现路径检测,比如转发引擎或者接口等,无 法实现端到端的检测。目前的网络一般采用慢Hello机制, 尤其在路由协议中,在没有硬件帮助下,检测时间会很长 (例如:OSPF需要2秒的检测时间,ISIS需要1秒的检测 时间)。这对某些应用来说时间过长。当数据速率到吉比 特(Gbps),故障感应时间长代表着大量数据的丢失,并且 对于不允许路由协议的节点没有办法检测链路的状态。
13
Discr个BFD会话,因此当收到BFD 控制报文时,需要一个机制来将其分离到对应的会话上。 • 每个系统都必须选择唯一的标识符(Discriminator)确定每 个会话(Session)。本地标识符封装在BFD控制报文的My Discriminator字段中,与远端系统BFD报文Your Discriminator对应。 • 一旦远端系统返回它的本地标识符,后续收到的BFD报文都 将唯一地通过Your Discriminator字段分离到各个会话上。也 就是说,源地址、接口等都可能发生变化,但BFD报文仍然能 够对应到相应的会话上去。
3
同时,在现有的IP网络中并不具备秒以下的间歇性故障 修复功能,而传统路由架构在对实时应用(如语音)进行准 确故障检测方面能力有限。伴随着VoIP应用的激增,实现快 速网络故障检测和修复越发显得必要。
4
技术优点
BFD协议提供了一个通用的标准化的介质无关和协议无关的 快速故障检测机制。具有以下优点: 1.对网络设备间任意类型的双向转发路径进行故障检测,包 括直连物理链路、虚电路、隧道、MPLS LSP、多跳路由 路径以及单向链路等。 2.可以为不同的上层应用服务,提供一致的快速故障检测时 间。 3.提供毫秒级的检测时间,从而加快网络收敛速度,减少应 用中断时间,提高网络的可靠性。
17
自学习远端标识符1
A:My Discriminator 100 Your Discriminator 0 Sip 10.0.0.1 Dip 10.0.0.2
B:My Discriminator 200 Your Discriminator 0 Sip 10.0.0.2 Dip 10.0.0.1
12
二. BFD Echo报文
BFD Echo报文提供了一种不依赖于BFD控制报文的故 障检测方法。本端发送本端接收,远端不对报文进行处理 ,而只是将此报文在反向通道上返回。因此BFD协议并没 有对BFD Echo报文的格式进行定义,唯一的要求是发送 方能够通过报文内容区分会话。 BFD Echo报文采用UDP封装,目的端口号为3785,目 的IP地址为发送接口的地址,源IP地址由配置产生。
5
培训内容:
BFD协议诞生背景 BFD检测原理
BFD问题分析定位
典型故障案例分析
6
BFD检测原理
BFD(Bidirectional Forwarding Detection ): 双向转 发检测; BFD实施在系统的业务层上,使检测更专注于业务报文 转发的连通性;
BFD可以运行在任何数据协议的顶层,对不同层次的网络 提供检测;
11
Desired Min TX Interval :发送方支持的最小BFD控制报文发送时间间隔, 单位为微秒; Required Min RX Interval :发送方支持的最小BFD控制报文接收时间间 隔,单位为微秒; Required Min Echo RX Interval:发送方支持的最小BFD Echo报文接收 时间间隔,单位为微秒。为0表示不支持BFD Echo报文; Auth Type :认证类型; Auth Len :可选认证部分长度,包括Auth Type和Auth Len字段,单位为 字节; Authentication Data:可选认证部分的数据内容。 BFD控制报文采用UDP封装,目的端口号为3784,源端口号在49152到 65535的范围内。
相关主题