一种rsvp gr过程中的隧道状态恢复方法及装置

文档序号:1893193 发布日期:2021-11-26 浏览:14次 >En<

阅读说明:本技术 一种rsvp gr过程中的隧道状态恢复方法及装置 (Tunnel state recovery method and device in RSVP GR process ) 是由 杨鑫 石涛 詹晋川 陈世伟 于 2021-08-20 设计创作,主要内容包括:本发明提供了一种RSVP GR过程中的隧道状态恢复方法及装置,该方法包括:根据HELLO ACK报文的收发设置邻居的GR状态;当邻居状态是GR状态时,将发往邻居的新建隧道的path报文加入至延迟处理列表中;当取消邻居的GR状态时,启动延迟处理,将延迟处理列表中的path报文发送至下游邻居,完成在RSVP GR过程中的隧道状态恢复。本发明站在GR-Helper的角度,通过判断邻居是否处于GR状态来确定是否可以发出path消息,当不具备发出path消息的条件时就将隧道加入延迟处理链表,在满足发送条件后立即重启发送流程,从根源上解决了新建隧道震荡的问题,减轻GR-Restarter设备的工作负载。(The invention provides a tunnel state recovery method and a device in a RSVP GR process, wherein the method comprises the following steps: setting GR states of neighbors according to the receiving and sending of the HELLO ACK message; when the neighbor state is GR, adding a path message of a newly-built tunnel sent to the neighbor into a delay processing list; and when the GR state of the neighbor is canceled, starting delay processing, and sending a path message in the delay processing list to the downstream neighbor to finish the tunnel state recovery in the RSVP GR process. The station of the invention determines whether the path message can be sent by judging whether the neighbor is in the GR state or not at the angle of GR-Helper, adds the tunnel into the delay processing linked list when the condition for sending the path message is not met, and immediately restarts the sending process after the sending condition is met, thereby fundamentally solving the problem of the oscillation of the newly-built tunnel and lightening the working load of GR-Retarter equipment.)

一种RSVP GR过程中的隧道状态恢复方法及装置

技术领域

本发明属于数据网络通信技术领域,尤其涉及一种RSVP GR过程中的隧道状态恢复方法及装置。

背景技术

随着数据网络的不断发展,基于流量工程的多协议标签交换(MPLS-TE)网络被众多电信运营商部署在骨干网中,在一个MPLS-TE网络中,协议层面一般由RSVP-TE(ResourceReservation Protocol-Traffic Engineering)负责,它根据管理员配置的隧道路径,优先级,期望带宽等信息,建立隧道LSP(Label Switch Path,标记交换路径)。在使用隧道转发业务流量期间,为了提高隧道的可靠性,当某个网络节点路由器在重启时,需要保证经过此节点的业务流量能够不间断的转发(NSF,Non-Stop Forwarding),基于此就提出了RSVP-GR技术。

在使能RSVP-GR后,隧道经过的所有LSR(Label Switch Router,标记交换路由器)之间,都互相发送hello request报文用以检测GR-Restarter设备是否在线,一旦发现GR-Restarter设备连续几次都未回复hello ack,就认定对方正在重启中(重启设备又叫做GR-Restarter设备,它的上下游设备又叫做GR-Helper设备),并保存和GR-Restarter设备之间的协议状态,不会拆除隧道。当GR-Restarter重启起来后,通过GR-Restarter设备的上下游设备来辅助它恢复重启前的协议状态,从而在GR-Restarter重启的整个过程,保证隧道中的业务流量能够保持正常转发而不中断。RSVP-GR的标准定义在RFC3209,RFC5063有详细的描述。

然而在上述RSVP-GR协议行为中,当在GR-Restarter设备未完成GR前,它是无法知道有多少隧道需要被恢复,如果此时收到上游GR-Helper设备的新建隧道的path报文,就会出现如下描述的问题。

如图1所示,假如隧道A(R1-R2-R3)的优先级为3(隧道优先级最高为0,最低为7),占用带宽50M(假设接口最大可预留带宽为100M)。当R2开始重启,R1感知到R2在重启,于是R1周期性的向R2发送携带Recovery label的path报文以协助R2恢复隧道状态。如果在R2重启期间,此时管理员在R4配置了一个新的隧道B(R4-R2-R3),它的优先级为4,占用带宽为70M,在R2重启后,如果R4发送的隧道B的隧道建立path报文先到达R2,此时将成功建立隧道B,并预留接口带宽70m。随后R1向R2发送的携带Recovery label的path报文到达R2,开始恢复隧道,但由于剩余带宽不够,于是会抢占隧道B的带宽,于是隧道B又会被拆除,造成不必要的隧道网络震荡。

发明内容

针对现有技术中的上述不足,本发明提供的一种RSVP GR过程中的隧道状态恢复方法及装置,解决上述隧道震荡的问题。

为了达到以上目的,本发明采用的技术方案为:

本方案提供一种RSVP GR过程中的隧道状态恢复方法,包括以下步骤:

S1、根据HELLO ACK报文的收发设置邻居的GR状态;

S2、当邻居状态是GR状态时,将发往邻居的新建隧道的path报文加入至延迟处理列表中;

S3、当取消邻居的GR状态时,启动延迟处理,将延迟处理列表中的path报文发送至下游邻居,完成在RSVP GR过程中的隧道状态恢复。

本发明的有益效果是:本发明站在GR-Helper的角度,通过判断邻居是否处于GR状态来确定是否可以发出path消息,当不具备发出path消息的条件时就将隧道加入延迟处理链表,在满足发送条件后再立即重启发送流程,此方法从根源上解决了RSVP GR过程中可能发生新建隧道震荡的问题。同时,本发明有效的减轻了GR-Restarter设备在GR过程中的报文处理压力,当在大型网络中,如果某一台中心节点的路由设备,它被多个隧道所经过,当它发生GR时,它将处理较多的隧道恢复工作,而在它GR过程中,将新建隧道的请求阻止在它的上游GR-Helper,可以让GR-Restarter设备更专心的处理GR相关工作,减轻GR-Restarter设备的工作负载。

进一步地,所述步骤S1包括以下步骤:

S101、针对设备在三个周期内未接收到邻居回复的HELLO ACK报文,则判定所述邻居正在重启;

S102、设置邻居状态为GR,并在GR-Restarter重启后向GR-Helper回复HELLO ACK报文,其中,所述GR的值为TYPE_NEIGH_GR;

S103、在GR-Helper收到GR-Restarter邻居的HELLO ACK报文后,判断HELLO ACK报文里的Restart Capability对象中Recovery time字段是否不为0,若是,则进入表示GR-Restarter正在恢复隧道状态,返回步骤S102,否则,Recovery time字段为0,表示GR-Restarter已经完成GR,并进入步骤S104;

S104、取消邻居GR状态,并启动延迟处理,进入步骤S2,其中,所述GR的值为TYPE_NEIGH_GR。

上述进一步方案的有益效果是:本发明有效的减轻了GR-Restarter设备在GR过程中的报文处理压力,当在大型网络中,如果有多条隧道经过某一台中心节点的路由设备,当此路由设备发生GR时,它将处理较多的隧道恢复工作。如果在GR-Restarter进行GR的恢复过程中,将新建隧道的请求阻止在它的GR-Helper设备上,一方面解决了新建隧道的震荡问题,另一方面也可以让GR-Restarter设备更专心的处理GR相关的工作,减轻GR-Restarter设备的工作负载。

再进一步地,所述步骤S2包括以下步骤:

S201、在向邻居发送path报文前,判断下游邻居的状态是否为GR状态,若是,则进入步骤S202,否则,进入步骤S203,其中,所述GR的值为TYPE_NEIGH_GR;

S202、判断所述path报文中是否携带了recovery label,若是,则进入步骤S203,否则,进入步骤S204;

S203、向邻居发送path报文,并进入步骤S3;

S204、将所述path报文中所对应的隧道加入至延迟处理链表中,并进入步骤S3。

再进一步地,所述步骤S3包括以下步骤:

S301、当GR-Helper取消GR-Restarter邻居的GR状态时,启动延迟处理;

S302、判断延迟处理列表是否为空,若是,则完成在RSVP GR过程中的隧道状态恢复,否则,进入步骤S303;

S303、从延迟处理列表中取出第一个path报文;

S304、发送取出的第一个Path报文至下游邻居,将此Path报文从延迟处理列表中删除,并返回步骤S302。

上述进一步方案的有益效果是:本发明有效的减轻了GR-Restarter设备在GR过程中的报文处理压力,当在大型网络中,如果有多条隧道经过某一台中心节点的路由设备,当此路由设备发生GR时,它将处理较多的隧道恢复工作。如果在GR-Restarter进行GR的恢复过程中,将新建隧道的请求阻止在它的GR-Helper设备上,一方面解决了新建隧道的震荡问题,另一方面也可以让GR-Restarter设备更专心的处理GR相关的工作,减轻GR-Restarter设备的工作负载。

基于上述方法,本发明还提供了一种RSVP GR过程中的隧道状态恢复装置,包括:

状态处理模块,用于根据HELLO ACK报文的收发设置邻居的GR状态;

报文发送模块,用于当邻居状态是GR状态时,将发往邻居的新建隧道的path报文加入至延迟处理列表中;

延迟处理模块,用于当取消邻居的GR状态时,启动延迟处理,将延迟处理列表中的path报文发送至下游邻居,完成在RSVP GR过程中的隧道状态恢复。

本发明的有益效果是:本发明站在GR-Helper的角度,通过判断邻居是否处于GR状态来确定是否可以发出path消息,当不具备发出path消息的条件时就将隧道加入延迟处理链表,在满足发送条件后再立即重启发送流程,此方法从根源上解决了RSVP GR过程中可能发生新建隧道震荡的问题。同时,本发明有效的减轻了GR-Restarter设备在GR过程中的报文处理压力,当在大型网络中,如果某一台中心节点的路由设备,它被多个隧道所经过,当它发生GR时,它将处理较多的隧道恢复工作,而在它GR过程中,将新建隧道的请求阻止在它的上游GR-Helper,可以让GR-Restarter设备更专心的处理GR相关工作,减轻GR-Restarter设备的工作负载。

本发明还提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现所述的RSVP GR过程中的隧道状态恢复方法。

本发明还提供了一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行,以实现所述的RSVP GR过程中的隧道状态恢复方法。

附图说明

图1为背景技术中RSVP GR流程异常示意图。

图2为本发明的方法流程图。

图3为本发明的装置示意图。

具体实施方式

下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。

在对本发明进行说明前,先对以下参数的含义进行解释,如表1所示:

表1

实施例1

如图2所示,本发明提供了一种RSVP GR过程中的隧道状态恢复方法,其实现方法如下:

S1、根据HELLO ACK报文的收发设置邻居的GR状态。

本实施例中,当GR-Helper感知到邻居在重启时(一般是连续3个周期未收到邻居的HELLO ACK包),立即设置邻居为GR状态。在GR-Restarter完成GR后,GR-Helper将收到GR-Restarter的HELLO ACK报文,HELLO ACK报文里Restart Capability对象中Recovery time字段将为0,表示GR-Restarter已经完成协议状态恢复,这时GR-Helper将取消邻居的GR状态并立即启动延迟处理模块的处理。其实现方法如下:

S101、针对设备在三个周期内未接收到邻居回复的HELLO ACK报文,则判定所述邻居正在重启;

本实施例中,当某个中间设备节点正在GR时,它的GR-Helper由于在3个周期内都没有收到下游邻居回复的hello报文,于是判定邻居正在进行重启。

S102、设置邻居状态为GR,并在GR-Restarter重启后向GR-Helper回复HELLO ACK报文,其中,所述GR的值为TYPE_NEIGH_GR;

本实施例中,GR-Helper将GR-Restarter邻居状态设置为GR(值为TYPE_NEIGH_GR)。在GR-Restarter重启起来之后,开始和GR-Helper交互hello报文。

S103、在GR-Helper收到GR-Restarter邻居的HELLO ACK报文后,判断HELLO ACK报文里的Restart Capability对象中Recovery time字段是否不为0,若是,则进入表示GR-Restarter正在恢复隧道状态,返回步骤S102,否则,Recovery time字段为0,表示GR-Restarter已经完成GR,并进入步骤S104;本实施例中,在GR-Helper收到GR-Restarter邻居的HELLO ACK报文后,

如果HELLO ACK报文里的Restart Capability对象中Recovery time字段不为0,表示GR-Restarter正在恢复隧道状态,执行步骤102。如果发现Recovery time字段为0,表示GR-Restarter已经完成GR。

S104、由隧道上游GR-Helper取消GR状态(值为TYPE_NEIGH_GR),触发延迟处理,进入步骤S2;

本实施例中,如果下游的GR-Restarter邻居状态为GR,则取消GR状态(值为TYPE_NEIGH_NORMAL),触发延迟处理启动。

S2、当邻居状态是GR状态时,将发往邻居的新建隧道的path报文加入至延迟处理列表中;

本实施例中,当GR-Helper需要向GR-Restarter发送path报文时,会首先检查邻居的GR状态,当邻居处于GR状态时,就中止新建隧道的Path报文发送流程,并把此Path报文代表的隧道加入延迟处理链表中。当GR-Helper向GR-Restarter发送带Recovery label的Path报文时不受影响。其实现方法如下:

S201、在向邻居发送path报文前,判断下游邻居的状态是否为GR状态,若是,则进入步骤S202,否则,进入步骤S203,其中,所述GR的值为TYPE_NEIGH_GR;

S202、判断所述path报文中是否携带了recovery label,若是,则进入步骤S203,否则,进入步骤S204;

S203、向邻居发送path报文,并进入步骤S3;

S204、将所述path报文中所对应的隧道加入至延迟处理链表中,并进入步骤S3。

S3、当取消邻居的GR状态时,启动延迟处理,将延迟处理列表中的path报文发送至下游邻居,完成在RSVP GR过程中的隧道状态恢复。

本实施例中,当GR-Helper取消GR-Restarter邻居的GR状态时,延迟处理模块启动,它将依次轮询之前加入延迟处理链表的所有隧道,并发出Path报文。这时由于GR-Restarter邻居不再是GR状态,所以可以正常地向重启后的GR-Restarter发送Path消息用以建立新的隧道。其实现方法如下:

S301、当GR-Helper取消GR-Restarter邻居的GR状态时,启动延迟处理;

S302、判断延迟处理列表是否为空,若是,则完成在RSVP GR过程中的隧道状态恢复,否则,进入步骤S303;

S303、从延迟处理列表中取出第一个path报文;

S304、发送取出的第一个Path报文至下游邻居,将此Path报文从延迟处理列表中删除,并返回步骤S302,其中,所述path消息中所对应的隧道的关键字是:Tunnel ID、LSPID、Ingress Adderss和Egress Address。

本发明通过以上设计,站在GR-Helper的角度,通过判断邻居是否处于GR状态来确定是否可以发出path消息,当不具备发出path消息的条件时就将隧道加入延迟处理链表,在满足发送条件后再立即重启发送流程,此方法从根源上解决了RSVP GR过程中可能发生新建隧道震荡的问题。同时,本发明有效的减轻了GR-Restarter设备在GR过程中的报文处理压力,当在大型网络中,如果某一台中心节点的路由设备,它被多个隧道所经过,当它发生GR时,它将处理较多的隧道恢复工作,而在它GR过程中,将新建隧道的请求阻止在它的上游GR-Helper,可以让GR-Restarter设备更专心的处理GR相关工作,减轻GR-Restarter设备的工作负载。

实施例2

本发明的主体思想是,立足于GR-Helper的角度,通过状态处理模块对邻居设置或者取消GR状态,通过报文发送子模块来决定是否发出path报文,通过触发延迟处理模块来重发在下游邻居GR时被暂时阻塞的path报文。如图3所示,本发明提供了一种RSVP GR过程中的隧道状态恢复装置,包括:

状态处理模块,用于根据HELLO ACK报文的收发设置邻居的GR状态;

报文发送模块,用于当邻居状态是GR状态时,将发往邻居的新建隧道的path报文加入至延迟处理列表中;

延迟处理模块,用于当取消邻居的GR状态时,启动延迟处理,将延迟处理列表中的path报文发送至下游邻居,完成在RSVP GR过程中的隧道状态恢复。

如图3所示实施例提供的RSVP GR过程中的隧道状态恢复装置可以执行上述方法实施例所示的技术方案,其实现原理与有益效果类似,此处不再赘述。

实施例3

本发明提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现实施例1任一所述的RSVPGR过程中的隧道状态恢复方法。

本实施例中,电子设备可以包括:处理器,存储器,总线和通信接口,处理器、通信接口和存储器通过总线连接,存储器中存储有可在处理器上运行的计算机程序,处理器运行该计算机程序时执行本申请前述实施例1所提供的RSVP GR过程中的隧道状态恢复方法。

实施例4

本发明提供了一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行,以实现实施例1任一所述的RSVP GR过程中的隧道状态恢复方法。

上述计算机可读存储介质可以中由任何类型的易失性或非易失性存储设备或他们的组合实现,如静态随机存取存储器(SRAM),可擦除可维和只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘,可读存储介质可以是通用或专用计算机能够存取的任何可用介质。可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息,可读存储介质也可以是处理器组成部分,处理器和可读存储介质可以位于专用集成电路(ASIC)中,处理器和可读存储介质也可以作为分立组件存在于RSVP GR过程中的隧道状态恢复装置中。

本申请的实施例可提供为方法、装置、或计算机程序产品,因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且本发明可采用一个或多个其中包括有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程和/或方框图来描述的,应理解可由计算机程序指令实现流程图和/或方框图中每一流程和/或方框图、以及流程图和/或方框图的结合,可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图中一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

12页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:路径追踪方法及设备

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!