CN114143249A - 确定路由信息的方法、装置、电子设备及存储介质 - Google Patents
确定路由信息的方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114143249A CN114143249A CN202111404305.5A CN202111404305A CN114143249A CN 114143249 A CN114143249 A CN 114143249A CN 202111404305 A CN202111404305 A CN 202111404305A CN 114143249 A CN114143249 A CN 114143249A
- Authority
- CN
- China
- Prior art keywords
- network
- network device
- routing information
- information
- network 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.)
- Granted
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/54—Organization of routing tables
-
- 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/74—Address processing for routing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种确定路由信息的方法、装置、电子设备及存储介质,该方法包括:第一网络设备基于所述第一网络设备所处的第一网络的拓扑结构,确定出所有第二网络设备;所述第二网络设备表征所述第一网络设备在所述第一网络中的邻居节点;在确定出的第二网络设备的数量为1的情况下,不计算所述第一网络设备到所述第一网络中的每个网络设备的最短路径,以及向第二网络设备发送所述第一网络设备的第一信息;其中,所述第一信息至少表征所述第一网络设备连接的网段和对应的链路开销;所述第一信息用于供第二网络设备确定出所述第一网络设备相关的路由信息。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种确定路由信息的方法、装置、电子设备及存储介质。
背景技术
随着计算机技术的发展,越来越多的技术,例如,区块链(Blockchain)、大数据、分布式等技术被应用在金融领域,传统金融业正在逐步向金融科技转变,然而,由于金融行业的安全性、实时性要求,金融科技也对技术提出了更高的要求。在金融科技领域下,网络中的每个节点(例如路由器或交换机等网络设备),基于路由协议中的最短路径算法,计算出本节点到除本节点之外的所有其他节点的最短路径,从而得到该节点相关的路由信息。但当网络中的节点数量越多时,计算最短路径的计算量变大,确定路由信息的效率变低,导致网络设备之间的数据传输效率降低。
发明内容
有鉴于此,本申请实施例提供一种确定路由信息的方法、装置、电子设备及存储介质,以解决相关技术中因确定路由信息的效率低,而导致网络设备之间的数据传输效率低的技术问题。
为达到上述目的,本申请的技术方案是这样实现的:
本申请提供了一种确定路由信息的方法,应用于第一网络设备,所述方法包括:
基于所述第一网络设备所处的第一网络的拓扑结构,确定出所有第二网络设备;所述第二网络设备表征所述第一网络设备在所述第一网络中的邻居节点;
在确定出的第二网络设备的数量为1的情况下,不计算所述第一网络设备到所述第一网络中的每个网络设备的最短路径,以及向第二网络设备发送所述第一网络设备的第一信息;其中,所述第一信息至少表征所述第一网络设备连接的网段和对应的链路开销;所述第一信息用于供第二网络设备确定出所述第一网络设备相关的路由信息。
上述方案中,所述方法还包括以下之一:
在确定出的第二网络设备的数量为1的情况下,将所述第一网络设备添加至本地存储的第一排除表,以及至少向第二网络设备发送第一报文;
在所述第一网络的拓扑结构发生变更,且变更后的第一网络中第二网络设备的数量大于1的情况下,将所述第一网络设备从本地存储的第一排除表中删除,以及至少向每个第二网络设备发送第二报文;
其中,所述第一报文用于指示第二网络设备在对应存储的第一排除表中新增所述第一网络设备,以及用于供第二网络设备向所述第一网络设备发送相关的路由信息;所述第二报文用于指示第二网络设备在对应存储的第一排除表中删除所述第一网络设备。
上述方案中,发送第一报文或第二报文,包括:
基于所述第一网络对应的组播地址,向所述第一网络中的每个网络设备发送第一报文或第二报文;
其中,所述第一报文和所述第二报文均为Hello报文,所述第一报文和所述第二报文中的保留字段均包括:
所述第一标志位表征接收到的报文是否与第一排除表相关;
所述第二标志位用于指示接收到报文的网络设备在发送报文的网络设备为始发节点的情况下,在第一排除表中新增或删除对应的网络设备;
所述第三标志位表征发送报文的网络设备是否为始发节点。
上述方案中,所述方法还包括:
在确定出的第二网络设备的数量大于1的情况下,计算所述第一网络设备到所述第一网络中的每个网络设备的最短路径;
基于计算出的最短路径,向所述第一网络中的每个网络设备发送对应的第二信息;所述第二信息表征所述第一网络设备与对应的网络设备之间的路由路径和路由开销。
上述方案中,所述方法还包括:
在第二网络设备的数量为1的情况下,生成所述第一网络设备与所述第二网络设备之间的第一路由路径;所述第一路由路径用于供所述第二网络设备转发所述第一网络设备相关的数据。
本申请还提供了一种确定路由信息的方法,应用于第二网络设备,所述方法包括:
接收第一网络设备发送的第一信息;其中,所述第二网络设备为所述第一网络设备的邻居节点;所述第一信息在所述第一网络设备确定出在对应的第一网络中第二网络设备的数量为1的情况下发送;所述第一信息至少表征所述第一网络设备连接的网段和对应的链路开销;
在所述第二网络设备的邻居节点的数量大于1的情况下,基于所述第二网络设备到所述第一网络中每个第三网络设备的最短路径和路由开销,以及基于接收到的第一信息,确定出所述第一网络设备相关的第一路由信息和第二路由信息;其中,第三网络设备表征所述第一网络中除所述第一网络设备和所述第二网络设备之外的任一网络设备;第一路由信息表征所述第一网络设备经由所述第二网络设备到达第三网络设备的路由信息;第二路由信息表征第三网络设备经由所述第二网络设备到达第一网络设备的路由信息;
向所述第一网络设备发送确定出的第一路由信息,以及向所述第一网络中的每个第三网络设备发送确定出的第二路由信息。
上述方案中,所述方法还包括:
在所述第二网络设备的邻居节点的数量为1的情况下,生成所述第一网络设备与所述第二网络设备之间的路由路径。
上述方案中,所述方法还包括以下之一:
在接收到所述第一网络设备发送的第一报文的情况下,将所述第一网络设备添加至本地存储的第一排除表;
在接收到所述第一网络设备发送的第二报文的情况下,在本地存储的第一排除表中删除所述第一网络设备;
其中,第一报文在第一网络设备确定出第二网络设备的数量为1的情况下发送;第二报文在第一网络设备基于变更后的第一网络的拓扑结构确定出第二网络设备的数量由1变更为大于1的情况下发送。
上述方案中,所述第一报文和所述第二报文均包括第一标志位、第二标志位和第三标志位;
所述将第一网络设备添加至本地存储的第一排除表,包括:
在第一标志位表征所述第一报文与第一排除表相关,第三标志位表征发送所述第一报文的第一网络设备为始发节点,且第二标志位为第一设定值的情况下,将所述第一网络设备添加至本地存储的第一排除表;
所述在本地存储的第一排除表中删除第一网络设备,包括:
在第一标志位表征所述第二报文与第一排除表相关,第三标志位表征发送所述第二报文的第一网络设备为始发节点,且第二标志位为第二设定值的情况下,将所述第一网络设备从本地存储的第一排除表中删除。
上述方案中,所述方法还包括:
向所述第一网络中的每个第三网络设备,发送所述第一排除表中记录的每个网络设备对应的第一信息;第一信息用于供第三网络设备确定出经由所述第三网络设备和对应的邻居节点到达所述第一网络设备的路由信息。
本申请还提供了一种确定路由信息的装置,包括:
确定单元,用于基于所述第一网络设备所处的第一网络的拓扑结构,确定出所有第二网络设备;所述第二网络设备表征所述第一网络设备在所述第一网络中的邻居节点;
处理单元,用于在确定出的第二网络设备的数量为1的情况下,不计算所述第一网络设备到所述第一网络中的每个网络设备的最短路径;
发送单元,用于在确定出的第二网络设备的数量为1的情况下,向第二网络设备发送所述第一网络设备的第一信息;其中,所述第一信息至少表征所述第一网络设备连接的网段和对应的链路开销;所述第一信息用于供第二网络设备确定出所述第一网络设备相关的路由信息。
本申请还提供了一种确定路由信息的装置,包括:
接收单元,用于接收第一网络设备发送的第一信息;其中,所述第二网络设备为所述第一网络设备的邻居节点;所述第一信息在所述第一网络设备确定出在对应的第一网络中第二网络设备的数量为1的情况下发送;所述第一信息至少表征所述第一网络设备连接的网段和对应的链路开销;
确定单元,用于在所述第二网络设备的邻居节点的数量大于1的情况下,基于所述第二网络设备到所述第一网络中每个第三网络设备的最短路径和路由开销,以及基于接收到的第一信息,确定出所述第一网络设备相关的第一路由信息和第二路由信息;其中,第三网络设备表征所述第一网络中除所述第一网络设备和所述第二网络设备之外的任一网络设备;第一路由信息表征所述第一网络设备经由所述第二网络设备到达第三网络设备的路由信息;第二路由信息表征第三网络设备经由所述第二网络设备到达第一网络设备的路由信息;
发送单元,用于向所述第一网络设备发送确定出的第一路由信息,以及向所述第一网络中的每个第三网络设备发送确定出的第二路由信息。
本申请还提供了一种电子设备,包括处理器和用于存储能够在处理器上运行的计算机程序的存储器,
其中,所述处理器用于运行所述计算机程序时,执行上述应用于第一网络设备或第二网络设备的任一种确定路由信息的方法的步骤。
本申请实施例还提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述应用于第一网络设备或第二网络设备的任一种确定路由信息的方法的步骤。
本申请实施例中,第一网络设备基于第一网络设备所处的第一网络的拓扑结构,确定出第一网络设备在第一网络中的所有邻居节点;在第一网络设备只有一个邻居节点的情况下,不计算第一网络设备到第一网络中其他每个网络设备的最短路径,以及向第一网络设备的邻居节点发送第一网络设备的第一信息;第一信息至少表征第一网络设备连接的网段和对应的链路开销;第一信息用于供第一网络设备的邻居节点确定出第一网络设备相关的路由信息。第一网络设备只有一个邻居节点时,第一网络设备不计算第一网络设备到其他每个网络设备的最短路径,可以节省第一网络设备计算最短路径所消耗的时间,而第一网络设备的邻居节点确定第一网络设备相关的路由信息所消耗的时间,远小于第一网络设备计算最短路径所消耗的时间,由此,可以缩短第一网络中的网络设备确定路由信息的总时长,提高了最短路径算法的收敛效率,提高了确定第一网络中各网络设备的路由信息的效率,进而提高了网络设备之间的数据传输效率。
附图说明
图1为相关技术中提供的一种网络拓扑结构图;
图2为图1对应的最短路径树的示意图;
图3为本申请实施例提供的一种确定路由信息的方法的交互图;
图4为本申请实施例提供的一种数据中心的组网示意图;
图5为本申请实施例提供的一种第一网络的示意图;
图6为图5中的R2对应的最段路径树的示意图;
图7为相关技术中ISIS路由协议中的Hello报文的示意图;
图8为本申请实施例提供的第一报文和第二报文的示意图;
图9为图5中的R1对应的最段路径树的示意图;
图10为本申请应用实施例提供的一种确定路由信息的方法的实现流程示意图;
图11为本申请另一应用实施例提供的一种确定路由信息的方法的实现流程示意图;
图12为本申请实施例提供的一种确定路由信息的装置的结构示意图;
图13为本申请实施例提供的一种确定路由信息的装置的结构示意图;
图14为本申请实施例提供的一种电子设备的硬件组成结构示意图。
具体实施方式
中间系统到中间系统(ISIS,Intermediate system to intermediate system)是一个分级的链路状态路由协议。目前广泛应用于企业及数据中心组网;ISIS路由协议对于路由的跳数没有限制,这使得该协议能用在许多场合,同时也能支持较大的网络规模,据了解ISIS路由协议能够支持数百个网络节点一起运作。
其中,ISIS路由协议的核心是网络中的每个网络设备以自己为根节点,基于最短路径算法,例如迪杰斯特拉(Dijkstra)算法,也称SPF算法,计算出根节点到网络中的其他网络设备的最短路径;根据计算出的最短路径生成最短路径树;然后根据最短路径树生成该网络设备对应的路由表。路由表中至少记录了该网络设备连接的网段、该网络设备到其他网络设备的路由和最小路由开销。
下面以图1中的R1为例说明相关技术中,通过Dijkstra算法计算最短路径的实现过程:
初始时,R1基于Dijkstra算法创建并维护三张表:初始表、当前计算节点表和最短路径表。初始表用于记录未计算出最短路径的节点,当前计算节点表用于存储当前计算最短路径的节点,最短路径表用于记录已计算出最短路径的节点和对应的路由开销。初始时R1维护的初始表、当前计算节点表和最短路径表如下所示:
初始表 | 当前计算节点表 | 最短路径表 |
R2、R3、R4、R5、R6 | R1 |
R1以自己为根节点计算到其他节点的最短路径:
初始表 | 当前计算节点表 | 最短路径表 |
R2、R3、R4、R5、R6 | R1 0(cost=0) |
将R1所有相连的邻居节点移动到当前计算节点表:
初始表 | 当前计算节点表 | 最短路径表 |
R3、R4、R5、R6 | R2 1(cost=1) | R1 0 |
将R2移动到最短路径表,并将R2的邻居节点移动到当前计算节点表:
初始表 | 当前计算节点表 | 最短路径表 |
R6 | R3 2,R4 10,R5 4 | R1 0,R2 1 |
将R3移动到最短路径表,将R3的所有邻居节点移动到当前计算节点表
初始表 | 当前计算节点表 | 最短路径表 |
R6 7,R4 9,R4 10,R5 4 | R1 0,R2 1,R3 2 |
R4 9表征R1到R4的最短路径的路由开销为9。如图1所示,R1通过R2-R3到达R4的路由开销为9,小于R1通过R2-R4的路由开销10,根据最短路径优先原则,从R1到达R4的路径优选R2-R3,将R4移动到最短路径表:
初始表 | 当前计算节点表 | 最短路径表 |
R6 7,R5 4 | R1 0,R2 1,R3 2,R4 9 |
由于R2与R5之间只有一条路径,因此,将R5移动到最短路径表
初始表 | 当前计算节点表 | 最短路径表 |
R6 7 | R1 0,R2 1,R3 2,R4 9,R5 4 |
由于R3与R6之间只有一条路径,因此,将R6移动到最短路径表
初始表 | 当前计算节点表 | 最短路径表 |
R1 0,R2 1,R3 2,R4 9,R5 4,R6 7 |
此时,R1对应的当前计算节点表为空,本节点迪杰斯特拉遍历计算结束,此时可以得到一颗如图2所示的无环的最短路径树。
由上述内容可知,相关技术中,需要网络中的每个网络设备以自己为根节点,计算根节点到网络中的其他网络设备的最短路径。当网络规模较大时,网络设备的数量非常多,单个网络设备计算最短路径的计算量变大,网络中所有网络设备计算最短路径的总时长也变长,即最短路径算法的收敛时长变长,由此,各网络设备确定路由信息的效率变低,导致网络设备之间的数据传输效率降低。
基于此,本申请提供了一种确定路由信息的方法,基于第一网络设备所处的第一网络的拓扑结构,确定出第一网络设备在第一网络中的所有邻居节点;在第一网络设备只有一个邻居节点的情况下,不计算第一网络设备到第一网络中其他每个网络设备的最短路径,以及向第一网络设备的邻居节点发送第一网络设备的第一信息;第一信息至少表征第一网络设备连接的网段和对应的链路开销;第一信息用于供第一网络设备的邻居节点确定出第一网络设备相关的路由信息。本方案中,第一网络设备只有一个邻居节点时,第一网络设备不计算第一网络设备到其他每个网络设备的最短路径,可以节省第一网络设备计算最短路径所消耗的时间,而第一网络设备的邻居节点确定第一网络设备相关的路由信息所消耗的时间,远小于第一网络设备计算最短路径所消耗的时间,由此,可以缩短第一网络中的网络设备确定路由信息的总时长,即,可缩短最短路径算法的收敛时长,提高了最短路径算法的收敛效率,提高了确定路由信息的效率,同时提高了网络设备之间的数据传输效率。
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
图3为本申请实施例提供的确定路由信息的方法的交互图。如图3示出的,确定路由信息的方法包括:
步骤301:第一网络设备基于所述第一网络设备所处的第一网络的拓扑结构,确定出所有第二网络设备;所述第二网络设备表征所述第一网络设备在所述第一网络中的邻居节点。
这里,第一网络是指由多个网络设备构成的网络。第一网络设备泛指第一网络中的任一网络设备。第一网络设备的邻居节点是指与第一网络设备直接相连的网络设备,也称第二网络设备。第一网络设备包括无线接入点、路由器、交换机和网关等网络设备中的至少一种。
在第一网络发生网络抖动,或者第一网络的拓扑结构发生变更的情况下,第一网络设备基于第一网络的拓扑结构,确定出第一网络中与第一网络设备直接相连的所有第二网络设备,并计算出第二网络设备的总数。
在实际应用中,第一网络设备可以将确定出的第二网络设备添加至第一网络设备的邻居表中。
步骤302:第一网络设备在确定出的第二网络设备的数量为1的情况下,不计算所述第一网络设备到所述第一网络中的每个网络设备的最短路径,以及向第二网络设备发送所述第一网络设备的第一信息;其中,所述第一信息至少表征所述第一网络设备连接的网段和对应的链路开销;所述第一信息用于供第二网络设备确定出所述第一网络设备相关的路由信息。
这里,第一网络设备在确定出只有一个第二网络设备的情况下,不计算第一网络设备到第一网络中的每个网络设备的最短路径,以及向第二网络设备发送第一网络设备的第一信息。其中,第一网络设备相关的路由信息包括第一路由信息和第二路由信息。第一路由信息表征第一网络设备经由第二网络设备到达第三网络设备的路由信息;第二路由信息表征第三网络设备经由第二网络设备到达第一网络设备的路由信息。第三网络设备表征第一网络中除第一网络设备和第二网络设备之外的任一网络设备。在实际应用中,第一网络设备可以通过链路状态报文(LSP,Link State Packet)承载第一信息。相连的两个网络设备各自对应的IP地址处于同一网段,网段与带宽相对应,带宽与链路开销相对应。示例性地,带宽为1KMb/s的链路对应的链路开销为10;带宽为10KMb/s的链路对应的链路开销为1。
例如,图4中,由于局域网接入设备和网关接入设备的邻居节点均为StackCore,且只有一个邻居节点,因此,图4中功能区域1-4对应的局域网接入设备和网关接入设备,均不需要计算本节点与数据中心的其他节点之间的最短路径。在实际应用中,每个功能区域对应的局域网接入设备或网关接入设备的数量大多为几十,甚至几百,采用本申请提供的确定路由信息的方法,可以有效提高数据中心的网络设备确定最短路径的总时长,从而有效提高确定路由信息的效率。
再例如,当第一网络设备为图5中的R1或R6时,由于R1只有一个邻居节点R2,R6只有一个邻居节点R5,因此,R1和R6均不计算本节点到其他网络设备的最短路径。
为了节省第二网络设备确定第一网络设备的路由信息所消耗的时间,在一些实施例中,所述方法还包括:
第一网络设备在确定出的第二网络设备的数量为1的情况下,生成所述第一网络设备与第二网络设备之间的第一路由路径;所述第一路由路径用于供第二网络设备转发所述第一网络设备相关的数据。
这里,第一网络设备在确定出的第二网络设备的数量为1的情况下,生成第一路由路径,第一路由路径由第一网络设备指向第二网络设备,第一网络设备通过第一路由路径向第二网络设备发送数据,由第二网络设备转发第一网络设备发送的数据,以及由第二网络设备转发其他网络设备需要发送给第一网络设备的数据。
考虑到第一网络的拓扑结构是动态变化的,为了方便记录只有一个邻居节点的网络设备,从而避免漏算最短路径和路由信息,以及避免存在至少两个第二网络设备时第二网络设备浪费时间再确定第一网络设备相关的路由信息,在一些实施例中,所述方法还包括以下之一:
第一网络设备在确定出的第二网络设备的数量为1的情况下,将所述第一网络设备添加至本地存储的第一排除表,以及至少向第二网络设备发送第一报文;
第一网络设备在所述第一网络的拓扑结构发生变更,且变更后的第一网络中第二网络设备的数量由1变更为大于1的情况下,将所述第一网络设备从本地存储的第一排除表中删除,以及至少向每个第二网络设备发送第二报文;
其中,所述第一报文用于指示第二网络设备在对应存储的第一排除表中新增所述第一网络设备,以及用于供第二网络设备向所述第一网络设备发送相关的路由信息;所述第二报文用于指示第二网络设备在对应存储的第一排除表中删除所述第一网络设备。
这里,第一电子设备在确定出第二网络设备的数量为1的情况下,将第一网络设备的标识添加至本地存储的第一排除表中,并至少向第二网络设备发送第一报文,以便第二网络设备在接收到第一报文的情况下,将第一网络设备的标识添加至本地存储的第一排除表,从而实现第一排除表的数据同步。在一些实施例中,还可以向第一网络中除第二网络设备之外的网络设备发送第一报文。
需要说明的是,第一排除表中的第一网络设备不需要计算最短路径,且需要第二网络设备确定出第一排除表中对应的第一网络设备相关的路由信息,并向对应的第一网络设备返回对应的第一网络设备相关的第一路由信息。
需要说明的是,第一网络设备在本地至少维护着初始表、计算节点表、最短路径表和第一排除表,还可以存储有邻居表,用于记录第一网络设备的邻居节点。初始表中记录有第一网络中除第一网络设备之外的所有网络设备,计算节点表、最短路径表和第一排除表中均仅记录第一网络设备。
第一网络设备在将第一网络设备的标识添加至本地存储的第一排除表中之后,在第一网络的拓扑结构发生变更,且变更后的第一网络中第二网络设备的数量大于1的情况下,表征第一网络设备需要计算第一网络设备到其他网络设备的最短路径,第二网络设备不需要确定第一网络设备相关的路由信息,因此,将第一网络设备从本地存储的第一排除表中删除,并向每个第二网络设备发送第二报文,以指示第二网络设备从本地存储的第一排除表中删除第一网络设备,从而避免第一网络设备漏算最短路径,以及避免第二网络设备浪费时间确定第一网络设备相关的路由信息。
考虑到在实际应用中第一网络设备的邻居节点的数量可能大于1,在一些实施例中,所述方法还包括:
在确定出的第二网络设备的数量大于1的情况下,第一网络设备计算所述第一网络设备到所述第一网络中的每个网络设备的最短路径;
基于计算出的最短路径,向所述第一网络中的每个网络设备发送对应的第二信息;所述第二信息表征所述第一网络设备与对应的网络设备之间的路由路径和路由开销。
这里,第一网络设备在确定出第二网络设备的总数大于1的情况下,第一网络设备基于最短路径算法,计算出第一网络设备到第一网络中除第一网络设备之外的每个网络设备的最短路径;基于计算出的最短路径,生成第一网络设备对应的最短路径树,基于生成的最短路径树,确定出第一网络设备到每个网络设备的路由和路由开销,基于确定出的路由和路由开销,向对应的网络设备发送对应的第二信息。第二信息表征第一网络设备与对应的网络设备之间的路由路径和路由开销。其中,路由开销是两个网络设备之间的所有链路开销之和。
下面以第一网络设备为图5中的R2为例进行说明:
R2开始计算最短路径,R2维护的初始表、计算节点表和最短路径表如下:
R2的初始表 | R2的计算节点表 | R2的最短路径表 |
R1,R3,R4,R5,R6 | R2 |
将R2的邻居节点移动到R2的计算节点表:
R2的初始表 | R2的计算节点表 | R2的最短路径表 |
R5,R6 | R1 3,R3 2,R4 18 | R2 0 |
由于R2与R1之间只有一条路径,因此,将R1移动到R2的最短路径表:
R2的初始表 | R2的计算节点表 | R2的最短路径表 |
R5,R6 | R3 2,R4 18 | R2 0,R1 3 |
由于R2与R3之间只有一条路径,因此,将R3移动到R2的最短路径表,将与R3相连的邻居节点移动到R2当前计算节点表:
R2的初始表 | R2的计算节点表 | R2的最短路径表 |
R6 | R4 3,R5 6,R4 18 | R2 0,R1 3,R3 2 |
从R2经由R3到R4的路由开销为3,小于从R2直接到R4的路由开销18,将R4移动到最短路径表,将R4相连的所有邻居节点移动到R2的当前计算节点表:
R2的初始表 | R2的当前计算节点表 | R2的最短路径表 |
R6 | R5 32,R5 6 | R1 3,R2 1,R3 2,R4 3 |
从R2经由R3到R5的路由开销为6,从R2经由R4到R5的路由开销为32,将R5移动到最短路径表,将R5相连的所有邻居节点移动到R2的当前计算节点表:
R2的初始表 | R2的当前计算节点表 | R2的最短路径表 |
R6 26 | R1 3,R2 1,R3 2,R4 3,R5 6 |
基于最小路径开销原则,可以得出R2的最短路径表:
R2基于最短路径表,生成如图6所示的最短路径树,从而根据生成的最短路径树分别向R1、R3、R4、R5、R6发送对应的第二信息,以便对应的节点基于接收到的第二信息向R2发送数据。需要说明的是,R2可以基于上传的最短路径树,生成R2相关的路由信息,并向最短路径树中的任一节点发送数据。
考虑到在实际应用中网络设备基于ISIS路由协议,通过周期性地广播hello报文来建立和维护邻接关系,Hello报文中有6个比特的保留字段未使用,本方案中通过修改Hello报文中的保留字段对应的比特位的值,以便于第一网络中的网络设备之间同步第一排除表中的信息,从而节省报文开销,在一些实施例中,发送第一报文或第二报文,包括:
基于所述第一网络对应的组播地址,向所述第一网络中的每个网络设备发送第一报文或第二报文;
其中,所述第一报文和所述第二报文均为Hello报文,所述第一报文和所述第二报文中的保留字段均包括:
所述第一标志位表征接收到的报文是否与第一排除表相关;
所述第二标志位用于指示接收到报文的网络设备在发送报文的网络设备为始发节点的情况下,在第一排除表中新增或删除对应的网络设备;
所述第三标志位表征发送报文的网络设备是否为始发节点。
这里,第一网络设备在Hello报文的保留字段写入第一标志位、第二标志位和第三标志位,从而得到第一报文或第二报文。
其中,第一报文中的第一标志位的值和第二报文中的第一标志位的值相同,第一报文中的第二标志位的值和第二报文中的第二标志位的值不同,第一报文中的第三标志位的值和第二报文中的第三标志位的值相同。
其中,ISIS路由协议中的Hello报文如图7所示。由于Hello报文中的保留字段占6个比特位,且6个比特位均置0,因此,在保留字段写入第一标志位、第二标志位和第三标志位时,定义为每个标志位各占2个比特位,第一网络设备通过修改保留字段对应的部分比特位的值,从而得到第一报文或第二报文。
其中,第一标志位可以采用01、10或11中的任意两个来分别标识当前的Hello报文是否用于传输第一排除表的信息。第二标志位可以采用01、10或11中的任意两个,来分别标识在第一排除表中新增或删除对应的网络设备。第三标志位可以采用01、10或11中的任意两个,来分别标识发送Hello报文的网络设备不是始发节点。始发节点是指首次生成并发送第一报文或第二报文的网络设备。也就是说,第三标志位用于标识第一报文或第二报文是否被修改。
在实际应用时,如图8所示,由第一网络设备生成并发送的第一报文和第二报文中的第一标志位的值为11;第一报文中第二标志位的值为01,第二报文中的第二标志位的值为10;第一报文和第二报文中的第三标志位均为01,表征发送第一报文和第二报文的第一网络设备为始发节点。
考虑到在实际应用时,在现有的ISIS路由协议中,第二网络设备在接收到第一网络设备发送的第一报文或第二报文的情况下,修改第一报文或第二报文中的第三标志位的值,基于第一网络的组播地址,向第一网络中除第一网络设备和第二网络设备之外的网络设备广播修改后的第一报文或第二报文。此时,修改后的第一报文或第二报文中的第三标志位可以为10或11,标识第二网络设备不是始发节点。由此,第二网络设备的邻居节点在接收到修改后的第一报文的情况下,不会将第二网络设备添加至本地存储的第一排除表中。
需要说明的是,按照现有的ISIS路由协议,第二网络设备修改第一网络设备发送的第一报文或第二报文中的第三标志位的值之后,再将修改后的第一报文或第二报文向其他网络设备发送。在一些实施例中,在第二网络设备不转发第一网络设备发送的第一报文或第二报文的情况下,第一报文或第二报文中不包括第三标志位,此时,第二标志位用于指示接收到报文的网络设备在第一排除表中新增或删除对应的网络设备。
步骤303:第二网络设备接收第一网络设备发送的第一信息;其中,所述第二网络设备为所述第一网络设备的邻居节点;所述第一信息在所述第一网络设备确定出在对应的第一网络中第二网络设备的数量为1的情况下发送;所述第一信息至少表征所述第一网络设备连接的网段和对应的链路开销。
这里,第二网络设备接收第一网络设备在确定出只有一个第二网络设备的情况下,发送的第一信息。
步骤304:在第二网络设备的邻居节点的数量大于1的情况下,第二网络设备基于所述第二网络设备到所述第一网络中每个第三网络设备的最短路径和路由开销,以及基于接收到的第一信息,确定出所述第一网络设备相关的第一路由信息和第二路由信息;第三网络设备表征所述第一网络中除所述第一网络设备和所述第二网络设备之外的任一网络设备;第一路由信息表征所述第一网络设备经由所述第二网络设备到达第三网络设备的路由信息;第二路由信息表征第三网络设备经由所述第二网络设备到达第一网络设备的路由信息。
这里,第二网络设备在第一网络中确定出第二网络的所有邻居节点,在第二网络设备的邻居节点的数量大于1的情况下,第二网络设备基于最短路径算法,确定出第二网络设备到每个第三网络设备的最短路径和路由开销;基于第二网络设备到每个第三网络设备的最短路径和路由开销,生成第二网络设备对应的最短路径树;基于第二网络设备对应的最短路径树,以及基于第一网络设备连接的网段和对应的链路开销,生成第一网络设备对应的最短路径树,基于第一网络设备对应的最短路径树,确定出第一网络设备相关的第一路由信息和第二路由信息。其中,第一路由信息和第二路由信息至少包括第一网络设备与第三网络设备之间的路由和对应的路由开销。
由于第一网络设备只有第二网络设备这一个邻居节点,因此,第二网络设备在本节点相关的路由信息的基础上,确定出第一网络设备相关的路由信息所消耗的时长,远小于相关技术中第一网络设备以自己为根节点计算最短路径再确定相关的路由信息所消耗的时长。
示例性地,在第一网络设备为图5中的R1,第二网络设备为图5中的R2的情况下,R2在生成如图6所示的最短路径树之后,基于R2对应的最短路径树,以及基于R1连接的网段和每个网段对应的链路开销,生成R1对应的最短路径树,如图9所示。R2基于R1对应的最短路径树,生成R1相关的第一路由信息和第二路由信息。其中,第一路由信息可以包括R1分别到R2、R3、R4、R5和R6的路由和对应的路由开销。第二路由信息可以包括分别从R2、R3、R4、R5以及R6,到R1的路由和对应的路由开销。
示例性地,R2确定出的R1相关的第一路由信息中包括R1到R6的路由2.2.2.0/24和对应的路由开销29;R2确定出的R1相关的第二路由信息包括R3、R4、R5和R6分别到R1的路由和对应的路由开销。
通知节点 | 路由 | 路由开销 |
R1 | 2.2.2.0/24 | 29 |
R3 | 1.1.1.0/24 | 5 |
R4 | 1.1.1.0/24 | 6 |
R5 | 1.1.1.0/24 | 9 |
R6 | 1.1.1.0/24 | 29 |
考虑到第二网络设备的邻居节点的数量可能为1,也可能大于1,在一些实施例中,所述方法还包括:
在所述第二网络设备的邻居节点的数量为1的情况下,生成所述第一网络设备与所述第二网络设备之间的第一路由路径;所述第一路由路径用于供第二网络设备转发所述第一网络设备相关的数据。
这里,在第二网络设备的邻居节点的数量为1的情况下,表征第二网络设备只有第一网络设备这一个邻居节点,第二网络设备不计算第二网络设备到第一网络中每个网络设备的最短路径,将第二网络设备的标识添加至本地存储的第一排除表中,以及生成第一网络设备和第二网络设备之间的路由路径,该路由路径用于供第二网络设备和所述第一网络设备发送相关的数据。
在一些实施例中,第二网络设备在本地存储有第一排除表,第一排除表用于记录第二网络设备的邻居节点中只有一个邻居节点的邻居节点。第二网络设备确定出第二网络设备相关的路由信息的情况下,查询第一排除表,在第一排除表中查找到第一网络设备的标识的情况下,基于第二网络设备相关的路由信息,以及第一网络设备的第一信息,确定出第一网络设备相关的第一路由信息和第二路由信息。
在第一网络设备中存储有第一排除表的基础上,在一些实施例中,所述方法还包括以下之一:
第二网络设备在接收到所述第一网络设备发送的第一报文的情况下,将所述第一网络设备添加至本地存储的第一排除表;
第二网络设备在接收到所述第一网络设备发送的第二报文的情况下,在本地存储的第一排除表中删除所述第一网络设备;
其中,第一报文在第一网络设备确定出第二网络设备的数量为1的情况下发送;第二报文在第一网络设备基于变更后的第一网络的拓扑结构确定出第二网络设备的数量由1变更为大于1的情况下发送。
这里,第二网络设备在接收到第一网络设备发送的第一报文的情况下,表征第一网络设备只有第二网络设备这一个邻居节点,此时,第二网络设备将第一网络设备的标识添加至本地存储的第一排除表中,以便第二网络设备确定出第一排除表中记录的网络设备相关的路由信息。
第二网络设备在接收到第一网络设备发送的第二报文的情况下,表征第一网络设备的邻居节点的数量从1变更为大于1,此时,第二网络设备将第一网络设备的标识从本地存储的第一排除表中删除,以避免第一网络设备和第二网络设备均确定第一网络设备相关的路由信息,从而增加不必要的时间消耗。
本实施例中,第一网络设备可以通过第一报文或第二报文,将第一网络设备存储的第一排除表的信息同步更新至第二网络设备中存储的第一排除表中,从而避免第二网络设备漏算第一网络设备的最短路径和路由信息,以及在第一网络设备的邻居节点的数量不再是1的情况下,避免第二网络设备浪费时间再确定第一网络设备相关的路由信息。
在第一报文和第二报文均为Hello报文的基础上,在一些实施例中,所述第一报文和所述第二报文均包括第一标志位、第二标志位和第三标志位;
第二网络设备将第一网络设备添加至本地存储的第一排除表,包括:
在第一标志位表征所述第一报文与第一排除表相关,第三标志位表征发送所述第一报文的第一网络设备为始发节点,且第二标志位为第一设定值的情况下,第二网络设备将所述第一网络设备添加至本地存储的第一排除表;
第二网络设备在本地存储的第一排除表中删除第一网络设备,包括:
在第一标志位表征所述第二报文与第一排除表相关,第三标志位表征发送所述第二报文的第一网络设备为始发节点,且第二标志位为第二设定值的情况下,第二网络设备将所述第一网络设备从本地存储的第一排除表中删除。
这里,第二网络设备在接收到第一网络设备发送的第一报文的情况下解析第一报文,得到第一报文中的第一标志位的值、第二标志位的值和第三标志位的值。在解析出的第一标志位的值表征第一报文与第一排除表相关,第三标志位表征发送第一报文的第一网络设备为始发节点,且第二标志位为第一设定值的情况下,将第一网络设备添加至本地存储的第一排除表。
第二网络设备在接收到第一网络设备发送的第二报文的情况下解析第二报文,得到第二报文中的第一标志位的值、第二标志位的值和第三标志位的值。在解析出的第一标志位的值表征第二报文与第一排除表相关,第三标志位表征发送第二报文的第一网络设备为始发节点,且第二标志位为第二设定值的情况下,将第一网络设备从本地存储的第一排除表中删除。
在实际应用中,第一设定值为01,第二设定值为10。
考虑到在实际应用中,第三网络设备的邻居节点可能只有第三网络设备这一个邻居节点,第三网络设备需要确定出对应的邻居节点相关的路由信息。为了方便第三网络设备确定对应的邻居节点相关的路由信息,在一些实施例中,所述方法还包括:
第二网络设备向所述第一网络中的每个第三网络设备,发送所述第一排除表中记录的每个网络设备对应的第一信息;第一信息用于供第三网络设备确定出经由所述第三网络设备和对应的邻居节点到达所述第一网络设备的路由信息。
例如,图5中的R2向R3、R4、R5和R6分别发送R2存储的第一排除表中记录的第一网络设备R1对应的第一信息。R3可以基于R1的第一信息确定出R3经由R2到R1的路由信息;R4可以基于R1的第一信息确定出R4经由R3和R2到R1的路由信息;R5可以基于R1的第一信息确定出R5经由R3和R2到R1的路由信息。
由于第三网络设备为图5中的R5时,R5的邻居节点R6只有R5这一个邻居节点,R6不计算R6分别到R5、R4、R3、R2和R1的最短路径,R5需要确定出R6相关的第一路由路径和第二路由路径。R5在接收到R2发送的R1对应的第一信息的情况下,R5可以基于R1的第一信息确定出R6经由R5、R3和R2到R1的路由信息。
需要说明的是,第二网络设备在确定出第二网络设备相关的路由信息的情况下,向第一网络中的第三网络设备发送第二网络设备相关的第二路由信息,以便第三网络设备基于第二网络设备相关的第二路由信息,确定出从第三网络设备达到第二网设备的路由信息,以及在第三网络设备的邻居节点只有第三网络设备这一个邻居节点的情况下,第三网络设备可以基于第二网络设备相关的第二路由信息,确定出第三网络设备的邻居节点经由第三网络设备达到第二网络设备的路由信息。其中,第二网络设备相关的第二路由信息表征第三网络设备到第二网络设备的路由路径和路由开销。
步骤305:第二网络设备向所述第一网络设备发送确定出的第一路由信息。
这里,第二网络设备向第一网络设备发送第一网络设备对应的第一路由信息,以便第一网络设备基于对应的第一路由信息,向对应的第二网络设备或第三网络设备发送的数据,或者指示第二网络设备向第三网络设备转发第一网络设备发送的相关数据。
示例性地,R2向R1发送的第一路由信息中包括R1到R6的路由2.2.2.0/24和对应的路由开销29。
步骤306:第二网络设备向所述第一网络中的每个第三网络设备发送确定出的第二路由信息。
这里,第二网络设备向每个第三网络发送对应的第二路由信息,以便接收到第二路由信息的第三网络设备基于对应的第二路由信息向第一网络设备发送数据,或指示第二网络设备向第一网络设备转发相关的数据。
示例性地,R2向R3发送的第二路由信息包括R3到R1的路由1.1.1.0/24和对应的路由开销5;R2向R4发送的第二路由信息包括R4到R1的路由1.1.1.0/24和对应的路由开销6;R2向R5发送的第二路由信息包括R5到R1的路由1.1.1.0/24和对应的路由开销9。
在本申请实施例中,第一网络设备基于第一网络设备所处的第一网络的拓扑结构,确定出所有第二网络设备,第二网络设备表征第一网络设备在第一网络中的邻居节点;在只有一个第二网络设备的情况下,第一网络设备不计算第一网络设备到第一网络中其他每个网络设备的最短路径,以及向第二网络设备发送第一网络设备的第一信息;第一信息至少表征第一网络设备连接的网段和对应的链路开销;第二网络设接收第一网络设备发送的第一信息,基于第二网络设备到第一网络中每个第三网络设备的最短路径和路由开销,以及基于接收到的第一信息,确定出第一网络设备相关的第一路由信息和第二路由信息;向第一网络设备发送确定出的第一路由信息,以及向第一网络中的每个第三网络设备发送确定出的第二路由信息。本方案中,第一网络设备只有一个邻居节点时,第一网络设备不计算第一网络设备到其他每个网络设备的最短路径,可以节省第一网络设备计算最短路径所消耗的时间,而第一网络设备的邻居节点确定第一网络设备相关的路由信息所消耗的时间,远小于第一网络设备计算最短路径所消耗的时间,由此,可以缩短第一网络中的网络设备确定路由信息的总时长,即,可缩短最短路径算法的收敛时长,提高了最短路径算法的收敛效率,提高了确定路由信息的效率,同时提高了网络设备之间的数据传输效率。
图10为本申请应用实施例提供的一种确定路由信息的方法的实现流程示意图。如图10所示,流程的执行主体为第一网络设备,图10示出的确定路由信息的方法包括:
步骤1001:基于所述第一网络设备所处的第一网络的拓扑结构,确定出所有第二网络设备;所述第二网络设备表征所述第一网络设备在所述第一网络中的邻居节点。
步骤1002:判断确定出的第二网络设备的数量是否为1。
这里,在确定出的第二网络设备的数量为1的情况下,执行步骤1003和步骤1004。在确定出的第二网络设备的数量大于1的情况下,执行步骤1005和步骤1006。其中,步骤1003和步骤1004不分先后顺序,可同时执行。
步骤1003:不计算所述第一网络设备到所述第一网络中的每个网络设备的最短路径,以及向第二网络设备发送所述第一网络设备的第一信息;其中,所述第一信息至少表征所述第一网络设备连接的网段和对应的链路开销;所述第一信息用于供第二网络设备确定出所述第一网络设备相关的路由信息。
步骤1004:将所述第一网络设备添加至本地存储的第一排除表,以及至少向第二网络设备发送第一报文;其中,所述第一报文用于指示第二网络设备在对应存储的第一排除表中新增所述第一网络设备,以及用于供第二网络设备向所述第一网络设备发送相关的路由信息。
步骤1005:计算所述第一网络设备到所述第一网络中的每个网络设备的最短路径。
步骤1006:基于计算出的最短路径,向所述第一网络中的每个网络设备发送对应的第二信息;所述第二信息表征所述第一网络设备与对应的网络设备之间的路由路径和路由开销。
图11为本申请另一应用实施例提供的一种确定路由信息的方法的实现流程示意图。如图11所示,流程的执行主体为第二网络设备,图11示出的确定路由信息的方法包括:
步骤1101:接收第一网络设备发送的第一信息和第一报文;其中,所述第二网络设备为所述第一网络设备的邻居节点;所述第一信息和所述第一报文在所述第一网络设备确定出在对应的第一网络中第二网络设备的数量为1的情况下发送;所述第一信息至少表征所述第一网络设备连接的网段和对应的链路开销;所述第一报文用于指示第二网络设备在对应存储的第一排除表中新增所述第一网络设备。
这里,第二网络设备在接收到第一网络设备发送的第一信息的情况下,执行步骤1102或步骤1103。
步骤1102:在接收到所述第一网络设备发送的第一报文的情况下,将所述第一网络设备添加至本地存储的第一排除表。
步骤1103:判断第二网络设备在第一网络中的邻居节点的数量是否为1。
在第二网络设备的邻居节点的数量大于1的情况下,执行步骤1104至步骤1106;在第二网络设备的邻居节点的数量为1的情况下,执行步骤1107。
步骤1104:确定出所述第二网络设备到所述第一网络中每个第三网络设备的最短路径和路由开销;第三网络设备表征所述第一网络中除所述第一网络设备和所述第二网络设备之外的任一网络设备。
步骤1105:基于所述第二网络设备到所述第一网络中每个第三网络设备的最短路径和路由开销,以及基于接收到的第一信息,确定出所述第一网络设备相关的第一路由信息和第二路由信息;第一路由信息表征所述第一网络设备经由所述第二网络设备到达第三网络设备的路由信息;第二路由信息表征第三网络设备经由所述第二网络设备到达第一网络设备的路由信息。
步骤1106:向所述第一网络设备发送确定出的第一路由信息,以及向所述第一网络中的每个第三网络设备发送确定出的第二路由信息。
步骤1107:生成第一网络设备与第二网络设备之间的路由路径;所述路由路径用于供所述第一网络设备和第二网络设备传输相关的数据。
为实现本申请实施例应用于第一网络设备的确定路由信息的方法,本申请实施例还提供了一种确定路由信息的装置,如图12所示,该装置包括:
确定单元121,用于基于所述第一网络设备所处的第一网络的拓扑结构,确定出所有第二网络设备;所述第二网络设备表征所述第一网络设备在所述第一网络中的邻居节点;
处理单元122,用于在确定出的第二网络设备的数量为1的情况下,不计算所述第一网络设备到所述第一网络中的每个网络设备的最短路径;
发送单元123,用于在确定出的第二网络设备的数量为1的情况下,向第二网络设备发送所述第一网络设备的第一信息;其中,所述第一信息至少表征所述第一网络设备连接的网段和对应的链路开销;所述第一信息用于供第二网络设备确定出所述第一网络设备相关的路由信息。
在一些实施例中,发送单元123还用于以下之一:
在确定出的第二网络设备的数量为1的情况下,将所述第一网络设备添加至本地存储的第一排除表,以及至少向第二网络设备发送第一报文;
在所述第一网络的拓扑结构发生变更,且变更后的第一网络中第二网络设备的数量大于1的情况下,将所述第一网络设备从本地存储的第一排除表中删除,以及至少向每个第二网络设备发送第二报文;
其中,所述第一报文用于指示第二网络设备在对应存储的第一排除表中新增所述第一网络设备,以及用于供第二网络设备向所述第一网络设备发送相关的路由信息;所述第二报文用于指示第二网络设备在对应存储的第一排除表中删除所述第一网络设备。
在一些实施例中,发送单元123具体用于:基于所述第一网络对应的组播地址,向所述第一网络中的每个网络设备发送第一报文或第二报文;
其中,所述第一报文和所述第二报文均为Hello报文,所述第一报文和所述第二报文中的保留字段均包括:
所述第一标志位表征接收到的报文是否与第一排除表相关;
所述第二标志位用于指示接收到报文的网络设备在发送报文的网络设备为始发节点的情况下,在第一排除表中新增或删除对应的网络设备;
所述第三标志位表征发送报文的网络设备是否为始发节点。
在一些实施例中,处理单元122还用于:
在确定出的第二网络设备的数量大于1的情况下,计算所述第一网络设备到所述第一网络中的每个网络设备的最短路径;
基于计算出的最短路径,向所述第一网络中的每个网络设备发送对应的第二信息;所述第二信息表征所述第一网络设备与对应的网络设备之间的路由路径和路由开销。
在一些实施例中,处理单元122还用于:
在第二网络设备的数量为1的情况下,生成所述第一网络设备与所述第二网络设备之间的第一路由路径;所述第一路由路径用于供所述第二网络设备转发所述第一网络设备相关的数据。
实际应用时,确定单元121和处理单元122可通过确定路由信息的装置中的处理器,比如中央处理器(CPU,Central Processing Unit)、数字信号处理器(DSP,DigitalSignal Processor)、微控制单元(MCU,Microcontroller Unit)或可编程门阵列(FPGA,Field-Programmable Gate Array)等实现;发送单元123可通过确定路由信息的装置中的处理器和通信接口共同实现。
需要说明的是:上述实施例提供的确定路由信息的装置在确定路由信息时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的确定路由信息的装置与确定路由信息的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
为实现本申请实施例应用于第二网络设备的确定路由信息的方法,本申请实施例还提供了一种确定路由信息的装置,如图13所示,该装置包括:
接收单元131,用于接收第一网络设备发送的第一信息;其中,所述第二网络设备为所述第一网络设备的邻居节点;所述第一信息在所述第一网络设备确定出在对应的第一网络中第二网络设备的数量为1的情况下发送;所述第一信息至少表征所述第一网络设备连接的网段和对应的链路开销;
确定单元132,用于在所述第二网络设备的邻居节点的数量大于1的情况下,基于所述第二网络设备到所述第一网络中每个第三网络设备的最短路径和路由开销,以及基于接收到的第一信息,确定出所述第一网络设备相关的第一路由信息和第二路由信息;其中,第三网络设备表征所述第一网络中除所述第一网络设备和所述第二网络设备之外的任一网络设备;第一路由信息表征所述第一网络设备经由所述第二网络设备到达第三网络设备的路由信息;第二路由信息表征第三网络设备经由所述第二网络设备到达第一网络设备的路由信息;
发送单元133,用于向所述第一网络设备发送确定出的第一路由信息,以及向所述第一网络中的每个第三网络设备发送确定出的第二路由信息。
在一些实施例中,该装置还包括:
生成单元,用于在所述第二网络设备的邻居节点的数量为1的情况下,生成所述第一网络设备与所述第二网络设备之间的路由路径。
在一些实施例中,该装置还包括更新单元,所述更新单元用于:
在接收到所述第一网络设备发送的第一报文的情况下,将所述第一网络设备添加至本地存储的第一排除表;
在接收到所述第一网络设备发送的第二报文的情况下,在本地存储的第一排除表中删除所述第一网络设备;
其中,第一报文在第一网络设备确定出第二网络设备的数量为1的情况下发送;第二报文在第一网络设备基于变更后的第一网络的拓扑结构确定出第二网络设备的数量由1变更为大于1的情况下发送。
在一些实施例中,所述第一报文和所述第二报文均包括第一标志位、第二标志位和第三标志位;所述更新单元具体用于:
在第一标志位表征所述第一报文与第一排除表相关,第三标志位表征发送所述第一报文的第一网络设备为始发节点,且第二标志位为第一设定值的情况下,将所述第一网络设备添加至本地存储的第一排除表;
在第一标志位表征所述第二报文与第一排除表相关,第三标志位表征发送所述第二报文的第一网络设备为始发节点,且第二标志位为第二设定值的情况下,将所述第一网络设备从本地存储的第一排除表中删除。
在一些实施例中,发送单元133还用于:向所述第一网络中的每个第三网络设备,发送所述第一排除表中记录的每个网络设备对应的第一信息;第一信息用于供第三网络设备确定出经由所述第三网络设备和对应的邻居节点到达所述第一网络设备的路由信息。
实际应用时,确定单元132、生成单元和更新单元可通过确定路由信息的装置中的处理器,比如中央处理器(CPU,Central Processing Unit)、数字信号处理器(DSP,DigitalSignal Processor)、微控制单元(MCU,Microcontroller Unit)或可编程门阵列(FPGA,Field-Programmable Gate Array)等实现;接收单元131和发送单元133可通过确定路由信息的装置中的处理器和通信接口共同实现。
需要说明的是:上述实施例提供的确定路由信息的装置在确定路由信息时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的确定路由信息的装置与确定路由信息的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
基于上述程序模块的硬件实现,且为了实现本申请实施例的方法,本申请实施例还提供了一种电子设备。图14为本申请实施例提供的电子设备的硬件组成结构示意图,如图14所示,电子设备14包括:
通信接口141,能够与其它设备比如网络设备等进行信息交互;
处理器142,与所述通信接口141连接,以实现与其它设备进行信息交互,用于运行计算机程序时,执行上述第一网络设备或第二网络设备的一个或多个技术方案提供的确定路由信息的方法。而所述计算机程序存储在存储器143上。
当然,实际应用时,电子设备14中的各个组件通过总线系统144耦合在一起。可理解,总线系统144用于实现这些组件之间的连接通信。总线系统144除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图14中将各种总线都标为总线系统144。
本申请实施例中的存储器143用于存储各种类型的数据以支持电子设备14的操作。这些数据的示例包括:用于在电子设备14上操作的任何计算机程序。
可以理解,存储器143可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,ferromagnetic random access memory)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,Random AccessMemory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static Random Access Memory)、动态随机存取存储器(DRAM,Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM,SynchronousDynamic Random Access Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate Synchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic Random Access Memory)、同步连接动态随机存取存储器(SLDRAM,Sync Link Dynamic Random Access Memory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本申请实施例描述的存储器143旨在包括但不限于这些和任意其它适合类型的存储器。
上述本申请实施例揭示的方法可以应用于处理器142中,或者由处理器142实现。处理器142可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器142中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器142可以是通用处理器、DSP,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器142可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器143,处理器142读取存储器143中的程序,结合其硬件完成前述方法的步骤。
可选地,所述处理器142执行所述程序时实现本申请实施例的各个方法中由终端实现的相应流程,为了简洁,在此不再赘述。
在示例性实施例中,本申请实施例还提供了一种存储介质,即计算机存储介质,具体为计算机可读存储介质,例如包括存储计算机程序的第一存储器143,上述计算机程序可由终端的处理器142执行,以完成前述方法所述步骤。计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、Flash Memory、磁表面存储器、光盘、或CD-ROM等存储器。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理模块中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,本申请实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
需要说明的是,本申请实施例中的术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多个中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (14)
1.一种确定路由信息的方法,其特征在于,应用于第一网络设备,所述方法包括:
基于所述第一网络设备所处的第一网络的拓扑结构,确定出所有第二网络设备;所述第二网络设备表征所述第一网络设备在所述第一网络中的邻居节点;
在确定出的第二网络设备的数量为1的情况下,不计算所述第一网络设备到所述第一网络中的每个网络设备的最短路径,以及向第二网络设备发送所述第一网络设备的第一信息;其中,所述第一信息至少表征所述第一网络设备连接的网段和对应的链路开销;所述第一信息用于供第二网络设备确定出所述第一网络设备相关的路由信息。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括以下之一:
在确定出的第二网络设备的数量为1的情况下,将所述第一网络设备添加至本地存储的第一排除表,以及至少向第二网络设备发送第一报文;
在所述第一网络的拓扑结构发生变更,且变更后的第一网络中第二网络设备的数量大于1的情况下,将所述第一网络设备从本地存储的第一排除表中删除,以及至少向每个第二网络设备发送第二报文;
其中,所述第一报文用于指示第二网络设备在对应存储的第一排除表中新增所述第一网络设备,以及用于供第二网络设备向所述第一网络设备发送相关的路由信息;所述第二报文用于指示第二网络设备在对应存储的第一排除表中删除所述第一网络设备。
3.根据权利要求2所述的方法,其特征在于,发送第一报文或第二报文,包括:
基于所述第一网络对应的组播地址,向所述第一网络中的每个网络设备发送第一报文或第二报文;
其中,所述第一报文和所述第二报文均为Hello报文,所述第一报文和所述第二报文中的保留字段均包括:
所述第一标志位表征接收到的报文是否与第一排除表相关;
所述第二标志位用于指示接收到报文的网络设备在发送报文的网络设备为始发节点的情况下,在第一排除表中新增或删除对应的网络设备;
所述第三标志位表征发送报文的网络设备是否为始发节点。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在确定出的第二网络设备的数量大于1的情况下,计算所述第一网络设备到所述第一网络中的每个网络设备的最短路径;
基于计算出的最短路径,向所述第一网络中的每个网络设备发送对应的第二信息;所述第二信息表征所述第一网络设备与对应的网络设备之间的路由路径和路由开销。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:
在确定出的第二网络设备的数量为1的情况下,生成所述第一网络设备与所述第二网络设备之间的第一路由路径;所述第一路由路径用于供所述第二网络设备转发所述第一网络设备相关的数据。
6.一种确定路由信息的方法,其特征在于,应用于第二网络设备,所述方法包括:
接收第一网络设备发送的第一信息;其中,所述第二网络设备为所述第一网络设备的邻居节点;所述第一信息在所述第一网络设备确定出在对应的第一网络中第二网络设备的数量为1的情况下发送;所述第一信息至少表征所述第一网络设备连接的网段和对应的链路开销;
在所述第二网络设备的邻居节点的数量大于1的情况下,基于所述第二网络设备到所述第一网络中每个第三网络设备的最短路径和路由开销,以及基于接收到的第一信息,确定出所述第一网络设备相关的第一路由信息和第二路由信息;其中,第三网络设备表征所述第一网络中除所述第一网络设备和所述第二网络设备之外的任一网络设备;第一路由信息表征所述第一网络设备经由所述第二网络设备到达第三网络设备的路由信息;第二路由信息表征第三网络设备经由所述第二网络设备到达第一网络设备的路由信息;
向所述第一网络设备发送确定出的第一路由信息,以及向所述第一网络中的每个第三网络设备发送确定出的第二路由信息。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
在所述第二网络设备的邻居节点的数量为1的情况下,生成所述第一网络设备与所述第二网络设备之间的路由路径。
8.根据权利要求6所述的方法,其特征在于,所述方法还包括以下之一:
在接收到所述第一网络设备发送的第一报文的情况下,将所述第一网络设备添加至本地存储的第一排除表;
在接收到所述第一网络设备发送的第二报文的情况下,在本地存储的第一排除表中删除所述第一网络设备;
其中,第一报文在第一网络设备确定出第二网络设备的数量为1的情况下发送;第二报文在第一网络设备基于变更后的第一网络的拓扑结构确定出第二网络设备的数量由1变更为大于1的情况下发送。
9.根据权利要求8所述的方法,其特征在于,所述第一报文和所述第二报文均包括第一标志位、第二标志位和第三标志位;
所述将第一网络设备添加至本地存储的第一排除表,包括:
在第一标志位表征所述第一报文与第一排除表相关,第三标志位表征发送所述第一报文的第一网络设备为始发节点,且第二标志位为第一设定值的情况下,将所述第一网络设备添加至本地存储的第一排除表;
所述在本地存储的第一排除表中删除第一网络设备,包括:
在第一标志位表征所述第二报文与第一排除表相关,第三标志位表征发送所述第二报文的第一网络设备为始发节点,且第二标志位为第二设定值的情况下,将所述第一网络设备从本地存储的第一排除表中删除。
10.根据权利要求6至9任一项所述的方法,其特征在于,所述方法还包括:
向所述第一网络中的每个第三网络设备,发送所述第一排除表中记录的每个网络设备对应的第一信息;第一信息用于供第三网络设备确定出经由所述第三网络设备和对应的邻居节点到达所述第一网络设备的路由信息。
11.一种确定路由信息的装置,其特征在于,包括:
确定单元,用于基于所述第一网络设备所处的第一网络的拓扑结构,确定出所有第二网络设备;所述第二网络设备表征所述第一网络设备在所述第一网络中的邻居节点;
处理单元,用于在确定出的第二网络设备的数量为1的情况下,不计算所述第一网络设备到所述第一网络中的每个网络设备的最短路径;
发送单元,用于在确定出的第二网络设备的数量为1的情况下,向第二网络设备发送所述第一网络设备的第一信息;其中,所述第一信息至少表征所述第一网络设备连接的网段和对应的链路开销;所述第一信息用于供第二网络设备确定出所述第一网络设备相关的路由信息。
12.一种确定路由信息的装置,其特征在于,包括:
接收单元,用于接收第一网络设备发送的第一信息;其中,所述第二网络设备为所述第一网络设备的邻居节点;所述第一信息在所述第一网络设备确定出在对应的第一网络中第二网络设备的数量为1的情况下发送;所述第一信息至少表征所述第一网络设备连接的网段和对应的链路开销;
确定单元,用于在所述第二网络设备的邻居节点的数量大于1的情况下,基于所述第二网络设备到所述第一网络中每个第三网络设备的最短路径和路由开销,以及基于接收到的第一信息,确定出所述第一网络设备相关的第一路由信息和第二路由信息;其中,第三网络设备表征所述第一网络中除所述第一网络设备和所述第二网络设备之外的任一网络设备;第一路由信息表征所述第一网络设备经由所述第二网络设备到达第三网络设备的路由信息;第二路由信息表征第三网络设备经由所述第二网络设备到达第一网络设备的路由信息;
发送单元,用于向所述第一网络设备发送确定出的第一路由信息,以及向所述第一网络中的每个第三网络设备发送确定出的第二路由信息。
13.一种电子设备,其特征在于,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,
其中,所述处理器用于运行所述计算机程序时,执行以下之一:
权利要求1至5任一项所述的方法的步骤;
权利要求6至10任一项所述的方法的步骤。
14.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现以下之一:
权利要求1至5任一项所述的方法的步骤;
权利要求6至10任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111404305.5A CN114143249B (zh) | 2021-11-24 | 2021-11-24 | 确定路由信息的方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111404305.5A CN114143249B (zh) | 2021-11-24 | 2021-11-24 | 确定路由信息的方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114143249A true CN114143249A (zh) | 2022-03-04 |
CN114143249B CN114143249B (zh) | 2022-12-06 |
Family
ID=80391400
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111404305.5A Active CN114143249B (zh) | 2021-11-24 | 2021-11-24 | 确定路由信息的方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114143249B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120314582A1 (en) * | 2006-04-25 | 2012-12-13 | Rockstar Bidco, LP | Method and apparatus for simplifying the computation of alternate network paths |
CN104641604A (zh) * | 2013-04-08 | 2015-05-20 | 华为技术有限公司 | 确定最短路径的方法及装置 |
CN108195380A (zh) * | 2017-12-26 | 2018-06-22 | 广东嘉腾机器人自动化有限公司 | 一种基于最短路径的agv最优路径选择方法 |
CN109816131A (zh) * | 2017-11-20 | 2019-05-28 | 北京京东尚科信息技术有限公司 | 路径规划方法、路径规划装置及计算机可读存储介质 |
-
2021
- 2021-11-24 CN CN202111404305.5A patent/CN114143249B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120314582A1 (en) * | 2006-04-25 | 2012-12-13 | Rockstar Bidco, LP | Method and apparatus for simplifying the computation of alternate network paths |
CN104641604A (zh) * | 2013-04-08 | 2015-05-20 | 华为技术有限公司 | 确定最短路径的方法及装置 |
CN109816131A (zh) * | 2017-11-20 | 2019-05-28 | 北京京东尚科信息技术有限公司 | 路径规划方法、路径规划装置及计算机可读存储介质 |
CN108195380A (zh) * | 2017-12-26 | 2018-06-22 | 广东嘉腾机器人自动化有限公司 | 一种基于最短路径的agv最优路径选择方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114143249B (zh) | 2022-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2682930C2 (ru) | Выбор маршрута в беспроводных сетях | |
US9800493B2 (en) | Routing messages in a computer network using deterministic and probalistic source routes | |
US8363662B2 (en) | Alternate down paths for directed acyclic graph (DAG) routing | |
US20140029624A1 (en) | Reactive and proactive routing protocol interoperation in low power and lossy networks | |
US11611509B2 (en) | Communication method, communications device, and communications system | |
CN110100479B (zh) | 一种利用修改的无路径dao信令优化路由失效的装置和方法 | |
JP2015136168A (ja) | ネットワークにおけるメッセージおよび計算オーバーヘッドの軽減 | |
US7813309B2 (en) | Radio multi-hop network, node, multicast route control method, and program thereof | |
CN109617812B (zh) | 一种基于贪心嵌入的rpl路由方法、装置及网络拓扑 | |
WO2021254173A1 (zh) | 一种路由处理方法及相关设备 | |
EP3157211A1 (en) | Isis-based flooding method and device | |
WO2021179935A1 (zh) | 路由确定方法、装置和网络设备 | |
CN114143249B (zh) | 确定路由信息的方法、装置、电子设备及存储介质 | |
US20190334814A1 (en) | Path establishment method and device, and network node | |
CN116846806A (zh) | 移动网络节点的动态自适应路由方法和系统 | |
CN101778443B (zh) | 路由选择的方法、装置和系统 | |
WO2021169297A1 (zh) | 一种传输节点标识的方法、设备及系统 | |
CN101150514B (zh) | 支持附加sys-id的is-is路由实现方法及装置 | |
US10924395B2 (en) | Seamless multipoint label distribution protocol (mLDP) transport over a bit index explicit replication (BIER) core | |
CN113163344A (zh) | 有线与无线混合组网的控制方法、装置、介质和电子设备 | |
CN113595915A (zh) | 转发报文的方法及相关设备 | |
CN114390632B (zh) | 基于接入层和网络层联合的无线移动自组网动态路由方法 | |
WO2023246425A1 (zh) | 一种通信方法及相关设备 | |
CN113595912B (zh) | 5GLAN中基于IPv6扩展报头的一对多通信方法及装置 | |
WO2024094082A1 (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 |