CN116260763A - 路由信息处理方法、ospf设备和ospf网络 - Google Patents
路由信息处理方法、ospf设备和ospf网络 Download PDFInfo
- Publication number
- CN116260763A CN116260763A CN202111454974.3A CN202111454974A CN116260763A CN 116260763 A CN116260763 A CN 116260763A CN 202111454974 A CN202111454974 A CN 202111454974A CN 116260763 A CN116260763 A CN 116260763A
- Authority
- CN
- China
- Prior art keywords
- message
- fault
- lsa
- neighbor
- equipment
- 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.)
- Pending
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/28—Routing or path finding of packets in data switching networks using route fault recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/085—Retrieval of network configuration; Tracking network configuration history
-
- 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/12—Shortest path evaluation
- H04L45/123—Evaluation of link metrics
Abstract
本发明实施例提供一种路由信息处理方法、OSPF设备和OSPF网络,该方法包括:故障设备向邻居设备发送第一报文。邻居设备接收到第一报文后,会将第二报文反馈给故障设备。若此第二报文表明邻居设备具有故障设备故障前LSA的版本标识,则故障设备根据此故障前LSA的版本标识,修改第一报文中故障设备故障后LSA的版本标识,并将修改后得到的第三报文发送至邻居设备。通过版本标识的修改,使得第三报文中故障恢复后LSA的版本高于第二报文中故障前LSA的版本,邻居设备会用第三报文替换第二报文,从而使邻居设备得到故障设备最新LSA的版本标识以及该标识对应的LSA,最终基于最新的LSA进行数据包发送,也就不会出现因使用故障前LSA进行路由决策所产生的数据包丢失问题。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种路由信息处理方法、OSPF设备和OSPF网络。
背景技术
OSPF(Open Shortest Path First开放式最短路径优先)是由IETF(The InternetEngineering Ttack Force,互联网工程任务组)制定的一个内部网关协议(InteriorGateway Protocol,简称IGP),用于在自治系统(autonomous system,AS)内进行路由决策。
根据OSPF协议的规定,AS中的任一路由器可以与其的邻居路由器互相发送自己本地存储的链路状态通告(Link-State Advertisement,简称LSA),其中,路由器本地存储的LSA可以包含路由器自身的LSA,也可以包含从邻居路由器处获取的其他路由器的LSA。最终,AS中的每台路由器都得到AS中所有路由器的LSA,并根据各路由器的LSA生成用于最短路径树。当进行数据包的传输时,则可以各路由器可以分别根据上述生成的最短路径树进行路由决策,以得到目标传输路径,数据包依次经过目标传输路径中的各路由器以完成数据包的传输。
在实际中,目标传输路径中的任一路由器有可能发生故障,此故障路由器存在一个故障恢复过程,以使自身恢复数据传输能力。其中,故障路由器的恢复过程也即是重新建立自身目标传输路径中各路由器之间的邻接关系的过程。待邻接关系建立完成后便可以重新进行路由决策,实现数据包的继续传输。
然而在故障恢复过程中,故障设备的邻居设备往往会使用自身本地存储的故障设备在故障前的LSA进行路由决策,以实现数据包的传输。但此时的故障设备正处于故障恢复中,其还未计算出实现路由决策的最短路径树,因此,当数据包传输至故障路由器时,该故障路由器是无法确定将数据包的传输给AS中的哪个路由器,也即是若将数据包发送至正在处于故障恢复状态的故障设备则会导致数据包的丢失。并且直至故障路由器得到AS中全部路由器的LSA并计算出最短路径树后,上述数据包丢失的情况才会消失。
因此,如何改善因使用陈旧LSA进行路由决策而产生的数据包丢失就成为一个亟待解决的问题。
发明内容
有鉴于此,本发明实施例提供一种路由信息处理方法、OSPF设备和OSPF网络,用以改善数据包的丢失。
第一方面,本发明实施例提供一种路由信息处理方法,应用于开放式最短路径优先OSPF网络中的故障设备,所述故障设备处于故障恢复状态,包括:
发送第一报文至所述故障设备的邻居设备,所述第一报文包含所述故障设备故障恢复后的链路状态通告LSA的版本标识;
若所述邻居设备发送的第二报文表明所述邻居设备具有所述故障设备的LSA,则根据所述第二报文中故障设备故障前LSA的版本标识,修改所述第一报文中故障设备故障恢复后LSA的版本标识,以得到第三报文,所述第三报文中故障恢复后LSA的版本高于所述第二报文中故障前LSA的版本,所述第二报文在所述邻居设备接收到所述第一报文之后发送;
发送所述第三报文至所述邻居设备,以使所述邻居设备根据所述第三报文进行路由决策。
第二方面,本发明实施例提供一种开放式最短路径优先路由OSPF网络,包括:故障设备和所述故障设备的邻居设备,所述故障设备处于故障恢复状态;
所述故障设备,用于发送第一报文至所述故障设备的邻居设备,所述第一报文包含所述故障设备故障恢复后的链路状态通告LSA的版本标识;
若第二报文表明所述邻居设备具有所述故障设备的LSA,则根据所述第二报文中故障设备故障前LSA的版本标识,修改所述第一报文中故障设备故障恢复后LSA的版本标识,以得到第三报文,所述第三报文中故障恢复后LSA的版本高于所述第二报文中故障前LSA的版本,所述第二报文在所述邻居设备接收到所述第一报文之后发送;
发送所述第三报文至所述邻居设备;
所述邻居设备,用于发送所述第二报文;根据所述第三报文进行路由决策。
第三方面,本发明实施例提供一种开放式最短路径优先路由OSPF设备,包括:所述OSPF设备处于故障恢复状态;
发送模块,用于发送第一报文至所述故障设备的邻居设备,所述第一报文包含所述故障设备故障恢复后的链路状态通告LSA的版本标识;发送第三报文至所述邻居设备,以使所述邻居设备根据所述第三报文进行路由决策;
修改模块,用于若所述邻居设备发送的第二报文表明所述邻居设备具有所述故障设备的LSA,则根据所述第二报文中故障设备故障前LSA的版本标识,修改所述第一报文中故障设备故障恢复后LSA的版本标识,以得到第三报文,所述第三报文中故障恢复后LSA的版本高于所述第二报文中故障前LSA的版本,所述第二报文在所述邻居设备接收到所述第一报文之后发送。
第四方面,本发明实施例提供一种开放式最短路径优先路由OSPF设备,包括处理器和存储器,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现上述第一方面中的路由信息处理方法。该电子设备还可以包括通信接口,用于与其他设备或通信网络通信。
本发明实施例提供的路由信息处理方法,处于故障恢复状态的故障设备需要重新与邻居设备建立邻接连接,此时,则可以向邻居设备发送第一报文。邻居设备在接收到此第一报文的发送后,进一步将自身生成的第二报文反馈给故障设备。故障设备对于接收到的第二报文进行分析,若第二报文表明邻居设备具有故障设备故障前LSA的版本标识,则故障设备可以根据此故障前LSA的版本标识,修改第一报文中故障设备故障恢复后LSA的版本标识,从而得到第三报文,并将第三报文发送至邻居设备。
其中,通过版本标识的修改,使得第三报文中故障恢复后LSA的版本标识比第二报文中故障前LSA的版本标识新,即故障恢复后LSA的版本高于第二报文中故障前LSA的版本。则邻居设备通过比对第二报文、第三报文各自包含的故障设备的LSA的版本标识后,会用故障恢复后LSA的版本标识替换本地存储的故障前LSA的版本标识,从而使邻居设备得到故障设备最新LSA的版本标识。当邻居设备获取到OSPF网络中各设备的LSA,则可以进行路由决策。
可见,在上述方法中,故障设备通过对报文中LSA版本标识的修改,能够使邻居设备用故障设备最新的LSA(即故障恢复后LSA)的版本标识更新故障前LSA的版本标识,从而进一步得到故障设备最新的LSA,并最终基于获取到的最新的LSA进行路由决策,并根据路由决策的结果进行数据包的传输,也就不会出现因邻居设备因使用故障前LSA进行路由决策所产生的数据包丢失问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种路由信息处理方法的流程图;
图2为本发明实施例提供的一种OSPF网络的结构示意图;
图3为本发明实施例提供的另一种路由信息处理方法的流程图;
图4为本发明实施例提供的又一种路由信息处理方法的流程图;
图5为本发明实施例提供的一种OSPF网络的结构示意图;
图6为本发明实施例提供的路由信息处理方法对应的一种OSPF设备的结构示意图;
图7为本发明实施例提供的路由信息处理方法对应的另一种OSPF设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种,但是不排除包含至少一种的情况。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联物体的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联物体是一种“或”的关系。
取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于识别”。类似地,取决于语境,短语“如果确定”或“如果识别(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当识别(陈述的条件或事件)时”或“响应于识别(陈述的条件或事件)”。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。
下面结合附图对本发明的一些实施方式作详细说明。在各实施例之间不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。另外,下述各方法实施例中的步骤时序仅为一种举例,而非严格限定。
当最短路径优先OSPF网络中出现故障的设备(即故障设备)处于故障恢复状态时,故障设备需要与OSPF网络中的邻居设备重新建立邻接关系,再使用建立邻接关系过程中获取到的OSPF网络中其他设备的LSA计算最短路径树,并最终利用此最短路径树实现路由决策。当然,基于建立的邻接关系,故障设备的邻居设备也可以实现路由决策。
基于上述描述,邻居设备实现路由决策的过程可以如图1所示,该过程也可以认为是一种路由信息处理方法。则图1为本发明实施例提供的一种路由信息处理方法的流程图。本发明实施例提供的该路由信息切换方法可以由OSPF网络中的故障设备来执行,并且故障设备正处于故障恢复状态,该故障恢复状态也可以理解为故障设备进行了重新启动。
该路由信息切换方法具体可以包括如下步骤:
S101,发送第一报文至故障设备的邻居设备,第一报文包含故障设备故障恢复后的链路状态通告LSA的版本标识。
其中,在OSPF网络中,能够与故障设备直接进行数据包传输的设备即为该故障设备的邻居设备。而是否能够与故障设备直接进行数据包传输取决于OSPF网络中各设备之间的线路设置。可选地,本实施例以及下述各实施例中提及的故障设备、邻居设备均可以认为是OSPF网络中的路由器。
故障设备在由故障状态转换到故障恢复状态后,会向邻居设备发送第一报文,此第一报文包含故障设备故障恢复后的LSA的版本标识,版本标识用于唯一标识一条LSA。故障设备的LSA能够反映故障设备与邻居设备之间的通信成本。
在实际中,故障设备通常可以与多个设备具有邻接关系,即一个故障设备具有多个邻居设备。则在故障恢复过程中,故障设备会分别与不同的邻居设备建立邻接关系,以使故障设备在得到自身的LSA的版本标识同时,也能够得到和故障设备已经建立邻接关系的邻居设备的LSA以及每条LSA的版本标识。并且故障设备往往需要使用多条报文才能将自身本地存储的全部LSA的版本标识发送至邻居设备,因此,上述的第一报文便可以是这多条报文中的任一条。
在实际中,可选地,故障设备向邻居设备发送的、包含LSA版本标识的多的条报文可以是数据库描述报文(Database Description Packet,简称DD报文),LSA的版本标识可以作为DD报文的DD摘要。可选地,LSA的版本标识具体可以LSA中的路由器LSA(即Router-LSA)。
举例来说,在如图2所示的OSPF网络中,设备1和设备4均是故障设备2的邻居设备。一种情况,故障设备2还未与设备1以及设备4建立邻接关系,此时,故障设备2本地只有自身的LSA,则发送的报文中可以包含故障设备2的LSA的版本标识。另一种情况,故障设备2已经和设备1建立起邻接关系,此时,还需要和设备4建立邻接关系,则故障设备2发送的报文中可以包含故障设备2和设备1各自的LSA的版本标识。类似的,又一种情况,故障设备2已经和设备4建立起邻接关系,此时,还需要和设备1建立邻接关系,则故障设备2发送的报文中会包含故障设备2和设备4各自的LSA的版本标识。
故障设备可以进一步根据报文中LSA的版本标识获取对应的LSA。当邻居设备和故障设备具有相同的LSA时,表明二者建立起邻接关系。可选地,故障设备和邻居设备的本地都设置有用于存储LSA的链路状态数据库(Link State DataBase,简称LSDB)中。故障设备和邻居设备建立起邻接关系可以认为是二者各自的LSDB中的LSA实现了同步。
S102,若邻居设备发送的第二报文表明邻居设备具有故障设备的LSA,则根据第二报文中故障设备故障前LSA的版本标识,修改第一报文中故障设备故障恢复后LSA的版本标识,以得到第三报文。
接着,邻居设备接收故障设备发送的第一报文后,会进一步向故障设备反馈第二报文。也即是第二报文是在邻居设备接收到第一报文之后发送。其中,反馈的第二报文可以包括邻居设备本地存储的自身的LSA的版本标识或者与此邻居设备已经建立起邻接关系的其他设备的LSA的版本标识。与故障设备类似的,邻居设备往往也需要发送多条报文才能将本地存储的全部LSA的版本标识反馈给故障设备。则上述的第二报文即是这多条报文中的任一条。
进而,故障设备会对反馈的第二报文进行分析。若第二报文表明邻居设备具有故障设备的LSA,说明邻居设备本地存储有故障设备的故障前LSA,则故障设备可以根据第二报文中故障设备故障前LSA的版本标识,修改第一报文中故障设备故障恢复后LSA的版本标识,以得到第三报文。
其中,版本标识的修改原则是:通过修改,使得第三报文中的故障恢复后LSA的版本高于第二报文中的故障前LSA的版本。而设置这种修改原则的原因可以参见下述实施例中的相关描述。
S103,发送第三报文至邻居设备,以使邻居设备根据第三报文进行路由决策。
最终,故障设备将版本标识经过修改后得到的第三报文发送至邻居设备,以使邻居设备得到故障设备最新的LSA的版本标识,从而进一步根据版本标识获取到故障设备最新的LSA。此时,邻居设备便可以根据本地已经存储的OPSF网络中其他设备的LSA以及故障设备最新的LSA进行路由决策。
本实施例中,故障设备先向邻居设备发送第一报文。邻居设备响应于此第一报文的发送,进一步将第二报文反馈给故障设备。若第二报文表明邻居设备具有故障设备故障前LSA的版本标识,则故障设备可以根据此故障前LSA的版本标识,修改第一报文中故障设备故障恢复后LSA的版本标识,以得到第三报文,并将第三报文发送至邻居设备。
经过版本标识的修改,使得第三报文中故障恢复后LSA的版本标识比第二报文中故障前LSA的版本标识新,邻居设备通过比对第二报文、第三报文中故障设备的LSA的版本标识后,会用第三报文中LSA的版本标识替换本地存储的故障前LSA的版本标识,以使邻居设备得到故障设备最新的LSA,从而实现路由决策,并根据路由决策的结果进行数据包的传输。由于邻居设备是根据故障设备最新的LSA进行数据包传输的,因此,也就不会出现因邻居设备因使用故障前LSA进行路由决策所产生的数据包丢失问题。
其中,对于上步骤S102中需要按照预设的修改原则修改版本标识,这种原则的设置原因以及通过修改版本标识能够改善数据包丢失的原理还可以进行以下详细描述:
在实际中,OSPF网络中的设备可以每间隔预设时长生成自身最新的LSA,为了区分不同时刻生成的LSA,会对LSA设置版本标识,此版本标识用以表示LSA的版本的高低。并且OSPF网络中的设备是根据LSA的版本标识的新旧,即OSPF网络中的设备是根据LSA的版本的高低来确定是否进行LSA的替换的,也即是若接收到LSA的版本高于本地存储的LSA的版本,则进行替换,从而实现不同设备之间LSDB的同步;否则不进行替换。
因此,修改第三报文中故障恢复后LSA的版本标识,使第三报文中的版本高于第二报文中故障前LSA的版本,能够保证邻居设备在接收到第三报文后,会用此第三报文替换第二报文,使邻居设备得到故障设备最新的LSA的版本标识,也就能够进一步得到故障设备最新的LSA,也就能够改善因使用故障设备的陈旧LSA所导致的数据包丢失问题。
可选地,LSA的版本标识具体可以表现为LSA的版本号,版本号数值的大小用以反映LSA的新旧。因此,步骤S102中版本标识的修改可以认为是版本号的修改。
假设第一报文中故障设备的故障恢复后LSA的版本号为A,由于故障设备的故障恢复过程实际上是故障设备的重新启动过程,因此,A是一个较小的数值,比如为1。同时,邻居设备本地存储有故障设备故障前LSA的版本号B。由于故障设备在发生故障之前已经运行过一定时长,其已经生成过多个版本的LSA,因此,B可以是一个较大的数值,比如为100。
基于上述假设,对于第一报文中版本号的修改,一种可选地方式,可以将第一报文中LSA的版本号A直接修改成一个较大的预设值C1,其中,C1大于B。另一种可选地修改方式,可以以第二报文中LSA的版本号B为依据,将第一报文中的版本号A修改成C2,其中,C2=B+1。
另外,无论是故障设备还是邻居设备,其向对方设备发送的报文中还可以设置有预设标识位,该预设标识位数值的不同能够反映设备是否已经将自身本地存储的LSA的版本标识全部发送至对方设备。
在实际中,若故障设备本地同时存储有自身以及其他设备的LSA的版本标识,则故障设备通常会优先发送其他设备的LSA的版本标识,最后发送自己的LSA的版本标识。当故障设备向邻居设备发送的第一报文反映故障设备已经将本地存储的全部LSA的版本标识都发送至邻居设备时,邻居设备便可以得到故障设备最新的LSA,再结合本地存储的其他设备的LSA进行路由决策。
可见,基于上述的版本标识发送先后顺序以及报文中预设标识位的设置,能够保证邻居设备在获取到故障设备最新的LSA后,也即是获取到OSPF网络中各设备的LSA,之后才进行路由决策,并根据路由决策的结果进行数据包的传输,保证数据包的准确传输,同时也不会出现因邻居设备使用故障前LSA进行路由决策而产生的数据包丢失问题。
基于上述的版本标识的发送先后顺序,则图1所示实施例中的第一报文和第三报文中预设标识位具有相同的数值,并且该数值能够表明故障设备已经将本地全部LSA的版本标识都发送至邻居设备,也即是第三报文是故障设备在故障恢复过程中向邻居设备发送的最后一条报文。
因此,可选地,在第一报文之前,故障设备还可以先向邻居设备发至少一条包含LSA的版本标识的报文,并且这些非第一报文中的预设标识位表明故障设备没有将本地存储的LSA的版本标识全部发送至邻居设备。其中,为了保证描述的清晰,还可以将在第一报文之前发送的任一条报文都称为第四报文,第四报文中包含的是OSPF网络中其他设备的LSA的版本标识。最终,邻居设备可以根据第三报文、第二报文和第四报文进行路由决策。
需要说明的还有,由于网络中其他设备并未发生故障,因此,第四报文中LSA的版本标识可能已经存储于邻居设备本地,则邻居设备无需根据第四报文中LSA的版本标识重新获取对应的LSA。
图1所示的实施例已经示出了一种情况,即第二报文能够表明邻居设备具有故障设备故障前LSA的版本标识。而在实际中,第二报文也可能表明邻居设备不具有故障设备故障前LSA的版本标识。理由如下:
OSPF网络中的各设备会每间隔预设时长生成并发送自身的LSA至邻居设备,以实现OSPF网络中各设备的LSDB同步,最终,根据同步后的LSDB实现路由决策。同时,OSPF网络中各设备存储的其他设备的LSA还具有预设的最大老化时间。在其他设备的LSA达到此最大老化时间时,仍未收到其他设备发送的该设备最新的LSA,则会将本地存储的其他设备LSA删除。其中,最大老化时间的时长可以大于生成LSA的预设时长。
因此,若故障设备的故障时长超出LSA的最大老化时间,则故障设备的邻居设备便会将故障设备在故障前发送的LSA从LSDB中删除。此时,当故障设备处于故障恢复状态时,邻居设备发送的第二报文中自然不会包含故障设备的故障前LSA的版本标识。
对于邻居设备不具有故障设备故障前LSA的版本标识的情况,图3为本发明实施例提供的另一种路由信息处理方法的流程图。如图3所示,该方法可以包括如下步骤:
S201,发送第一报文至故障设备的邻居设备,第一报文包含故障设备故障恢复后的链路状态通告LSA的版本标识。
步骤S201的执行过程与前述实施例的相应步骤相似,具体可以参见如图3所示实施例中的相关描述,在此再不赘述。
S202,若第二报文表明邻居设备不具有故障设备的LSA,则存储第二报文。
S203,根据第一报文和第二报文进行路由决策。
若第二报文表明邻居设备不具有故障设备的LSA,反映邻居设备可能因为故障设备的故障时间过长,已经删除故障设备故障前的LSA,第二报文中包括的是OSPF网络中其他设备的LSA的版本标识,则故障设备会存储第二报文,并根据第一报文、第二报文中的版本标识获取对应的LSA。
当邻居设备将自身本地存的LSA的版本标识全部发送至故障设备后,故障设备便可以版本标识得到OSPF网络中其他设备的LSA,再结合自身的LSA实现路由决策。
可选地,邻居设备可以根据利用第一报文和第二报文得到的OSPF网络中设备的LSA,得到OSPF网络中具有邻接关系的设备之间的通信成本,并根据通信成本进行路由决策。比如可以根据最小通信成本得到OSPF网络对应的最短路路径树,并基于该最短路径树进行路由决策。与图1所示实施例类似的,可选地,图3所示实施例步骤S201中的第一报文也可以是故障设备向邻居设备发送的最后一条报文,则在第一报文发送之前,故障设备同样可以向邻居设备发送第四报文,则故障设备可以根据第一报文、第四报文和邻居设备发送的第二报文进行路由决策。其中,与第四报文相关的内容可以参加上述实施例中的相关描述,在此不再赘述。
本实施例中,通过第二报文的保存能够使故障设备获取到OSPF网络中其他设备的LSA,再结合自身的LSA实现路由决策。
上述图1和图3所示实施例中,邻居设备实现路由决策的起点是接收故障设备发送的报文,而故障设备需要借助与邻居设备之间的邻接关系实现报文的发送。则图4为本发明实施例提供的又一种路由信息处理方法的流程图。如图4所示,在步骤S101或者S201之前,该方法还可以包括如下步骤:
S301,响应于故障设备的重新启动,建立故障设备与邻居设备之间的邻居关系。
故障设备重新启动也即是处于故障恢复状态,则响应于故障设备的重新启动,建立故障设备与邻居设备之间的邻居关系。
可选地,可以借助hello报文实现邻居关系的建立。具体地,故障设备处于Down状态,并向邻居设备发送包含自身设备编号的hello报文。邻居设备接收hello报文。若该报文中不包含邻居设备的设备编号,则邻居设备处于init状态,以使邻居设备向故障设备发送hello报文,该报文中同时包含邻接设备和故障设备的设备编号,此时,故障设备处于2-Way状态。之后,故障设备再次向邻接设备发送hello报文,此时的hello报文中同时包含邻居设备和故障设备各自的设备编号,以使接收到此hello报文的邻居设备也处于2-Way状态,
当故障设备和邻居设备都处于2-Way状态时,表明邻居关系的建立。
S302,基于邻居关系,在故障设备与邻居设备的邻接关系建立之后,生成第一报文。
基于建立的邻居关系,进一步建立二者之间的邻接关系,在邻接关系建立的过成中存在报文发送的过程。可选地,当故障设备建立邻居关系后处于exstart状态时,开始发送报文。发送的报文可以是上述各实施例中提及的第一报文或者第四报文。
本实施例中,借助hello报文实现故障设备和邻居设备之间邻居关系的建立,再基于邻居关系建立邻接关系,并且在邻接关系建立的过程中会存在报文的生成和发送。在邻接关系建立过程中发送的报文能够使邻居设备按照图1或图3所示实施例的方式得到故障设备最新的LSA,从而路由决策,并按照决策结果进行数据包的发送,也就避免因使用陈旧LSA而出现的数据包丢失问题。
按照上述各实施例提供的方法能够使邻居设备获取故障设备故障恢复后最新的LSA,同时根据OSPF网络中各设备的LSA计算最短路径树,从而以最短路径树为依据实现路由决策。
继续承接图2所示的OSPF网络,具体过程可以描述为:
当网络中的各设备都处于正常运行状态时,考虑到通信成本,设备1向设备4发送数据包所使用两条通信成本相同的路径,即PATH1:设备1-设备2-设备4;PATH2:设备1-设备3-设备4。其中,设备4的接口地址可以为:1.1.1.1,设备1与设备2对应的接口为gi0/1,该接口的接口地址可以为192.168.1.2,设备1与设备3对应的接口为gi0/2,该接口的地址可以为192.168.2.2,设备1根据OSPF网络中各设备的LSA可以计算得到如表1所示的路由表:
表1
目标地址 | 下一跳地址 | 接口 |
1.1.1.1 | 192.168.1.2 | gi0/1 |
192.168.2.2 | gi0/2 |
按照上述路由表,设备1可以借助gi0/1接口以及接口地址192.168.1.2将一部分数据包发送至设备2,同时借助gi0/2接口以及接口地址192.168.2.2将另一部分数据包发送至设备3,类似的,设备2和设备3也可以根据自身的路由表进一步将数据包发送至设备4。
随着网络的运行,若设备2发生故障,则只有上述PATH2能够正常传输数据包,此时故障设备2的邻居设备即设备1的路由表可以如表2所示:
表2
目标地址 | 下一跳地址 | 接口 |
1.1.1.1 | 192.168.2.2 | gi0/2 |
即设备1可以借助gi0/2接口以及接口地址192.168.2.2将另一部分数据包发送至设备3,再由设备3将数据包最终发送至设备4。
而当故障设备2完成故障恢复后,故障设备2的LSA可能发生变化,此时使用上述各实施例提供的方法,邻居设备1可以得到并使用故障设备2最新的LSA重新计算最短路径树,通过最短路径树得到的路径为PATH1是将数据包有设备1传输至设备4所需通信成本最小的路径。此时,故障设备2的邻居设备即设备1路由表可以变化为如下的表3:
表3
目标地址 | 下一跳地址 | 接口 |
1.1.1.1 | 192.168.1.2 | gi0/1 |
即设备1可以借助gi0/1接口以及接口地址192.168.1.2将数据包发送至已经完成故障恢复设备2,再由设备2将数据包最终发送至设备4。
与上述邻居设备实现路由决策过程相似的,当故障设备2故障恢复后,可以得到自身产生的第一报文和邻居设备发送的第二报文,也即是可知晓OSPF网络中各设备的LSA,并进一步根据LSA计算最短路径树。
对于需要从设备1发送至设备4的数据包,考虑到设备之间的通信成本,故障设备2同样可以得到上述决策结果:PATH1:设备1-设备2-设备4;PATH2:设备1-设备3-设备4,并且这两条路径具有相同的通信成本。同时使用这两条路径实现数据包的传输。
上述各实施例是从方法的角度描述邻居设备获取故障设备最新的LSA并进行路由决策的过程。由于故障设备和邻居设备都属于同一OSPF网络,则在此基础上,还可以从整个网络的角度描述上述各实施例中的内容。
则图5为本发明实施例提供的一种OSPF网络的结构框架图。如图5所示,该网络包括:故障设备和故障设备的邻居设备。其中,此故障设备处于故障恢复状态。
故障设备发送包含故障设备故障恢复后LSA的版本标识的第一报文至邻居设备。邻居设备在接收到第一报文后,会根据生成并发送第二报文至故障设备。故障设备会对第二报文进行分析。经过分析,一种情况,若第二报文表明邻居设备具有故障设备的LSA,则根据第二报文中故障设备的故障前LSA的版本标识,修改第一报文中故障设备的故障恢复后LSA的版本标识,以得到第三报文。其中,经过版本标识的修该,第三报文中故障恢复后LSA的版本高于第二报文中故障前LSA的版本;
最终,邻居设备会用第三报文替换第二报文,根据第三报文中故障设备LSA的版本标识获取故障设备最新的LSA,再结合自身本地存储的OSPF网络中其他设备的LSA进行路由决策,并根据路由决策结果实现与故障设备之间数据包的传输。
报文中LSA的版本标识具体可以LSA的版本号,则对于第一报文中故障恢复后LSA的版本号的修改,可选地,可以直接将第一报文中故障恢复后LSA的版本号修改为一个较大的数值C1。可选地,也可以格局第二报文中故障前LSA的版本号修改故障恢复后LSA的版本号,具体修改方式可以参见上述方法实施例中的相关描述,在此不再赘述。
经过故障设备对第二报文的分析,可选地,另一种情况,邻居设备发送的第二报文表明邻居设备不具有故障设备的LSA,表明邻居发送的是OSPF网络中其他设备的LSA的版本标识,则故障设备会存储此第二报文,并根据第一报文和第二报文中LSA的版本标识获取对应的LSA,从而实现路由决策,并根据路由决策的结果实现与邻居设备之间数据包的传输。
可选地,无论是故障设备还是邻居设备,其向对方设备发送的报文中还可以设置有预设标识位,该预设标识位数值的不同能够反映设备是否已经将自身本地存储的LSA的版本标识全部发送至对方设备。
本实施例未详细描述的部分,可参考对图1至图4所示实施例的相关说明。该技术方案的执行过程和技术效果参见图1至图4所示实施例中的描述,在此不再赘述。
以下将详细描述本发明的一个或多个实施例的开放式最短路径优先路由OSPF网络中的设备。本领域技术人员可以理解,这些OSPF设备均可使用市售的硬件组件通过本方案所教导的步骤进行配置来构成。
图6为本发明实施例提供的一种OSPF设备的结构示意图,如图6所示,OSPF设备处于故障恢复状态,该设备包括:
发送模块11,用于发送第一报文至所述故障设备的邻居设备,所述第一报文包含所述故障设备故障恢复后的链路状态通告LSA的版本标识;发送第三报文至所述邻居设备,以使所述邻居设备根据所述第三报文进行路由决策。
修改模块12,用于若所述邻居设备发送的第二报文表明所述邻居设备具有所述故障设备的LSA,则根据所述第二报文中故障设备故障前LSA的版本标识,修改所述第一报文中故障设备故障恢复后LSA的版本标识,以得到第三报文,所述第三报文中故障恢复后LSA的版本高于所述第二报文中故障前LSA的版本,所述第二报文在所述邻居设备接收到所述第一报文之后发送。
可选地,所述版本标识包括版本号。
所述修改模块12具体用于:增大所述故障前LSA的版本号,以得到更新后版本号;
将所述更新后版本号替换所述第一报文中的故障恢复后LSA的版本号,以得到所述第三报文,所述更新后版本号、所述故障前LSA的版本号以及所述故障恢复后LSA的版本号依次减小。
其中,所述第一报文和所述第三报文包括预设标识位,所述预设标识位表明所述故障设备已将本地全部LSA的版本标识发送至所述邻居设备。
可选地,所述OSPF设备还包括存储模块13和决策模块14。
所述存储模块13,用于若所述第二报文表明所述邻居设备不具有所述故障设备的LSA,则存储所述第二报文。
所述决策模块14,用于根据所述第一报文和所述第二报文获取所述OSPF网络中具有邻接关系的设备之间的通信成本;根据所述通信成本进行路由决策。
可选地,所述发送模块11还用于:发送第四报文至所述邻居设备,以使所述邻居设备根据所述第一报文、所述第二报文和所述第四报文进行路由决策,其中,所述第四报文包含所述OSPF网络中其他设备的LSA的版本标识;所述第四报文中的预设标识位表明所述故障设备未将本地全部LSA的版本标识发送至所述邻居设备。
可选地,所述OSPF设备还包括:关系建立模块15和生成模块16。
所述关系建立模块15,用于响应于所述故障设备的重新启动,建立所述故障设备与所述邻居设备之间的邻居关系。
所述生成模块16,用于基于所述邻居关系,在所述故障设备与所述邻居设备的邻接关系建立之后,生成所述第一报文。
图6所示装置可以执行图1至图4所示实施例的方法,本实施例未详细描述的部分,可参考对图1至图4所示实施例的相关说明。该技术方案的执行过程和技术效果参见图1至图4所示实施例中的描述,在此不再赘述。
以上描述了路由信息处理装置的内部功能和结构,在一个可能的设计中,上述的路由信息处理装置具体可以借助一种电子设备实现。如图7所示,该电子设备可以包括:处理器21和存储器22。其中,所述存储器22用于存储支持该电子设备执行上述图1至图4所示实施例中提供的路由信息处理方法的程序,所述处理器21被配置为用于执行所述存储器22中存储的程序。
所述程序包括一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器21执行时能够实现如下步骤:
发送第一报文至所述故障设备的邻居设备,所述第一报文包含所述故障设备故障恢复后的链路状态通告LSA的版本标识;
若所述邻居设备发送的第二报文表明所述邻居设备具有所述故障设备的LSA,则根据所述第二报文中故障设备故障前LSA的版本标识,修改所述第一报文中故障设备故障恢复后LSA的版本标识,以得到第三报文,所述第三报文中故障恢复后LSA的版本高于所述第二报文中故障前LSA的版本,所述第二报文在所述邻居设备接收到所述第一报文之后发送;
发送所述第三报文至所述邻居设备,以使所述邻居设备根据所述第三报文进行路由决策。
可选地,所述处理器21还用于执行前述图1至图4所示实施例中的全部或部分步骤。
其中,所述电子设备的结构中还可以包括通信接口23,用于该电子设备与其他设备或通信网络通信。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种路由信息处理方法,其特征在于,应用于开放式最短路径优先OSPF网络中的故障设备,所述故障设备处于故障恢复状态,所述方法包括:
发送第一报文至所述故障设备的邻居设备,所述第一报文包含所述故障设备故障恢复后的链路状态通告LSA的版本标识;
若所述邻居设备发送的第二报文表明所述邻居设备具有所述故障设备的LSA,则根据所述第二报文中故障设备故障前LSA的版本标识,修改所述第一报文中故障设备故障恢复后LSA的版本标识,以得到第三报文,所述第三报文中故障恢复后LSA的版本高于所述第二报文中故障前LSA的版本,所述第二报文在所述邻居设备接收到所述第一报文之后发送;发送所述第三报文至所述邻居设备,以使所述邻居设备根据所述第三报文进行路由决策。
2.根据权利要求1所述的方法,其特征在于,所述版本标识包括版本号;
所述根据所述第二报文中故障设备故障前LSA的版本标识,修改所述第一报文中故障设备故障恢复后LSA的版本标识,包括:
增大所述故障前LSA的版本号,以得到更新后版本号;
将所述更新后版本号替换所述第一报文中的故障恢复后LSA的版本号,以得到所述第三报文,所述更新后版本号、所述故障前LSA的版本号以及所述故障恢复后LSA的版本号依次减小。
3.根据权利要求1所述的方法,其特征在于,所述第一报文和所述第三报文包括预设标识位,所述预设标识位表明所述故障设备已将本地全部LSA的版本标识发送至所述邻居设备。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述第二报文表明所述邻居设备不具有所述故障设备的LSA,则存储所述第二报文;
根据所述第一报文和所述第二报文,获取所述OSPF网络中具有邻接关系的设备之间的通信成本;
根据所述通信成本进行路由决策。
5.根据权利要求4所述的方法,其特征在于,所述发送第一报文至所述故障设备的邻居设备之前,所述方法还包括:
发送第四报文至所述邻居设备,以使所述邻居设备根据所述第一报文、所述第二报文和所述第四报文进行路由决策,其中,所述第四报文包含所述OSPF网络中其他设备的LSA的版本标识;所述第四报文中的预设标识位表明所述故障设备未将本地全部LSA的版本标识发送至所述邻居设备。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于所述故障设备的重新启动,建立所述故障设备与所述邻居设备之间的邻居关系;
基于所述邻居关系,在所述故障设备与所述邻居设备的邻接关系建立完成之后,生成所述第一报文。
7.根据权利要求1所述的方法,其特征在于,所述故障设备和所述邻居设备包括所述OSPF网络内的路由器。
8.一种开放式最短路径优先路由OSPF网络,其特征在于,包括:故障设备和所述故障设备的邻居设备,所述故障设备处于故障恢复状态;
所述故障设备,用于发送第一报文至所述故障设备的邻居设备,所述第一报文包含所述故障设备故障恢复后的链路状态通告LSA的版本标识;
若第二报文表明所述邻居设备具有所述故障设备的LSA,则根据所述第二报文中故障设备故障前LSA的版本标识,修改所述第一报文中故障设备故障恢复后LSA的版本标识,以得到第三报文,所述第三报文中故障恢复后LSA的版本高于所述第二报文中故障前LSA的版本,所述第二报文在所述邻居设备接收到所述第一报文之后发送;
发送所述第三报文至所述邻居设备;
所述邻居设备,用于发送所述第二报文;根据所述第三报文进行路由决策。
9.一种开放式最短路径优先路由OSPF网络中的设备,其特征在于,所述OSPF设备处于故障恢复状态;
发送模块,用于发送第一报文至所述故障设备的邻居设备,所述第一报文包含所述故障设备故障恢复后的链路状态通告LSA的版本标识;发送第三报文至所述邻居设备,以使所述邻居设备根据所述第三报文进行路由决策;
修改模块,用于若所述邻居设备发送的第二报文表明所述邻居设备具有所述故障设备的LSA,则根据所述第二报文中故障设备故障前LSA的版本标识,修改所述第一报文中故障设备故障恢复后LSA的版本标识,以得到第三报文,所述第三报文中故障恢复后LSA的版本高于所述第二报文中故障前LSA的版本,所述第二报文在所述邻居设备接收到所述第一报文之后发送。
10.一种开放式最短路径优先路由OSPF网络中的设备,其特征在于,所述OSPF设备处于故障恢复状态;
所述OSFP设备包括:存储器、处理器;其中,所述存储器上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如权利要求1至7中任一项所述的路由信息处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111454974.3A CN116260763A (zh) | 2021-12-01 | 2021-12-01 | 路由信息处理方法、ospf设备和ospf网络 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111454974.3A CN116260763A (zh) | 2021-12-01 | 2021-12-01 | 路由信息处理方法、ospf设备和ospf网络 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116260763A true CN116260763A (zh) | 2023-06-13 |
Family
ID=86681130
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111454974.3A Pending CN116260763A (zh) | 2021-12-01 | 2021-12-01 | 路由信息处理方法、ospf设备和ospf网络 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116260763A (zh) |
-
2021
- 2021-12-01 CN CN202111454974.3A patent/CN116260763A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8856584B2 (en) | Transport control server that modifies routing information | |
CN112995029B (zh) | 一种传输路径故障的处理方法、装置及系统 | |
CN113261245B (zh) | 网络链路或节点故障的恢复系统和方法 | |
US8432913B2 (en) | Relay device, network system, route switching method, and recording medium | |
US8817798B2 (en) | Constraining topology size and recursively calculating routes in large networks | |
CN100542111C (zh) | 基于共享风险链路群组信息确定网络路由选择信息的方法和装置 | |
EP1905196B1 (en) | Method and apparatus for updating label-switched paths | |
US9755962B2 (en) | Reducing link state protocol traffic during graceful restart | |
KR101463364B1 (ko) | 라우팅 정보의 룩헤드 계산 | |
US20120124238A1 (en) | Prioritization of routing information updates | |
CN102404189A (zh) | 支持多拓扑路由的设备进行主备倒换的方法及主控板 | |
CN102325080B (zh) | 一种ospf协议平滑重启方法和装置 | |
CN103152261A (zh) | 一种链路状态协议数据单元分片报文生成发布方法和设备 | |
CN103746828A (zh) | 一种管理网络节点的方法及装置 | |
JP2005333383A (ja) | 障害救済処理方法およびプログラム | |
US8514876B2 (en) | Method and apparatus for sequencing operations for an incoming interface check in data center ethernet | |
JP6042838B2 (ja) | 管理システム、管理サーバ、および管理方法 | |
CN116260763A (zh) | 路由信息处理方法、ospf设备和ospf网络 | |
US9143399B2 (en) | Minimizing the number of not-via addresses | |
CN114430387B (zh) | 一种节点的配置方法、控制器和节点 | |
CN114041279B (zh) | 用于对igp分区进行抽象化的系统和方法 | |
JP2013034080A (ja) | 経路情報更新システム、及び経路情報更新方法 | |
JP2004349881A (ja) | フラッディング量削減方法および通信装置 | |
JP2006094313A (ja) | ルーティングリカバリシステム | |
CN114978886A (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 |