CN112350928B - 一种基于ospf协议的平滑重启方法及装置 - Google Patents
一种基于ospf协议的平滑重启方法及装置 Download PDFInfo
- Publication number
- CN112350928B CN112350928B CN202011096631.XA CN202011096631A CN112350928B CN 112350928 B CN112350928 B CN 112350928B CN 202011096631 A CN202011096631 A CN 202011096631A CN 112350928 B CN112350928 B CN 112350928B
- Authority
- CN
- China
- Prior art keywords
- negotiation
- time
- restart
- graceful restart
- neighbor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/26—Route discovery packet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/16—Multipoint routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/28—Routing or path finding of packets in data switching networks using route fault recovery
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本说明书提供一种基于OSPF协议的平滑重启方法及装置,该方法中,路由设备重启之后,向邻居设备发送携带目标协商时间的协商报文,以使该邻居设备协助重启,在链路状态数据库同步过程中,通过循环执行重新协商的步骤,在当前目标协商时间即将超时时,向邻居设备发送携带更新后的目标协商时间的协商报文,使得邻居设备根据更新后的目标协商时间继续执行平滑重启流程,从而给到重启设备更多的时间完成链路状态数据库的同步,争取平滑重启成功;如此,通过对目标协商时间灵活动态的设置,大大降低了平滑重启失败的可能性,同时降低了邻居设备等待过程中的风险,从而保证了OSPF网络的可靠性。
Description
技术领域
本说明书涉及计算机技术领域,尤其涉及一种基于OSPF协议的平滑重启方法及装置。
背景技术
OSPF(Open Shortest Path First,开放最短路径优先)是一种基于链路状态的动态路由协议,属于IGP(Interior Gateway Protocol,内部网关协议)的一种,用于在单一自治系统内决策路由。简单来说,OSPF就是两个相邻的路由器通过发报文的形式成为邻居关系,邻居再相互发送链路状态信息形成邻接关系,之后各自根据最短路径算法算出路由,放在OSPF路由表,OSPF路由与其他路由比较后优的加入全局路由表。
GR(Graceful Restart,平滑重启)是一种在协议重启时保证转发业务不中断的机制,主要用于在某一路由器进行设备重启或者协议重启时,能够通知其邻居设备在一定时间内将与该设备的邻居关系和路由保持稳定,在重启完毕后,邻居设备协助其进行信息同步,在尽量短的时间内使该设备恢复到重启前的状态,使得在整个协议重启过程中不会产生路由振荡,报文转发路径也没有任何改变,整个系统可以不间断地转发数据。其中,重启的设备称为GR Restarter,协助重启的邻居设备称为GR Helper。OSPF GR的过程与OSPF邻居建立的过程有相似之处,其中,最常见的过程为:GR Restarter先通过Grace-LSA(LinkState Advertisement,链路状态通告)确认GR能力,保持邻居关系不变,再与GR Helper进行Hello报文与DD(Database Description,数据库描述)和LSDB(Link State DataBase,链路状态数据库)同步,完成该LSDB同步之后通过Grace-LSA通知GR Helper结束GR流程,重新进入正常的OSPF流程。
相关的OSPF GR过程中,邻居设备进入GR Helper处理流程的最长保持时间是由Grace LSA中携带的协商时间来确定,如果超过该时间GR Restarter还没有完成GR处理流程,则邻居设备不再担任GR Helper角色,即GR失败。而由于该协商时间一般是由操作人员主观估测而设置,一旦时间设置太小,就会导致GR失败,时间设置太长又会影响设备路由等信息的更新,因此,协商时间的不合理设置使得OSPF GR的效率低下,从而影响正常的业务转发。
发明内容
为克服相关技术中存在的问题,本说明书提供了一种基于OSPF协议的平滑重启方法及装置。
根据本说明书实施例的第一方面,提供一种基于OSPF协议的平滑重启方法,应用于路由设备,包括:
重启之后,向邻居设备发送执行平滑重启流程的协商报文,所述协商报文携带目标协商时间,以使所述邻居设备执行如下平滑重启流程:在目标协商时间内保持邻居关系不变,并协助所述路由设备执行链路状态数据库同步;
在执行所述链路状态数据库同步过程中,循环执行以下重新协商的步骤:
判断所述目标协商时间的当前剩余时长是否为预设值;
若是,则更新目标协商时间,并向所述邻居设备再次发送协商报文,所述再次发送的协商报文携带更新后的目标协商时间,以使所述邻居设备根据更新后的目标协商时间继续执行所述平滑重启流程。
在某些例子中,再次发送的协商报文携带的目标协商时间大于上一次发送的协商报文携带的目标协商时间。
在某些例子中,若再次发送协商报文的次数达到预设终止次数,终止执行所述链路状态数据库同步,并向所述邻居设备发送结束平滑重启流程的协商报文。
在某些例子中,上述更新后的目标协商时间基于所述链路状态数据库的剩余未同步的数据量确定。
在某些例子中,上述链路状态数据库的剩余未同步的数据量,通过如下方式确定:
根据接收的数据库描述报文的标识,若确定接收到所述邻居设备发送的最后一个数据库描述报文,根据所述最后一个数据库描述报文确定剩余未同步的数据量。
在某些例子中,上述再次发送的协商报文携带平滑重启原因参数,所述平滑重启原因参数指示所述邻居设备继续执行平滑重启流程。
根据本说明书实施例的第二方面,提供一种基于OSPF协议的平滑重启方法,应用于路由设备,包括:
若接收到重启设备发送的执行平滑重启流程的协商报文,执行如下平滑重启流程:在所述执行平滑重启流程的协商报文携带的目标协商时间内保持邻居关系不变,并协助所述重启设备执行链路状态数据库同步;
在协助重启设备执行链路状态数据库同步过程中,若接收到所述重启设备再次发送的协商报文,根据所述再次发送的协商报文携带的更新后的目标协商时间继续执行所述平滑重启流程。
在某些例子中,上述方法还包括:
利用计时器监控所述执行平滑重启流程的协商报文携带的目标协商时间是否到达;
在接收到所述重启设备再次发送的协商报文后,根据所述更新后的目标协商时间更新所述计时器;
若利用所述计时器监控到所述目标协商时间到达,退出平滑重启流程。
根据本说明书实施例的第三方面,提供一种基于OSPF协议的平滑重启装置,应用于路由设备,包括:
协商模块,用于重启之后,向邻居设备发送执行平滑重启流程的协商报文,所述协商报文携带目标协商时间,以使所述邻居设备执行如下平滑重启流程:在目标协商时间内保持邻居关系不变,并协助所述路由设备执行链路状态数据库同步;
更新模块,用于在执行所述链路状态数据库同步过程中,循环执行以下重新协商的步骤:
判断所述目标协商时间的当前剩余时长是否为预设值;
若是,则更新目标协商时间,并向所述邻居设备再次发送协商报文,所述再次发送的协商报文携带更新后的目标协商时间,以使所述邻居设备根据更新后的目标协商时间继续执行所述平滑重启流程。
根据本说明书实施例的第四方面,提供一种基于OSPF协议的平滑重启装置,应用于路由设备,包括:
第一执行模块,用于若接收到重启设备发送的执行平滑重启流程的协商报文,执行如下平滑重启流程:在所述执行平滑重启流程的协商报文携带的目标协商时间内保持邻居关系不变,并协助所述重启设备执行链路状态数据库同步;
第二执行模块,用于在协助重启设备执行链路状态数据库同步过程中,若接收到所述重启设备再次发送的协商报文,根据所述再次发送的协商报文携带的更新后的目标协商时间继续执行所述平滑重启流程。
本说明书的实施例提供的技术方案可以包括以下有益效果:
本说明书实施例中,公开了一种基于OSPF协议的平滑重启方法及装置,该方法中,路由设备重启之后,向邻居设备发送携带目标协商时间的协商报文,以使该邻居设备协助重启,在链路状态数据库同步过程中,通过循环执行重新协商的步骤,在当前目标协商时间即将超时时,向邻居设备发送携带更新后的目标协商时间的协商报文,使得邻居设备根据更新后的目标协商时间继续执行平滑重启流程,从而给到重启设备更多的时间完成链路状态数据库的同步,争取平滑重启成功;如此,通过对目标协商时间灵活动态的设置,大大降低了平滑重启失败的可能性,同时降低了邻居设备等待过程中的风险,从而保证了OSPF网络的可靠性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施例,并与说明书一起用于解释本说明书的原理。
图1是本说明书示出的OSPF GR交互过程的示意图;
图2是本说明书根据一示例性实施例示出的一种基于OSPF协议的平滑重启方法的流程图;
图3是本说明书根据一示例性实施例示出的另一种基于OSPF协议的平滑重启方法的流程图;
图4是本说明书实施例基于OSPF协议的平滑重启装置所在计算机设备的一种硬件结构图;
图5是本说明书根据一示例性实施例示出的一种基于OSPF协议的平滑重启装置的框图;
图6是本说明书根据一示例性实施例示出的另一种基于OSPF协议的平滑重启装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。
在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
OSPF(Open Shortest Path First,开放最短路径优先)是IETF(The InternetEngineering Task Force,互联网工程任务组)组织开发的一个基于链路状态的内部网关协议(Interior Gateway Protocol)。由于OSPF具有以下优点:采用组播形式收发报文,这样可以减少对其他不运行OSPF路由器的影响;支持无类型域间选路;支持对等价路由进行负载分担;以及支持报文加密等等,因此,OSPF作为优秀的内部网关协议被广泛使用。
OSPF网络中路由器之间存在两种连接关系:邻居关系和邻接关系。如果两台路由器之间共享一条公共数据链路(即两台路由器中间没有其它路由器,或者两台路由器之间存在虚连接),并且成功协商了Hello报文中所指定的参数,那么这两台路由器就成为邻居。如果两个邻居之间需要同步LSDB(Link State DataBase,链路状态数据库),那么它们之间需要建立邻接关系,这是因为LSDB同步需要通过LSA(Link State Advertisement,链路状态通告)交换,而LSA只存在具有邻接关系的路由器之间传递。其中,邻居关系和邻接关系的建立基于以下类型的报文而实现:
Hello报文,是周期性发送的报文,用于发现和维持OSPF邻居关系;
DD(Database Description,数据库描述)报文,是描述本地LSDB(Link StateDatabase,链路状态数据库)摘要信息的报文,用于两台设备进行数据库同步;
LSR(Link State Request,链路状态请求)报文,用于向对方请求所需的LSA(LinkState Advertisement,链路状态通告),设备只有在OSPF邻居双方成功交换DD报文后才会向对方发出LSR报文;
LSU(Link State Update,链路状态更新)报文,用于向对方发送其所需要的LSA;
LSAck(Link State Acknowledgment,链路状态确认)报文,用于对收到的LSA进行确认。
随着互联网技术的不断发展,网络的可靠性越来越重要。在OSPF网络中,一个路由器的OSPF协议重启之后,会发送Hello报文以发现邻居,而邻居路由器之前已经和该路由器建立有邻居关系,因此收到该Hello报文后就会把该路由器从邻居列表中删除,断开与该路由器的邻居关系,并通知其他路由器。当该路由器与邻居路由器重新建立邻居关系后,会重新同步所有的路由信息数据,周边路由器也需要重新进行路由计算,这样,就会引起网络的路由振荡以及转发中断,这对于大部分网络来说是不可容忍的。基于此,OSPF路由协议进行了扩展,将GR技术应用于OSPF协议中,GR技术是一种在协议重启时保证转发业务不中断的机制,主要用于在某一路由器进行设备重启或者协议重启时,能够通知其邻居设备在一定时间内将与该设备的邻居关系和路由保持稳定,在重启完毕后,邻居设备协助其进行信息同步,在尽量短的时间内使该设备恢复到重启前的状态,使得在整个协议重启过程中不会产生路由振荡,报文转发路径也没有任何改变,整个系统可以不间断地转发数据。
参见图1所示,图1是本说明书示出的OSPF GR交互过程的示意图,其中,GRRestarter(11)是指重启的设备,GR Helper(12)是指协助重启的邻居设备,OSPF GR的过程包括:
S101、GR Restarter先通过Grace-LSA确认GR能力,使GR Helper保持邻居关系不变;
S102、GR Restarter与GR Helper进行Hello报文和DD报文的交互,执行LSDB同步;
S103、完成LSDB同步后,GR Restarter通过Grace-LSA通知GR Helper结束GR流程,重新进入正常的OSPF流程。
通过OSPF GR,可以避免网络的路由振荡及转发中断,然而,邻居设备进入GRHelper处理流程的最长保持时间是由Grace LSA中携带的协商时间来确定,如果超过该时间GR Restarter还没有完成GR处理流程,则邻居设备不再担任GR Helper角色,即GR失败。而由于该协商时间一般是由操作人员主观估测而设置,一旦协商时间设置太短,则LSDB同步未完成,协助设备就退出了GR流程,从而导致GR失败;又或者协商时间设置太长,则若重启设备在完成LSDB同步后,未能及时通知协助设备,则协助设备需要等待该协商时间超时才能退出GR流程,容易影响设备路由等信息的更新,风险较大。基于此,本说明书实施例提供一种基于OSPF协议的平滑重启方案,以解决上述问题。
接下来对本说明书实施例进行详细说明。
如图2所示,图2是本说明书根据一示例性实施例示出的一种基于OSPF协议的平滑重启方法的流程图,所述方法应用于路由设备,包括:
在步骤201、重启之后,向邻居设备发送执行平滑重启流程的协商报文,所述协商报文携带目标协商时间,以使所述邻居设备执行如下平滑重启流程:在目标协商时间内保持邻居关系不变,并协助所述路由设备执行链路状态数据库同步;
本说明书实施例是一种改进后的基于OSPF协议的平滑重启方法,应用于重启的路由设备,这里的路由设备可以是指路由器,在一些场景中也可以包括交换机之类具有路由功能的设备。需要说明的是,这里的路由设备要求有GR能力,而邻居设备要求有协助完成GR流程能力的设备,通常来说,分布式设备可以充当这里提到的需重启的设备和协助重启的邻居设备,而集中式设备只能充当协助重启的邻居设备。另外,本步骤中提到的重启是指由管理员或者故障触发的协议重启,具体地,可以包括设备断电后重启、设备故障重启、或者主备切换等等。
路由设备在重启之后,向所有邻居设备发送执行平滑重启流程的协商报文,以告知邻居设备正在执行平滑重启(为方便说明,以下简称GR),以及使得邻居设备在GR期间继续维持邻居关系。这里所提到的执行重启流程的协商报文可以包括Grace-LSA。Grace-LSA是第9类Opaque LSA,其中携带有GR时间,即本步骤中提到的目标协商时间,该目标协商时间以TLV(Type-Length-Value,类型-长度-值)格式存储在Grace-LSA中,具体地,在该TLV格式中,Type中存储代表GR时间的关键字,Length中存储GR时间占用的字节数,Value中存储GR时间。该目标协商时间是一个有时限的持续时间,其表示的是邻居设备进入GR Helper处理流程的最长保持时间,当该目标协商时间超时,则邻居设备退出GR流程。
邻居设备在接收到Grace-LSA后,会对Grace-LSA中的内容进行判定,在判定通过时,邻居设备进入GR流程,在目标协商时间内保持邻居关系不变,并协助该重启的路由设备进行LSDB同步。以Restarter表示重启的路由设备,以Helper表示协助重启的邻居设备,则链路状态数据库同步过程包括:在该目标协商时间内,Restarter与Helper通过Hello报文的周期性交互,维持邻居关系;并且,Helper通过DD报文将自身设备上所有链路状态数据(LSA)的摘要信息发送给Restarter,Restarter根据摘要信息确定自身是否有对应的链路状态数据,若无,则向Helper请求对应的链路状态数据(即发送LSR报文),Helper收到请求后就会发送链路状态数据(即发送LSU报文),Restarter收到后回应确认(即发送LSAck报文)。需要说明的是,由于GR过程中不能生成LSA,因此,在LSDB同步过程中,当Restarter从Helper接收到GR前自身产生的LSA,会直接存储下来并置上Stale标志,在同步完成后,Restarter重新生成LSA,并删除置了Stale标志且没有被重新生成的LSA。
在步骤202、在执行所述链路状态数据库同步过程中,循环执行以下重新协商的步骤:
步骤2021、判断所述目标协商时间的当前剩余时长是否为预设值;
步骤2022、若是,则更新目标协商时间,并向所述邻居设备再次发送协商报文,所述再次发送的协商报文携带更新后的目标协商时间,以使所述邻居设备根据更新后的目标协商时间继续执行所述平滑重启流程。
不同于以往的方案,本说明书实施例增加了一个循环执行的重新协商步骤。在该重新协商步骤中,重启设备判断目标协商时间的当前剩余时长是否为预设值,若是,说明该目标协商时间已经接近超时,而此时的链路状态数据库同步仍未完成,则重启设备更新目标协商时间,并向邻居设备再次发送协商报文,这时候所发送的协商报文中携带有新的目标协商时间,以使得邻居设备根据更新后的目标协商时间继续执行平滑重启流程。这里的预设值可以根据具体业务场景进行设置,可以是一个固定值,比如1s,也可以是基于当前目标协商时间的预设比例而得到。也就是说,当第一次协商时间即将超时而重启设备还没有完成GR处理流程时,可以进行第二次协商,邻居设备在第二次协商时间内继续等待重启设备以完成GR处理流程,同理,当第二次协商时间即将超时而重启设备的GR处理流程仍未完成,则可以进行第三次协商,换而言之,通过对GR时间的多次协商,为GR处理流程争取到了更多的时间,从而大大降低了GR失败的可能性。
在某些例子中,再次发送的协商报文携带的目标协商时间大于上一次发送的协商报文携带的目标协商时间。也就是说,可以设定执行平滑重启流程的协商报文中携带的目标协商时间为一个保守的较小值,记为第一协商时间,其可以根据相同网络环境下平滑重启的历史记录中的最小值来确定;在该目标协商时间即将超时时,再次发送的协商报文中的目标协商时间记为第二协商时间,则第二协商时间大于第一协商时间,以此类推,第三协商时间大于第二协商时间,第四协商时间大于第三协商时间,等等。具体地,其可以通过退避算法来实现,例如,可以设置第一协商时间为10s,之后每增加一次协商则时间较前一次增长一倍,即第二协商时间为20s。这样,通过由小及大的时间设置,将GR时间控制在一个合理的范围内,在一定程度上避免了只执行一次平滑重启GR时间设置太长而导致等待风险较大的情况。
在某些例子中,若再次发送协商报文的次数达到预设终止次数,终止执行所述链路状态数据库同步,并向所述邻居设备发送结束GR流程的协商报文。也就是说,在尝试协商了预设终止次数时,重启设备的链路状态数据库仍未同步完成,则表明该重启设备可能出现了故障,此时重启设备向邻居设备发送结束GR流程的协商报文,以使邻居设备立即进行路由更新和邻居关系重建,从而避免了由于故障而导致的重复等待。具体地,在采用前面提到的退避算法设置目标协商时间的值时,可以通过设置目标协商时间的上限值来设置预设终止次数,例如,当第一协商时间为10s,之后每增加一次协商则时间较前一次增长一倍,那么,可以设置目标协商时间的上限值为640s,当预设终止次数为6次,当再次发送协商报文的次数达到6次时,此时得到的目标协商时间即为640s,此时重启设备通知邻居设备结束GR流程。当然,在其他一些实施例中,也可以由邻居设备自行判断是否退出GR流程,也无需重启设备进行通知,比如,邻居设备接收到携带更新后的目标协商时间的协商报文后,若该更新后的目标协商时间超过预设值,则该邻居设备退出GR流程,这里的预设值同样的表示目标协商时间的上限值,可以根据具体的业务场景进行设置,对此不作限制。
为了更为精确地将目标协商时间设置在一个合理的范围内,在某些例子中,所述更新后的协商时间可以基于链路状态数据库的剩余未同步的数据量确定。可以理解的,LSDB往往是由多条LSA组成,每一条LSA即为一条链路状态数据,而一条数据库描述报文可以携带多条LSA的摘要信息,因此,重启设备在执行LSDB同步时,通过与邻居设备之间数据库描述报文的交互,可以获得描述对方LSDB的摘要信息,进而计算出自身LSDB的剩余未同步的数据量,再基于之前单位时间内同步的数据量,可以较为精确地得到完成剩余部分所需时间的一个预估值。具体地,可以根据接收的数据库描述报文的标识,若确定接收到所述邻居设备发送的最后一个数据库描述报文,根据所述最后一个数据库描述报文确定剩余未同步的数据量。这里提到的数据库描述报文即DD报文携带有指示该报文是否为数据库最后一条数据库描述报文的标识,可以是指DD报文格式中的字段名为M的值,如果是最后一个报文,该值为0,否则该值为1,基于此,当重启设备可以根据该标识,确定是否接收到邻居设备发送的最后一个DD报文,若是,则此时重启设备可以根据DD报文中的LSA摘要,得知自身设备上还未同步的链路状态数据的数据量,进而计算出完成剩余工作的所需时间,这个计算得到的时间可以作为更新后的目标协商时间的参考值,从而使得设置得到的目标协商时间更为合适,减少因为时间设置不当而出现的问题。
现有的协商报文的格式中,具有可以用来描述GR原因的字段。本说明书实施例的其中一种实现方式包括:通过对协商报文的格式进行规定,比如,对协商报文中携带的GR原因参数进行规定,重启设备发送的执行平滑重启流程的协商报文携带有常规的GR原因参数,包括未知原因触发、通过命令行触发、软件重启或升级触发、异常主备倒换触发等,而再次发送的协商报文则携带指示所述邻居设备继续执行平滑重启流程的平滑重启原因参数,也就是说,通过定义新的GR原因参数,邻居设备接收到重启设备再次发送的协商报文时,可以根据其中携带的更新后的目标协商时间继续执行GR流程。当然,在其他一些实施例中,也可以通过规定其他的报文内容而实现,比如携带特殊标签等,对此不作限制。
在完成LSDB同步之后,循环执行的步骤不再进行,重启设备会发送报文通知邻居设备结束GR流程,此时,重启设备进入正常的OSPF流程。在某些组网中,重启设备在恢复所有路由信息后会重新进行路由计算,重新刷新转发表。这里的路由计算与相关技术中的方式一致,在此不再赘述。
本说明书实施例的OSPF GR方法,通过循环执行重新协商的步骤,在当前目标协商时间即将超时时,向邻居设备发送携带更新后的目标协商时间的协商报文,使得邻居设备根据更新后的目标协商时间继续执行平滑重启流程,这样,能够给到重启设备更多的时间完成链路状态数据库的同步,争取平滑重启成功。通过对目标协商时间灵活动态的设置,大大降低了平滑重启失败的可能性,同时降低了邻居设备等待过程中的风险,从而保证了OSPF网络的可靠性。
如图3所示,图3是本说明书实施例示出的一种基于OSPF协议的平滑重启方法的流程图,所述方法应用于路由设备,包括:
在步骤301、若接收到重启设备发送的执行平滑重启流程的协商报文,执行如下平滑重启流程:在所述执行平滑重启流程的协商报文携带的目标协商时间内保持邻居关系不变,并协助所述重启设备执行链路状态数据库同步;
在步骤302、在协助重启设备执行链路状态数据库同步过程中,若接收到所述重启设备再次发送的协商报文,根据所述再次发送的协商报文携带的更新后的目标协商时间继续执行所述平滑重启流程。
在某些例子中,还包括:利用计时器监控所述执行平滑重启流程的协商报文携带的目标协商时间是否到达;在接收到所述重启设备再次发送的协商报文后,根据所述更新后的目标协商时间更新所述计时器;若利用所述计时器监控到所述目标协商时间到达,退出平滑重启流程。也就是说,邻居设备可以设置一计时器,当接收到重启设备发送的携带目标协商时间的协商报文时,将计时器的值设置为该目标协商时间的值,并进行倒数计时。当该计时器倒数计时为零时,表明该目标协商时间超时,则此时邻居设备退出GR流程;而在该计时器倒数计时为零之前,若接收到重启设备再次发送的协商报文,则根据其中携带的更新后的目标协商时间更新计数器,以继续等待重启设备执行平滑重启。另外,可以理解的,在图2所示的方法中所作出的改进同样适用于本说明书实施例的方法,在此不再赘述。
为方便对本说明书的方法做更为详细的介绍,接下来以一具体实施例进行说明:
在一个OSPF网络中,Router A是一台OSPF协议重启且具有GR能力的路由器,Router A重启之后,向所有邻居设备分别发送进入GR流程的报文,使其维持邻居关系不变。以其中一个邻居设备Router B为例,Router A和Router B的OSPF GR过程如下所示:
S401、Router A重启之后,向Router B发送Grace-LSA,该Grace-LSA中携带目标协商时间,记为TIME0;在本实施例中,TIME0设置为10s;
S402、Router B接收到Router A发送的Grace-LSA后,在TIME0期间内保持邻居关系不变;
S403、Router B协助Router A执行链路状态数据库同步;
具体地,Router A和Router B各自周期性发送Hello报文给对方,以维持邻居关系;Router B通过携带LSA摘要信息的DD报文,将自身的LSDB泛洪给Router A,Router A根据LSA摘要信息确定自身是否有对应的链路状态数据,当确定自身没有对应的链路状态数据时,向Router B请求相应的LSA;另外,由于在GR过程中不能生成新的LSA,因此,Router A将LSDB同步过程中收到的GR前自身产生的LSA置上Stale标志;
S404、在执行链路状态数据库同步,Router A循环执行S405-S409;
S405、Router A判断目标协商时间的当前剩余时长是否为预设值;若是,则执行S406;在本实施例中,该预设值为2s;
S406、Router A更新目标协商时间,更新后的目标协商时间较上一次的目标协商时间增长一倍;更新后的目标协商时间记为TIMEX,其中,X表示再次协商的次数;
S407、Router A判断TIMEX是否超过预设终止时间,是则执行S408,否则执行S409;在本实施例中,预设终止时间为640s,也就是说,再次协商的次数上限,即预设终止次数为6次;
S408、Router A终止执行链路状态数据库同步,向Router B发送通知退出GR流程的协商报文,以使Router B退出GR流程;
S409、Router A向Router B再次发送Grace-LSA,该Grace-LSA中携带更新后的目标协商时间,以使Router B根据该TIMEX继续维持邻居关系以及继续协助Router A执行链路状态数据库同步;
S410、在完成链路状态数据库同步之后,Router A发送Grace-LSA给Router B,此时的Grace-LSA指示Router B退出GR流程;
S411、Router A进入正常的OSPF流程;其中,Router A重新生成LSA,并删除那些置了Stale标志且没有被重新生成的LSA。
本说明书实施例中,Router A通过循环执行重新协商的步骤,在GR时间即将超时而自身还需要更多的时间时,能够再次进行协商,让Router B继续等待,从而争取到更充足的时间,提高了GR成功的概率;同时,通过对GR时间多次协商,将GR时间控制在一个合理的范围内,降低了因时间设置不当而导致的风险。这一方法,确保了网络的可靠性,也减轻了网络管理员的操作难度。
与前述方法的实施例相对应,本说明书还提供了基于OSPF协议的平滑重启装置及其所应用的终端的实施例。
本说明书基于OSPF协议的平滑重启装置的实施例可以应用在计算机设备上,例如服务器或终端设备。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在文件处理的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图4所示,为本说明书实施例基于OSPF协议的平滑重启装置所在计算机设备的一种硬件结构图,除了图4所示的处理器410、内存430、网络接口420、以及非易失性存储器540之外,实施例中装置431所在的服务器或电子设备,通常根据该计算机设备的实际功能,还可以包括其他硬件,对此不再赘述。
相应地,本说明书实施例还提供一种计算机存储介质,所述存储介质中存储有程序,所述程序被处理器执行时实现上述任一实施例中的方法。
本说明书实施例可采用在一个或多个其中包含有程序代码的存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。计算机可用存储介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括但不限于:相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
如图5所示,图5是本说明书根据一示例性实施例示出的一种基于OSPF协议的平滑重启装置的框图,所述装置应用于路由设备,包括:
协商模块51,用于重启之后,向邻居设备发送执行平滑重启流程的协商报文,所述协商报文携带目标协商时间,以使所述邻居设备执行如下平滑重启流程:在目标协商时间内保持邻居关系不变,并协助所述路由设备执行链路状态数据库同步;
更新模块52,用于在执行所述链路状态数据库同步过程中,循环执行以下重新协商的步骤:
判断所述目标协商时间的当前剩余时长是否为预设值;
若是,则更新目标协商时间,并向所述邻居设备再次发送协商报文,所述再次发送的协商报文携带更新后的目标协商时间,以使所述邻居设备根据更新后的目标协商时间继续执行所述平滑重启流程。
如图6所示,图6是本说明书根据一示例性实施例示出的另一种基于OSPF协议的平滑重启装置的框图,所述装置应用于路由设备,包括:
第一执行模块61,用于若接收到重启设备发送的执行平滑重启流程的协商报文,执行如下平滑重启流程:在所述执行平滑重启流程的协商报文携带的目标协商时间内保持邻居关系不变,并协助所述重启设备执行链路状态数据库同步;
第二执行模块62,用于在协助重启设备执行链路状态数据库同步过程中,若接收到所述重启设备再次发送的协商报文,根据所述再次发送的协商报文携带的更新后的目标协商时间继续执行所述平滑重启流程。
上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本领域技术人员在考虑说明书及实践这里申请的发明后,将容易想到本说明书的其它实施方案。本说明书旨在涵盖本说明书的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书的一般性原理并包括本说明书未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书的真正范围和精神由下面的权利要求指出。
应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本说明书的范围仅由所附的权利要求来限制。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。
Claims (10)
1.一种基于OSPF协议的平滑重启方法,其特征在于,应用于路由设备,包括:
重启之后,向邻居设备发送执行平滑重启流程的协商报文,所述协商报文携带目标协商时间,以使所述邻居设备执行如下平滑重启流程:在目标协商时间内保持邻居关系不变,并协助所述路由设备执行链路状态数据库同步;
在执行所述链路状态数据库同步过程中,循环执行以下重新协商的步骤:
判断所述目标协商时间的当前剩余时长是否为预设值;
若是,则更新目标协商时间,并向所述邻居设备再次发送协商报文,所述再次发送的协商报文携带更新后的目标协商时间,以使所述邻居设备根据更新后的目标协商时间继续执行所述平滑重启流程;
当所述链路状态数据库同步完成后,终止执行所述重新协商的步骤,向所述邻居设备发送结束平滑重启流程的协商报文。
2.根据权利要求1所述的平滑重启方法,其特征在于,再次发送的协商报文携带的目标协商时间大于上一次发送的协商报文携带的目标协商时间。
3.根据权利要求1所述的平滑重启方法,其特征在于,若再次发送协商报文的次数达到预设终止次数,终止执行所述链路状态数据库同步,并向所述邻居设备发送结束平滑重启流程的协商报文。
4.根据权利要求1所述的平滑重启方法,其特征在于,所述更新后的目标协商时间基于所述链路状态数据库的剩余未同步的数据量确定。
5.根据权利要求4所述的平滑重启方法,其特征在于,所述链路状态数据库的剩余未同步的数据量,通过如下方式确定:
接收的数据库描述报文的标识,基于所述数据库描述报文的标识,确定所述数据库描述报文为最后一个数据库描述报文;
基于所述最后一个数据库描述报文确定剩余未同步的数据量。
6.根据权利要求1所述的平滑重启方法,其特征在于,所述再次发送的协商报文携带平滑重启原因参数,所述平滑重启原因参数指示所述邻居设备继续执行平滑重启流程。
7.一种基于OSPF协议的平滑重启方法,其特征在于,应用于路由设备,包括:
若接收到重启设备发送的执行平滑重启流程的协商报文,执行如下平滑重启流程:在所述执行平滑重启流程的协商报文携带的目标协商时间内保持邻居关系不变,并协助所述重启设备执行链路状态数据库同步;
在协助重启设备执行链路状态数据库同步过程中,若接收到所述重启设备再次发送的协商报文,根据所述再次发送的协商报文携带的更新后的目标协商时间继续执行所述平滑重启流程。
8.根据权利要求7所述的平滑重启方法,其特征在于,还包括:
利用计时器监控所述执行平滑重启流程的协商报文携带的目标协商时间是否到达;
在接收到所述重启设备再次发送的协商报文后,根据所述更新后的目标协商时间更新所述计时器;
若利用所述计时器监控到所述目标协商时间到达,退出平滑重启流程。
9.一种基于OSPF协议的平滑重启装置,其特征在于,应用于路由设备,包括:
协商模块,用于重启之后,向邻居设备发送执行平滑重启流程的协商报文,所述协商报文携带目标协商时间,以使所述邻居设备执行如下平滑重启流程:在目标协商时间内保持邻居关系不变,并协助所述路由设备执行链路状态数据库同步;
更新模块,用于在执行所述链路状态数据库同步过程中,循环执行以下重新协商的步骤:
判断所述目标协商时间的当前剩余时长是否为预设值;
若是,则更新目标协商时间,并向所述邻居设备再次发送协商报文,所述再次发送的协商报文携带更新后的目标协商时间,以使所述邻居设备根据更新后的目标协商时间继续执行所述平滑重启流程;
当所述链路状态数据库同步完成后,终止执行所述重新协商的步骤,向所述邻居设备发送结束平滑重启流程的协商报文。
10.一种基于OSPF协议的平滑重启装置,其特征在于,应用于路由设备,包括:
第一执行模块,用于若接收到重启设备发送的执行平滑重启流程的协商报文,执行如下平滑重启流程:在所述执行平滑重启流程的协商报文携带的目标协商时间内保持邻居关系不变,并协助所述重启设备执行链路状态数据库同步;
第二执行模块,用于在协助重启设备执行链路状态数据库同步过程中,若接收到所述重启设备再次发送的协商报文,根据所述再次发送的协商报文携带的更新后的目标协商时间继续执行所述平滑重启流程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011096631.XA CN112350928B (zh) | 2020-10-14 | 2020-10-14 | 一种基于ospf协议的平滑重启方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011096631.XA CN112350928B (zh) | 2020-10-14 | 2020-10-14 | 一种基于ospf协议的平滑重启方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112350928A CN112350928A (zh) | 2021-02-09 |
CN112350928B true CN112350928B (zh) | 2022-09-30 |
Family
ID=74360819
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011096631.XA Active CN112350928B (zh) | 2020-10-14 | 2020-10-14 | 一种基于ospf协议的平滑重启方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112350928B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113709042B (zh) * | 2021-08-20 | 2022-11-01 | 深圳市风云实业有限公司 | 一种rsvp gr过程中的隧道状态恢复方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105591892A (zh) * | 2015-09-16 | 2016-05-18 | 杭州华三通信技术有限公司 | 一种平滑重启流程的启动方法和装置 |
CN106059793A (zh) * | 2016-05-16 | 2016-10-26 | 杭州华三通信技术有限公司 | 一种基于平滑重启的路由信息处理方法及装置 |
CN107465621A (zh) * | 2017-08-18 | 2017-12-12 | 迈普通信技术股份有限公司 | 一种路由器发现方法、sdn控制器、路由器和网络系统 |
CN109495352A (zh) * | 2018-12-27 | 2019-03-19 | 新华三技术有限公司 | 一种传输路径的确定方法和装置 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7506194B2 (en) * | 2004-03-24 | 2009-03-17 | Cisco Technology, Inc. | Routing system and method for transparently rocovering routing states after a failover or during a software upgrade |
US8254396B2 (en) * | 2006-10-13 | 2012-08-28 | Cisco Technology, Inc. | Fast border gateway protocol synchronization |
CN101277262B (zh) * | 2008-04-30 | 2010-10-27 | 华为技术有限公司 | 虚拟路由器冗余协议的重启方法及路由器 |
CN101394358B (zh) * | 2008-10-30 | 2011-06-15 | 华为技术有限公司 | 提高组播转发可靠性的方法和装置 |
CN102904661B (zh) * | 2011-07-27 | 2017-07-14 | 中兴通讯股份有限公司 | Ptp设备实现平滑重启的方法及ptp设备 |
CN103825817B (zh) * | 2014-02-18 | 2017-09-15 | 新华三技术有限公司 | 路由协议重启后不间断路由的实现方法和装置 |
CN104639434B (zh) * | 2015-02-06 | 2017-10-27 | 新华三技术有限公司 | 一种开放最短路径优先协议平滑重启方法及装置 |
CN106533936B (zh) * | 2015-09-15 | 2019-06-18 | 中兴通讯股份有限公司 | 路由器平滑重启的管理方法和装置 |
CN107222402B (zh) * | 2016-03-22 | 2021-05-18 | 中兴通讯股份有限公司 | 重启恢复时间的调整方法和装置 |
US10200274B1 (en) * | 2017-02-17 | 2019-02-05 | Juniper Networks, Inc. | Enhanced traffic flow in software-defined networking controller-based architecture |
CN108924044B (zh) * | 2018-06-22 | 2020-12-11 | 迈普通信技术股份有限公司 | 链路维持方法、pe设备及可读存储介质 |
CN110099001B (zh) * | 2019-04-30 | 2021-03-23 | 新华三技术有限公司 | 双向转发检测时间参数协商方法、装置及电子设备 |
-
2020
- 2020-10-14 CN CN202011096631.XA patent/CN112350928B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105591892A (zh) * | 2015-09-16 | 2016-05-18 | 杭州华三通信技术有限公司 | 一种平滑重启流程的启动方法和装置 |
CN106059793A (zh) * | 2016-05-16 | 2016-10-26 | 杭州华三通信技术有限公司 | 一种基于平滑重启的路由信息处理方法及装置 |
CN107465621A (zh) * | 2017-08-18 | 2017-12-12 | 迈普通信技术股份有限公司 | 一种路由器发现方法、sdn控制器、路由器和网络系统 |
CN109495352A (zh) * | 2018-12-27 | 2019-03-19 | 新华三技术有限公司 | 一种传输路径的确定方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112350928A (zh) | 2021-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7804770B2 (en) | Method and apparatus for performing a graceful restart in a NSF-capable router without enhancing link state routing protocols | |
US8009556B2 (en) | System and method for providing redundant routing capabilities for a network node | |
CN102624635B (zh) | 一种平滑重启实现方法及设备 | |
US7200120B1 (en) | Packet-switched network topology tracking method and system | |
US8824275B2 (en) | Route calculating after switching occurs from a primary main control board to a standby main control board | |
US20070159987A1 (en) | Seamless spanning tree restart of a single supervisor | |
CN106789638B (zh) | 一种处理路由的方法及网络设备 | |
CN108123876B (zh) | 边界网关协议bgp路由信息处理方法及装置 | |
JPH10190686A (ja) | Atm網における現用予備経路設定方式 | |
EP4012987A1 (en) | Method and apparatus for processing link state information | |
CN110943928B (zh) | 转发信息状态同步方法、控制器、网络转发设备及存储介质 | |
CN112350928B (zh) | 一种基于ospf协议的平滑重启方法及装置 | |
CN109495345A (zh) | 一种bfd处理方法及网络设备 | |
EP2109969B1 (en) | Intelligent database exchange for ospf | |
EP3276889B1 (en) | State report control method and apparatus | |
CN110611615B (zh) | 一种路由信息传输方法和装置 | |
JP4583433B2 (ja) | 中継システム | |
CN113037636B (zh) | 路由器链路更新方法、路由器及存储介质 | |
WO2021018150A1 (zh) | 一种链路检测的方法和装置 | |
CN111431807B (zh) | 一种路径更新方法、装置、设备及存储介质 | |
CN109067647B (zh) | 路由信息维护方法及装置 | |
CN107070787B (zh) | 一种默认路由撤销方法和装置 | |
CN109120519B (zh) | 基于isis协议的邻居状态处理方法及装置 | |
CN105227459A (zh) | 通过ospf路由器执行的方法以及相应的ospf路由器 | |
WO2019001487A1 (zh) | 一种路径数据的删除方法、一种消息转发方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |