一种实现多跳BFD单臂回声功能的方法与流程

文档序号:11959686阅读:6904来源:国知局
一种实现多跳BFD单臂回声功能的方法与流程

本发明涉及网络通信技术,具体的说,涉及一种实现多跳BFD单臂回声功能的方法。

技术背景

Bi-directional Forwarding Detection (BFD) ,即双向转发检测,试图为各种上层控制协议提供一种通用的低开销快速故障检测服务,上层控制协议可以利用BFD提供的服务来决定自己采取相应操作,比如重新选路。之所以称为双向,是因为BFD协议通过三次握手机制,能提供链路来回两个方向的连通性检测。BFD可以快速检测到转发路径上的接口和链路故障、节点的转发引擎故障等,并把故障通知上层协议,使上层协议能够快速收敛。

至于工作原理,可以认为BFD是一个简单的Hello协议,和我们熟悉的路由协议的Hello机制类似,只不过更简洁更通用。建立BFD会话的两个系统之间周期性的互发报文,如果在一个商定的时间段内没有收到对端报文,就认为和对端的通信通道出现故障,BFD会话Down,并通知上层协议重新选路。为了减少设备负荷,BFD还设计了一些特殊的应用方式,在这些方式下,可以减少BFD报文发送,或者不必周期性的发送BFD报文,只在需要的时候才发送。

BFD提供了两种工作模式,一种是异步模式(Asynchronous mode),这是BFD的基本工作模式。在这种模式下,建立了BFD会话的两个系统之间必须周期性的互发BFD报文,如果某个系统在商定的时间段内一直没有收到对端发来的报文,就认为对端Down。

另一种模式称为查询模式(Demand mode)。这种模式假定建立了BFD会话的两个系统之间有其他独立的能暗示连通性的方法,只是在需要的时候才触发BFD进行显式的故障检测。

在两种工作模式之外,BFD还提供一项辅助功能,称为回声功能(Echo Function)。回声功能在两种工作模式下都可以使用。如果某个系统的回声功能是激活的,那么它发送回声报文,对端把回声报文沿转发路径环回回来,如果发送端在一段时间内没有收到回声报文,就认为对端Down。因为回声报文事实上可起到检测连通性的作用,所以在异步模式下可以减少BFD控制报文的发送,在查询模式下甚至可以完全不用发送BFD控制报文,直接使用回声报文检测连通性。

回声报文的优点是只检测转发平面,和控制平面无关,这可以减少报文往返的延迟,能提供更短的故障检测时间。回声报文的形式和应用相关,不过因为它纯粹只检测连通性,报文可以比普通BFD报文更简单,处理开销更小。回声功能可以只在一个方向上激活,我们称某个系统的回声功能是激活的,是指本端能发送回声报文,且对端能环回回声报文。

但回声功能目前的实现也存在一些问题,由于源地址等于目的地址,天然限制了BFD回声功能的应用场景,只能进行单跳检测。当需要实现BFD的多跳检测,而链路的远端节点又不支持BFD或是由于性能或某种需要不能开启BFD功能时,就无法实现BFD的链路检测。因此亟需一种技术能够实现多跳场景且远端设备不支持BFD的情况下实现链路检测,而由于非发起端需要原生支持这种应用场景,所以必须采用一种普遍支持的已知技术,以减少了设备厂商的开发成本。



技术实现要素:

本发明的目的在于提供一种多跳BFD单臂回声的方法解决上述问题。为了达到上述目的,本发明的技术方案为:一种实现多跳BFD单臂回声功能的方法,包含以下步骤:

步骤1 :使能多跳BFD回声功能,配置包括本地地址和远端检测地址,BFD会话鉴别参数,发送间隔和检测倍数;

步骤2:控制面向转发面下发配置信息;

步骤3:转发面按照配置信息构造带松散源路由选项的BFD 回声报文按照发送间隔进行定时发送;

步骤4:检测报文按照路由逐跳发送至远端设备;

步骤5:远端设备解析IP选项头,将松散源路由选项指针处的地址替换报文目的地址查路由环回;

步骤6:报文查路由逐跳到达起始设备;

步骤7:起始设备转发面收到目的为本地的报文,根据UDP端口号识别为BFD回声报文,根据鉴别参数匹配对应BFD会话;

步骤8:起始设备进行相应的检测流程处理。

本发明中,源路由选项是IP数据报选项的其中之一,源路由可以分为两类,一类是严格源路由选项(Strict Source Route),一类是松散源路由选项(Loose Source Route)。由于IP选项头的源路由选项可以控制报文路径,使用源路由选项承载BFD回声报文可以实现在BFD报文在远端检测点进行环回。严格源路由选项控制报文的每一跳路径,由于每一跳转发设备都要处理,并且需要在IP选项头中预置转发路径,而随着拓扑或是业务的变动,这种路径往往是不可控的,同时选项头的长度也限制了检测跳数。松散源路由选项虽然也会带来一定的开销造成时延,但是由于松散源路由只会在松散点,即远端检测点进行处理,这样就在开销和功能实现上做了一个完美的平衡,同时也避免了检测跳数的限制。

附图说明:

图1是本发明中的BFD回声功能和联动的具体流程;

图2是本发明中BFD 回声报文转发的具体流程。

具体实施方式:

下面结合附图对本发明进行清晰、完整地描述。本领域普通技术人员在不付出创造性劳动的前提下所获得其他的实施例,都属于本发明保护的范围。

下面结合附图对本发明一种实现多跳BFD单臂回声功能的方法进行说明。

如图1所示,本发明的BFD回声功能和联动的具体流程如下:

通过命令行下发多跳BFD单臂回声功能,下发参数包括使能多跳,本地源地址和远端检测地址,My Discriminator标识,发送间隔和检测倍数

命令行处理模块解析参数配置控制面的BFD模块,BFD模块向转发面下发相应的BFD会话表项

转发面初始化定时器参数并按照发送间隔进行BFD回声报文的构造和发送。构造的回声报文内容如下:IP头中的源地址和目的地址均为配置参数,IP选项头加入松散源路由选项,地址列表只有一个,且指针指向该地址,地址值为回声报文的源地址。UDP端口号为ECHO端口号3785,BFD头的My Discriminator和Your Discriminator相同均为配置参数

如图2所示BFD回声报文发出后在中间设备均做普通路由转发,当报文达到远端检测点后,设备发现目的地址为本地,且包含源路由选项,进行源路由选项处理,将指针位置的地址替换到报文的目的地址中,并将查询目的路由的出接口地址回填到选项头的地址列表中,指针偏移到NULL。回声报文经过逐跳路由转发至起始检测端

起始检测端转发面收到目的地址为本地的报文后进行识别,识别出是BFD回声报文后根据Discriminator标识匹配对应的BFD会话,复位定时器。当定时器在 发送间隔*检测倍数 的时间内没有收到BFD回声报文时,定时器回调转发面的BFD处理模块通知BFD超时,转发面向控制面的BFD模块上报BFD DOWN,由BFD模块通知注册的相应被服务进程进行动作。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1