一种双向转发检测振荡阻尼的方法及装置的制作方法

文档序号:7741982阅读:229来源:国知局
专利名称:一种双向转发检测振荡阻尼的方法及装置的制作方法
技术领域
本发明涉及双向转发检测(BFD,BidirectionalForwarding Detection)技术,特 别是指一种双向转发检测振荡阻尼的方法及装置。
背景技术
双向转发检测(BFD),是由国际标准组织IETF提出并用来在以太网中对转发路径 的故障进行快速检测的协议,上述转发路径包括直接的物理链路、虚电路、隧道、多跳通道 以及非直连的通道等。BFD为网络的管理者提供了一种统一的故障检测方法,使网络管理者 能够以一个统一的速率来检测转发路径的故障,既能使网络重新收敛的时间一致并且可预 测,还能使网络整形和规划变得更加容易。利用BFD实现故障检测,能够帮助IP网络以良 好的服务质量(QOS,Quality of Service)实现语音、视频及其他点播业务的传输,从而帮 助服务提供商提供基于IP网络的服务,为客户提供高可靠性、高适用性的语音业务(VoIP, Voice over Internet Protocol)及其它实时业务。BFD通过在两个系统之间发送BFD探测报文来激活和维持BFD会话,因此,为了建 立一个BFD会话,需要在对等的两个系统都配置BFD会话,一旦BFD会话的建立成功并且协 商完成,两个运行BFD会话的系统以相同的方式发送BFD探测报文,当两个系统之间的某一 条链路出现故障时,两个系统都通过BFD探测报文检测到链路故障,上报给使用BFD进行检 测的各个应用模块,如路由模块,并由应用模块采取相应的措施绕过发送故障的路径,以避 免业务中断。随着3G网元设备越来越多的应用IP网络进行承载,近年来随着VoIP的发展,在 IP网中传递信令及语音已成为必然。IP网新一代传输协议——流控制传输协议(SCTP, Stream Control Transmission Protocol)是IP网络传输语音业务的基础,该协议使得信 令消息在一个基于IP的公共分组交换网上完成传输,端到端地执行流量控制和差错控制, 因此信令在IP网上如何传输已经成为了关键问题,而信令传输具有高可靠性低时延的要 求。这样SCTP相对于TCP来说引入了多归属,所谓多归属,是指一个SCTP端点可以通过多 个IP地址到达,这样两个SCTP端点在建立了偶联后,数据可以通过不同的物理路径进行传 送。3G网元设备在利用IP网络传输信令时使用SCTP进行信令的承载,通常为了应用 多归属特性让SCTP走不同的物理路径来达到相互备份的目的。通常在配置静态路由时,会 采用到同一个目的IP地址配置多个等价下一跳IP静态路由的方式来实现负载均衡组网方 式,同时使用BFD来进行每一条静态路由的下一跳的有效性检测。这种组网方式在负载均 衡的多条链路正常时,能够有效的利用多条路径的带宽,使STCP承载的信令业务能够均衡 的分配到多条路径上。如果其中一条路径发生故障,BFD能够正常检测到故障并进行相应 的路由的有效性处理,SCTP会在实际断链时间点和BFD检测到断链的时间点这段延迟的时 间内发生少量的报文丢失,但是由于SCTP作为传输层协议有自己的重传机制,信令业务依 然能够通过其他正常的备份路径发送,当BFD检测到这条故障的路径恢复正常时,信令业务可以重新通过这条路径进行发送。但是上述组网中,有一个重大缺陷,那就是如果这条故障的路径上频繁发生瞬断, 也就是说路径时好时坏,由于BFD检测到断链时间点和实际断链的时间点总有一定的时间 间隔延迟,由于链路频繁发生瞬断,BFD就会不断的检测到断链和恢复,业务由于链路的频 繁瞬断而造成丢失报文不断在累积,而由于SCTP的重传机制,会造成SCTP缓冲区不断挤 压,这样随着时间的增长,缓冲区挤压到一定程度后,将无法再往缓冲区发送数据包,即使 其他链路均正常,也会由于一条链路的瞬断,造成业务全部中断,从而影响到整个上层业务 的传输。

发明内容
有鉴于此,本发明的主要目的在于提供一种双向转发检测振荡阻尼的方法及装 置,以解决当一条链路发生频繁瞬断时,由于SCTP缓冲区不断挤压而造成的业务中断问 题。为达到上述目的,本发明的技术方案是这样实现的本发明提供了一种双向转发检测振荡阻尼的方法,该方法包括当链路频繁瞬断时,由线卡处理板(LP)通过振荡阻尼算法计算惩罚值,并根据相 应的条件使BFD会话进入阻尼状态;当该链路故障恢复后,LP根据相应的条件使BFD会话退出阻尼状态。上述方案中,所述通过振荡阻尼算法计算惩罚值,具体为每当链路发生一次故 障,惩罚值就增加一次;当链路故障恢复时,惩罚值按照公式MO = P(G)一Β)衰减,其中 入的计算方法为Η = 1η2/ λ,H为半衰期。上述方案中,所述根据相应的条件使BFD会话进入阻尼状态,具体包括当惩罚值 大于所设置的抑制门限值时,LP上的BFD进程使BFD会话进入阻尼状态,并通知路由总控 处理板(RP)上的BFD进程;否则,继续通过探测报文对链路进行探测;所述根据相应的条件使BFD会话退出阻尼状态,具体包括当链路故障已恢复并 进入稳态后,若惩罚值小于重新启用值,LP上的BFD进程使BFD会话退出阻尼状态,并通知 RP上的BFD进程;否则,即使链路故障恢复,BFD会话仍处于阻尼状态,业务不会通过该链路 进行传输。上述方案中,所述RP上的BFD进程接收到使BFD会话进入阻尼状态的通知后,该 方法进一步包括RP上的BFD进程将该BFD会话的阻尼标志位置位;所述RP上的BFD进程接收到使BFD会话退出阻尼状态的通知后,该方法进一步包 括RP上的BFD进程将BFD会话的阻尼标志位清空。上述方案中,在链路发生频繁振荡之前,该方法还包括初始化RP上的BFD进程, 并配置源地址到目的地址的静态路由、BFD会话的发送报文时间间隔、接收报文时间间隔、 单跳模式以及使能振荡阻尼参数。上述方案中,所述初始化及相关配置之后,该方法还包括RP上的BFD进程向LP 上的BFD进程发送创建BFD会话命令,LP上的BFD进程解析命令中的参数,并创建BFD会话。本发明还提供了一种双向转发检测振荡阻尼的装置,该装置包括
振荡阻尼算法模块,位于LP上,用于当链路频繁瞬断时,由LP通过振荡阻尼算法 计算惩罚值,并根据相应的条件使BFD会话进入阻尼状态;当该链路故障恢复后,LP根据相 应的条件使BFD会话退出阻尼状态。上述方案中,所述通过振荡阻尼算法计算惩罚值,具体为每当链路发生一次故障,惩罚值就增加一次;当链路故障恢复时,惩罚值按照公式MO =冰。)^。衰减,其中 入的计算方法为Η = 1η2/ λ,H为半衰期。上述方案中,所述根据相应的条件使BFD会话进入阻尼状态,具体包括当惩罚值 大于所设置的抑制门限值时,通知LP上的BFD进程模块使BFD会话进入阻尼状态,并通知 RP上的BFD进程模块;否则,继续通过探测报文对链路进行探测;所述根据相应的条件使BFD会话退出阻尼状态,具体包括当链路故障已恢复并 进入稳态后,若惩罚值小于重新启用值,则通知LP上的BFD进程模块使BFD会话退出阻尼 状态,并通知RP上的BFD进程;否则,即使链路故障恢复,BFD会话仍处于阻尼状态,业务不 会通过该链路进行传输。上述方案中,该装置还包括位于RP上的BFD进程模块,以及位于LP上的BFD进 程模块;其中,RP上的BFD进程模块,用于向LP上的BFD进程模块发送创建、删除BFD会话的命 令;还用于存储BFD会话的相关配置及参数,以及已注册的应用模块标识。LP上的BFD进程模块,用于对RP上的BFD进程模块的命令中的参数进行解析,并 根据该命令创建、删除相应的BFD会话;还用于将BFD会话进入或退出阻尼状态的通知发送 给RP上的BFD进程模块。上述方案中,所述RP上的BFD进程模块,还用于根据BFD会话进入或退出阻尼状 态的通知,将BFD会话的阻尼标志位进行置位或清空操作。上述方案中,该装置还包括位于RP上的初始化配置模块,用于初始化BFD进程模 士夬,并配置源地址到目的地址的BFD会话的发送报文时间间隔、使用此会话的静态路由、接 收报文时间间隔、单跳模式以及使能振荡阻尼参数。本发明所提供的一种双向转发检测振荡阻尼的方法及装置,当链路频繁瞬断时, 由线卡处理板通过振荡阻尼算法计算惩罚值,并根据相应的条件使BFD会话进入阻尼状 态;当链路故障恢复后,LP根据相应的条件使BFD会话退出阻尼状态。通过本发明所述的方法及装置,解决了当某条链路发生频繁瞬断时,由于SCTP缓 冲区不断挤压而造成的业务中断问题,使业务能够通过其他正常链路进行传输,避免了整 个业务的中断。


图1为本发明实施例中网络拓扑结构图;图2为本发明双向转发检测振荡阻尼的方法流程图;图3为本发明振荡阻尼算法惩罚值增加及衰减曲线图;图4为本发明双向转发检测振荡阻尼的装置组成图。
具体实施例方式本发明的基本思想是当链路频繁瞬断时,由线卡处理板(LP,Line Process)通 过振荡阻尼算法计算惩罚值,并根据相应的条件判断BFD会话是否进入阻尼状态;当BFD会 话进入阻尼状态后,LP根据相应的条件判断BFD会话是否退出阻尼状态。下面以具体实施例对本发明所述的方法进行详细说明。本发明提供的双向转发检测振荡阻尼的方法,采用分布式架构来共同实现,即由 路由总控处理板(RP,Route Process)和LP来共同实现。其中,RP与LP位于网元设备中, 对应于同一个BFD会话拥有各自的BFD进程,RP上的BFD进程向对应的LP上的BFD进程发送创建或删除BFD会话的命令,不同的LP可以连接到不同的IP承载网接入路由器,其网 络拓扑结构如图1所示,其中LPl的地址为IP1,LP2的地址为IP2。如图2所示,本发明所提供的方法包括以下步骤步骤201 初始化RP上的BFD进程,并通过网管进行相关配置;本步骤中,当3G网元设备上电时,初始化RP上的BFD进程,其中包括:BFD会话管理所需的存储空间的分配、使用BFD会话进行检测的应用模块如静态路由模块的注册工作等。通过网管进行相关配置包括首先,用户通过网管在3G网元设备1上进行将远端3G网元设备2作为目的地址的静态路由配置,将地址IPl和IP2的下一跳地址分别配置为 IP3和IP4,并启动应用模块的BFD检测功能,使RP接收到应用模块创建的BFD会话请求; 这里,创建的BFD会话路径是从3G网元设备1的LPl上的源IP地址一IPl到承载接入网 路由器A的目的IP地址一IP3,以及从3G网元设备1的LP2上的源IP地址一IP2到承载 接入网路由器B的目的IP地址一 IP4之间,即IP1-IP3和IP2-IP4链路的BFD会话。其次, 用户通过网管配置IP1-IP3和IP2-IP4链路的BFD会话的发送报文时间间隔、接收报文时 间间隔、单跳模式以及使能振荡阻尼等参数。步骤202 =RP上的BFD进程命令LP上的BFD进程创建BFD会话;本步骤中,RP上的BFD进程存储上述BFD会话的相关配置及参数,以及已注册的应用模块标识,并根据会话的源IP地址找到相应的LP,分别向相应的LPl及LP2发送创建 BFD会话命令,该命令中包含BFD会话的发送报文时间间隔、接收报文时间间隔以及使能振 荡阻尼等参数。LPl和LP2上的BFD进程分别接收到创建BFD会话命令后,对其中包含的参数进程解析,并分别在LPl与接入路由器A、LP2与接入路由器B之间的链路创建相应的BFD会 话,即IP1-IP3和IP2-IP4链路的BFD会话,并把命令中包含的参数存储在这两个BFD会话 中,用于后续的会话协商。步骤203 通过探测报文检测链路状态;本步骤中,当IP1-IP3和IP2-IP4之间的链路正常时,两个BFD会话分别和接入路由器A与接入路由器B协商成功,并通过探测报文检测IP1-IP3和IP2-IP4之间链路的状 态,当链路出现故障时,BFD会话状态为Down,当链路正常时,BFD会话状态为UP。步骤204 :LP1判断惩罚值是否大于抑制门限值,若大于抑制门限值,则使LPl上的BFD会话进入阻尼状态,并通知RP上的BFD进程,执行步骤205 ;否则,返回步骤203,继续 检测链路的状态;本步骤中,假设当LP1-LP3之间的链路发生故障时,LPl上的BFD进程中的BFD会话状态变为Down,若此BFD会话配置了振荡阻尼参数,LPl运用阻尼算法计算惩罚值 (Penalty)的大小,如图3所示,在一定时间内,每当链路发生一次故障,Penalty值就 增加一次,其中每次Penalty值增加的幅度可以根据具体情况设定;当链路故障恢复时, Penalty值按照公式MO = POWW衰减,其中,λ的计算方法为Η = 1η2/λ,H为半衰 期,可由实际情况设置;当链路频繁瞬断即发生振荡时,Penalty值会不断增加,当Penalty 值大于所设置的抑制门限值(Suppress limit)时,LPl上的BFD进程使该BFD会话进入阻 尼状态,并通知RP上的BFD进程;RP上的BFD进程接收到此通知后,查找到相应的BFD会 话,若该BFD会话不处于阻尼状态,则将该BFD会话状态更新为Down,并将该BFD会话的阻尼标志位置位,使该BFD会话置为阻尼状态;其中,抑制门限值的大小可以根据具体情况而 设置。步骤205 :LP1判断惩罚值是否小于重新启用值,若小于重新启用值,则执行步骤 206 ;否则,执行步骤207 ;本步骤中,当BFD会话进入阻尼状态后,若通过探测报文探测到链路故障恢复, Penalty值会随时间衰减,LPl上的BFD进程通知RP上的BFD进程将BFD会话状态更新为 UP,若Penalty值小于重新启用值(Reuse limit),则执行步骤206 ;否则执行步骤207 ;其 中,重新启用值的大小可以根据具体情况而设置。 步骤206 :LP1上的BFD进程通知RP上的BFD进程将该BFD会话退出阻尼状态,RP 上的BFD进程将BFD会话的阻尼标志位清空,并使IP1-IP3链路生效;本步骤中,当Penalty值小于Reuse limit值,说明该链路故障已恢复并进入稳 态,LPl上的BFD进程使该BFD会话退出阻尼状态,并通知RP上的BFD进程;RP上的BFD进 程接收到此通知后,将该BFD会话的阻尼标志位清空,并通知注册的应用模块使业务重新 通过IP1-IP3之间的链路正常传输,使IP1-IP3链路生效。步骤207 =BFD会话仍处于阻尼状态,IP1-IP3之间的链路仍然处于无效状态。本步骤中,当Penalty值大于Reuse limit值,说明链路还没有恢复到稳定状态, BFD会话仍处于阻尼状态,即使BFD会话状态变为UP,RP上的BFD进程也不会将该状态的 变化通知给注册的应用模块,IP1-IP3之间的链路仍然处于无效状态,业务无法经过此链路 传输,则此时业务可以由LP2-LP4之间的链路经过,因此不会因为丢包而发生阻塞。基于上述方法,本发明还提供了一种双向转发检测振荡阻尼的装置,如图4所示, 该装置包括振荡阻尼算法模块,位于LP上,用于当链路频繁瞬断时,由线卡处理板(LP)通过 振荡阻尼算法计算惩罚值,并根据相应的条件使BFD会话进入阻尼状态;当该链路故障恢 复后,LP根据相应的条件使BFD会话退出阻尼状态。所述根据振荡阻尼算法计算惩罚值,具体为在一定时间内,每当链路发生一次故 障,Penalty值就增加一次,其中,每次Penalty值增加的幅度可以根据具体情况设定;当 链路故障恢复时,Penalty值按照公式冲)= ^UfWd衰减,其中λ的计算方法为Η = 1η2/ λ,H为半衰期,可由实际情况设置。所述根据相应的条件使BFD会话进入阻尼状态,具体包括当Penalty值随着链路 的振荡而不断增加,使Penalty值大于所设置的抑制门限值时,通知LP上的BFD进程模块 使BFD会话进入阻尼状态;
所述根据相应的条件使BFD会话退出阻尼状态,具体包括当链路故障已恢复并 进入稳态后,若Penalty值小于重新启用值,则通知LP上的BFD进程模块使BFD会话退出 阻尼状态。上述方案中,该装置还包括位于RP上的BFD进程模块,以及位于LP上的BFD进 程模块;其中,RP上的BFD进程模块,用于向LP上的BFD进程模块发送创建、删除BFD会话的命 令;还用于存储BFD会话的相关配置及参数,以及已注册的应用模块标识。LP上的BFD进程模块,用于对RP上的BFD进程模块的命令中的参数进行解析,并 根据该命令创建、删除相应的BFD会话;还用于将BFD会话进入或退出阻尼状态的通知发送 给RP上的BFD进程模块。所述RP上的BFD进程模块,还用于根据BFD会话进入或退出阻尼状态的通知,将 BFD会话的阻尼标志位进行置位或清空操作。该装置还包括位于RP上的初始化配置模块,用于初始化 BFD进程模块,并配置源 地址到目的地址的BFD会话的发送报文时间间隔、使用此会话的静态路由、接收报文时间 间隔、单跳模式以及使能振荡阻尼参数。以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在 本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护 范围之内。
权利要求
一种双向转发检测振荡阻尼的方法,其特征在于,该方法包括当链路频繁瞬断时,由线卡处理板(LP)通过振荡阻尼算法计算惩罚值,并根据相应的条件使BFD会话进入阻尼状态;当该链路故障恢复后,LP根据相应的条件使BFD会话退出阻尼状态。
2.根据权利要求1所述的方法,其特征在于,所述通过振荡阻尼算法计算惩罚值,具 体为每当链路发生一次故障,惩罚值就增加一次;当链路故障恢复时,惩罚值按照公式 树O = ;^ ,…衰减,其中λ的计算方法为Η= 1η2/λ,Η为半衰期。
3.根据权利要求2所述的方法,其特征在于,所述根据相应的条件使BFD会话进入阻尼状态,具体包括当惩罚值大于所设置的抑 制门限值时,LP上的BFD进程使BFD会话进入阻尼状态,并通知路由总控处理板(RP)上的 BFD进程;否则,继续通过探测报文对链路进行探测;所述根据相应的条件使BFD会话退出阻尼状态,具体包括当链路故障已恢复并进入 稳态后,若惩罚值小于重新启用值,LP上的BFD进程使BFD会话退出阻尼状态,并通知RP上 的BFD进程;否则,即使链路故障恢复,BFD会话仍处于阻尼状态,业务不会通过该链路进行 传输。
4.根据权利要求3所述的方法,其特征在于,所述RP上的BFD进程接收到使BFD会话进入阻尼状态的通知后,该方法进一步包括 RP上的BFD进程将该BFD会话的阻尼标志位置位;所述RP上的BFD进程接收到使BFD会话退出阻尼状态的通知后,该方法进一步包括 RP上的BFD进程将BFD会话的阻尼标志位清空。
5.根据权利要求1至4任一项所述的方法,其特征在于,在链路发生频繁振荡之前,该 方法还包括初始化RP上的BFD进程,并配置源地址到目的地址的静态路由、BFD会话的发 送报文时间间隔、接收报文时间间隔、单跳模式以及使能振荡阻尼参数。
6.根据权利要求5所述的方法,其特征在于,所述初始化及相关配置之后,该方法还包 括RP上的BFD进程向LP上的BFD进程发送创建BFD会话命令,LP上的BFD进程解析命令 中的参数,并创建BFD会话。
7.一种双向转发检测振荡阻尼的装置,其特征在于,该装置包括振荡阻尼算法模块,位于LP上,用于当链路频繁瞬断时,由LP通过振荡阻尼算法计算 惩罚值,并根据相应的条件使BFD会话进入阻尼状态;当该链路故障恢复后,LP根据相应的 条件使BFD会话退出阻尼状态。
8.根据权利要求7所述的装置,其特征在于,所述通过振荡阻尼算法计算惩罚值,具 体为每当链路发生一次故障,惩罚值就增加一次;当链路故障恢复时,惩罚值按照公式 /7⑴= Ρθ。)一('_'。〉衰减,其中λ的计算方法为Η= 1η2/λ,Η为半衰期。
9.根据权利要求8所述的装置,其特征在于,所述根据相应的条件使BFD会话进入阻尼 状态,具体包括当惩罚值大于所设置的抑制门限值时,通知LP上的BFD进程模块使BFD会 话进入阻尼状态,并通知RP上的BFD进程模块;否则,继续通过探测报文对链路进行探测;所述根据相应的条件使BFD会话退出阻尼状态,具体包括当链路故障已恢复并进入 稳态后,若惩罚值小于重新启用值,则通知LP上的BFD进程模块使BFD会话退出阻尼状态,并通知RP上的BFD进程;否则,即使链路故障恢复,BFD会话仍处于阻尼状态,业务不会通 过该链路进行传输。
10.根据权利要求7所述的装置,其特征在于,该装置还包括位于RP上的BFD进程模 块,以及位于LP上的BFD进程模块;其中,RP上的BFD进程模块,用于向LP上的BFD进程模块发送创建、删除BFD会话的命令; 还用于存储BFD会话的相关配置及参数,以及已注册的应用模块标识;LP上的BFD进程模块,用于对RP上的BFD进程模块的命令中的参数进行解析,并根据 该命令创建、删除相应的BFD会话;还用于将BFD会话进入或退出阻尼状态的通知发送给 RP上的BFD进程模块。
11.根据权利要求10所述的装置,其特征在于,所述RP上的BFD进程模块,还用于根据 BFD会话进入或退出阻尼状态的通知,将BFD会话的阻尼标志位进行置位或清空操作。
12.根据权利要求7至11任一项所述的装置,其特征在于,该装置还包括位于RP上 的初始化配置模块,用于初始化BFD进程模块,并配置源地址到目的地址的BFD会话的发送 报文时间间隔、使用此会话的静态路由、接收报文时间间隔、单跳模式以及使能振荡阻尼参 数。
全文摘要
本发明公开了一种双向转发检测振荡阻尼的方法及装置,当链路频繁瞬断时,由线卡处理板通过振荡阻尼算法计算惩罚值,并根据相应的条件使BFD会话进入阻尼状态;当链路故障恢复后,LP根据相应的条件使BFD会话退出阻尼状态。通过本发明所述的方法及装置,解决了当某条链路发生频繁瞬断时,由于SCTP缓冲区不断挤压而造成的业务中断问题,使业务能够通过其他正常链路进行传输,避免了整个业务的中断。
文档编号H04L12/56GK101800673SQ20101011081
公开日2010年8月11日 申请日期2010年2月3日 优先权日2010年2月3日
发明者刘春江 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1