一种抑制协议端口振荡上报的装置及方法

文档序号:8225890阅读:622来源:国知局
一种抑制协议端口振荡上报的装置及方法
【技术领域】
[0001]本发明涉及IP传输设备中的路由协议振荡领域,具体涉及一种抑制协议端口振荡上报的装置及方法。
【背景技术】
[0002]链路状态路由协议是一种基于最短路径优先算法的协议。在链路状态路由协议中,短时间内频繁邻接振荡(例如协议端口 UP/DOWN,使能/非使能,在使能状态和非使能状态中反复切换,即端口反复抖动导致的邻接振荡)会导致协议路由重新反复计算,进而产生路由振荡。对于网络拓扑比较复杂、且路由节点数量较多的现代网络而言,每进行一次路由计算都会占用大量的系统资源,进而对系统造成很大冲击:例如在路由器繁忙时进行路由计算会使得路由器的延迟增大,进而导致网络传输质量下降。
[0003]为了能够快速检测链路可达性是否有效,人们一般通过硬件检测手段或者路由协议本身的hello机制加快路由的收敛。硬件检测手段包括端口状态检测和BFD (双向转发检测机制等)检测等,硬件检测手段的路由收敛速度通常都比协议本身的hello机制(应答机制)快。
[0004]但是,通过硬件检测手段加快路由收敛时,若网络中某条链路不稳定或者端口状态不稳定,则会导致大量BFD检测或者端口状态的消息上报给路由协议,进而触发路由重计算,加剧路由振荡,链路不够稳定。
[0005]为了保证链路的稳定,需要抑制路由端口的振荡上报,抑制协议端口振荡上报时,一般采用配置端口对传输告警抑制时间或者采用惩罚时间机制。但是,采用配置端口对传输告警抑制时间和采用惩罚时间机制分别存在以下问题:
[0006](I)采用配置端口对传输告警抑制时间能够避免因端口状态频繁变化而引起的震荡,但是配置端口对传输告警抑制时间只能延缓端口振荡的上报频率,端口仍然会发生UP/DOffNo
[0007](2)采用惩罚时间机制能够动态调整惩罚的间隔时间,但是在较长的间隔时间内端口状态稳定为UP后,难以及时恢复链路信息,进而降低了路由的收敛速度,使得路由收敛较慢,路由流量的中断时间较长,难以满足人们的需求。

【发明内容】

[0008]针对现有技术中存在的缺陷,本发明的目的在于提供一种抑制协议端口振荡上报的装置及方法。本发明能够根据三层协议端口状态的变化的不同做出最精简的处理,不仅使得三层协议端口不易发生UP/D0WN,能够抑制路由振荡的产生,而且能够减少路由计算的数量,降低路由的更新和切换次数,提高网络的稳定性,提升CPU的处理效率,便于人们使用。
[0009]为达到以上目的,本发明提供一种抑制协议端口振荡上报的装置,包括设置在三层协议端口上的抑制状态机、定时器和应答hello计数器;
[0010]所述抑制协议端口振荡上报的装置抑制协议端口振荡上报时,在定时器上预设时间参数,在hello计数器上预设hello协议报文接收个数N ;所述时间参数包括定时时间timer ;确定三层协议端口的状态:
[0011]若三层协议端口为使能UP状态,将抑制状态机的状态设置为UP状态,当三层协议端口收到二层物理端口上报的端口非使能DOWN事件时,三层协议端口响应处理,三层协议端口的状态改变为DOWN状态,将抑制状态机的状态设置为DOWN状态;
[0012]若三层协议端口为DOWN状态,当三层协议端口收到二层物理端口上报的端口 UP事件后,将三层协议端口的状态保持为DOWN状态,开启定时器,在timer时间内,判定二层物理端口未上报新的DOWN事件;在timer时间内,hello计数器判定连续接收到的对向端口发送的hello协议报文在N以上,将抑制状态机的状态设置为UP状态,将三层协议端口的状态设置为UP状态;关闭定时器和hello计数器,清除二层物理端口上报的DOWN事件,恢复建立邻居路由器之间的邻接关系,重新计算路由数据。
[0013]本发明提供一种基于上述装置的抑制协议端口振荡上报的方法,包括以下步骤:
[0014]A、在定时器上预设时间参数,在hello计数器上预设hello协议报文接收个数N ;所述时间参数包括timer ;确定三层协议端口的状态,若三层协议端口为UP状态,转到步骤B,若三层协议端口为DOWN状态,转到步骤C ;
[0015]B、将抑制状态机的状态设置为UP状态,当三层协议端口收到二层物理端口上报的端口 DOWN事件时,三层协议端口响应处理,三层协议端口的状态改变为DOWN状态,将抑制状态机的状态设置为DOWN状态,转到步骤C ;
[0016]C、当三层协议端口收到二层物理端口上报的端口 UP事件后,将三层协议端口的状态保持为DOWN状态,开启定时器,在timer时间内,判定二层物理端口未上报新的DOWN事件;在timer时间内,hello计数器判定连续接收到的对向端口发送的hello协议报文在N以上,将抑制状态机的状态设置为UP状态,将三层协议端口的状态设置为UP状态;关闭定时器和hello计数器,清除二层物理端口上报的DOWN事件,转到步骤D ;
[0017]D、恢复建立邻居路由器之间的邻接关系,重新计算路由数据,结束。
[0018]在上述方案的基础上,步骤A中所述时间参数还包括应答时间hello time、开放式最短路径优先OSPF协议的默认值、中间系统到中间系统的路由选择ISIS协议的默认值。
[0019]在上述方案的基础上,所述timer根据hello time的倍数设置,所述OSPF协议的默认值设置为死亡时间dead time,所述ISIS协议的默认值设置为保持时间hold time,所述N设置为4。
[0020]在上述方案的基础上,步骤B中若三层协议端口配合有双向转发检测BFD机制,则按照原有的BFD处理方式响应处理二层物理端口上报的端口 DOWN事件。
[0021]在上述方案的基础上,步骤C还包括以下步骤:当三层协议端口收到二层物理端口上报的端口 DOWN事件后,将三层协议端口的状态保持为DOWN状态,重新执行步骤C。
[0022]在上述方案的基础上,步骤C中开启定时器之后,还包括以下步骤:在timer时间内,判定物理端口已上报新的DOWN事件,关闭定时器和hello计数器,清除二层物理端口上报的DOWN事件,保持抑制状态机的状态为DOWN状态,重新执行步骤C。
[0023]在上述方案的基础上,步骤C中判定二层物理端口未上报新的DOWN事件之后,还包括以下步骤:在timer时间内,hello计数器判定连续接收到的对向端口发送的hello协议报文小于N,关闭定时器和hello计数器,清除二层物理端口上报的DOWN事件,保持抑制状态机的状态为DOWN状态;重新执行步骤C。
[0024]与现有技术相比,本发明的优点在于:
[0025]本发明在三层协议端口设置有抑制状态机、定时器和hello计数器,抑制状态机能够抑制和控制三层协议端口的状态变化,进而快速响应二层物理端口上报的端口 DOWN事件,不会影响BFD的处理效率。
[0026]定时器和hello计数器能够在预设的定时时间内确定是否有新的端口 DOWN事件发生、以及连续接收的hello协议报文的数量,进而快速改变三层协议端口和抑制状态机的状态。
[0027]因此,本发明能够根据三层协议端口状态的变化的不同做出最精简的处理,不仅使得三层协议端口不易发生UP/D0WN,能够抑制路由振荡的产生,适用于链路状态协议,而且能够减少路由计算的数量,降低路由的更新和切换次数,提高网络的稳定性,提升CPU的处理效率,便于人们使用。
【附图说明】
[0028]图1为本发明实施例中抑制协议端口振荡上报的方法的流程图。
【具体实施方式】
[0029]以下结合附图及实施例对本发明作进一步详细说明。
[0030]本发明实施例中的抑制协议端口振荡上报的装置,包括设置在三层(网络层)协议端口上的抑制状态机、定时器和hello计数器(应答计数器)。
[0031]本发明实施例中的基于上述装置的抑制协议端口振荡上报的方法,包括以下步骤:
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1