一种多点故障场景下实现is-isgr的方法及设备的制作方法

文档序号:7769542阅读:269来源:国知局
一种多点故障场景下实现is-is gr的方法及设备的制作方法
【专利摘要】本发明公开了一种多点故障场景下实现IS-IS?GR的方法及设备,该方法包括:当处于GR?Restarting过程中的IS-IS设备接收到IS-IS邻居发送的RR标志位置位的IIH报文,且确定自身未与其他未重启的IS-IS邻居完成LSDB同步时,该设备记录接收到该RR标志位置位的IIH报文的接口,并拒绝通过该接口返回CSNP报文;当该设备与所述其他未重启的IS-IS邻居完成LSDB同步时,该设备通过所述接口向对应的IS-IS邻居返回CSNP报文,并进行LSDB同步。在本发明中,实现了多点故障场景下的IS-IS?GR的平滑重启。
【专利说明】—种多点故障场景下实现IS-1S GR的方法及设备
【技术领域】
[0001]本发明涉及通信【技术领域】,尤其涉及一种多点故障场景下实现IS-1S GR的方法及设备。
【背景技术】
[0002]GR (Graceful Restart,平滑重启)是一种在主备切换或协议重启时保证转发业务不中断的机制。其核心在于:设备进行协议重启时,能够通知其周边设备,使到该设备的邻居关系和路由在一定时间内保持稳定。在协议重启完毕后,周边设备协助其进行信息(包括支持GR的相关协议所维护的各种拓扑、路由和会话信息)同步,在尽量短的时间内恢复到重启前的状态。在协议重启过程中不会产生路由振荡,报文转发路径也没有任何改变,整个系统可以实现不间断运行。
[0003]IS-1S (Intermediate System to Intermediate System,中间系统到中间系统)GR可以保证运行IS-1S协议的路由器在进行主备切换或IS-1S协议重启时,转发业务正常进行。
[0004]如图1所示,为现有技术中的一种多点故障IS-1S GR Restarting (重启)组网应用不意图,其中:
[0005]Router (路由设备)2 (以下简称R2)作为一台物理设备,从逻辑上分为两个VD(Virtual Device,虚拟设备)=VDl和VD2,对于用户VDl和VD2可以看作两台各自独立的设备。Routerl (以下简称Rl)、R2、Router3 (以下简称R3)上运行IS-1S协议,即R2上的VDl和VD2设备也运行IS-1S协议,建立IS-1S邻居。
[0006]当R2设备重启时,导致VDI和VD2同时重启,VDl和VD2上的IS-1S进入IS-1SRestarting处理。VDl和VD2之间的接口由于同时重启,在现有技术中,VDl和VD2无法作为相互的Helper (辅助设备),正常进行邻居建立,导致在R2重启过程中,VDl到R1,以及VD2到R3的路由会先删除后增加,R2无法实现GR的平滑重启。

【发明内容】

[0007]本发明提供了一种多点故障场景下实现IS-1S GR的方法及设备,以实现多点故障场景下的IS-1S GR的平滑重启。
[0008]为了达到以上目的,本发明提供了一种多点故障场景下实现IS-1S GR的方法,包括:
[0009]当处于GR重启Restarting过程中的IS-1S设备接收到IS-1S邻居发送的重启请求RR标志位置位的IS-1S Hello报文,且确定自身未与其他未重启的IS-1S邻居完成链路状态数据库LSDB同步时,所述IS-1S设备记录接收到该RR标志位置位的IS-1S Hello报文的接口,并拒绝通过该接口返回全时序协议数据单元CSNP报文;
[0010]当所述IS-1S设备与所述其他未重启的IS-1S邻居完成LSDB同步时,所述IS-1S设备通过所述接口向对应的IS-1S邻居返回CSNP报文,并进行LSDB同步。[0011]优选地,当处于GR Restarting过程中的IS-1S设备接收到IS-1S邻居发送的RR标志位置位的IS-1S Hello报文之后,且所述IS-1S设备与所述其他未重启的IS-1S邻居完成LSDB同步之前,该方法还包括:
[0012]所述IS-1S设备向所述IS-1S邻居返回RR标志位置位、且重启确认RA标志位置位的IS-1S Hello报文。
[0013]优选地,所述IS-1S设备通过所述接口向对应的IS-1S邻居返回CSNP报文,并与该IS-1S邻居完成LSDB同步之后,该方法还包括:
[0014]所述IS-1S设备删除自身记录的所述接口。
[0015]本发明实施例还提供了一种多点故障场景下实现系统与系统间平滑重启IS-1SGR的设备,包括:
[0016]第一处理模块,用于当所述设备处于GR重启Restarting过程中,并接收到IS-1S邻居发送的重启请求RR标志位置位的IS-1S Hello报文,且确定自身未与其他重启的IS-1S邻居完成链路状态数据库LSDB同步时,记录接收到该RR标志位置位的IS-1S Hello报文的接口,并拒绝通过该接口返回全时序协议数据单元CSNP报文;
[0017]第二处理模块,用于当所述设备与所述其他未重启的IS-1S邻居完成LSDB同步时,通过所述接口向对应的IS-1S邻居返回CSNP报文,并进行LSDB同步。
[0018]优选地,该设备还包括:
[0019]第三处理模块,用于当所述设备处于GR Restarting过程,并接收到IS-1S邻居发送的RR标志位置位的IS-1S Hello报文之后,且与所述其他未重启的IS-1S邻居完成LSDB同步之前,向所述IS-1S邻居返回RR标志位置位、且重启确认RA标志位置位的IS-1SHello报文。
[0020]优选地,所述第一处理模块还用于,在所述设备通过所述接口向对应的IS-1S邻居返回CSNP报文,并与该IS-1S邻居完成LSDB同步之后,删除自身记录的所述接口。
[0021]本发明上述实施例中,当处于GR Restarting过程中的IS-1S设备接收到IS-1S邻居发送的RR标志位置位的IIH报文,且确定自身未与其他未重启的IS-1S邻居完成LSDB同步时,该设备记录接收到该RR标志位置位的IIH报文的接口,并拒绝通过该接口返回CSNP报文;当该设备与所述其他未重启的IS-1S邻居完成LSDB同步时,该设备通过所述接口向对应的IS-1S邻居返回CSNP报文,并进行LSDB同步,实现了多点故障场景下的IS-1S GR的平滑重启。
【专利附图】

【附图说明】
[0022]图1为现有技术中的一种多点故障IS-1S GR Restarting组网应用示意图;
[0023]图2为现有技术中的一种IIH报文的格式示意图;
[0024]图3为现有技术中的IS-1S GR协议流程图;
[0025]图4为本发明实施例提供的一种多点故障场景下实现IS-1S GR的方法的流程示意图;
[0026]图5为本发明实施例提供的一种具体应用场景下的GR Restarting过程的流程示意图;
[0027]图6为本发明实施例的一种多点故障场景下实现IS-1S GR的设备的结构示意图。【具体实施方式】
[0028]为了更好地理解本发明实施例提供的技术方案,下面对IS-1S GR相关技术进行详细描述。
[0029]I)、GR相关概念
[0030]IS-1S GR过程由GR-Restarter (重启设备)和GR-Helper配合完成。其中:
[0031]GR-Restarter是指具备GR能力,并将要进行GR的路由器;
[0032]GR-Helper是指用于辅助GR Restarter完成GR流程的另外一个具备GR能力的路由器。
[0033]支持IS-1S GR能力的路由器的所有IIH (IS-1S Hello)报文都包含有Restart(重启)TLV (Type Length Value,类型长度值)。Restart TLV中携带了协议重启的一些参数。其报文格式如图2所示。其中:
[0034]RR (Restart Request,重启请求)标志位为重启请求位。路由器发送的RR置位的Hello报文用于通告邻居自己发生Restarting/Starting (启动),请求邻居保留当前IS-1S邻接关系并返回 CSNP(Complete Sequence Numbers PDU (Protocol Data Unit,协议数据单元),全时序rou)报文。
[0035]RA (Restart Acknowledgement,重启确认)标志位为重启应答位。路由器发送的RA置位的Hello报文用于通告邻居确认收到了 RR置位的报文。
[0036]SA (Suppress Adjacency,抑制邻接)标志位为抑制发布邻接关系位,用于发生Starting的设备请求邻居抑制与自己相关的邻居关系的广播,以避免路由黑洞。
[0037]2)、IS-1S GR 定时器
[0038]Tl定时器
[0039]Tl定时器类似于ISIS协议中的IIH定时器,每个接口都有一个,它定义了发送带RR标志位的Hello报文的重传时间。当设备重启时在每一个接口上都会创建Tl定时器,并周期性的发送带RR标志位的Hello报文,直到在对应接口上收到带RA标志位的Hello确认报文以及全部CSNP报文后,该接口上的Tl定时器才会被取消。当接口上没有邻居或者没有支持GR特性的邻居时,该接口就一直无法收到带RA标志位的Hello确认报文,因此Tl定时器就会永远得不到撤销,为了避免这种情况发生,ISIS GR限制了 Tl定时器的最大超时次数,当Tl定时器超时次数超过这个最大值时就自动撤销该Tl定时器。
[0040]T2定时器
[0041]T2定时器定义了设备重启后LSDB (Link State Database,链路状态数据库)同步的最大等待时间。每个LSDB都有一个T2定时器,例如对于Level-1-2路由器来说,就需要有两个T2定时器,一个为Level-1LSDB同步的最大等待时间,另外一个为Level-2LSDB同步的最大等待时间。当某个Level的LSDB同步完成之后,相应Level的T2定时器就会被取消。如果T2定时器超时后LSDB还没有同步完成,则撤销T2定时器,GR失败。
[0042]T3定时器
[0043]T3定时器定义了设备重启过程的最大持续时间。整个IS-1S路由器只有一个T3定时器。T3定时器初始化为65535秒,但是在各个接口上收到的带RA标志位的Hello确认报文后会根据这些报文中的Remaining Time (剩余时间)的最小值来重新设定T3定时器的超时时间。如果T3定时器超时后LSDB同步还没有结束,T3定时器被撤销,GR失败。
[0044]3)、IS-1S GR 实现过程
[0045]如图3所示,为现有技术中IS-1S GR协议流程图。
[0046]其中,假设Router A和Router B原来有稳定的IS-1S邻居关系,并且RouterA使能了 GR能力,此时Router A重启,将按照以下的流程进行路由信息交互:
[0047](I)、当Router A的IS-1S协议被重新全局使能时启动T2和T3定时器。当RouterA 的接口 Ethernet 1/1 (Router A 和 Router B 通过 Ethernet 1/1 相连)重新 up 并使能协议时,在接口 Ethernetl/Ι上启动Tl定时器,并且将接口 Ethernetl/Ι上发出的IIH报文Restart TLV中RR标志位置为I。
[0048](2)、当Router B收到Router A发出的RR标志位置位的IIH报文后,保持邻居Router A的状态不变,立即回复一个RA标志位置位的IIH报文。之后,Router B发送CSNP报文和LSP (Link State Protocol Data Unit,链路状态协议数据单元)报文给Router A以协助其进行LSDB同步。
[0049](3)、当Router A在接口 Ethernetl/Ι上收到了 RA标志位置位的IIH报文以及接收到全部CSNP报文后就可以取消Tl定时器,否则就周期性发送带有RR标志位置位的IIH报文,直到收到RA标志位置位的IIH报文以及全部CSNP报文或者Tl定时器达到最大超时次数才取消该接口的Tl定时器。
[0050](4)、当LSDB同步完成之后,Router A取消T2定时器。
[0051](5)、当所有T2定时器都取消之后就可以取消T3定时器,GR流程结束,正式进入IS-1S的正常流程。此时需要在所有接口上启动IIH定时器,以后就周期性的发送正常的IIH报文(Restart TLV中RR/RA/SA标志位的值均为O的IIH报文)。
[0052](6)、Router A在恢复所有路由信息后重新进行路由计算,重新刷新FIB表。
[0053]现有技术中,当多台设备同时重启时(以图1所示场景中VDl和VD2为例),无法实现IS-1S GR的平滑重启。
[0054]针对现有技术中存在的上述缺陷,本发明实施例提供了一种多点故障场景下实现IS-1S GR的技术方案。在该技术方案中,当处于GR Restarting过程中的IS-1S设备接收到IS-1S邻居发送的RR标志位置位的IIH报文,且确定自身未与其他未重启的IS-1S邻居完成LSDB同步时,该设备记录接收到该RR标志位置位的IIH报文的接口,并拒绝通过该接口返回CSNP报文;当该设备与所述其他未重启的IS-1S邻居完成LSDB同步时,该设备通过所述接口向对应的IS-1S邻居返回CSNP报文,并进行LSDB同步,实现了多点故障场景下的IS-1S GR的平滑重启。
[0055]下面结合附图对本发明实施例提供的技术方案进行详细描述。
[0056]如图4所示,为本发明实施例提供的一种多点故障场景下实现IS-1S GR的方法的流程示意图,可以包括以下步骤:
[0057]步骤401、当处于GR重启Restarting过程中的IS-1S设备接收到IS-1S邻居发送的重启请求RR标志位置位的IIH报文,且确定自身未与其他未重启的IS-1S邻居完成LSDB时,所述IS-1S设备记录接收到该RR标志位置位的IIH报文的接口,并拒绝通过该接口返回全时序协议数据单元CSNP报文。
[0058]具体的,当IS-1S设备由于故障等原因发生重启时,该IS-1S设备将作为GRRestarter进入GR Restarting过程,该IS-1S设备可以启动T1/T2/T3定时器,并在所有接口上发送RR标志位置位(即RR=I)的IIH报文,告知自身的IS-1S邻居设备该IS-1S设备进入了 GR Restarting,以请求IS-1S邻居设备返回RA标志位置位(即RA=I)的IIH报文,并辅助该IS-1S设备完成GR Restart。
[0059]此时,若该IS-1S设备接收到IS-1S邻居发送的RR=I的IIH报文,即该IS-1S邻居也进入了 GR Restarting过程,则该IS-1S设备需要确定自身是否已经与其他未重启的IS-1S邻居(即返回了 RR=O7RA=I的IIH报文的IS-1S邻居)完成了 LSDB,并当自身未与其他未重启的IS-1S邻居完成LSDB时,该IS-1S设备记录接收到该RR=I的IIH报文的接口,并拒绝通过该接口返回CSNP报文。
[0060]其中,在本发明实施例中,当处于GRRestarting过程中的IS-1S设备接收到IS-1S邻居发送的重启请求RR=I的IIH报文,且确定自身未与其他未重启的IS-1S邻居完成LSDB时,该IS-1S设备可以通过接收到该RR=I的IIH报文的接口向对应的IS-1S邻居返回RR=1,且RA=I的IIH报文,告知该处于GRRestarting过程的IS-1S邻居,该IS-1S设备自身也处于 GRRestarting 过程。
[0061]步骤402、当该IS-1S设备与其他未重启的IS-1S邻居完成LSDB同步时,该IS-1S设备通过所记录的接口向对应的IS-1S邻居返回CSNP报文,并进行LSDB同步。
[0062]具体的,该IS-1S设备向IS-1S邻居设备发送RR=I的IIH报文后,可以先和返回了 RA=1,且RR=O的IIH报文、以及CSNP报文的IS-1S邻居进行LSDB同步,即接收该IS-1S邻居发送的LSP报文,并根据接收到的LSP报文与对应的IS-1S邻居进行LSDB同步,该具体实现流程程(处于GR Restarting过程的IS-1S设备与未重启的IS-1S邻居进行LSDB同步的流程)与现有技术中相应流程(GR Reatarter与GR Helper进行LSDB同步的流程)中的处理相同,在此不再赘述。
[0063]当该IS-1S设备与其他未重启的IS-1S邻居完成LSDB同步时,该IS-1S设备可以通过所记录的接口(即上述接收到RR=I的IIH报文的接口)向对应的IS-1S邻居返回CSNP报文,并进行LSDB同步。优选地,该IS-1S设备通过所记录的接口向对应的IS-1S邻居返回CSNP报文,并与该IS-1S邻居完成LSDB同步后,可以删除自身记录的接口。
[0064]当IS-1S设备所有接口都接收到CSNP报文,且没有待请求的LSP时,该IS-1S设备确定完成LSDB同步,重新进行路由计算、LSP产生、泛洪处理,完成GR处理,其具体的实现方式在此不再赘述。
[0065]S卩,在本发明实施例提供的技术方案中,对于多点故障场景,处于GRRestarting过程中的IS-1S设备先与其他未重启的IS-1S邻居进行LSDB同步,并在与其他未重启的IS-1S邻居完成LSDB同步后,再与其他发生重启的IS-1S邻居进行LSDB同步,实现了多点故障场景下的IS-1S GR的平滑重启。
[0066]为了更好地理解本发明实施例提供的技术方案,下面结合具体的应用场景对本发明实施例提供的技术方案进行更加详细地描述。
[0067]以图1所示的场景为例,由于R2发生重启,导致VDl和VD2同时重启,在该场景下,VDl和VD2进行GR Restarting过程的流程示意图可以参见图5。
[0068]如图5所示,由于R2发生重启,VDl和VD2同时GR Restarting过程,启动T1/T2/T3定时器。[0069]VDI和VD2可以通过所有接口向外发送RR= I的IIH报文,如,VDI可以向Rl和VD2发送RR=I的IIH报文,VD2可以向R2和VDl发送RR=I的IIH报文。
[0070]其中,当VDl (VD2)接收到VD2 (VDl)发送的RR=I的IIH报文时,由于自身也处于GR Restarting过程,可以记录接收到该RR=I的IIH报文的接口,并暂时不向通过该接口返回CSNP报文。此外,VDl (VD2)还可以通过该接收到RR=I的IIH报文的接口向VD2(VDl)回复RA=I且RR=I的IIH报文,以告知VD2 (VDl)自身也处于GR Restarting过程。
[0071]VDl (VD2)接收到Rl (R2)回复的RA=I (RR=O)的IIH报文,以及CSNP报文后,可以根据Rl (R2)发送的LSP报文与Rl (R2)进行LSDB同步。
[0072]当VDl (VD2)与Rl (R2)完成LSDB同步时,VDl (VD2)可以根据自身记录的接口,向对应的VD2 (VDl)返回CSNP报文,并进行LSDB同步。
[0073]当VDl (VD2)所有接口都接收到CSNP报文,且没有待请求的LSP时,该IS-1S设备确定完成LSDB同步,删除Tl、T2和T3,重新进行路由计算、LSP产生、泛洪处理,完成GR处理。
[0074]通过以上描述可以看出,在本发明实施例提供的技术方案中,当处于GRRestarting过程中的IS-1S设备接收到IS-1S邻居发送的RR标志位置位的IIH报文,且确定自身未与其他未重启的IS-1S邻居完成LSDB同步时,该设备记录接收到该RR标志位置位的IIH报文的接口,并拒绝通过该接口返回CSNP报文;当该设备与所述其他未重启的IS-1S邻居完成LSDB同步时,该设备通过所述接口向对应的IS-1S邻居返回CSNP报文,并进行LSDB同步,实现了多点故障场景下的IS-1S GR的平滑重启。
[0075]基于相同的技术构思,本发明实施例还提供了一种多点故障场景下实现IS-1S GR的设备,可以应用于上述方法实施例。
[0076]如图6所示,为本发明实施例提供的一种多点故障场景下实现IS-1S GR的设备的结构示意图,可以包括:
[0077]第一处理模块61,用于当所述设备处于GR重启Restarting过程中,并接收到IS-1S邻居发送的重启请求RR标志位置位的IS-1S Hello报文,且确定自身未与其他重启的IS-1S邻居完成链路状态数据库LSDB同步时,记录接收到该RR标志位置位的IS-1SHello报文的接口,并拒绝通过该接口返回全时序协议数据单元CSNP报文;
[0078]第二处理模块62,用于当所述设备与所述其他未重启的IS-1S邻居完成LSDB同步时,通过所述接口向对应的IS-1S邻居返回CSNP报文,并进行LSDB同步。
[0079]其中,本发明实施例提供的多点故障场景下实现IS-1S GR的设备还可以包括:
[0080]第三处理模块63,用于当所述设备处于GR Restarting过程,并接收到IS-1S邻居发送的RR标志位置位的IS-1S Hello报文之后,且与所述其他未重启的IS-1S邻居完成LSDB同步之前,向所述IS-1S邻居返回RR标志位置位、且重启确认RA标志位置位的IS-1SHello报文。
[0081]其中,所述第一处理模块61还可用于,在所述设备通过所述接口向对应的IS-1S邻居返回CSNP报文,并与该IS-1S邻居完成LSDB同步之后,删除自身记录的所述接口。
[0082]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0083]以上所述仅是本发明的优选实施方式,应当指出,对于本【技术领域】的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。
【权利要求】
1.一种多点故障场景下实现系统与系统间平滑重启IS-1S GR的方法,其特征在于,包括: 当处于GR重启Restarting过程中的IS-1S设备接收到IS-1S邻居发送的重启请求RR标志位置位的IS-1S Hello报文,且确定自身未与其他未重启的IS-1S邻居完成链路状态数据库LSDB同步时,所述IS-1S设备记录接收到该RR标志位置位的IS-1S Hello报文的接口,并拒绝通过该接口返回全时序协议数据单元CSNP报文; 当所述IS-1S设备与所述其他未重启的IS-1S邻居完成LSDB同步时,所述IS-1S设备通过所述接口向对应的IS-1S邻居返回CSNP报文,并进行LSDB同步。
2.如权利要求1所述的方法,其特征在于,当处于GRRestarting过程中的IS-1S设备接收到IS-1S邻居发送的RR标志位置位的IS-1S Hello报文之后,且所述IS-1S设备与所述其他未重启的IS-1S邻居完成LSDB同步之前,该方法还包括: 所述IS-1S设备向所述IS-1S邻居返回RR标志位置位、且重启确认RA标志位置位的IS-1S Hello 报文。
3.如权利要求1所述的方法,其特征在于,所述IS-1S设备通过所述接口向对应的IS-1S邻居返回CSNP报文,并与该IS-1S邻居完成LSDB同步之后,该方法还包括: 所述IS-1S设备删除自身记录的所述接口。
4.一种多点故障场景下实现系统与系统间平滑重启IS-1S GR的设备,其特征在于,包括: 第一处理模块,用于当所述设备处于GR重启Restarting过程中,并接收到IS-1S邻居发送的重启请求RR标志位置位的IS-1S Hello报文,且确定自身未与其他重启的IS-1S邻居完成链路状态数据库LSDB同步时,记录接收到该RR标志位置位的IS-1S Hello报文的接口,并拒绝通过该接口返回全时序协议数据单元CSNP报文; 第二处理模块,用于当所述设备与所述其他未重启的IS-1S邻居完成LSDB同步时,通过所述接口向对应的IS-1S邻居返回CSNP报文,并进行LSDB同步。
5.如权利要求4所述的设备,其特征在于,该设备还包括: 第三处理模块,用于当所述设备处于GR Restarting过程,并接收到IS-1S邻居发送的RR标志位置位的IS-1S Hello报文之后,且与所述其他未重启的IS-1S邻居完成LSDB同步之前,向所述IS-1S邻居返回RR标志位置位、且重启确认RA标志位置位的IS-1S Hello报文。
6.如权利要求4所述的设备,其特征在于, 所述第一处理模块还用于,在所述设备通过所述接口向对应的IS-1S邻居返回CSNP报文,并与该IS-1S邻居完成LSDB同步之后,删除自身记录的所述接口。
【文档编号】H04L12/24GK103475518SQ201310403554
【公开日】2013年12月25日 申请日期:2013年9月6日 优先权日:2013年9月6日
【发明者】林长望 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1