一种优雅重启中处理异常的方法和装置的制作方法

文档序号:7746988阅读:195来源:国知局
专利名称:一种优雅重启中处理异常的方法和装置的制作方法
技术领域
本发明涉及网络通信技术,尤其涉及一种优雅重启中处理异常的方法和装置。
背景技术
随着网络技术的发展,许多应用场合要求实现数据的不间断转发。控制面和转发 面的分离技术是不间断转发技术的支撑技术,即由控制面负责运行路由协议并计算生成路 由表项,由转发面根据控制面生成的路由表项进行数据转发。这样控制面运行的路由协议 在发生重启的时候,转发面仍然能够保持数据的不间断转发。但如果只依赖设备自身的转发面保持不间断转发,在路由协议重启的过程中,会 在重启的设备和邻居设备之间重建邻居关系,在设备之间重建邻居关系的过程中,由于路 由协议自身的协议特点,会出现邻居设备的路由表项发生震荡,从而影响了整网的转发功 能,也就无法真正做到整网的不间断转发。为了解决这个问题,IETF为各路由协议制定了优雅重启(Graceful Restart, GR)功能,比如 RFC 3623 (Request For Comments,请求评议)描述的 0SPF(0pen Shortest Path First,开放最短路径优先路由协议)GR功能,RFC 4724描述的BGP (Border Gateway Protocol,边界网关协议)GR功能,RFC 5306描述的ISIS (分级的链接状态路由协议)GR功能。优雅重启功能,是指在路由设备重启的过程中,通知重启设备的邻居设备在一定 时间内保持与重启设备邻居关系和路由稳定,这个时间是预先设定的优雅重启的最长持续 时间,邻居设备在重启设备重启的过程中,不仅要保持重启设备的路由稳定,同时要帮助重 启设备完成路由信息的恢复和路由计算,从而做到整网转发的不间断。这里要注意,优雅重启的实现需要重启的设备和邻居设备同时支持优雅重启的功 能。在重启设备进行优雅重启的过程中,如果网络拓扑保持不变,那么按照IETF制定 的路由协议优雅重启的规范,能够在重启设备和邻居设备之间一起协作完成优雅重启的功 能。但是,如果在重启设备重启过程中,出现了邻居设备新增、邻居设备失效或者邻居 设备因不支持优雅重启功能等原因无法成为帮助设备等情况,若仍然按照正常的优雅重启 的过程进行,有可能会出现要等待优雅重启的最长持续时间后才结束优雅重启的过程。对 于0SPF优雅重启过程,IETF推荐的这个时间是120s。此时由于原有的转发面继续保持,就会出现数据流无法转发到新增邻居设备、数 据流继续转发到失效邻居设备、无法保持整网转发不间断等现象。在这种情况下,正在重启 的设备执行优雅重启,反而会造成网络无法及时收敛等适得其反的结果,影响通信质量。

发明内容
本发明实施例提供一种优雅重启中处理异常的方法和装置,以实现在优雅重启的过程中,及时处理异常情况。一种优雅重启中处理异常的方法,包括
在优雅重启过程中,重启设备通过重启设备及其邻居设备中保存的重启前的邻居 信息检测是否有邻居设备异常;在确定有邻居设备异常时,退出优雅重启或者忽略异常的邻居设备继续完成优雅
重启ο一种优雅重启中处理异常的装置,包括异常检测单元,用于在重启过程中,通过重启设备及其邻居设备中保存的重启前 的邻居信息检测是否有邻居设备异常;异常处理单元,用于在有邻居设备异常时根据预先设置退出优雅重启或者忽略异 常的邻居设备继续完成优雅重启。本发明实施例提供一种优雅重启中处理异常的方法和装置,在优雅重启的过程 中,通过重启设备及其邻居设备中保存的重启前的邻居信息及时发现邻居设备的新增、失 效和无法成为帮助设备等异常情况,从而根据预先的设置,采取相应的应急措施,及时处理 异常,保证优雅重启过程中的通信质量。


图1为本发明实施例提供的优雅重启中处理异常的方法流程图;图2a为本发明实施例中OSPF网络的物理拓扑结构图;图2b为本发明实施例中OSPF网络的逻辑拓扑结构图;图3为本发明实施例提供的确定邻居设备新增的方法流程图;图4为本发明实施例提供的确定邻居设备失效的方法流程图;图5为本发明实施例提供的确定邻居设备无法成为帮助设备的方法流程图;图6为本发明实施例提供的优雅重启中处理异常的装置结构示意图之一;图7为本发明实施例提供的优雅重启中处理异常的装置结构示意图之二。
具体实施例方式本发明实施例提供一种优雅重启中处理异常的方法和装置,在检测出有异常设备 后,可以根据设置立即退出,或者忽略异常设备,完成优雅重启,从而避免数据流无法转发 到新增邻居设备、数据流继续转发到失效邻居设备、无法保持整网转发不间断等现象和造 成网络无法及时收敛等适得其反的结果。如图1所示,本发明实施例提供的优雅重启中处理异常的方法,包括如下步骤步骤S101、在优雅重启过程中,重启设备通过重启设备及其邻居设备中保存的重 启前的邻居信息判断是否有邻居设备异常,其中,邻居设备异常包括邻居设备新增、失效 或无法成为帮助设备;步骤S102、在有邻居设备异常时,根据预先设置立即退出优雅重启或者忽略异常 的邻居设备继续完成优雅重启。本发明实施例主要以OSPF网络为例进行说明。在OSPF网络中,根据网络的介质 和网络中接入路由设备的数量不同,可分为如下几种类型点对点网络(Point-to-pointnetworks) > Λ If N (Broadcast networks)、 ^ ^ ^ N % (Point_to_MultiPoint networks)、非广播多路访问网络(Non-broadcastmulti-access networks,NBMA)。OSPF 路 由设备接口的网络类型初始是根据接口的介质自动确定的,如以太网接口自动确定为广播 网络,但具体的网络类型也可以由管理员管理设置,管理员可以强制将一个以太网接口设 置为点对点网络类型。网络类型的不同直接影响OSPF路由协议运行行为的不同。运行OSPF协议的路由设备之间使用链路状态通告(Link StateAdvertisement, LSA)来交换各自的链路状态信息和路由信息。其中,表示链路状态信息是通过其中两种 类型的LSA来表示的,分别是路由设备链路状态通告Router-LSA和网络链路状态通告 Network-LSA0
Router-LSA用来表示路由设备的链路状态信息,是由路由设备自身产生,用来记 录路由设备直连的网络信息和直连的邻居设备信息。Network-LSA是在广播网络和非广播 多路访问网络上由指定路由器(Designated Router,DR)产生,用来记录连接该网络的所有 路由设备。通过Router-LSA和Network-LSA可以获取到当前网络的运行状态。在OSPF网络中,步骤SlOl中所说的重启设备及其邻居设备中保存的重启前的邻 居信息具体为链路状态通告,重启设备通过链路状态通告判断是否有邻居设备异常。下面以一个具体实例说明物理拓扑、逻辑拓扑和对应的链路状态信息,如图2a、2b 所示,图2a中为OSPF网络的物理拓扑图,图2b为该OSPF网络的逻辑拓扑图,该OSPF网络 的链路状态信息如下表表1 OSPF链路状态信息 在OSPF网络中,将路由设备和广播网络、NBMA网络都理解为一个节点,为每个节 点生成一个LSA,用来记录这个节点的链路状态信息,网络中每台设备都获取到所有节点的 链路状态信息后,从而可以计算出整个网络的拓扑。同样,我们也能够通过LSA信息获取到 对应节点直连的路由设备信息或者直连的网络信息。那么在OSPF网络中,重启设备通过链路状态通告确定有邻居设备新增具体包括针对每个建立完全邻接关系的邻居设备,判断到该邻居设备的链路状态是否记录 在链路状态通告中,如果否,则确定邻居设备为新增邻居设备,如果是,则确定邻居设备为 原有邻居设备。
其中,在物理拓扑中,所有物理设备之间都能形成邻居关系,在逻辑拓扑中有相互 关联的节点之间形成邻接关系,例如如图2a和图2b所示,物理拓扑中RT3和RT4能够形 成邻居关系,但是在逻辑拓扑中,RT3和RT4无法形成邻接关系,RT3和RT4只能和代表N2 点的RTl形成邻接关系,完全邻接关系是指邻接状态进入FULL状态,此时邻居之间完成路 由信息的同步,并且发布的LSA信息中将记录邻居之间的信息。那么,在OSPF网络中,根据重启设备在网络中的接口类型,如图3所示,重启设备 重启时,确定邻居设备新增的方法具体包括
步骤S301、重启设备检查建立完全邻接关系的邻居所在的接口类型,如果包括广 播网络或NBMA网络,则执行步骤S302,如果包括点对点网络,则执行步骤S305 ;步骤S302、重启设备检查本设备接口是否为DR,如果不是,则无法判断该接口的 邻居是否新增,如果是,则继续执行步骤S303 ;步骤S303、检查重启设备中是否已经存在生成的Network-LSA,如果不存在,则判 定邻居设备新增,如果存在,则继续执行步骤S304 ;步骤S304、检查邻居设备是否记录在Network-LSA中,如果是,则该邻居设备非新 增,如果不是,则判断该邻居设备新增;步骤S305、检查该邻居设备是否记录在Router-LSA中,如果是,则该邻居设备非 新增,如果不是,则判断该邻居设备新增。重启设备通过链路状态通告确定有邻居设备失效具体包括在优雅重启开始时启动邻居存活定时器;当邻居存活定时器到达设定时间后,确 定在设定时间内未学习到并在优雅重启开始前其链路状态记录在链路状态通告中的邻居 设备为失效邻居设备。该邻居存活定时器推荐使用重启设备接口上的OSPF邻居存活定时 器。由于接口的邻居列表是实时变化的,所以可以通过接口的邻居列表来判断在该时间内 是否学习到该邻居设备。当Router-LSA或者Network-LSA中记载了链路状态的邻居设备 在存活定时器到达设定时间时,没有记载在接口的邻居列表中,则说明没有学习到该邻居 设备,该邻居设备已经失效,如果已经记载在接口的邻居列表中,则说明已经学习到该邻居 设备,该邻居设备仍然有效。在OSPF网络中,具体步骤如图4所示,包括步骤S401、检查Router-LSA的每个链路状态信息;步骤S402、当邻居存活定时器到达设定时间时,检查接口类型,如果包括广播网络 或NBMA网络,则执行步骤S403,如果包括点对点网络,则执行步骤S407 ;步骤S403、检查本设备中是否存在Network-LSA,如果不存在,则无法判定广播网 络或NBMA网络的邻居是否失效,如果存在,则继续执行步骤S404 ;步骤S404、检查本设备是否是DR,如果是,则执行步骤S405,如果不是,则执行步 骤 S406 ;步骤S405、检查Network-LSA中记录的邻居设备是否在接口的邻居列表中,如果 是,则说明该邻居设备仍然有效,如果不是,则说明该邻居设备已经失效;步骤S406、检查DR是否在广播网络或NBMA网络接口的邻居列表中,如果是,则该 邻居设备仍然有效;如果不是,则该邻居设备已经失效;步骤S407、检查重启前的邻居设备是否记录在该点对点网络接口的邻居列表中,如果是,则该邻居设备仍然有效,如果不是,则说明该邻居设备已经失效。重启设备通过链路状态通告确定有邻居设备无法成为帮助设备具体包括由重启设备检查邻居设备生成的链路状态通告,当邻居设备生成的链路状态通告 中未记录该重启设备时,确定该邻居设备为无法成为帮助设备的邻居设备。
那么,在OSPF网络中,根据重启设备在网络中的接口类型,如图5所示,确定邻居 设备是否能够成为帮助设备的方法具体包括步骤S501、重启设备检查建立完全邻接关系的邻居所在的接口类型,如果包括广 播网络或NBMA网络,则执行步骤S502,如果包括点对点网络,则执行步骤S505 ;步骤S502、重启设备检查邻居设备接口是否为DR,如果不是,则无法判断该接口 的邻居设备能否成为帮助设备,如果是,则继续执行步骤S503 ;步骤S503、检查该邻居设备是否存在自生成的Network-LSA,如果不存在,则判定 邻居设备不能成为帮助设备,如果存在,则继续执行步骤S504 ;步骤S504、检查该邻居设备的Network-LSA中是否记录有本重启设备,如果是,则 该邻居设备可以成为帮助设备,如果不是,则判断该邻居设备不能成为帮助设备;步骤S505、检查本重启设备是否记录在邻居设备的Router-LSA中,如果是,则该 邻居设备能够成为帮助设备,如果不是,则判断该邻居设备不能成为帮助设备。当然,根据重启设备及其邻居设备中保存的重启前的邻居信息判断邻居设备是否 异常的方法有很多,并不限于在OSPF网络中,重启设备及其邻居设备中保存的重启前的邻 居信息也不限于Router-LSA和Network-LSA。例如可以在重启之前,由网络中各个设备 将邻居设备的信息保存在本地作为邻居信息,此时仍可以根据预先保存的邻居信息判断邻 居设备是否异常。本发明实施例还提供一种优雅重启中处理异常的装置,如图6所示,包括异常检 测单元601和异常处理单元602,其中异常检测单元601,用于在重启过程中,通过重启设备及其邻居设备中保存的重启 前的邻居信息检测是否有邻居设备异常,邻居设备异常包括邻居设备新增、失效或无法成 为帮助设备;异常处理单元602,用于在有邻居设备异常时根据预先设置立即退出优雅重启或 者忽略异常的邻居设备,继续完成优雅重启。如图7所示,异常检测单元601具体包括邻居设备新增检测子单元6011,用于通过重启设备中保存的重启前的邻居信息检 测是否有邻居设备新增;邻居设备失效检测子单元6012,用于通过重启设备中保存的重启前的邻居信息检 测是否有邻居设备失效;帮助设备检测子单元6013,用于通过重启设备及其邻居设备中保存的重启前的邻 居信息检测是否有邻居设备无法成为帮助设备。其中,邻居设备新增检测子单元6011具体用于针对每个建立完全邻接关系的邻居设备,判断到该邻居设备的链路状态是否记录 在邻居信息中,如果否,则确定邻居设备为新增邻居设备,如果是,则确定邻居设备为原有 邻居设备。
邻居设备失效检测子单元6012具体用于在优雅重启开始时启动邻居存活定时器;当邻居存活定时器到达设定时间后,确定在设定时间内未学习到并在优雅重启开始前记录在邻居信息中的邻居设备为失效邻居设备。帮助设备检测子单元6013具体用于检查邻居设备生成的邻居信息,当邻居设备生成的邻居信息中未记录重启设备 时,确定该邻居设备为无法成为帮助设备的邻居设备。本发明实施例提供一种优雅重启中处理异常的方法和装置,在优雅重启的过程 中,通过重启设备及其邻居设备中保存的重启前的邻居信息,来及时发现邻居设备的新增、 失效和无法成为帮助设备等异常情况,从而采取相应的应急措施,及时处理异常,保证优雅 重启过程中的通信质量。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精 神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围 之内,则本发明也意图包含这些改动和变型在内。
权利要求
一种优雅重启中处理异常的方法,其特征在于,包括在优雅重启过程中,重启设备通过重启设备及其邻居设备中保存的重启前的邻居信息检测是否有邻居设备异常;在确定有邻居设备异常时,退出优雅重启或者忽略异常的邻居设备继续完成优雅重启。
2.如权利要求1所述的方法,其特征在于,所述邻居设备异常包括邻居设备新增、邻 居设备失效或邻居设备无法成为帮助设备。
3.如权利要求2所述的方法,其特征在于,所述重启设备通过重启设备及其邻居设备 中保存的重启前的邻居信息确定是否有邻居设备新增具体包括针对每个建立完全邻接关系的邻居设备,判断到该邻居设备的链路状态是否记录在 重启设备保存的重启前的邻居信息中,如果否,则确定所述邻居设备为新增邻居设备,如果 是,则确定所述邻居设备为原有邻居设备。
4.如权利要求2所述的方法,其特征在于,重启设备通过重启设备及其邻居设备中保 存的重启前的邻居信息通告确定有邻居设备失效具体包括在优雅重启开始时启动邻居存活定时器;当邻居存活定时器到达设定时间后,确定在所述设定时间内未学习到并在优雅重启开 始前其链路状态记录在所述邻居信息中的邻居设备为失效邻居设备。
5.如权利要求2所述的方法,其特征在于,重启设备通过重启设备及其邻居设备中保 存的重启前的邻居信息确定有邻居设备无法成为帮助设备具体包括检查邻居设备生成的邻居信息,当邻居设备生成的邻居信息中未记录所述重启设备 时,确定该邻居设备为无法成为帮助设备的邻居设备。
6.如权利要求1-5任一所述的方法,其特征在于,所述重启设备和邻居设备均处于开 放最短路径优先路由协议0SPF网络中,所述邻居信息具体包括路由设备的链路状态通告 和网络链路的链路状态通告。
7.如权利要求1-5任一所述的方法,其特征在于,所述邻居信息具体包括重启前重启 设备及其邻居设备在本地保存的邻居设备的信息。
8.一种优雅重启中处理异常的装置,其特征在于,包括异常检测单元,用于在重启过程中,通过重启设备及其邻居设备中保存的重启前的邻 居信息检测是否有邻居设备异常;异常处理单元,用于在有邻居设备异常时根据预先设置退出优雅重启或者忽略异常的 邻居设备继续完成优雅重启。
9.如权利要求8所述的装置,其特征在于,所述异常检测单元具体包括邻居设备新增检测子单元,用于通过重启设备中保存的重启前的邻居信息检测是否有 邻居设备新增;邻居设备失效检测子单元,用于通过重启设备中保存的重启前的邻居信息检测是否有 邻居设备失效;帮助设备检测子单元,用于通过重启设备及其邻居设备中保存的重启前的邻居信息检 测是否有邻居设备无法成为帮助设备。
10.如权利要求9所述的装置,其特征在于,所述邻居设备新增检测子单元具体用于针对每个建立完全邻接关系的邻居设备,判断到该邻居设备的链路状态是否记录在邻 居信息中,如果否,则确定所述邻居设备为新增邻居设备,如果是,则确定所述邻居设备为 原有邻居设备。
11.如权利要求9所述的装置,其特征在于,所述邻居设备失效检测子单元具体用于 在优雅重启开始时启动邻居存活定时器;当邻居存活定时器到达设定时间后,确定在所述设定时间内未学习到并在优雅重启开 始前其链路状态记录在所述邻居信息中的邻居设备为失效邻居设备。
12.如权利要求9所述的装置,其特征在于,所述帮助设备检测子单元具体用于 检查邻居设备生成的邻居信息,当邻居设备生成的邻居信息中未记录所述重启设备时,确定该邻居设备为无法成为帮助设备的邻居设备。
全文摘要
本发明公开了一种优雅重启中处理异常的方法和装置,涉及网络通信技术,在优雅重启过程中,重启设备通过重启设备及其邻居设备中保存的重启前的邻居信息检测是否有邻居设备异常,所述邻居设备异常包括邻居设备新增、失效或无法成为帮助设备;在确定有邻居设备异常时,根据预先设置立即退出优雅重启或者忽略异常的邻居设备,继续完成优雅重启。实现通过重启设备及其邻居设备中保存的重启前的邻居信息及时发现邻居设备的新增、失效和无法成为帮助设备等异常情况,从而采取相应的应急措施,及时处理异常,保证优雅重启过程中的通信质量。
文档编号H04L12/24GK101860477SQ20101015416
公开日2010年10月13日 申请日期2010年4月20日 优先权日2010年4月20日
发明者黄崇滨 申请人:北京星网锐捷网络技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1