Is-is网络中的平滑重启实现方法及设备的制作方法

文档序号:7555672阅读:189来源:国知局
专利名称:Is-is网络中的平滑重启实现方法及设备的制作方法
技术领域
本申请涉及IP (Internet Protocol,因特网协议)路由技术领域,特别涉及一种IS-1S网络中的平滑重启实现方法及设备。
背景技术
IS-1S (Intermediate System-to-1ntermediate System intra-domain routinginformation exchange protocol,中间系统到中间系统路由协议)最初是国际标准化组织ISO (the International Organization for Standardization)为它的无连接网络协议CLNP (ConnectionLess Network Protocol)设计的一种动态路由协议。为了提供对IP的路由支持,IETF在RFC1195中对IS-1S进行了扩充和修改,使它能够同时应用在TCP/IP和OSI环境中,称为集成化IS-1S (Integrated IS-1S或Dual IS-1S)。下面对IS-1S中的相关方面加以介绍。1、IS-1S 基本术语LSDB (Link State DataBase,链路状态数据库):网络内所有链路的状态组成了链路状态数据库,在每一个IS中都至少有一个LSDB。IS使用SPF (Shortest Path First:最短路径优先算法)算法,利用LSDB来生成自己的路由。LSP (Link State Protocol Data Unit,链路状态协议数据单兀,或 Link StatePacket,链路状态报文):在IS-1S中,每一个IS都会生成LSP,此LSP包含了本IS的所有链路状态信息。每个IS收集本区域内所有的LSP生成自己的LSDB。DIS (Designed Intermediate System,指定中间系统):广播网络上选举的指定路由器,也可以称为指定IS或伪节点。

2、IS-1S广播网上的邻居关系维护机制如图1所示,在广播网中,IS-1S会选择一台设备代表整个网络,称之为DIS,网络中的所有设备都要与DIS建立邻居关系,所有设备都只将信息发送给DIS,再由DIS发布给其他设备,因此,DIS对网络拓扑的影响较大。从而,DIS发送Hello (握手)报文的时间间隔是其他设备的1/3,这样就可以确保DIS失效可以被快速检测到。3、IS-1S GR (Graceful Restart,平滑重启)原理GR是一种在主备切换或协议重启时保证转发业务不中断的机制。其核心在于:设备进行协议重启时,能够通知其周边设备,使到该设备的邻居关系和路由在一定时间内保持稳定。在协议重启完毕后,周边设备协助其进行信息(包括支持GR的相关协议所维护的各种拓扑、路由和会话信息)同步,在尽量短的时间内恢复到重启前的状态。在协议重启过程中不会产生路由振荡,报文转发路径也没有任何改变,整个系统可以实现不间断运行。IS-1S GR可以保证运行IS-1S协议的设备(例如,路由器)在进行主备切换或IS-1S协议重启时,转发业务正常进行。IS-1S为了支持GR能力,对协议进行了如下扩展:在 IIH (IS-to-1S Hello PDUs, IS-1S Hello 协议报文)报文中新增了 Restart (重启)TLV(Type、Length、Value,类型长度值),以及,引入了三个定时器:T1、T2和Τ3。
(I) Restart TLV为了能够在本设备重启时顺利通知邻居设备,增加了一个Type为211的RestartTLV。Restart TLV的格式如图2所示。下面对图2中的各个字段的含义解释如下:RR (Restart Request,重启请求):Restart请求标志位,当RR位为I时表示本设备刚刚发生了重启;RA (Restart Acknowledgement,重启确认):Restart 确认标志位,当 RA 位为 I 时表示是对重启设备的应答;SA (Suppress Adjacency,抑制邻接):表示抑制邻接标志位,是一个可选项,其主要目的是为了避免出现路由黑洞;Remaining Time (剩余时间):表示邻居老化的剩余时间(单位为秒),如果超出这个时间,则邻居关系结束;Restarting Neighbor System ID (重启邻居系统标识):该字段的内容是重启设备的 System ID。(2)11、丁2和丁3定时器Tl定时器类似于IS-1S协议中的IIH定时器,每个接口都有一个Tl定时器,它定义了发送带RR标志位的IIH报文的重传时间。当设备重启时,在每一个接口上都会创建一个Tl定时器,并发送带RR标志位的IIH报文,直到在对应接口上收到带RA标志位的IIH报文以及全部CSNP报文后,该接口上的Tl定时器才会被取消。若Tl定时器超时则将再重启该定时器并重复上述流程。当接口上没有邻居或者没有支持GR特性的邻居时,该接口就一直无法收到带RA标志位的IIH报文,因此Tl定时器就会永远得不到撤销,为了避免这种情况发生,IS-1S GR限制了 Tl定时器的最大超时次数,当Tl定时器的超时次数超过这个最大值时就自动撤销 该Tl定时器。T2定时器定义了设备重启后LSDB同步的最大等待时间。每个LSDB都有一个T2定时器,例如对于Level-1-2路由器来说,就需要有两个T2定时器,一个为Level-1LSDB同步的最大等待时间,另外一个为Level-2LSDB同步的最大等待时间。当某个Level的LSDB同步完成之后,相应Level的T2定时器就会被取消。如果T2定时器超时后LSDB还没有同步完成,则撤销T2定时器,GR失败。T3定时器定义了设备重启过程的最大持续时间。整个IS-1S路由器只有一个T3定时器。T3定时器初始化为65535秒,但是在各个接口上收到的带RA标志位的IIH报文后会根据这些报文中的Remaining Time的最小值来重新设定T3定时器的超时时间。如果T3定时器超时后LSDB同步还没有结束,T3定时器被撤销,GR失败。(3) IS-1S GR 过程路由器Router A与Router B相连,假设Router A和Router B原来有稳定的IS-1S邻居关系,并且Router A使能了 GR能力,此时Router A重启或发生主备倒换,如图3所示,现有技术的IS-1S GR过程包括以下步骤:步骤S102 =Router A中的IS-1S进程重启后或倒换后,启动T1/T2/T3定时器,发送RR标志位已置位的IIH报文,即IIH报文的Restart TLV中的RR标志位置为I ;步骤S104:当Router B收到Router A发出的RR标志位已置位的IIH报文后,保持与Router A的邻居关系不变,立即回复一个RA标志位已置位的IIH报文。之后,RouterB发送CSNP (Complete Sequence Numbers F1DU,全时序报文)报文给Router A以协助其进行LSDB同步;步骤S106:当Router A接收到了 RA标志位已置位的IIH报文以及接收到全部CSNP报文后,停止Tl定时器,开始LSDB同步;否则,就周期性地发送RR标志位已置位的IIH报文,直到收到RA标志位已置位的IIH报文以及全部CSNP报文、或者Tl定时器达到最大超时次数才取消Tl定时器;若Tl定时器达到最大超时次数还未收到RA标志位已置位的IIH报文以及全部CSNP报文,则GR失败;步骤S108 =Level-1LSDB 和 Level_2LSDB 分别有一个 T2 定时器,Router A 在 T2定时器内进行对应LSDB的同步,接收到Router B发来的携带有Level-1LSDB中的数据的LSP报文和携带有Level-2LSDB中的数据的LSP报文;若对应LSDB在T2定时器的时间内同步完毕,则取消T2定时器,若T2定时器超时,对应LSDB的同步仍未完成,则GR失败;步骤SllO:当所有T2定时器都取消之后,取消T3定时器,GR完成,正式进入IS-1S的正常流程,此时需要在所有接口上启动IIH定时器,以后就周期性地发送正常的IIH报文(Restart TLV中所有字段为O的IIH报文);若T3定时器超时,LSDB同步还没有完成,则GR失败。在正常情况下,设备会根据邻居设备的保活时间(HoldTime),对本设备与邻居设备的邻居关系进行检测,若HoldTime到达时,仍未收到该邻居设备的Hello报文,则就会删除对应的邻居关系,后续,收到该邻居设备的Hello报文后,再建立与该邻居设备的邻居关系,导致邻居关系的振荡。尤其是DIS,由于DIS的HoldTime是其他设备的1/3,例如,在默认配置下DIS的HoldTime只有6_9秒,因此,如果邻居设备在6_9秒没有收到DIS的Hello报文则会删除对应的邻居关系。这样,上述IS-1S GR过程就会存在以下问题:在重启设备(例如,Router A)进行软·件升级等的GR过程中,由于升级操作过程、升级顺序、网络拥塞等原因,报文收发时间不可控,若邻居设备(例如,Router B)在对应的HoldTime内没有收到该重启设备的IIH报文,就会删除与该重启设备的邻居关系,从而导致GR失败。为了解决上述问题,现有技术中,重启设备将GR过程中的第一个IIH报文,即RR标志位已置位的IIH报文中的HoldTime字段的值设置为一个较大的值,邻居设备收到该RR标志位已置位的IIH报文后,会将该重启设备的HoldTime修改为该较大的值,并且在GR结束后,将该重启设备的HoldTime恢复为正常值。但是,由于软件升级过程中操作时间过长等原因,可能会导致RR标志位已置位的IIH报文发送较晚,此时,邻居设备仍然可能会在正常的HoldTime内收不到该RR标志位已置位的IIH报文,从而删除与该重启设备的邻居关系,导致GR失败。

发明内容
本申请提供了一种IS-1S网络中的平滑重启实现方法及设备,提高GR成功率。本申请的技术方案如下:一方面,提供了一种IS-1S网络中的GR实现方法,包括:第一设备在重启IS-1S协议进程前,向第二设备发送RR标志位已置位且HoldTime字段为第一预定值的IIH报文,其中,第一预定值大于第二设备上配置的第一设备的HoldTime的正常值,第一设备与第二设备建立有邻居关系;
第一设备接收到第二设备回复的RA标志位已置位的IIH报文后,重启IS-1S协议进程,开始执行GR过程,其中,RA标志位已置位的IIH报文是第二设备在依据第一预定值更新本地配置的第一设备的HoldTime后回复的。另一方面,还提供了一种IS-1S网络中的第一设备,第一设备具有GR能力,第一设备包括:发送模块,用于在本设备重启IS-1S协议进程前,向第二设备发送RR标志位已置位且HoldTime字段为第一预定值的IIH报文,其中,第一预定值大于第二设备上配置的第一设备的HoldTime的正常值,第一设备与第二设备建立有邻居关系;接收模块,用于接收第二设备回复的RA标志位已置位的IIH报文,其中,RA标志位已置位的IIH报文是第二设备在依据第一预定值更新本地配置的第一设备的HoldTime后回复的;GR模块,用于在接收模块接收到第二设备回复的RA标志位已置位的IIH报文之后,重启IS-1S协议进程,开始执行GR过程。本申请的技术方案中,在第一设备在重启或软件升级等需要重启IS-1S协议进程前,在开始执行GR之前,先与已经与本设备建立了邻居关系的第二设备进行一个协商过程,在该协商过程中,第一设备先向第二设备发送RR标志位已置位且HoldTime字段为一个较大的第一预定值的IIH报文,第二设备接收到该IIH报文后,就会将第一设备的HoldTime修改为第一预定值,并向第二设备回复RA标志位已置位的IIH报文进行确认,第一设备在接收到第二设备回复的该用于确认的RA标志位已置位的IIH报文后,才重启IS-1S协议进程,开始进行GR。由于在第一设备的GR过程中,第二设备将第一设备的HoldTime修改为了一个较大值,从而在不改变现有GR运行机制的情况下,使第二设备在一个指定的较大值的时间段内认为第一设备存在,并配合第一设备完成GR过程。并且,第一设备是在GR过程之前,就执行上述的协商过程,第二设备在接收到GR过程的第一个报文之前就已经将第一设备的HoldTime修改为了一个较大值,这样,即使GR过程的第一个报文发送得较晚,也不会产生邻居关系被删除的情况,可以避免邻居关系振荡导致的GR失败,维护邻居关系正常。


图1是现有技术的没有DIS和有DIS的IS-1S广播网的对比示意图;图2是现有技术的IIH报文的Restart TLV的格式示意图;图3是现有技术的GR过程的流程示意图;图4是本申请实施例的IS-1S网络中的GR实现方法的流程图;图5是本申请实施例的GR实现方法的具体操作流程图;图6是本申请实施例的IS-1S网络中的设备的结构示意图;图7是本申请实施例的IS-1S网络中的设备的硬件架构组成示意图。
具体实施例方式为了解决现有技术中当RR标志位已置位以及HoldTime字段的值设置为一个较大值的IIH报文发送较晚时,邻居设备仍然可能会在正常的 HoldTime内收不到该RR标志位已置位的IIH报文,从而删除与该重启设备的邻居关系,导致GR失败的问题,本申请的以下实施例中提供了一种IS-1S网络中的GR实现方法以及一种可以应用该方法的设备。 需要说明的是:以下实施例中的第一设备可以是运行IS-1S协议的任意一个设备,例如,路由器和服务器等,本申请对此不做限定。第二设备是与第一设备已经建立有邻居关系的任意一个设备。 如图3所示,本申请的实施例的IS-1S网络中的GR实现方法包括以下步骤:步骤S302,第一设备在重启IS-1S协议进程前,向第二设备发送RR标志位已置位且HoldTime字段为第一预定值的IIH报文,其中,第一预定值大于第二设备上配置的第一设备的HoldTime的正常值;在实际实施过程中,第一预定值可以根据实际需要预先配置,例如,根据实际运行环境配置。第一预定值应该配置为一个较大值,例如,第一预定值大于第二设备上配置的第一设备的HoldTime的正常值且小于或等于转发表项最大能维持的时间,实际实现中可以配置为略小于缺省情况下转发表项最大能维持的时间,例如,缺省情况下,第一预定值为300 秒。步骤S304,第一设备接收到第二设备回复的RA标志位已置位的IIH报文后,重启IS-1S协议进程,开始执行GR过程,其中,该RA标志位已置位的IIH报文是第二设备在依据第一预定值更新本地配置的第一设备的HoldTime后回复的。若第一设备未收到第二设备回复的RA标志位已置位的IIH报文,表不报文丢失了,就继续发送,直到收到后,再开始重启IS-1S协议进程,执行GR过程。收到了第二设备回复的RA标志位已置位的IIH报文,则表示第二设备已将第一设备的保活时间设为第一预定值,认为在第一预定值的时间内没收到第一设备的报文才认为第一设备不存在。在步骤S304中,开始执行GR过程包括:第一设备同时启动T l定时器、T2定时器和T3定时器,向第二设备发送RR标志位已置位的IIH报文;若第一设备在Tl定时器达到最大超时次数之前,接收到了第二设备回复的RA标志位已置位的IIH报文和所有CSNP报文,则取消Tl定时器;第一设备向第二设备发送RR标志位和RA标志位均未置位的IIH报文,并进行LSDB的同步;其中,RR标志位未置位表明RR标志位为0,RA标志位未置位表明RA标志位为O ;若第一设备在T2定时器超时之前,完成了 LSDB的同步,则取消T2定时器,并取消T3定时器。为了能够让第二设备将第一设备的HoldTime由第一预定值恢复为正常值,第一设备可以采用以下任一种方式进行:方式一:将在执行GR过程中向第二设备发送的RR标志位已置位的IIH报文中的HoldTime字段设置为:第二设备上配置的第一设备的HoldTime的正常值,则第二设备在接收到该RR标志位已置位的IIH报文后,会将第一设备的HoldTime由第一预定值恢复为该正常值;方式二:将在执行GR过程中向第二设备发送的RR标志位和RA标志位均未置位的IIH报文中的HoldTime字段设置为:第二设备上配置的第一设备的HoldTime的正常值,则第二设备在接收到该RR标志位和RA标志位均未置位的IIH报文后,会将第一设备的HoldTime由第一预定值恢复为该正常值;在方式二中,在执行GR过程中向第二设备发送的RR标志位已置位的IIH报文中,HoldTime字段为第一预定值。方式三:在执行GR过程完毕之后,第一设备会按照正常邻居检测流程向第二设备发送RR标志位和RA标志位均未置位的IIH报文,将该RR标志位和RA标志位均未置位的IIH报文中的HoldTime字段设置为第二设备上配置的第一设备的HoldTime的正常值,则第二设备在接收到该RR标志位和RA标志位均未置位的IIH报文后,会将第一设备的HoldTime由第一预定值恢复为该正常值。在方式三中,在执行GR过程中向第二设备发送的RR标志位已置位的IIH报文中,HoldTime字段为第一预定值;且在执行GR过程中向第二设备发送的RR标志位和RA标志位均未置位的IIH报文中,HoldTime字段也为第一预定值。本实施例的技术方案中,在第一设备在重启或软件升级等需要重启IS-1S协议进程前,在开始执行GR之前,先与已经与本设备建立了邻居关系的第二设备进行一个协商过程,在该协商过程中,第一设备先向第二设备发送RR标志位已置位且HoldTime字段为一个较大的第一预定值的IIH报文,第二设备接收到该IIH报文后,就会将第一设备的HoldTime修改为第一预定值,并向第二设备回复RA标志位已置位的IIH报文进行确认,第一设备在接收到第二设备回复的该用于确认的RA标志位已置位的IIH报文后,才重启IS-1S协议进程,开始进行GR。由于在第一设备的GR过程中,第二设备将第一设备的HoldTime修改为了一个较大值,从而在不改变现有GR运行机制的情况下,使第二设备在一个指定的较大值的时间段内认为第一设备存在,并配合第一设备完成GR过程。并且,第一设备是在GR过程之前,就执行上述的协商过程,第二设备在接收到GR过程的第一个报文之前就已经将第一设备的HoldTime修改为了一个较大值,这样,即使GR过程的第一个报文发送得较晚,也不会产生邻居关系被删除的情况, 可以避免邻居关系振荡导致的GR失败,维护邻居关系正常。在本实施例中,第二设备执行的具体操作流程,类似于以下实施例中第一设备执行的步骤S402至步骤S408,这里不再赘述。上述实施例中,第一设备是作为要进行GR的设备,显然,第一设备也可以作为辅助设备,来辅助邻居设备进行GR过程。本实施例中,第一设备辅助第二设备进行GR过程时,第一设备需要执行的操作步骤如下:步骤S402,第一设备接收到第二设备在重启IS-1S协议进程前发来的RR标志位已置位且HoldTime字段为第二预定值的IIH报文,其中,第二预定值大于第一设备上配置的第二设备的HoldTime的正常值;与第一预定值类似,在实际实施过程中,第二预定值可以根据实际需要预先配置,例如,根据实际运行环境配置。第二预定值应该配置为一个较大值,例如,实际实现中可以配置为略小于缺省情况下转发表项最大能维持的时间,例如,缺省情况下,第二预定值为300 秒。步骤S404,第一设备依据第二预定值更新本地配置的第二设备的HoldTime,向第二设备回复RA标志位已置位的IIH报文;步骤S406,第一设备协助第二设备执行GR过程;在步骤S406中,第一设备协助第二设备执行GR过程包括以下步骤:
第一设备接收到第二设备发来的RR标志位已置位的IIH报文;当该RR标志位已置位的IIH报文中,HoldTime字段为第一设备上配置的第二设备的HoldTime的正常值时,第一设备还会将第二设备的HoldTime由第二预定值恢复为该正常值;这样,可以不影响正常情况下的邻居检测时间。第一设备向第二设备回复RA标志位已置位的IIH报文和CSNP报文;第一设备接收到第二设备发来的RR标志位和RA标志位均未置位的IIH报文;当该RR标志位和RA标志位均未置位的IIH报文中,HoldTime字段为第一设备上配置的第二设备的HoldTime的正常值时,第一设备还会将第二设备的HoldTime由第二预定值恢复为该正常值;这样,可以不影响正常情况下的邻居检测时间。第一设备向第二设备同步第二设备的LSDB。步骤S408,在协助第二设备 执行GR过程完毕之后,第一设备还会接收到第二设备按照正常邻居检测流程发来的RR标志位和RA标志位均未置位的IIH报文,当该RR标志位和RA标志位均未置位的IIH报文中,HoldTime字段为第一设备上配置的第二设备的HoldTime的正常值时,第一设备还会将第二设备的HoldTime由第二预定值恢复为该正常值。这样,可以不影响正常情况下的邻居检测时间。以图5所示的实际例子,详细说明上述实施例中的方法,在图5中,假设路由器Router A是上述的第一设备,Router B是上述的第二设备,路由器Router A与Router B相连,Router A和Router B原来有稳定的IS-1S邻居关系,并且Router A使能了 GR能力,此时Router A重启或发生主备倒换。本实施例的GR实现方法的具体操作流程包括以下步骤:步骤S502,收到系统发来的GR通知后,Router A发送RR标志位已置位的IIH报文,且该IIH报文中HoldTime字段的值为一个较大值X ;步骤S504, Router B收到Router A发送RR标志位已置位且HoldTime字段的值为较大值X的IIH报文之后,将Router A的HoldTime由正常值修改为X,并回复RA标志位已置位的IIH报文给Router A ;步骤S506,Router A在接收到Router B回复的RA标志位已置位的IIH报文后,才会给系统回复可以执行GR的通知;若Router A未收到Router B回复的RA标志位已置位的IIH报文,表示报文丢失,则Router A继续发送RR标志位已置位且HoldTime字段的值为X的IIH报文,直到收到Router B回复的RA标志位已置位的IIH报文后,再通知系统开始执行GR。步骤S508,Router A的系统开始执行GR过程,同时启动Tl定时器、T2定时器和T3定时器,向Router B发送RR标志位已置位的IIH报文,其中,该IIH报文中的HoldTime字段的值为X ;步骤S510,Router B在接收到Router A在步骤S508中发送的RR标志位已置位的IIH报文后,向Router A回复RA标志位已置位的IIH报文和CSNP报文;步骤S512,若Router A在Tl定时器达到最大超时次数之前,接收到了 Router B回复的RA标志位已置位的IIH报文和所有CSNP报文,则取消Tl定时器;步骤S514, Router A向Router B发送RR标志位和RA标志位均未置位的IIH报文,其中,该IIH报文中的HoldTime字段的值为Router B上配置的Router A的HoldTime的正常值;步骤S516,Router B接收到Router A发来的RR标志位和RA标志位均未置位、且HoldTime字段的值为Router B上配置的Router A的HoldTime的正常值的IIH报文之后,向Router A同步Router A的LSDB,将Router A的HoldTime由X恢复为正常值;步骤S518, Router A 接收 Router B 同步来的 Router A 的 LSDB ;步骤S520,若Router A在T2定时器超时之前,完成了 LSDB的同步,则取消T2定时器,并取消T3定时器。针对上述实施例中的方法,本申请的实施例提供了一种IS-1S网络中的第一设备,第一设备具有GR能力。第一设备可以是可以运行IS-1S协议的任意一个设备,例如,路由器和服务器等,本申请对此不做限定。如图6所示,第一设备10中包括以下模块:发送模块101、接收模块102和GR模块103,其中:发送模块101,用于在本设备重启IS-1S协议进程前,向第二设备发送重启请求RR标志位已置位且保活时间HoldTime字段为第一预定值的IS-1S Hello协议报文IIH报文,其中,所述第一预定值大于第二设备上配置的第一设备的HoldTime的正常值,第一设备与第二设备建立有邻居关系;接收模块102,用于接收第二设备回复的重启确认RA标志位已置位的IIH报文,其中,所述RA标志位已置位的IIH报文是第二设备在依据所述第一预定值更新本地配置的第一设备的HoldTime后回复的;GR模块103,用于在所述接收模块接收到第二设备回复的RA标志位已置位的IIH报文之后,重启IS-1 S协议进程,开始执行GR过程。其中,GR模块中包括:启动单元、第一发送单元、第一接收单元、第一同步单元和取消单元,其中:启动单元,用于同时启动Tl定时器、T2定时器和T3定时器;第一发送单元,用于向第二设备发送RR标志位已置位的IIH报文;还用于在取消单元取消了 Tl定时器之后,向第二设备发送RR标志位和RA标志位均未置位的IIH报文;第一接收单元,用于接收第二设备回复的RA标志位已置位的IIH报文和全时序报文CSNP报文;第一同步单兀,用于在第一发送单兀向第二设备发送RR标志位和RA标志位均未置位的IIH报文后,进行LSDB的同步;取消单元,用于若所述接收单元在Tl定时器达到最大超时次数之前,接收到了第二设备回复的RA标志位已置位的IIH报文和所有CSNP报文,则取消Tl定时器;还用于若第一同步单元在T2定时器超时之前,完成了 LSDB的同步,则取消T2定时器,并取消T3定时器。另外,该设备10中还包括:修改模块和协助GR模块,其中:接收模块,还用于接收第二设备在重启IS-1S协议进程前发来的RR标志位已置位且HoldTime字段为第二预定值的IIH报文,其中,所述第二预定值大于第一设备上配置的第二设备的HoldTime的正常值;修改模块,用于在所述接收模块接收到第二设备发来的所述RR标志位已置位且HoldTime字段为第二预定值的IIH报文之后,依据所述第二预定值更新本地配置的第二设备的 HoldTime ;发送模块,用于向第二设备回复RA标志位已置位的IIH报文;协助GR模块,用于协助第二设备执行GR过程。其中,协助GR模块中包括:第二接收单元、第二发送单元和第二同步单元,其中:第二接收单元,用于接收第二设备发来的RR标志位已置位的IIH报文;还用于接收第二设备发来的RR标志位和RA标志位均未置位的IIH报文;第二发送单元,用于在第二接收单元接收到第二设备发来的RR标志位已置位的IIH报文之后,向第二设备回复RA标志位已置位的IIH报文和CSNP报文;第二同步单元,用于向第二设备同步第二设备的LSDB。另外,所述修改模块还用于当第二接收单元接收到的RR标志位已置位的IIH报文中,HoldTime字段为第一设备上配置的第二设备的HoldTime的正常值时,将第二设备的HoldTime由第二预定值恢复为该正常值;或者,还用于当第二接收单元接收到的RR标志位和RA标志位均未置位的IIH报文中,HoldTime字段为第一设备上配置的第二设备的HoldTime的正常值时,将第二设备的HoldTime由第二预定值恢复为该正常值;或者,还用于当在协助GR模块协助执行GR过程完毕之后接收到的第二设备发来的RR标志位和RA标志位均未置位的IIH报文中 ,HoldTime字段为第一设备上配置的第二设备的HoldTime的正常值时,第一设备将第二设备的HoldTime由第二预定值恢复为该正常值。这样,可以不影响正常情况下的邻居检测时间。本申请实施例的第一设备10中的模块或单元可以集成于一体,也可以分离部署;可以合并为一个模块或单元,也可以进一步拆分成多个子模块或子单元。本申请各实施例中的模块或单元可以以电子方式实现。例如,一个硬件模块可以包括专门设计的永久性电路或逻辑器件(如专用处理器,如FPGA或ASIC)用于完成特定的操作。硬件模块也可以包括由软件临时配置的可编程逻辑器件或电路(如包括通用处理器或其它可编程处理器)用于执行特定操作。至于具体采用专用的永久性电路,或是采用临时配置的电路(如由软件进行配置)来实现硬件模块,可以根据成本和时间上的考虑来决定。以上对本申请具体实施例中的第一设备进行了说明,下面给出本申请具体实施例中该第一设备的硬件架构组成,该第一设备是可以软硬件结合的可编程设备,具体参见图
7,图7是本申请具体实施例中第一设备的硬件架构组成示意图,该第一设备包括:存储器210,处理器220,报文处理芯片230,以及耦合存储器210、处理器220、报文处理芯片230的互联机构240 ;其中,存储器210,用于存储指令代码和各种数据,例如,LSDB和各个邻居设备的HoldTime等,当所述指令代码被执行时完成的操作主要为该设备中的发送模块、接收模块、GR模块、修改模块和协助GR模块等模块完成的功能,这里不再详述。处理器220,用于与报文处理芯片230通信,进行协议报文以及数据报文的收发,例如,IIH报文、CSNP报文等;用于与存储器210通信,读取和执行存储器210中存储的所述指令代码,完成上述设备中的发送模块、接收模块、GR模块、修改模块和协助GR模块等模块完成的功能,以及对从报文处理芯片230上送的报文的处理。报文处理芯片230,用于通过该芯片上的端口连接到其他设备,负责上述的数据报文和协议报文的收发处理,将处理器220发来的RR标志位已置位且HoldTime字段的值为第一预定值的IIH报文、RR标志位已置位的IIH报文、RA标志位已置位的IIH报文和CSNP报文发送给辅助本设备进行GR的邻居设备,并将接收到的RA标志位已置位的IIH报文、CSNP报文和RR标志位已置位且HoldTime字段的值为第二预定值的IIH报文上送给处理器220。互联机构240则提供各模块间的信息交互通道,可以是一根连接各模块的总线,也可以由上述各个模块间的多条线路组成。需要说明的是,图7所示的设备只是一个具体的例子,也可以通过其他的与本实施例描述不同结构实现,例如,执行上述指令代码时所完成的操作,也可以由特定应用专用集成电路(ASIC)实现。另外,上述的处理器220可以是一个或多个,如果是多个,则由多个处理器共同负责读取和执行所述指令代码。因此,本申请对该第一设备的具体结构不作具体限定。综上,本申请以上实施例可以达到以下技术效果:在第一设备在重启或软件升级等需要重启IS-1S协议进程前,在开始执行GR之前,先与已经与本设备建立了邻居关系的第二设备进行一个协商过程,在该协商过程中,第一设备先向第二设备发送RR标志位已置位且HoldTime字段为一个较大的第一预定值的IIH报文,第二设备接收到该IIH报文后,就会将第一设备的HoldTime修改为第一预定值,并向第二设备回复RA标志位已置位的IIH报文进行确认,第一设备在接收到第二设备回复的该用于确认的RA标志位已置位的IIH报文后,才重启IS-1S协议进程,开始进行GR。由于在第一设备的GR过程中,第二设备将第一设备的HoldTime修改为了一个较大值,从而在不改变现有GR运行机制的情况下,使第二设备在一个指定的较大值的时间段内认为第一设备存在,并配合第一设备完成GR过程。并且,第一设备是在GR过程之前,就执行上述的协商过程,第二设备在接收到GR过程的第一个报文之前就已经将第一设备的HoldTime修改为了一个较大值,这样,即使GR过程的第一个报文发送得较晚,也不会产生邻居关系被删除的情况, 可以避免邻居关系振荡导致的GR失败,维护邻居关系正常。以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
权利要求
1.一种中间系统到中间系统IS-1S网络中的平滑重启GR实现方法,其特征在于,包括: 第一设备在重启IS-1S协议进程前,向第二设备发送重启请求RR标志位已置位且保活时间HoldTime字段为第一预定值的IS-1S Hello协议报文IIH报文,其中,所述第一预定值大于第二设备上配置的第一设备的HoldTime的正常值,第一设备与第二设备建立有邻居关系; 第一设备接收到第二设备回复的重启确认RA标志位已置位的IIH报文后,重启IS-1S协议进程,开始执行GR过程,其中,所述RA标志位已置位的IIH报文是第二设备在依据所述第一预定值更新本地配置的第一设备的HoldTime后回复的。
2.根据权利要求1所述的方法,其特征在于,所述开始执行GR过程包括: 第一设备同时启动Tl定时器、T2定时器和T3定时器,向第二设备发送RR标志位已置位的IIH报文; 若第一设备在Tl定时器达到最大超时次数之前,接收到了第二设备回复的RA标志位已置位的IIH报文和所有全时序 报文CSNP报文,则取消Tl定时器; 第一设备向第二设备发送RR标志位和RA标志位均未置位的IIH报文,并进行链路状态数据库LSDB的同步; 若第一设备在T2定时器超时之前,完成了 LSDB的同步,则取消T2定时器,并取消T3定时器。
3.根据权利要求2所述的方法,其特征在于, 在执行GR过程中向第二设备发送的RR标志位已置位的IIH报文中,HoldTime字段为第二设备上配置的第一设备的HoldTime的正常值,以使得第二设备将第一设备的HoldTime由第一预定值恢复为该正常值; 或者,在执行GR过程中向第二设备发送的RR标志位和RA标志位均未置位的IIH报文中,HoldTime字段为第二设备上配置的第一设备的HoldTime的正常值,以使得第二设备将第一设备的HoldTime由第一预定值恢复为该正常值; 或者,在GR过程完毕后向第二设备发送的RR标志位和RA标志位均未置位的IIH报文中,HoldTime字段为第二设备上配置的第一设备的HoldTime的正常值,以使得第二设备将第一设备的HoldTime由第一预定值恢复为该正常值。
4.根据权利要求1所述的方法,其特征在于,还包括: 第一设备接收到第二设备在重启IS-1S协议进程前发来的RR标志位已置位且HoldTime字段为第二预定值的IIH报文,其中,所述第二预定值大于第一设备上配置的第二设备的HoldTime的正常值; 第一设备依据所述第二预定值更新本地配置的第二设备的HoldTime,向第二设备回复RA标志位已置位的IIH报文; 第一设备协助第二设备执行GR过程。
5.根据权利要求4所述的方法,其特征在于,所述第一设备协助第二设备执行GR过程包括: 第一设备接收到第二设备发来的RR标志位已置位的IIH报文; 第一设备向第二设备回复RA标志位已置位的IIH报文和CSNP报文;第一设备接收到第二设备发来的RR标志位和RA标志位均未置位的IIH报文; 第一设备向第二设备同步第二设备的LSDB。
6.根据权利要求5所述的方法,其特征在于, 当在协助第二设备执行GR过程中接收到的RR标志位已置位的IIH报文中,HoldTime字段为第一设备上配置的第二设备的HoldTime的正常值时,第一设备将第二设备的HoldTime由第二预定值恢复为该正常值; 或者,当在协助第二设备执行GR过程中接收到的RR标志位和RA标志位均未置位的IIH报文中,HoldTime字段为第一设备上配置的第二设备的HoldTime的正常值时,第一设备将第二设备的HoldTime由第二预定值恢复为该正常值; 或者,当在协助第二设备执行GR过程完毕之后接收到的第二设备发来的RR标志位和RA标志位均未置位的IIH报文中,HoldTime字段为第一设备上配置的第二设备的HoldTime的正常值时,第一设备将第二设备的HoldTime由第二预定值恢复为该正常值。
7.—种中间系统到中间系统IS-1S网络中的第一设备,所述第一设备具有平滑重启GR能力,其特征在于, 所述第一设备包括: 发送模块,用于在本设备重启IS-1S协议进程前,向第二设备发送重启请求RR标志位已置位且保活时间HoldTime字段为第一预定值的IS-1S Hello协议报文IIH报文,其中,所述第一预定值大于第二设备上配置的第一设备的HoldTime的正常值,第一设备与第二设备建立有邻居关系; 接收模块,用于接收第二设备回复的重启确认RA标志位已置位的IIH报文,其中,所述RA标志位已置位的IIH报文是第二设备在依据所述第一预定值更新本地配置的第一设备的HoldTime后回复的; GR模块,用于在所述接收模块接收到第二设备回复的RA标志位已置位的IIH报文之后,重启IS-1S协议进程,开始执行GR过程。
8.根据权利要求6所述的设备,其特征在于,所述GR模块包括: 启动单元,用于同时启动Tl定时器、T2定时器和T3定时器; 第一发送单元,用于向第二设备发送RR标志位已置位的IIH报文;还用于在取消单元取消了 Tl定时器之后,向第二设备发送RR标志位和RA标志位均未置位的IIH报文;第一接收单元,用于接收第二设备回复的RA标志位已置位的IIH报文和全时序报文CSNP报文; 第一同步单元,用于在第一发送单元向第二设备发送RR标志位和RA标志位均未置位的IIH报文后,进行链路状态数据库LSDB的同步; 取消单元,用于若所述接收单元在Tl定时器达到最大超时次数之前,接收到了第二设备回复的RA标志位已置位的IIH报文和所有CSNP报文,则取消Tl定时器;还用于若第一同步单元在T2定时器超时之前,完成了 LSDB的同步,则取消T2定时器,并取消T3定时器。
9.根据权利要求7所述的设备,其特征在于,还包括:修改模块和协助GR模块,其中: 所述接收模块,还用于接收第二设备在重启IS-1S协议进程前发来的RR标志位已置位且HoldTime字段为第二预定值的IIH报文,其中,所述第二预定值大于第一设备上配置的第二设备的HoldTime的正常值; 所述修改模块,用于在所述接收模块接收到第二设备发来的所述RR标志位已置位且HoldTime字段为第二预定值的IIH报文之后,依据所述第二预定值更新本地配置的第二设备的 HoldTime ; 所述发送模块,用于向第二设备回复RA标志位已置位的IIH报文; 所述协助GR模块,用于协助第二设备执行GR过程。
10.根据权利要求9所述的设备,其特征在于,所述协助GR模块包括: 第二接收单元,用于接收第二设备发来的RR标志位已置位的IIH报文;还用于接收第二设备发来的RR标志位和RA标志位均未置位的IIH报文; 第二发送单元,用于在所述第二接收单元接收到第二设备发来的RR标志位已置位的IIH报文之后,向第二设备回复RA标志位已置位的IIH报文和CSNP报文; 第二同步单元,用于向第二设备同步第二设备的LSDB。
11.根据权利要求10所述的设备,其特征在于, 所述修改模块还用于当第二接收单元接收到的RR标志位已置位的IIH报文中,HoldTime字段为第 一设备上配置的第二设备的HoldTime的正常值时,将第二设备的HoldTime由第二预定值恢复为该正常值;或者,还用于当第二接收单元接收到的RR标志位和RA标志位均未置位的IIH报文中,HoldTime字段为第一设备上配置的第二设备的HoldTime的正常值时,将第二设备的HoldTime由第二预定值恢复为该正常值;或者,还用于当在协助GR模块协助执行GR过程完毕之后接收到的第二设备发来的RR标志位和RA标志位均未置位的IIH报文中,HoldTime字段为第一设备上配置的第二设备的HoldTime的正常值时,第一设备将第二设备的HoldTime由第二预定值恢复为该正常值。
全文摘要
本发明公开了一种IS-IS网络中的平滑重启实现方法及设备,其中,该方法包括第一设备在重启IS-IS协议进程前,向第二设备发送RR标志位已置位且HoldTime字段为第一预定值的IIH报文,其中,第一预定值大于第二设备上配置的第一设备的HoldTime的正常值,第一设备与第二设备建立有邻居关系;第一设备接收到第二设备回复的RA标志位已置位的IIH报文后,重启IS-IS协议进程,开始执行GR过程,其中,该RA标志位已置位的IIH报文是第二设备在依据第一预定值更新本地配置的第一设备的HoldTime后回复的。使用本发明,不会在GR过程中发生邻居关系被删除的情况,可以避免邻居关系振荡导致的GR失败,维护邻居关系正常。
文档编号H04L29/06GK103227792SQ20131015167
公开日2013年7月31日 申请日期2013年4月26日 优先权日2013年4月26日
发明者罗国兵 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1