CN112565080B - 开放式最短路径优先的邻居建立方法及装置 - Google Patents
开放式最短路径优先的邻居建立方法及装置 Download PDFInfo
- Publication number
- CN112565080B CN112565080B CN202011394182.7A CN202011394182A CN112565080B CN 112565080 B CN112565080 B CN 112565080B CN 202011394182 A CN202011394182 A CN 202011394182A CN 112565080 B CN112565080 B CN 112565080B
- Authority
- CN
- China
- Prior art keywords
- routing
- message
- routing device
- state
- 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.)
- 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/12—Shortest path evaluation
-
- 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/32—Flooding
-
- 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/54—Organization of routing tables
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明实施例提供一种开放式最短路径优先的邻居建立方法及装置,在预设时间内未接收到第二路由设备发送的hello报文时,将所述第二路由设备从第一路由设备的邻居列表中删除,更新链路状态通告LSA并泛洪至全网;接收所述第二路由设备通过确定的第一路径发送的第一消息;将所述第二路由设备添加到所述邻居列表并更新链路状态通告LSA并泛洪至全网,并向所述第二路由设备发送第二消息;上述方法在接收到第一消息时将单向连通的路由设备添加到邻居列表,可以在单向链路中实现OSPF,提高了网络资源的利用率。
Description
技术领域
本发明实施例涉及通信技术领域,尤其涉及一种开放式最短路径优先的邻居建立方法及装置。
背景技术
开放式最短路径优先(Open Shortest Path First,OSPF)是一种内部网关协议,用于在单一自治系统(autonomous system,AS)内决策路由,是对链路状态路由协议的一种实现。
在现有技术中,网络中的任一路由设备需要同其他路由设备建立邻居关系,通过发送hello报文来建立双向通信,再通过交换一系列报文达到数据库同步。然而,当两个路由设备之间的链路为单向连通时,OSPF往往默认双向链路均处于不可用的状态。
在单向连通链路中的路由设备无法建立邻居关系,使得单向链路长期处于闲置状态,造成网络资源的浪费。
发明内容
本发明实施例提供一种开放式最短路径优先的邻居建立方法及装置,以解决无法在单向链路中实现OSPF,提高了网络资源的利用率。
第一方面,本发明实施例提供一种开放式最短路径优先的邻居建立方法,应用于第一路由设备,包括:
在预设时间内未接收到第二路由设备发送的hello报文时,将所述第二路由设备从第一路由设备的邻居列表中删除,更新链路状态通告LSA并泛洪至全网;
接收所述第二路由设备通过确定的第一路径发送的第一消息;所述第一消息用于表示所述第一路由设备与所述第二路由设备之间的链路状态为单向连通;
将所述第二路由设备添加到所述邻居列表,更新链路状态通告LSA并泛洪至全网,向所述第二路由设备发送第二消息;所述第二消息为所述第一路由设备针对所述第一消息的响应。
可选的,向所述第二路由设备发送第二消息后,所述第一路由设备发送的hello报文为带有单向链路标识的hello报文。
可选的,所述方法还包括:
在预设时间内未接收到第二路由设备发送的hello报文,将所述第一路由设备的状态更新为失效状态;
接收到第二路由设备发送的第一消息,将所述第一路由设备的状态更新为单向发送状态。
可选的,所述方法还包括:
接收所述第二路由设备通过确定的第二路径发送的第三消息;所述第三消息用于表示所述第一路由设备与第二路由设备之间的链路状态为双向中断;
将所述第二路由设备从所述邻居列表中删除,更新链路状态通告LSA并泛洪至全网;
将所述第一路由设备的状态更新为失效状态。
可选的,所述方法还包括:
接收所述第二路由设备发送的hello报文,并向所述第二路由设备发送带有第二路由设备标识的hello报文;
将所述第一路由设备的状态更新为双向通信状态。
第二方面,本发明实施例提供一种开放式最短路径优先的邻居建立方法,应用于第二路由设备,包括:
接收到第一路由设备发送的hello报文为不带有第二路由设备标识的hello报文时,将所述第一路由设备从第二路由设备的邻居列表中删除,更新链路状态通告LSA并泛洪至全网,将所述第二路由设备的状态更新为单向接收状态;
通过第一路径向所述第一路由设备发送第一消息,所述第一消息用于表示所述第一路由设备与所述第二路由设备之间的链路状态为单向连通,以使所述第一路由设备根据第一消息生成第二消息;
接收所述第二消息和带有单向链路标识的hello报文,并将接收的所述带有单向链路标识的hello报文丢弃。
可选的,所述方法还包括:
在预设时间内未接收到所述第一路由设备发送的hello报文时,通过第二路径向所述第一路由设备发送第三消息,将所述第二路由设备的状态更新为失效状态;所述第三消息用于表示所述第一路由设备与第二路由设备之间的链路状态为双向中断状态;
当接收所述第一路由设备发送的带有第二路由设备标识的hello报文时,将所述第一路由设备添加到第二路由设备的邻居列表,更新链路状态通告LSA并泛洪至全网,将所述第二路由设备的状态更新为双向通信状态。
第三方面,本发明实施例提供一种开放式最短路径优先的邻居建立装置,应用于第一路由设备,包括:
第一删除模块,用于在预设时间内未接收到第二路由设备发送的hello报文时,将所述第二路由设备从第一路由设备的邻居列表中删除,更新链路状态通告LSA并泛洪至全网;
第一接收模块,用于接收所述第二路由设备通过确定的第一路径发送的第一消息;所述第一消息用于表示所述第一路由设备与所述第二路由设备之间的链路状态为单向连通;
第一添加模块,用于将所述第二路由设备添加到所述邻居列表,更新链路状态通告LSA并泛洪至全网;
第一发送模块,用于向所述第二路由设备发送第二消息;所述第二消息为所述第一路由设备针对所述第一消息的响应;
第一更新模块,用于对路由设备的状态进行更新。
第四方面,本发明实施例提供一种开放式最短路径优先的邻居建立装置,应用于第二路由设备,包括:
第二删除模块,用于接收到第一路由设备发送的hello报文为不带有第二路由设备标识的hello报文时,将所述第一路由设备从第二路由设备的邻居列表中删除,更新链路状态通告LSA并泛洪至全网;
第二更新模块,用于对路由设备的状态进行更新;
第二发送模块,用于通过第一路径向所述第一路由设备发送第一消息,以使所述第一路由设备根据第一消息生成第二消息;
第二接收模块,用于接收所述第二消息和带有单向链路标识的hello报文,并将接收的所述带有单向链路标识的hello报文丢弃;
第二添加模块,用于将所述第一路由设备添加到第二路由设备的邻居列表,更新链路状态通告LSA并泛洪至全网。
第五方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如第一方面任一项所述的开放式最短路径优先的邻居建立方法。
本发明实施例提供的开放式最短路径优先的邻居建立方法及装置,该方法通过在预设时间内未接收到第二路由设备发送的hello报文时,将所述第二路由设备从第一路由设备的邻居列表中删除,更新链路状态通告LSA并泛洪至全网;接收所述第二路由设备通过确定的第一路径发送的第一消息;所述第一消息用于表示所述第一路由设备与所述第二路由设备之间的链路状态为单向连通;将所述第二路由设备添加到所述邻居列表,更新链路状态通告LSA并泛洪至全网,向所述第二路由设备发送第二消息;所述第二消息为所述第一路由设备针对所述第一消息的响应,实现了通过接收路由设备发送的第一消息来将单向连通的路由设备添加到邻居列表,进而在单向链路中实现OSPF,提高了网络资源的利用率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的开放式最短路径优先的邻居建立方法的应用场景示意图;
图2为本发明实施例一提供的开放式最短路径优先的邻居建立方法的流程图;
图3为本发明实施例提供的OSPF的状态转移图;
图4为本发明实施例二提供的开放式最短路径优先的邻居建立方法的流程图;
图5为本发明实施例三提供的另一种开放式最短路径优先的邻居建立方法的流程图;
图6为本发明实施例四提供的另一种开放式最短路径优先的邻居建立方法的流程图;
图7为本发明实施例提供的开放式最短路径优先的邻居建立装置的结构示意图;
图8为本发明实施例提供的另一种开放式最短路径优先的邻居建立装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
图1为本发明实施例提供的开放式最短路径优先的邻居建立方法的应用场景示意图,如图1所示,在一个网络中包含多个路由设备RTA、RTB、RTC、RTD和RTE,其中路由设备RTA与路由设备RTB之间的链路状态为单向连通,路由设备RTA不能向路由设备RTB发送消息,但是可以接收来自路由设备RTB的消息,其余多个路由设备之间均为双向连通。
现有技术中,在实现OSPF的方法建立两个路由设备之间的邻居关系时,需要两个路由设备之间的链路为双向连通,一旦存在链路为单向连通时,OSPF则会认为双向链路均中断,将对方路由设备从自身邻居列表中删除。
在实际中,例如在卫星通信网络上,由于太空复杂的环境可能会导致发射器或接收器的损坏,使得发射器与接收器之间只能形成一条单向链路,从而使得现有的OSPF协议不能在卫星通信网络上使用,导致卫星间的单向链路长期处于闲置状态,造成资源的浪费。
本发明实施例提供的开放式最短路径优先的邻居建立方法,通过在预设时间内未接收到第二路由设备发送的hello报文时,将所述第二路由设备从第一路由设备的邻居列表中删除,更新链路状态通告LSA并泛洪至全网;接收所述第二路由设备通过确定的第一路径发送的第一消息;所述第一消息用于表示所述第一路由设备与所述第二路由设备之间的链路状态为单向连通;将所述第二路由设备添加到所述邻居列表,更新链路状态通告LSA并泛洪至全网,向所述第二路由设备发送第二消息,通过在接收到第一消息时并将单向连通的路由设备添加到邻居列表,可以在单向链路中实现OSPF,提高了网络资源的利用率。
图2为本发明实施例一提供的开放式最短路径优先的邻居建立方法的流程图,如图2所示,本实施例的方法,应用于第一路由设备,可以包括:
S201:在预设时间内未接收到第二路由设备发送的hello报文时,将所述第二路由设备从第一路由设备的邻居列表中删除,更新链路状态通告LSA并泛洪至全网。
在本实施例中,hello报文为OSPF协议中两个路由设备之间发现并建立邻居关系时发送的一种报文。hello报文包括路由器及路由器的接口的基本信息,例如,路由器的标识、路由器接口的地址掩码、路由器接口发送hello报文时间间隔、路由器接口的无效时间等。
在本实施例中,邻居列表是针对路由设备而言的,邻居列表中存储有该路由设备的邻居路由设备的基本信息,如维护路由设备的一些信息。
在本实施例中,LSA(Link-State Advertisement,链路状态通告)包含链路两端路由设备以及链路状态的信息,当路由设备的邻居关系发生更新时,发生变更的路由设备会将链路状态LSA报文封装于LSU中,并将链路状态LSA泛洪到全网的路由设备。
当第一路由设备未接收到第二路由设备发送的hello报文时,则第一路由设备认为与第二路由设备之间的链路为双向中断,然而,实际中有可能仅仅是单向中断,即第一路由设备不能接收第二路由设备发送的hello报文,但是可以向第二路由设备发送hello报文。例如,图1中RTB接收不到RTA发送的hello报文,但是RTA可以接收到RTB发送的hello报文。
对于路由设备来说,当在预设时间内接收不到第二路由设备发送的hello报文时,则会判断与第二路由设备的邻居关系失效,将第二路由设备从第一路由设备的邻居列表中删除。
其中,预设时间指的是RouterDeadInterval路由器接口的无效时间,所述失效时间一般为HelloInterval路由器接口发送hello报文时间间隔的四倍。
在本实施例中,当将第二路由设备从第一路由设备的邻居列表中删除后,需要更新链路状态通告LSA并泛洪至全网。此处更新链路状态通告LSA指的是:在第一路由设备的链路状态数据库中将第一路由设备至第二路由设备的链路信息删除,并生成新的链路状态通告LSA。在将链路状态通告更新后,将新的链路状态通告LSA泛洪至全网内的其它路由设备。
S202:接收所述第二路由设备通过确定的第一路径发送的第一消息;所述第一消息用于表示所述第一路由设备与所述第二路由设备之间的链路状态为单向连通。
在本实施例中,当所述第一路由设备与第二路由设备之间为单向连接时,第二路由设备不能直接向第一路由设备发送消息,但是第二路由设备可以确定一条第一路径,通过所述第一路径向第一路由设备发送消息。
对于第一路由设备,会接收到来自第二路由设备的第一消息,其中第一消息用于表示两个路由设备之间的链路状态为单向连通,可以为Unidirectional消息。其中,对于所述第一消息的格式不做限定,仅仅用来表示链路状态为单向连通。
此处的单向连通为第一路由设备到第二路由设备之间的链路为连通状态,第二路由设备到第一路由设备之间的链路为中断状态。
S203:将所述第二路由设备添加到所述邻居列表,更新链路状态通告LSA并泛洪至全网,向所述第二路由设备发送第二消息;所述第二消息为所述第一路由设备针对所述第一消息的响应。
在本实施例中,在接收到表示单向连通的第一消息后,第一路由设备获取第一路由设备与第二路由设备之间为单向连通的状态的信息,则第一路由设备将会把第二路由设备重新添加至邻居列表,并且在添加至邻居列表后更新链路状态通告LSA,并且将LSA泛洪至全网。
需要注意的是,当将第二路由设备添加至邻居列表后,即使接收不到hello报文也不会将第二路由设备从邻居列表删除,直至链路为双向中断时,才会将第二路由设备从邻居列表删除。这与标准OSPF的方法是有所区别的,标准OSPF方法在接收不到hello报文时就会将路由设备删除。
第一路由设备在接收到第一消息后,会向第二路由设备发送第二消息,表示确认收到第一消息。其中,第二消息可以为UnidirectionalAck消息。对于所述第二消息的格式不做限定。
在本实施例中,通过在接收到第二路由设备发送的第一消息时,其中第一消息表示第一路由设备与第二路由设备之间的链路状态为单向连通,将已经被删除的第二路由设备重新添加至第一路由设备的邻居列表中,并且更新链路状态通告以及泛洪至全网,并向第二路由设备发送确认收到第一消息的第二消息,可以实现在单向链路中建立邻居关系来实现OSPF,提高了网络资源的利用率;进一步的,可以实现在卫星间的单向链路上使用OSPF协议。
可选的,向所述第二路由设备发送第二消息后,所述第一路由设备发送的hello报文为带有单向链路标识的hello报文。
在本实施例中,路由设备会一直向相邻的路由设备发送hello报文,同时也接收来自相邻路由设备发送的hello报文。其中,所述接收hello报文中包括自身的路由标识时,表示两个路由设备为双向通信状态。
当第一路由设备在接收不到第二路由设备发送的hello报文时,第一路由设备发送的hello报文不包括第二路由设备的路由标识。但是当第一路由设备接收到来自第二路由设备的第一消息后,第一路由设备可以确定链路状态为单向连接,因此发送的hello报文需要与链路中断状态或链路双向连通状态时的hello报文有所区别,以使第二路由设备根据接收的hello报文能够获取链路的状态。因此,在hello报文中添加单向链路标识。
在单向连接的状态下,第一路由设备发送的报文中添加单向链路标识,可以使得第二路由设备在接收到所述报文时,能够确定链路的状态。
可选的,所述方法还包括:在预设时间内未接收到第二路由设备发送的hello报文,将所述第一路由设备的状态更新为失效状态;接收到第二路由设备发送的第一消息,将所述第一路由设备的状态更新为单向发送状态。
图6为本发明实施例提供的OSPF的状态转移图。在本实施例中,为第一路由设备增加了一种状态:单向发送状态,表示为UnidSnd,表示接收到链路为单向连接的第一消息,可以向第二路由设备发送hello报文。在OSPF协议中在邻居建立的过程中,路由设备的状态包括:失效状态Down,双向通信状态2-Way、完全邻接状态Full。失效状态表示为Down,表示没有从相邻的路由设备接收到任何信息;双向通信状态表示为2-Way,表示从相邻的路由设备接收到包含自己的路由标识的hello报文;完全邻接状态表示为Full,表示建立完全邻接关系。
当第一路由设备在预设时间未接收到hello报文时,则表示邻居关系失效,将路由设备的状态进行更新。具体的,将第一路由设备的状态由完全邻接状态Full更新为失效状态Down。
当接收到表示链路状态为单向连接的第一消息时,表示第一路由设备可以接收第一消息,将路由设备的状态更新为单向发送状态UnidSnd。
需要说明的是,在单向发送状态下,第一路由设备接收不到第二路由设备的hello报文,但是第二路由设备会一直存储在第一路由设备的邻居列表中。
在本实施例中,将路由设备的状态增加一个单向发送状态,可以与传统OSPF协议中的状态进行区分,能够更好的体现两个路由设备之间的链路状态。
下面采用一个实施例来说明当路由设备之间的链路状态发生改变时的邻居建立过程进行详细描述。
图4为本发明实施例二提供的开放式最短路径优先的邻居建立方法的流程图,如图4所示,本实施例的方法,在S203之后,还可以包括:S204、S205和S206,对链路状态由单向连通转换为双向中断时的邻居建立方法进行说明。
S204:接收所述第二路由设备通过确定的第二路径发送的第三消息;所述第三消息用于表示所述第一路由设备与第二路由设备之间的链路状态为双向中断。
在本实施例中,第一路由设备仅可以通过接收hello报文来获知第二路由设备到第一路由设备的链路状态,但是不能获知第一路由设备到第二路由设备的链路状态。第一路由设备到第二路由设备的链路状态可以通过第二路由设备接收的hello报文来获取。
当两个路由设备之间的链路状态为双向中断时,第二路由设备会向第一路由设备发送第三消息,用于表示当前的链路状态为双向中断。第一路由设备会接收所述第三消息,通过所述第三消息,第一路由设备可以获知链路状态。其中,对所述第三消息的格式不做限定。
S205:将所述第二路由设备从所述邻居列表中删除,更新链路状态通告LSA并泛洪至全网。
在链路状态为双向中断的状态下,第一路由设备与第二路由设备的邻居关系失效,因此,将所述第二路由设备从所述邻居列表中删除,更新链路状态通告LSA并泛洪至全网。
S206:将所述第一路由设备的状态更新为失效状态。
如图3所示,当第一路由设备接收到第三消息时,表示链路状态是由单向连接状态转换为双向中断,因此将第一路由设备的状态由单向发送状态UnidSnd更新为失效状态Down。
上述方法中,当链路状态由单向连接转换为双向中断时,通过第三消息来获取链路状态,可以使得第一路由设备及时获取链路状态,并更新邻居列表和LSA。
如图4所示,本实施例的方法,在S203之后,还可以包括:S207和S208,对链路状态由单向连通转换为双向连通时的邻居建立方法进行说明。
S207:接收所述第二路由设备发送的hello报文,并向所述第二路由设备发送带有第二路由设备标识的hello报文。
在本实施例中,当两个路由设备之间的链路状态为双向连通时,第一路由设备可以接收到第二路由设备发送的hello报文,第一路由设备在接收到hello报文时,可以获知第一路由设备与第二路由设备之间链路为双向连通状态。
在接收到hello报文后,第一路由设备向第二路由设备发送的hello报文中包含第二路由设备标识,使得第二路由设备根据接收的hello报文来获知链路状态为双向连通状态。
此外,还会将hello报文中的单向链路标识去除,否则第二路由设备无法根据hello报文来获知链路状态。
S208:将所述第一路由设备的状态更新为双向通信状态。
在本实施例中,当第一路由设备在接收到hello报文时,表示链路状态由单向连接转换为双向连通时,会将第一路由设备的状态进行更新。如图3所示,第一路由设备的状态会由单向发送状态UnidSnd转换为双向通信状态2-Way。
上述方法中,当链路状态由单向连接转换为双向连通时,通过hello报文来获取链路状态,可以使得第一路由设备及时获取链路状态。
本发明实施例,在单向连通链路时,向第二路由设备发送的hello报文包含单向链路标识,以使第二路由设备可以准确获取链路状态;通过定义单向发送状态来与现有的OSPF协议的状态进行区分,准确表示路由设备的状态;当链路状态由单向连通转换为双向中断时,通过接收第二路由设备发送的第三消息能够准确的确定链路状态;当链路状态由单向连通转换为双向连通时,通过接收第二路由设备发送的hello报文来确定链路状态,能够使得所述OSPF协议在单向连通链路中建立邻居关系的过程更加完善,提高了OSPF协议在单向链路使用的可靠性;进一步的,提高了单向链路状态下网络资源的利用率。
图5为本发明实施例三提供的另一种开放式最短路径优先的邻居建立方法的流程图,如图5所示,本实施例的方法,应用于第二路由设备,可以包括:
S501:接收到第一路由设备发送的hello报文为不带有第二路由设备标识的hello报文时,将所述第一路由设备从第二路由设备的邻居列表中删除,更新链路状态通告LSA并泛洪至全网,将所述第二路由设备的状态更新为单向接收状态。
在本实施例中,第二路由设备根据接收的hello报文可以判断与第一路由设备之间链路的状态,当接收的hello报文为不带有自身路由设备标识时,表示第二路由设备可以成功地接收到第一路由设备发送的报文,但是第二路由设备不能成功地向第一路由设备发送报文。
其中,在对接收到的hello报文进行判断时,可以对多次接收的hello报文的内容进行判断,若均不包含自身路由设备标识,则第二路由设备至第一路由设备的链路发生中断。例如,三次收到的hello报文均不含有自身路由设备标识。
在确定链路状态为第二路由设备至第一路由设备的链路发生中断,则邻居关系失效,会将第一路由设备从第二路由设备的邻居列表中删除。同时,还会更新链路状态通告。
此外,还为第一路由设备增加了另一种状态:单向接收状态,表示为UnidRcv,其中单向接收状态为:可以接收到hello报文,但是接收的hello报文中不包含自身的路由设备标识。此时,需要将第二路由设备的状态进行更新,从完全邻接状态Full改变为单向接收状态UnidRcv。
S502:通过第一路径向所述第一路由设备发送第一消息,所述第一消息用于表示所述第一路由设备与所述第二路由设备之间的链路状态为单向连通,以使所述第一路由设备根据第一消息生成第二消息。
在本实施例中,第二路由设备在链路为单向连通时,会向第一路由设备发送第一消息,由于第二路由设备到第一路由设备之间的链路为中断状态,因此第二路由设备需要确定第一路径,通过第一路径向第一路由设备发送第一消息。
其中,第一路径的确定方法为:获取所述第一路由设备的地址;根据链路状态通告LSA确定链路状态数据库LSDB(Link State DataBase),根据所述链路状态数据库LSDB确定路由表,根据所述路由表和第一路由设备的地址获取确定所述第一路径。
具体的,根据更新的链路状态数据库LSDB可以确定路由表,从路由表中查询第二路由设备到第一路由设备的路径,其中所述路径可以为多条路径,从多条路径中选出最短路径,使得确定的第一路径为最短路径。
如图1所示,对于路由设备RTA可以从路由表中获取到达路由设备RTB的全部路径,通过比较全部路径选择最短路径作为第一路径,如,RTA至RTB的路径包括:RTA-RTE-RTB;RTA-RTE-RTD-RTB;RTA-RTC-RTB,通过比较可以将最短路径RTA-RTC-RTB作为第一路径。
此外,此处发送的第一消息为表示两个路由设备之间的链路状态为单向连通的消息,与上述实施例中的第一消息相同,此处不再赘述。
S503:接收所述第二消息和带有单向链路标识的hello报文,并将接收的所述带有单向链路标识的hello报文丢弃。
在本实施例中,第二路由设备在向第一路由设备发送第一消息后,第一路由设备会根据第一消息进行反馈。第二路由设备会接收到第一路由设备反馈的第二消息,其中第二消息为第一路由设备针对第一消息的响应。其中,当第二路由设备在接收到第二消息后,第二路由设备将停止向第一路由设备发送第一消息。
此外,第二路由设备还会接收到第一路由设备发送的hello报文,此时的hello报文为包含单向链路标识的hello报文,第二路由设备会将该报文丢弃,不做任何处理。
上述方法,通过在单向链路中发送第一消息来表示路由状态,能够实现在单向链路中建立邻居关系。
图6为本发明实施例四提供的另一种开放式最短路径优先的邻居建立方法的流程图,如图6所示,本实施例的方法,在S503之后,还可以包括:S504或S505。
其中,S504表示对链路状态由单向连通转换为双向中断时的邻居建立方法进行说明。
S504:在预设时间内未接收到所述第一路由设备发送的hello报文时,通过第二路径向所述第一路由设备发送第三消息,将所述第二路由设备的状态更新为失效状态;所述第三消息用于表示所述第一路由设备与第二路由设备之间的链路状态为双向中断状态。
在本实施例中,当在预设时间内未接收到hello报文时,表示链路状态由单向连通转为双向中断。其中,此处的hello报文为包含单向链路标识的hello报文。
此处的预设时间为RouterDeadInterval路由器接口的无效时间,所述失效时间一般为HelloInterval路由器接口发送hello报文时间间隔的四倍。
当链路状态发生改变时,第二路由设备需要向第一路由设备发送第三消息,其中第三消息为表示链路状态为双向中断的NonUnidirectional消息。
其中,第二路由设备的状态还会发生改变,会由单向接收状态UnidRcv更新为失效状态Down。
其中,第二路径的确定方法与第一路径的确定方法一致,此处不再赘述。
在本实施例中,当链路状态由单向连通转换为双向中断时,通过向第一路由设备发送第三消息来向第一路由设备传递链路状态。
S505表示对链路状态由单向连通转换为双向通信时的邻居建立方法进行说明。
S505:当接收所述第一路由设备发送的带有第二路由设备标识的hello报文时,将所述第一路由设备添加到第二路由设备的邻居列表,更新链路状态通告LSA并泛洪至全网,将所述第二路由设备的状态更新为双向通信状态。
在本实施例中,当接收到hello报文时,表示链路状态由单向连通转为双向连通。其中,此处的hello报文为包含带有第二路由设备标识(也就是自身路由设备标示)的hello报文。
当第二路由设备到第一路由设备之间的链路连通时,表示邻居关系成立,第二路由设备会将第一路由设备添加至邻居列表,对应的,还会将链路状态通告LSA进行更新,以及将第二路由设备的状态进行更新,由单向接收状态UnidRcv更新为双向通信状态2-Way。
在本实施例中,根据接收的hello报文可以判断链路状态,并且当链路状态为双向连通时,重新将第一路由设备添加至邻居列表,并对链路状态通告及路由设备的状态进行更新。
本发明实施例,在单向连通链路时,向第一路由设备发送第一消息,以使第一路由设备可以准确获取链路状态;通过定义单向接收状态来与现有的OSPF协议的状态进行区分,准确表示路由设备的状态;当链路状态由单向连通转换为双向中断时,通过向第一路由设备发送第三消息,以使第一路由设备能够准确的确定链路状态;当链路状态由单向连通转换为双向连通时,通过接收第一路由设备发送的带有自身路由设备标识的hello报文来确定链路状态,能够使得所述OSPF协议在单向连通链路中建立邻居关系的过程更加完善,提高了OSPF协议在单向链路使用的可靠性;进一步的,提高了单向链路状态下网络资源的利用率。
图7为本发明实施例提供的一种开放式最短路径优先的邻居建立装置的结构示意图,如图7所示,本实施例提供的开放式最短路径优先的邻居建立装置70,可以包括:第一删除模块701、第一接收模块702和第一添加模块703、第一发送模块704和第一更新模块705。
其中,第一删除模块701,用于在预设时间内未接收到第二路由设备发送的hello报文时,将所述第二路由设备从第一路由设备的邻居列表中删除,更新链路状态通告LSA并泛洪至全网;
第一接收模块702,用于接收所述第二路由设备通过确定的第一路径发送的第一消息;所述第一消息用于表示所述第一路由设备与所述第二路由设备之间的链路状态为单向连通;
第一添加模块703,用于将所述第二路由设备添加到所述邻居列表,更新链路状态通告LSA并泛洪至全网;
第一发送模块704,用于向所述第二路由设备发送第二消息;所述第二消息为所述第一路由设备针对所述第一消息的响应;
第一更新模块705,用于对路由设备的状态进行更新。
本发明实施例提供的开放式最短路径优先的邻居建立装置,可以实现上述如图2和图4所示的实施例的开放式最短路径优先的邻居建立方法,其实现原理和技术效果类似,此处不再赘述。
图8为本发明实施例提供的另一种开放式最短路径优先的邻居建立装置的结构示意图,如图8所示,本实施例提供的开放式最短路径优先的邻居建立装置80,可以包括:第二删除模块801、第二更新模块802和第二发送模块803、第二接收模块804和第二添加模块805。
其中,第二删除模块801,用于接收到第一路由设备发送的hello报文为不带有第二路由设备标识的hello报文时,将所述第一路由设备从第二路由设备的邻居列表中删除,更新链路状态通告LSA并泛洪至全网;
第二更新模块802,用于对路由设备的状态进行更新;
第二发送模块803,用于通过第一路径向所述第一路由设备发送第一消息,以使所述第一路由设备根据第一消息生成第二消息;
第二接收模块804,用于接收所述第二消息和带有单向链路标识的hello报文,并将接收的所述带有单向链路标识的hello报文丢弃;
第二添加模块805,用于将所述第一路由设备添加到第二路由设备的邻居列表,更新链路状态通告LSA并泛洪至全网。
本发明实施例提供的开放式最短路径优先的邻居建立装置,可以实现上述如图5和图6所示的实施例的开放式最短路径优先的邻居建立方法,其实现原理和技术效果类似,此处不再赘述。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现上述方法实施例的开放式最短路径优先的邻居建立方法。
上述的计算机可读存储介质,上述可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。可读存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息。当然,可读存储介质也可以是处理器的组成部分。处理器和可读存储介质可以位于专用集成电路(Application Specific IntegratedCircuits,简称:ASIC)中。当然,处理器和可读存储介质也可以作为分立组件存在于设备中。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种开放式最短路径优先的邻居建立方法,应用于第一路由设备,其特征在于,包括:
在预设时间内未接收到第二路由设备发送的hello报文时,将所述第二路由设备从第一路由设备的邻居列表中删除,更新链路状态通告LSA并泛洪至全网,以及向所述第二路由设备发送第一hello报文;所述第一hello报文不带有所述第二路由设备标识,所述第一hello报文用于所述第二路由设备确定所述第二路由设备的状态为单向接收状态;
接收所述第二路由设备通过确定的第一路径发送的第一消息;所述第一消息用于表示所述第一路由设备与所述第二路由设备之间的链路状态为单向连通;
将所述第二路由设备添加到所述邻居列表,更新链路状态通告LSA并泛洪至全网,向所述第二路由设备发送第二消息;所述第二消息为所述第一路由设备针对所述第一消息的响应。
2.根据权利要求1所述的方法,其特征在于,向所述第二路由设备发送第二消息后,所述第一路由设备发送的hello报文为带有单向链路标识的hello报文。
3.根据权利要求2所述的方法,其特征在于,还包括:
在预设时间内未接收到第二路由设备发送的hello报文,将所述第一路由设备的状态更新为失效状态;
接收到第二路由设备发送的第一消息,将所述第一路由设备的状态更新为单向发送状态。
4.根据权利要求1所述的方法,其特征在于,还包括:
接收所述第二路由设备通过确定的第二路径发送的第三消息;所述第三消息用于表示所述第一路由设备与第二路由设备之间的链路状态为双向中断;
将所述第二路由设备从所述邻居列表中删除,更新链路状态通告LSA并泛洪至全网;
将所述第一路由设备的状态更新为失效状态。
5.根据权利要求1所述的方法,其特征在于,还包括:
接收所述第二路由设备发送的hello报文,并向所述第二路由设备发送带有第二路由设备标识的hello报文;
将所述第一路由设备的状态更新为双向通信状态。
6.一种开放式最短路径优先的邻居建立方法,应用于第二路由设备,其特征在于,包括:
接收到第一路由设备发送的hello报文为不带有第二路由设备标识的hello报文时,将所述第一路由设备从第二路由设备的邻居列表中删除,更新链路状态通告LSA并泛洪至全网,将所述第二路由设备的状态更新为单向接收状态;
通过第一路径向所述第一路由设备发送第一消息,所述第一消息用于表示所述第一路由设备与所述第二路由设备之间的链路状态为单向连通,以使所述第一路由设备根据第一消息生成第二消息,以及将所述第二路由设备添加到所述邻居列表,所述第二消息为所述第一路由设备针对所述第一消息的响应;
接收所述第二消息和带有单向链路标识的hello报文,并将接收的所述带有单向链路标识的hello报文丢弃。
7.根据权利要求6所述的方法,其特征在于,还包括:
在预设时间内未接收到所述第一路由设备发送的hello报文时,通过第二路径向所述第一路由设备发送第三消息,将所述第二路由设备的状态更改为失效状态;所述第三消息用于表示所述第一路由设备与第二路由设备之间的链路状态更新为双向中断;
当接收所述第一路由设备发送的带有第二路由设备标识的hello报文时,将所述第一路由设备添加到第二路由设备的邻居列表,更新链路状态通告LSA并泛洪至全网,将所述第二路由设备的状态更新为双向通信状态。
8.一种开放式最短路径优先的邻居建立装置,应用于第一路由设备,其特征在于,包括:
第一删除模块,用于在预设时间内未接收到第二路由设备发送的hello报文时,将所述第二路由设备从第一路由设备的邻居列表中删除,更新链路状态通告LSA并泛洪至全网;
第二发送模块,用于向所述第二路由设备发送第一hello报文;所述第一hello报文不带有所述第二路由设备标识,所述第一hello报文用于所述第二路由设备确定所述第二路由设备的状态为单向接收状态;
第一接收模块,用于接收所述第二路由设备通过确定的第一路径发送的第一消息;所述第一消息用于表示所述第一路由设备与所述第二路由设备之间的链路状态为单向连通;
第一添加模块,用于将所述第二路由设备添加到所述邻居列表,更新链路状态通告LSA并泛洪至全网;
第一发送模块,用于向所述第二路由设备发送第二消息;所述第二消息为所述第一路由设备针对所述第一消息的响应;
第一更新模块,用于对路由设备的状态进行更新。
9.一种开放式最短路径优先的邻居建立装置,应用于第二路由设备,其特征在于,包括:
第二删除模块,用于接收到第一路由设备发送的hello报文为不带有第二路由设备标识的hello报文时,将所述第一路由设备从第二路由设备的邻居列表中删除,更新链路状态通告LSA并泛洪至全网;
第二更新模块,用于对路由设备的状态进行更新;
第二发送模块,用于通过第一路径向所述第一路由设备发送第一消息,以使所述第一路由设备根据第一消息生成第二消息,以及将所述第二路由设备添加到所述邻居列表,所述第二消息为所述第一路由设备针对所述第一消息的响应;
第二接收模块,用于接收所述第二消息和带有单向链路标识的hello报文,并将接收的所述带有单向链路标识的hello报文丢弃;
第二添加模块,用于将所述第一路由设备添加到第二路由设备的邻居列表,更新链路状态通告LSA并泛洪至全网。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1至7任一项所述的开放式最短路径优先的邻居建立方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011394182.7A CN112565080B (zh) | 2020-12-02 | 2020-12-02 | 开放式最短路径优先的邻居建立方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011394182.7A CN112565080B (zh) | 2020-12-02 | 2020-12-02 | 开放式最短路径优先的邻居建立方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112565080A CN112565080A (zh) | 2021-03-26 |
CN112565080B true CN112565080B (zh) | 2022-01-25 |
Family
ID=75047487
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011394182.7A Active CN112565080B (zh) | 2020-12-02 | 2020-12-02 | 开放式最短路径优先的邻居建立方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112565080B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114915331B (zh) * | 2022-03-31 | 2023-05-09 | 清华大学 | 一种星地协作的广域实时通信系统及其通信方法 |
CN115460129B (zh) * | 2022-09-12 | 2023-07-11 | 国科量子通信网络有限公司 | 基于ospf协议的量子密钥分发路由方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101056341A (zh) * | 2007-06-07 | 2007-10-17 | 杭州华三通信技术有限公司 | 单向链路的自动关闭方法和自动恢复方法及其装置 |
CN101651691A (zh) * | 2009-08-31 | 2010-02-17 | 中兴通讯股份有限公司 | 一种网络系统、接入设备以及应用层服务接入方法 |
CN101895411A (zh) * | 2009-05-18 | 2010-11-24 | 华为技术有限公司 | 会话管理的方法和设备 |
CN105991448A (zh) * | 2015-02-15 | 2016-10-05 | 中兴通讯股份有限公司 | 一种邻居发现的方法和装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101222486B (zh) * | 2007-01-12 | 2011-04-13 | 北京邮电大学 | 自动交换光网络中节点故障后路由重启恢复的控制方法 |
CN102136947A (zh) * | 2011-03-10 | 2011-07-27 | 华为技术有限公司 | 链路故障处理方法及装置 |
CN104092610B (zh) * | 2014-07-28 | 2017-09-15 | 新华三技术有限公司 | 一种开放式最短路径优先邻居建立方法和装置 |
CN109525491A (zh) * | 2018-10-26 | 2019-03-26 | 北京网太科技发展有限公司 | 开放式最短路径优先协议的信息处理方法及装置、存储介质 |
US10833973B1 (en) * | 2019-02-15 | 2020-11-10 | Juniper Networks, Inc. | Enabling selection of a bypass path from available paths in an open shortest path first (OSPF) domain and an intermediate system to intermediate system (ISIS) domain |
US11323416B2 (en) * | 2019-04-04 | 2022-05-03 | Cisco Technology, Inc. | Applying attestation tokens to the open shortest path first (OSPF) routing protocol |
-
2020
- 2020-12-02 CN CN202011394182.7A patent/CN112565080B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101056341A (zh) * | 2007-06-07 | 2007-10-17 | 杭州华三通信技术有限公司 | 单向链路的自动关闭方法和自动恢复方法及其装置 |
CN101895411A (zh) * | 2009-05-18 | 2010-11-24 | 华为技术有限公司 | 会话管理的方法和设备 |
CN101651691A (zh) * | 2009-08-31 | 2010-02-17 | 中兴通讯股份有限公司 | 一种网络系统、接入设备以及应用层服务接入方法 |
CN105991448A (zh) * | 2015-02-15 | 2016-10-05 | 中兴通讯股份有限公司 | 一种邻居发现的方法和装置 |
Non-Patent Citations (1)
Title |
---|
《单向链路原理分析及解决方案研究》;谢黎;《电力系统通信》;20120531;第52-56页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112565080A (zh) | 2021-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7152533B2 (ja) | 伝送経路故障を処理するための方法と装置、及びシステム | |
CN113261245B (zh) | 网络链路或节点故障的恢复系统和方法 | |
US8432913B2 (en) | Relay device, network system, route switching method, and recording medium | |
US8351438B2 (en) | Flooding-based routing protocol having database pruning and rate-controlled state refresh | |
US9112805B2 (en) | Routing messages in a computer network using deterministic and probabilistic source routes | |
CN111587580A (zh) | 内部网关协议洪泛最小化 | |
CN112565080B (zh) | 开放式最短路径优先的邻居建立方法及装置 | |
US12003412B2 (en) | Method and apparatus for processing link state information | |
US10979340B2 (en) | Link state addition and deletion based on reception of a single message in link state vector routing | |
US20140036925A1 (en) | Compressing data packet routing information using bloom filters | |
JPWO2009069636A1 (ja) | 通信方法、通信システム、ノード及びプログラム | |
EP3229393A1 (en) | Error code information transfer method, network device and communication system | |
CN111464440A (zh) | 一种通信方法及装置 | |
US8537719B2 (en) | Wireless communication network and routing method | |
CN107347034B (zh) | 链路信息的处理方法及装置、系统 | |
EP3461079A1 (en) | Path establishment method and device, and network node | |
CN113810274A (zh) | 一种路由处理方法及相关设备 | |
CN111464441A (zh) | 一种通信方法及装置 | |
CN112350936A (zh) | 一种内部网关协议泛洪优化方法及装置、存储介质 | |
JP2014204437A (ja) | ダウンリンクルーティングの取得及び保守の方法及び装置 | |
EP1673901B1 (en) | Method and apparatus for generating routing information in a data communications network | |
CN113179212B (zh) | 报文处理方法及装置 | |
Mannan et al. | Alternate simplistic approach to solve count-to-infinity problem by introducing a new flag in the routing table | |
CN114374643B (zh) | 通信方法及装置 | |
US20140351465A1 (en) | Limited Functionality Link State Protocol Node |
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 |