Method for updating association relationship of route, method for route communication and related device

By identifying problem nodes in an autonomous network and updating the next-hop block, the network performance problem caused by link state changes is solved, and a method for quickly updating packet forwarding addresses is implemented, saving computing resources.

CN118869583BActive Publication Date: 2026-05-19RUIJIE NETWORKS CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
RUIJIE NETWORKS CO LTD
Filing Date
2023-04-26
Publication Date
2026-05-19

AI Technical Summary

Technical Problem

In autonomous networks, changes in link state can cause the next-hop address corresponding to some routing prefixes to fail to reach the path endpoint. Existing technologies consume a lot of computing resources by recalculating the next-hop address of all routing prefixes, which affects network performance.

Method used

By determining the shortest path for each node in the autonomous network during path updates, problem nodes are identified, and the pre-stored next-hop block is updated based on the prefix set associated with the problem node, thus avoiding re-decision for all routing prefixes and saving computing power.

Benefits of technology

Quickly update packet forwarding addresses to reduce computing power consumption and improve network performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118869583B_ABST
    Figure CN118869583B_ABST
Patent Text Reader

Abstract

The application discloses a routing association relationship updating method, a routing communication method and related devices. The method determines the shortest path of each node in the autonomous network when updating the path, and determines the problem node according to the comparison result between the shortest path of each node and the historical path. Finally, according to the routing prefix in the problem node association prefix set, the target next hop block associated with the routing prefix is selected from the pre-stored next hop block. Then, the next hop block associated with the first prefix is updated according to the target next hop block and the shortest path of the problem node. The next hop block of the application is an index representing the forwarding address of the message. The update of the next hop block associated with the routing prefix is the update of the forwarding address of the message. The flow does not need to re-decide the next hop address of each routing prefix based on the shortest path of all nodes when updating the path, which saves the computing power and improves the network performance.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of communication technology, specifically to a method for updating the association relationship of a route, a route communication method, and related apparatus. Background Technology

[0002] As networks grow in scale, the application of link-state routing protocols is increasing. Link-state routing protocols are used to control nodes within an autonomous network (such as gateway devices and routers) to announce their own link-state information and, based on information from other nodes, determine the shortest path rooted at themselves using path algorithms such as Dijkstra.

[0003] Currently, most protocols determine the next-hop address for each routing prefix within the autonomous network based on the shortest path between nodes in the topology. After receiving a packet, a node can match the routing prefixes in the autonomous network according to the packet's destination address and use the next-hop address corresponding to the matched routing prefix as the forwarding address for that packet.

[0004] When an autonomous network (AfN) undergoes path updates, the shortest topological paths between nodes change, causing some routing prefixes to fail to reach their destination. A common solution is to recalculate all shortest topological paths between nodes within the AfN during path updates and then re-determine the next-hop address for each routing prefix based on the calculation results. The next-hop address corresponding to a routing prefix becomes the forwarding address for packets matching that prefix. However, larger networks have more routing prefixes, and this method of re-determining all routing prefixes during path updates consumes significant computational resources, impacting network performance. Summary of the Invention

[0005] This application provides a method for updating route associations, a route communication method, and related apparatus. It is used to quickly update the forwarding address of packets in the event of a link failure.

[0006] In a first aspect, embodiments of this application provide a method for updating the association relationship of routes, applied to a first node in an autonomous network, the method comprising:

[0007] In response to a path update instruction, determine the shortest path from the first node to each node in the autonomous network.

[0008] For any node in the autonomous network, the shortest path ending at the node is compared with the pre-stored historical paths ending at the node. If the shortest path is different from the historical path, the node is a problem node. Each historical path represents the shortest path from the first node to the node at the end of the historical path.

[0009] If any of the nodes is a problem node, then for each first prefix, a target next-hop block associated with the first prefix is ​​selected from the pre-stored next-hop blocks; wherein, the pre-stored next-hop block is an index for determining the forwarding address of the packet; each node in the autonomous network is associated with a prefix set for matching packets, and each prefix set consists of at least one routing prefix in the autonomous network; the first prefix is ​​a routing prefix in the prefix set associated with any node;

[0010] The first prefix-associated next-hop block is updated based on the target next-hop block and the shortest path from the first node to any of the nodes.

[0011] In some possible embodiments, each routing prefix in the autonomous network has at least one node; the association between any node and the prefix set is determined in the following manner:

[0012] For any given routing prefix, select a first path from the historical paths that ends at the second node; wherein the second node is a node under the routing prefix;

[0013] Based on the cost value of each first path, a second path is selected from the first paths; and the routing prefix is ​​associated with the node at the end of the second path; wherein the cost value of each historical path is determined based on the bandwidth of the nodes along the path;

[0014] For any node in the autonomous network, the set of prefixes associated with the node is determined based on all routing prefixes associated with the node.

[0015] In some possible embodiments, the next hop block is determined in the following manner:

[0016] For any given routing prefix, determine the third node associated with the prefix set containing that routing prefix;

[0017] For any third node, select a third path from the historical paths that ends at the third node;

[0018] Determine the union of the next-hop addresses of each third path, and construct the next-hop block associated with the union.

[0019] In some possible embodiments, the association between the next-hop block and the routing prefix is ​​determined in the following manner:

[0020] After determining the union of the next-hop addresses for each third path, the routing prefix is ​​associated with the next-hop block of the union.

[0021] In some possible embodiments, prior to constructing the next-hop block associated with the union, the method further includes:

[0022] It is determined that the union does not have an associated next-hop block.

[0023] In some possible embodiments, updating the first prefix-associated next-hop block based on the target next-hop block and the shortest path from the first node to either of the nodes includes:

[0024] The next hop block is selected from the pre-stored next hop blocks according to the shortest path; wherein the address of the next hop block is the same as the next hop address of the shortest path.

[0025] Determine whether the target next-hop block and the compared next-hop block are the same next-hop block;

[0026] If they are not the same next-hop block, then delete the association between the first prefix and the target next-hop block, and associate the first prefix with the comparison next-hop block.

[0027] In some possible embodiments, the method further includes:

[0028] After determining any one of the nodes as a problem node, the historical path from the first node to the problem node is updated based on the shortest path from the first node to the problem node.

[0029] Secondly, embodiments of this application also provide a routing communication method applied to a first node in an autonomous network, the method comprising:

[0030] Receive the message to be processed and select a third prefix from the routing prefixes of the autonomous network that matches the destination address of the message;

[0031] The forwarding address of the packet to be processed is determined based on the next-hop block associated with the third prefix, and a forwarding operation is performed on the packet to be processed; wherein, each routing prefix in the autonomous network is associated with a next-hop block, and each next-hop block is an index for determining the forwarding address of the packet.

[0032] Thirdly, embodiments of this application also provide a routing association update apparatus, the apparatus comprising:

[0033] The instruction unit is configured to perform a path update instruction in response to determine the shortest path from the first node to each node in the autonomous network.

[0034] A node unit is configured to perform a comparison, for any node in the autonomous network, between the shortest path ending at that node and a pre-stored historical path ending at that node; if the shortest path differs from the historical path, then that node is a problem node; wherein each historical path represents the shortest path from the first node to the node at the end of the historical path.

[0035] The next-hop block unit is configured to, if any node is a problem node, select a target next-hop block associated with the first prefix from a pre-stored next-hop block for each first prefix; wherein the pre-stored next-hop block is an index for determining the forwarding address of a packet; each node in the autonomous network is associated with a prefix set for matching packets, and each prefix set consists of at least one routing prefix in the autonomous network; the first prefix is ​​a routing prefix in the prefix set associated with any node;

[0036] The update unit is configured to update the first prefix-associated next-hop block based on the target next-hop block and the shortest path from the first node to either of the nodes.

[0037] In some possible embodiments, each routing prefix in the autonomous network has at least one node; the apparatus further includes an association unit configured to determine the association relationship between any node and the prefix set in the following manner:

[0038] For any given routing prefix, select a first path from the historical paths that ends at the second node; wherein the second node is a node under the routing prefix;

[0039] Based on the cost value of each first path, a second path is selected from the first paths; and the routing prefix is ​​associated with the node at the end of the second path; wherein the cost value of each historical path is determined based on the bandwidth of the nodes along the path;

[0040] For any node in the autonomous network, the set of prefixes associated with the node is determined based on all routing prefixes associated with the node.

[0041] In some possible embodiments, the next hop block is determined in the following manner:

[0042] For any given routing prefix, determine the third node associated with the prefix set containing that routing prefix;

[0043] For any third node, select a third path from the historical paths that ends at the third node;

[0044] Determine the union of the next-hop addresses of each third path, and construct the next-hop block associated with the union.

[0045] In some possible embodiments, the association between the next-hop block and the routing prefix is ​​determined in the following manner:

[0046] After determining the union of the next-hop addresses for each third path, the routing prefix is ​​associated with the next-hop block of the union.

[0047] In some possible embodiments, before executing the construction of the next-hop block associated with the union, the association unit is further configured to:

[0048] It is determined that the union does not have an associated next-hop block.

[0049] In some possible embodiments, the step of updating the first prefix-associated next-hop block based on the target next-hop block and the shortest path from the first node to either of the nodes is performed, wherein the update unit is configured to:

[0050] The next hop block is selected from the pre-stored next hop blocks according to the shortest path; wherein the address of the next hop block is the same as the next hop address of the shortest path.

[0051] Determine whether the target next-hop block and the compared next-hop block are the same next-hop block;

[0052] If they are not the same next-hop block, then delete the association between the first prefix and the target next-hop block, and associate the first prefix with the comparison next-hop block.

[0053] In some possible embodiments, the update unit is further configured to:

[0054] The historical path from the first node to any of the nodes is updated based on the shortest path.

[0055] Fourthly, embodiments of this application also provide a routing communication device, the device comprising:

[0056] The message receiving unit is configured to receive messages to be processed and select a third prefix from the routing prefixes of the autonomous network that matches the destination address of the message;

[0057] The packet forwarding unit is configured to determine the forwarding address of the packet to be processed based on the next-hop block associated with the third prefix, and to perform a forwarding operation on the packet to be processed; wherein, each routing prefix in the autonomous network is associated with a next-hop block, and each next-hop block is an index for determining the forwarding address of the packet.

[0058] Fifthly, embodiments of this application also provide a computer-readable storage medium that, when the instructions in the computer-readable storage medium are executed by a processor of an electronic device, enables the electronic device to perform any of the methods provided in the first or second aspect of this application.

[0059] Sixthly, embodiments of this application also provide a computer program product, including a computer program that, when executed by a processor, implements any of the methods provided in the first or second aspect of this application.

[0060] In this embodiment, the shortest path from the first node to each node in the autonomous network is determined during path update, and the problem node is determined based on the comparison between the shortest path of each node and the historical path. Finally, based on the routing prefixes in the problem node's associated prefix set, a target next-hop block associated with that routing prefix is ​​selected from the pre-stored next-hop blocks. Then, the next-hop block associated with the first prefix is ​​updated based on the shortest path between the target next-hop block and the problem node. In this application, the next-hop block is an index representing the forwarding address of a packet; updating the next-hop block associated with the routing prefix is ​​equivalent to updating the forwarding address of the packet. This process eliminates the need to re-determine the next-hop address of each routing prefix based on the shortest path of all nodes during path update, saving computational power and improving network performance.

[0061] In this embodiment, each next-hop block is an index for determining the forwarding address of a packet; the first prefix is ​​a routing prefix in the prefix set associated with the problem node; and the problem node is the node at the end of the historical problem path. This process allows for rapid updating of packet forwarding addresses during link failures, eliminating the need to re-determine all routing prefixes of the autonomous network, thus saving computing power and improving network performance.

[0062] Other features and advantages of this application will be set forth in the description which follows, and will be apparent in part from the description, or may be learned by practicing the application. The objectives and other advantages of this application may be realized and obtained by means of the structures particularly pointed out in the written description, claims, and drawings. Attached Figure Description

[0063] To more clearly illustrate the technical solutions of the embodiments of this application, the drawings used in the embodiments of this application will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0064] Figure 1 This is a schematic diagram of the communication links between nodes in an autonomous network as shown in an embodiment of this application;

[0065] Figure 2 This is a schematic diagram illustrating the correspondence between nodes and routing prefixes in an embodiment of this application;

[0066] Figure 3 This is a schematic diagram illustrating the shortest path from node R6 to R1 in an embodiment of this application;

[0067] Figure 4 This is a flowchart illustrating the construction process of the routing prefix table in an embodiment of this application;

[0068] Figure 5 This is a schematic diagram of the historical path table shown in an embodiment of this application;

[0069] Figure 6 This is a schematic diagram of a node table shown in an embodiment of this application;

[0070] Figure 7 This is a schematic diagram illustrating how to determine the nodes associated with the routing prefix, as shown in an embodiment of this application.

[0071] Figure 8 This is another schematic diagram illustrating how to determine the node associated with the routing prefix, as shown in an embodiment of this application;

[0072] Figure 9 This is a schematic diagram of the association table shown in an embodiment of this application;

[0073] Figure 10 This is a schematic diagram illustrating the construction process of the next-hop block in an embodiment of this application;

[0074] Figure 11 This is another schematic diagram illustrating the construction process of the next-hop block in an embodiment of this application;

[0075] Figure 12 This is a schematic diagram of the next-hop block table shown in an embodiment of this application;

[0076] Figure 13 This is a schematic diagram illustrating the determination of the source node set and the preferred node set in an embodiment of this application;

[0077] Figure 14This is another schematic diagram illustrating the determination of the source node set and the preferred node set in an embodiment of this application;

[0078] Figure 15 This is a schematic diagram of a routing prefix table shown in an embodiment of this application;

[0079] Figure 16 This is an overall flowchart illustrating a routing association update method according to an embodiment of this application;

[0080] Figure 17 This is a schematic diagram illustrating the historical path update in an embodiment of this application;

[0081] Figure 18 This is a schematic diagram illustrating the next-hop block update of the first prefix association, as shown in an embodiment of this application.

[0082] Figure 19 This is another schematic diagram illustrating the next-hop block update of the first prefix association as shown in an embodiment of this application;

[0083] Figure 20 This is an overall flowchart illustrating a routing communication method according to an embodiment of this application;

[0084] Figure 21 This is a structural diagram illustrating a routing association update device according to an embodiment of this application;

[0085] Figure 22 This is a structural diagram of a routing communication device shown in an embodiment of this application;

[0086] Figure 23 This is a schematic diagram of an electronic device shown in an embodiment of this application. Detailed Implementation

[0087] The technical solutions in the embodiments of this application will be clearly and thoroughly described below with reference to the accompanying drawings. In the description of the embodiments of this application, unless otherwise stated, " / " will mean "or", for example, A / B can mean A or B; "and / or" in the text is merely a description of the relationship between related objects, indicating that there can be three relationships, for example, A and / or B can mean: A exists alone, A and B exist simultaneously, and B exists alone. In addition, in the description of the embodiments of this application, "multiple" means two or more.

[0088] In the description of the embodiments of this application, unless otherwise stated, the term "multiple" refers to two or more, and other quantifiers are similarly understood. The preferred embodiments described herein are for illustration and explanation only and are not intended to limit this application. Furthermore, the embodiments and features in the embodiments of this application can be combined with each other without conflict.

[0089] To further illustrate the technical solutions provided in the embodiments of this application, a detailed description is provided below in conjunction with the accompanying drawings and specific implementation methods. Although the embodiments of this application provide method operation steps as shown in the following embodiments or drawings, more or fewer operation steps may be included in the method based on conventional or non-inventive effort. For steps that do not logically have a necessary causal relationship, the execution order of these steps is not limited to the execution order provided in the embodiments of this application. In actual processing or when the control device executes the method, it may be executed sequentially or in parallel according to the method shown in the embodiments or drawings.

[0090] Compared to traditional distance-vector routing protocols, link-state routing protocols are more suitable for large networks. In autonomous networks using link-state routing protocols, nodes no longer simply learn routes from neighboring nodes. Instead, they advertise their own link-state information and simultaneously collect link-state information from other nodes. The protocol then determines the next-hop address for each routing prefix in the autonomous network. Thus, when a node receives a packet, it can match the packet's destination address with the routing prefixes in the autonomous network and use the next-hop address corresponding to the matched prefix as the forwarding address for the packet.

[0091] In an autonomous network (ANR), the routing prefixes are determined based on the services that the ANR itself can provide, and each routing prefix in the ANR has a specified number of nodes under it. For example... Figure 1 The autonomous network shown contains 6 nodes, R1 to R6. The nodes under each route prefix in this autonomous network (i.e., the correspondence between each node and the route prefix) can be represented as follows: Figure 2 As shown.

[0092] This correspondence is used to determine the services that a node can provide; that is, each node under any given routing prefix has the capability to provide the services corresponding to that routing prefix. For example... Figure 2 The node R1 shown in the figure has the function of providing services corresponding to the eight route prefixes 100.1.1.1 / 32 to 100.1.1.5 / 32, 110.12.1.0 / 24, 110.14.1.0 / 24 and 110.15.1.0 / 24.

[0093] When a link failure occurs in an autonomous network, the shortest path between nodes changes, causing the next-hop address corresponding to some routing prefixes to fail to reach the path's endpoint. As mentioned earlier... Figure 1 The autonomous network shown is an example, specifically as follows: Figure 3 As shown, there are two shortest paths between nodes R6 and R1. Path 1 is a jump from R6 to R4 and then to R1, while path 2 is a jump from R6 to R5 and then to R1.

[0094] When there is a link failure between nodes, it means that direct hopping between nodes is not possible. For example... Figure 3 If the link between nodes R1 and R4 fails, it is not possible to directly hop to R1 via R4. In this case, if the destination address of a request message received by node R6 points to node R1, it is no longer possible to reach node R1 via path 1. At this point, it is necessary to re-determine the forwarding address of the message, i.e., the next hop for the message to reach R1 from node R6.

[0095] Current solutions often involve recalculating the shortest path between all nodes in the autonomous network when a link fails, and then re-determining the next-hop address for each routing prefix based on the calculation results. However, the larger the autonomous network, the more routing prefixes it has. This method of re-determining all routing prefixes in the network when a link fails consumes a lot of computing resources and affects network performance.

[0096] To address the aforementioned problems, the inventive concept of this application is as follows: During path updates, the shortest path from the first node to each node in the autonomous network is determined, and the problem node is identified based on the comparison between the shortest path of each node and historical paths. Finally, based on the routing prefixes in the problem node's associated prefix set, a target next-hop block associated with that routing prefix is ​​selected from the pre-stored next-hop blocks. Subsequently, the next-hop blocks associated with the first prefix are updated based on the shortest path between the target next-hop block and the problem node.

[0097] In this application, the next-hop block is an index representing the forwarding address of a packet. Updating the next-hop block associated with the routing prefix is ​​equivalent to updating the forwarding address of the packet. This process eliminates the need to re-determine the next-hop address of each routing prefix based on the shortest path across all nodes during path updates, saving computational power and improving network performance. The following section describes how this application's embodiment constructs the routing prefix table for each node, specifically as follows: Figure 4 As shown:

[0098] Step 401: Determine the shortest path from the first node to each node in the autonomous network, and use the shortest path as the historical path;

[0099] The technical solution of this application embodiment is applied to any node in an autonomous network, hereinafter referred to as the first node. All nodes mentioned in subsequent steps are nodes within the autonomous network where the first node is located.

[0100] The first node is the node that needs to determine its own routing prefix table. For the sake of explaining the technical solution of this application, the following examples will all refer to the aforementioned node. Figure 1 and Figure 2The example of node R6 in the autonomous network illustrates how node R6 determines its routing prefix table based on the link information of the remaining nodes R1 to R5 in the autonomous network.

[0101] As mentioned above Figure 1 Taking the autonomous network shown as an example, in implementation, the reachable paths from the first node to the remaining nodes can be determined using path algorithms such as Dijkstra's algorithm. Taking R6 as the first node, as described above... Figure 1 As shown, there are two shortest paths between nodes R6 and R1. Path 1 is a jump from R6 to R4 and then to R1, while path 2 is a jump from R6 to R5 and then to R1.

[0102] Furthermore, the cost of each path can be calculated based on the bandwidth of each node along that path. This cost represents the resources required for a message to be forwarded from R6 to R1. Thus, the path with the lowest cost can be selected as the shortest path between R6 and R1. This allows us to determine the topological shortest path between nodes in the autonomous network.

[0103] To facilitate the explanation of the technical solutions of the embodiments of this application, it is assumed in the following examples that the bandwidth of each node is the same, that is, the cost required for each node is 1.

[0104] As mentioned above Figure 1 Taking the illustrated autonomous network as an example, both paths from node R6 to R1 require passing through either R4 or R5. This means both paths involve two hops. Assuming equal bandwidth for all nodes, and since the cost per node is 1, the cost of both paths is 2. Therefore, both paths are considered the shortest paths between R6 and R1.

[0105] After determining the shortest paths from the first node to the remaining nodes in the autonomous network through the above process, each shortest path can be stored as a historical path in the aforementioned... Figure 5 The historical path table shown represents the shortest path from the first node R6 to the remaining nodes R1 to R5.

[0106] Next, a node table is constructed based on the next-hop addresses of each historical path. This node table shows the next-hop addresses of historical paths from the first node to other nodes within the autonomous network, as well as the cost values ​​of those paths. Specifically, as follows... Figure 6 As shown, with Figure 6Taking the first row of data in the node table as an example, this row of data indicates the next-hop address (i.e., the address of node R4) of each historical path from the first node R6 to node R1.<Gi0 / 0,110.46.1.4> and the address of node R5<Gi0 / 0,110.56.1.5> ), and the cost value of each historical path.

[0107] It should be noted that the next-hop address of a historical path represents the next-hop address from the current node to the grid device at the end of the historical path. As mentioned above... Figure 5 Taking the historical path “R6→R5→R1” as an example, the next hop address of this historical path is the address of node R5.

[0108] Step 402: For any routing prefix, select the first path from the historical paths that ends at the second node; where the second node is a node under the routing prefix;

[0109] As mentioned above Figure 1 Taking the autonomous network shown as an example, the nodes under each route prefix in this autonomous network are as described above. Figure 2 As shown. For each routing prefix within this autonomous network, pre-determined from the aforementioned... Figure 2 The node under the specified route prefix is ​​determined from the node-route prefix mapping table shown, i.e., the second node in step 402; then, from the aforementioned... Figure 5 The first path in the historical path table shown is selected with the node at the end of the path as the second node.

[0110] Step 403: Select a second path from the first paths based on the cost value of each first path; and associate the routing prefix with the node at the end of the second path; wherein the cost value of each historical path is determined based on the bandwidth of the nodes along the path;

[0111] The cost value has already been introduced, representing the resources required for the first node to reach the node at the end of the path. It is determined based on the bandwidth of the nodes along the path. Taking the route prefix 100.1.1.1 / 32 as an example, step 403 will be explained in detail below. Figure 7 As shown above, from the aforementioned Figure 2 The mapping table shown indicates that only node R1 is listed under the route prefix 100.1.1.1 / 32. Therefore, based on node R1... Figure 5 A query of the historical path table shows that R1 is the node at the end of the historical paths “R6→R4→R1” and “R6→R5→R1”.

[0112] That is, the historical paths "R6→R4→R1" and "R6→R5→R1" are the first paths selected from the historical path table. Furthermore, based on the first path... Figure 6 The node table lookup shows that the cost value of all historical paths ending at R1 is 2. Therefore, "R6→R4→R1" and "R6→R5→R1" are both selected as the second paths with the lowest cost value from the first path. Finally, node R1, located at the end of the second path "R6→R4→R1" and "R6→R5→R1", is associated with the route prefix 100.1.1.1 / 32.

[0113] Let's take the route prefix 110.14.1.0 / 24 as an example for further explanation. Figure 8 As shown above, from the aforementioned Figure 2 The mapping table shown indicates that the nodes under the route prefix 110.14.1.0 / 24 are R1 and R4. Furthermore, through... Figure 5 As shown in the historical path table, R1 is the node at the end of the historical paths "R6→R4→R1" and "R6→R5→R1". R4 is the node at the end of the historical path "R6→R4".

[0114] That is, the historical paths "R6→R4→R1", "R6→R5→R1", and "R6→R4" are all the first paths selected from the historical path table. Through the aforementioned... Figure 6 As shown in the node table, the historical paths ending at R1 all have 2 hops, while the historical paths ending at R4 have only 1 hop. Therefore, the cost of the historical path ending at R1 is 2, while the cost of the historical path ending at R4 is 1. Next, the path with the lowest cost, "R6→R4", is selected from all the first paths as the second path in step 403. Finally, node R4, located at the end of the second path "R6→R4", is associated with the routing prefix 110.14.1.0 / 24.

[0115] Step 404: For any node in the autonomous network, determine the set of prefixes associated with that node based on all routing prefixes associated with that node;

[0116] By traversing each routing prefix within the autonomous network through steps 402 to 404 above, the association between each node and the routing prefix can be obtained.

[0117] Next, for each node within the autonomous network, all routing prefixes associated with that node are used as the prefix set for that node. This yields... Figure 9The table shown represents the association between nodes and prefix sets. For example, node R1 is associated with a total of 6 route prefixes: 100.1.1.1 / 32 to 100.1.1.5 / 32 and 110.12.1.0 / 24. Therefore, the route prefix set associated with R1 is {100.1.1.1 / 32 to 100.1.1.5 / 32, 110.12.1.0 / 24}.

[0118] Step 405: Determine the next-hop block in the autonomous network based on the prefix set associated with each node, and construct a routing prefix table based on the next-hop block;

[0119] First, the next-hop block in the embodiments of this application will be explained. The next-hop block in the embodiments of this application is constructed based on the historical paths from the first node to the remaining nodes in the autonomous network. Each next-hop block has an address determined according to the historical path, and the address of the next-hop block is used to indicate the forwarding address of the packet.

[0120] During implementation, for any routing prefix in the autonomous network, the third node associated with the prefix set containing that routing prefix is ​​determined. And for any third node, from the aforementioned... Figure 5 The third path ending at this third node is selected from the historical path table shown. Next, the union of the next-hop addresses for each third path is determined, and the next-hop block associated with the union is constructed.

[0121] As mentioned above Figure 1 The following explanation uses the routing prefix 100.1.1.1 / 32 in the autonomous network shown as an example. Figure 10 As shown, through the aforementioned Figure 9 As shown in the association table between nodes and prefix sets, the node associated with the prefix set containing route prefix 100.1.1.1 / 32 is R1, which is the third node of route prefix 100.1.1.1 / 32.

[0122] Continue as Figure 10 As shown, through the aforementioned Figure 4 As shown in the node table, the next-hop address of the third path ending at node R1 includes...<Gi0 / 0,110.46.1.4> and<Gi0 / 0,110.56.1.5> At this point, construct the next-hop block Nhb_1, and then combine this next-hop block Nhb_1 with the union of all the next-hop addresses {<Gi0 / 0,110.46.1.4> ,<Gi0 / 0,110.56.1.5> Related to}

[0123] It should be noted that before constructing the next-hop block, it must be determined beforehand that the union does not have an associated next-hop block. For example Figure 11 As shown, when processing the route prefix 100.2.1.1 / 32, the aforementioned... Figure 9 The node-prefix set association table shown indicates that node R2 is associated with the prefix set containing route prefix 100.2.1.1 / 32. The third paths corresponding to node R2 in the historical path table are "R6→R4→R2" and "R6→R5→R2". Therefore, the next-hop address for each third path ending at R2 is also...<Gi0 / 0,110.46.1.4> and<Gi0 / 0,110.56.1.5> Because the union {<Gi0 / 0,110.46.1.4> ,<Gi0 / 0,110.56.1.5> The next-hop block Nhb_1 has been associated. At this point, the processing of R2 ends, and the above process is performed on the remaining nodes.

[0124] By traversing each route prefix in the autonomous network through the above process, we can obtain, as follows: Figure 12 The table shown contains all the next-hop blocks in the autonomous network. Each next-hop block is an index that determines the forwarding address of a packet. It is used to quickly locate the next-hop block that matches the destination address of the packet when forwarding the packet, and then use the address of that next-hop block as the forwarding address of the packet.

[0125] In this embodiment, each next-hop block is associated with a routing prefix in the autonomous network. The association between the routing prefix and the next-hop block in this embodiment is explained below:

[0126] In implementation, after determining the union of the next-hop addresses for each third path, the route prefix is ​​associated with the next-hop block of the union. The aforementioned method is still followed. Figure 10 The construction process of the next-hop block Nhb_1 shown is illustrated using this example. The next-hop block Nhb_1 is constructed, and the union of this next-hop block Nhb_1 with each next-hop address is formed {<Gi0 / 0,110.46.1.4> ,<Gi0 / 0,110.56.1.5> The routing prefix 100.1.1.1 / 32 is then associated with the next-hop block Nhb_1. This way, the routing prefix associated with each next-hop block can be determined during the process of traversing each routing prefix in the autonomous network to construct the next-hop block.

[0127] After processing each routing prefix in the autonomous network using the above procedure, the source node set and preferred node set associated with the routing prefix can be determined based on each routing prefix and the next-hop block associated with that routing prefix. The source node set is the set of all nodes under that routing prefix, and the preferred node set is the set of third-party nodes associated with the prefix set to which that routing prefix belongs.

[0128] Taking the aforementioned route prefix 100.1.1.1 / 32 as an example, the specific details are as follows: Figure 13As shown above. Figure 2 The table showing the correspondence between nodes and route prefixes indicates that route prefix 100.1.1.1 / 32 only includes node R1. Furthermore, based on the aforementioned... Figure 9 As shown in the association table, the node associated with the prefix set containing the route prefix 100.1.1.1 / 32 is also R1. Therefore, the source node set of the route prefix 100.1.1.1 / 32 is {R1}, and the preferred node set is also {R1}.

[0129] For example Figure 14 As shown, taking the route prefix 110.14.1.0 / 24 in the correspondence table as an example, the nodes under the route prefix 110.14.1.0 / 24 are R1 and R4. Therefore, the source node set of the route prefix 100.1.1.1 / 32 is {R1, R4}. Through the aforementioned... Figure 9 As shown in the association table, the node associated with the prefix set containing the route prefix 110.14.1.0 / 24 is only R4. Therefore, the preferred node set for the route prefix 110.14.1.0 / 24 is {R4}.

[0130] Furthermore, as seen in the aforementioned next-hop block construction process, the address of the next-hop block is actually the union of the next-hop addresses of the historical paths with the lowest cost values ​​among all nodes under the routing prefix. Therefore, routing prefixes with the same preferred node set must be associated with the same next-hop block. Based on this, each routing prefix is ​​grouped according to the source node set and the preferred node set to construct a next-hop block as follows: Figure 15 The routing prefix table shown.

[0131] The following describes a method for updating the association relationship of routes provided in an embodiment of this application. Figure 16 As shown, it includes the following steps:

[0132] Step 161: In response to the path update instruction, determine the shortest path from the first node to each node in the autonomous network;

[0133] As mentioned earlier, there are communication paths between nodes in an autonomous network. When a path is reset or fails within the autonomous network, the communication paths that were originally reachable between nodes will be interrupted.

[0134] As mentioned above Figure 1 For example, "R6→R4→R1" is a reachable communication path between nodes R6 and R1. Suppose that the communication paths of each node in the autonomous network are reset, the original... Figure 1When the direct communication path "R4→R1" between R4 and R1 is no longer applicable, or when this path fails, it indicates that R6 cannot communicate with R1 by hopping to R4. In this case, the autonomous network will notify all nodes in the network of a path update instruction. After receiving this instruction, the first node calculates the shortest path from the first node to each node in the autonomous network using path algorithms such as Dijkstra's algorithm mentioned earlier.

[0135] Step 162: For any node in the autonomous network, compare the shortest path ending at the node with the pre-stored historical paths ending at the node; if the shortest path is different from the historical path, then the node is a problem node; wherein, the pre-stored historical path is the shortest path from the first node to each node in the autonomous network before responding to the path update instruction.

[0136] During implementation, the shortest paths from the first gateway to each gateway in the autonomous network are calculated, and the obtained shortest paths are compared with those mentioned above. Figure 5 The historical paths in the historical path table are compared.

[0137] For any given node, if the shortest path ending at that node is different from any historical path ending at that node, then that node is considered a problem node. This is as described above. Figure 1 As shown, the historical paths from node R6 to R1 are “R6→R4→R1” and “R6→R5→R1”.

[0138] Suppose that due to a path update, the direct communication path "R4→R1" between nodes R1 and R4 is interrupted. At this point, the only shortest path from R6 to R1 is "R6→R5→R1". Since this shortest path from R6 to R1 differs from the historical path, this "R6→R5→R1" is the true shortest path, and node R1, the endpoint of this shortest path, is the problem node.

[0139] Step 163: If any node is a problem node, then for each first prefix, select a target next-hop block associated with the first prefix from the pre-stored next-hop blocks; wherein, the pre-stored next-hop block is an index for determining the forwarding address of the packet; each node in the autonomous network is associated with a prefix set for matching packets, and each prefix set consists of at least one routing prefix in the autonomous network; the first prefix is ​​a routing prefix in the prefix set associated with any node;

[0140] After identifying any node as a problem node through step 162, from the aforementioned... Figure 9The associated table shown selects the prefix set associated with the problem node, and each route prefix within this prefix set is the first prefix in step 163. Then, from the aforementioned... Figure 15 The routing prefix table shown identifies the next-hop block associated with the first prefix, which is the target next-hop block.

[0141] Step 164: Update the first prefix-associated next-hop block based on the target next-hop block and the shortest path from the first node to any of the nodes.

[0142] In implementation, the shortest path from the first node to any of the aforementioned problem nodes is pre-determined, and the historical paths from the first node to that node are updated based on the shortest path. It is understood that this update step can also be performed after step 162, i.e., after comparing the current shortest path from the first node to that node with the pre-stored historical paths ending at that node, and then updating the historical paths to the current shortest path from the first node to that node.

[0143] Continuing with the historical problem path "R6→R4→R1", the problem node in this path is R1. The shortest path from the first node R6 to the problem node R1 is calculated as "R6→R5→R1". The historical path from the first node to the problem node is then updated based on this shortest path. Specifically... Figure 17 As shown, the aforementioned Figure 5 The historical path "R6→R4→R1" corresponding to R1 in the shortest path table shown is deleted, and the aforementioned path is also deleted simultaneously. Figure 6 The next-hop address corresponding to R1 in the node table shown is "<Gi0 / 0,110.46.1.4> ,<Gi0 / 1,110.56.1.5> "representing the R4 address"<Gi0 / 0,110.46.1.4> "Delete. This completes the update of the historical path."

[0144] Next, a comparison next-hop block is selected from the pre-stored next-hop blocks based on the shortest path; wherein the address of the comparison next-hop block is the same as the next-hop address of the shortest path.

[0145] If the target next-hop block and the compared next-hop block are not the same next-hop block, then delete the association between the first prefix and the target next-hop block, and associate the first prefix with the compared next-hop block.

[0146] Specifically, from the aforementioned Figure 9The association table shown identifies the prefix set {100.1.1 / 32~100.1.5 / 32, 110.12.1.0 / 24} associated with the problem node R1. Each route prefix within this set is the first prefix. Since prefixes 100.1.1 / 32~100.1.5 / 32 are only associated with R1 in the association table, while prefix 110.12.1.0 / 24 is associated with both R1 and R2, the following explanation will use these two types of route prefixes as examples.

[0147] Firstly, as Figure 18 As shown, for any of the route prefixes 100.1.1 / 32 to 100.1.5 / 32, since these route prefixes are only associated with R1, the updated next-hop address of R1 can be found in the node table.<Gi0 / 1,110.56.1.5> Additionally, a lookup of the next-hop block table revealed that the next-hop address was...<Gi0 / 1,110.56.1.5> The next hop block for the address is Nhb_2. (This is based on the aforementioned...) Figure 15 The routing prefix table shown indicates that the current next-hop block associated with any prefix from 100.1.1 / 32 to 100.1.5 / 32 is Nhb_1. Since Nhb_1 and Nhb_2 are not the same next-hop block, the next-hop block associated with 100.1.1 / 32 to 100.1.5 / 32 in the routing prefix table is replaced with Nhb_2 instead of Nhb_1.

[0148] For example Figure 19 As shown, for the route prefix 110.12.1.0 / 24, this route prefix is ​​associated with both R1 and R2. Therefore, the union of the next-hop addresses of R1 and R2 found in the node table is {<Gi0 / 1,110.46.1.4> ,<Gi0 / 1,110.56.1.5>}. Additionally, retrieve the union of the next-hop addresses from the next-hop block table.<Gi0 / 1,110.46.1.4> ,<Gi0 / 1,110.56.1.5>} represents the next-hop block Nhb_1 at the address. (This is based on the aforementioned...) Figure 15 The routing prefix table shown indicates that the current next-hop block associated with the routing prefix 110.12.1.0 / 24 is Nhb_1. Since the next-hop block has not changed, processing of this routing prefix is ​​stopped, indicating that the link failure has no impact on this routing prefix.

[0149] The following section explains how to determine the forwarding address of a packet through the next-hop block, using a routing communication method provided in this application as an example. Figure 20 As shown, it includes:

[0150] Step 2001: Receive the message to be processed, and select a third prefix from the routing prefixes of the autonomous network that matches the destination address of the message;

[0151] Step 2002: Determine the forwarding address of the packet to be processed based on the next-hop block associated with the third prefix, and perform a forwarding operation on the packet to be processed; wherein, any routing prefix in the autonomous network is associated with a next-hop block, and each next-hop block is an index for determining the forwarding address of the packet.

[0152] During implementation, after the first node receives the message to be processed, it will match the destination address of the message to be processed with the aforementioned... Figure 15 The routing prefix table is matched against the given list, and a third prefix containing the destination address is selected from each routing prefix. Then, the next-hop block associated with this third prefix in the routing prefix table is determined. Finally, the address of this next-hop block is determined based on the next-hop block table. Assume that there are multiple addresses for this next-hop block (e.g., ...).<Gi0 / 1,110.46.1.4> ,<Gi0 / 1,110.56.1.5> If a reasonable strategy can be set, such as using a hash algorithm to select a unique address from multiple addresses and using that address as the forwarding address for the message to be processed, then the message to be processed can be forwarded.

[0153] The technical solution of this application enables the rapid location of the affected routing prefix based on the faulty path during link failures. The forwarding address of packets is then updated by updating the next-hop block associated with that routing prefix. The entire process eliminates the need to re-determine all routing prefixes in the autonomous network, saving computational resources and improving network performance.

[0154] Based on the same inventive concept, embodiments of this application provide a routing association update device 210, specifically as follows: Figure 21 As shown, the device includes:

[0155] Instruction unit 211 is configured to perform a path update instruction in response to determine the shortest path from the first node to each node in the autonomous network.

[0156] Node unit 212 is configured to perform the following operation for any node in the autonomous network: compare the shortest path ending at the node with a pre-stored historical path ending at the node; if the shortest path is different from the historical path, then the node is a problem node; wherein each historical path represents the shortest path from the first node to the node at the end of the historical path.

[0157] Next-hop block unit 213 is configured to perform the following operation: if any node is a problem node, for each first prefix, select a target next-hop block associated with the first prefix from a pre-stored next-hop block; wherein the pre-stored next-hop block is an index for determining the forwarding address of a packet; each node in the autonomous network is associated with a prefix set for matching packets, and each prefix set consists of at least one routing prefix in the autonomous network; the first prefix is ​​a routing prefix in the prefix set associated with any node;

[0158] The update unit 214 is configured to update the first prefix-associated next-hop block based on the target next-hop block and the shortest path from the first node to either of the nodes.

[0159] In some possible embodiments, each routing prefix in the autonomous network has at least one node; the apparatus further includes an association unit configured to determine the association relationship between any node and the prefix set in the following manner:

[0160] For any given routing prefix, select a first path from the historical paths that ends at the second node; wherein the second node is a node under the routing prefix;

[0161] Based on the cost value of each first path, a second path is selected from the first paths; and the routing prefix is ​​associated with the node at the end of the second path; wherein the cost value of each historical path is determined based on the bandwidth of the nodes along the path;

[0162] For any node in the autonomous network, the set of prefixes associated with the node is determined based on all routing prefixes associated with the node.

[0163] In some possible embodiments, the next hop block is determined in the following manner:

[0164] For any given routing prefix, determine the third node associated with the prefix set containing that routing prefix;

[0165] For any third node, select a third path from the historical paths that ends at the third node;

[0166] Determine the union of the next-hop addresses of each third path, and construct the next-hop block associated with the union.

[0167] In some possible embodiments, the association between the next-hop block and the routing prefix is ​​determined in the following manner:

[0168] After determining the union of the next-hop addresses for each third path, the routing prefix is ​​associated with the next-hop block of the union.

[0169] In some possible embodiments, before executing the construction of the next-hop block associated with the union, the association unit is further configured to:

[0170] It is determined that the union does not have an associated next-hop block.

[0171] In some possible embodiments, the step of updating the first prefix-associated next-hop block based on the target next-hop block and the shortest path from the first node to either of the nodes is performed, wherein the update unit is configured to:

[0172] The next hop block is selected from the pre-stored next hop blocks according to the shortest path; wherein the address of the next hop block is the same as the next hop address of the shortest path.

[0173] Determine whether the target next-hop block and the compared next-hop block are the same next-hop block;

[0174] If they are not the same next-hop block, then delete the association between the first prefix and the target next-hop block, and associate the first prefix with the comparison next-hop block.

[0175] In some possible embodiments, the update unit is further configured to:

[0176] The historical path from the first node to any of the nodes is updated based on the shortest path.

[0177] Based on the same inventive concept, this application provides a routing communication device 220, specifically as follows: Figure 22 As shown, the device includes:

[0178] The message receiving unit 221 is configured to receive a message to be processed and select a third prefix from the routing prefixes of the autonomous network that matches the destination address of the message;

[0179] The packet forwarding unit 222 is configured to determine the forwarding address of the packet to be processed based on the next-hop block associated with the third prefix, and to perform a forwarding operation on the packet to be processed; wherein, any routing prefix in the autonomous network is associated with a next-hop block, and each next-hop block is an index for determining the forwarding address of the packet.

[0180] The following reference Figure 23 This describes the electronic device 130 provided according to the technical solution of the embodiments of this application. It should be noted that... Figure 23 The electronic device 130 shown is merely an example and should not impose any limitations on the functionality and scope of use of the embodiments of this application.

[0181] Specifically, such as Figure 23 As shown, the electronic device 130 is presented in the form of a general-purpose electronic device. The components of the electronic device 130 may include, but are not limited to: at least one processor 131, at least one memory 132, and a bus 133 connecting different system components (including memory 132 and processor 131).

[0182] Bus 133 represents one or more of several bus structures, including a memory bus or memory controller, peripheral bus, processor, or local bus using any of the various bus structures.

[0183] The memory 132 may include a readable medium in the form of volatile memory, such as random access memory (RAM) 1321 and / or cache memory 1322, and may further include read-only memory (ROM) 1323.

[0184] The memory 132 may also include a program / utility 1325 having a set (at least one) of program modules 1324, including but not limited to: an operating system, one or more application programs, other program modules, and program data, each or some combination of these examples may include an implementation of a network environment.

[0185] Electronic device 130 can also communicate with one or more external devices 134 (e.g., keyboard, pointing device, etc.), and with one or more devices that enable a user to interact with electronic device 130, and / or with any device that enables electronic device 130 to communicate with one or more other electronic devices (e.g., router, modem, etc.). This communication can be performed via input / output (I / O) interface 135. Furthermore, electronic device 130 can also communicate with one or more networks (e.g., local area network (LAN), wide area network (WAN), and / or public networks, such as the Internet) via network adapter 136. As shown, network adapter 136 communicates with other modules used in electronic device 130 via bus 133. It should be understood that, although not shown in the figures, other hardware and / or software modules can be used in conjunction with electronic device 130, including but not limited to: microcode, device drivers, redundant processors, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.

[0186] In an exemplary embodiment, a computer-readable storage medium including instructions is also provided, such as a memory 132 including instructions, which can be executed by the processor 131 of the aforementioned device to perform the aforementioned method. Optionally, the computer-readable storage medium may be a ROM, random access memory (RAM), CD-ROM, magnetic tape, floppy disk, and optical data storage device, etc.

[0187] In an exemplary embodiment, a computer program product is also provided, including a computer program / instructions that, when executed by a processor 131, implement either a routing association update method or a routing communication method as provided in this application.

[0188] In an exemplary embodiment, various aspects of the routing association update method and routing communication method provided in this application can also be implemented in the form of a program product, which includes program code. When the program product is run on a computer device, the program code is used to cause the computer device to perform the steps in the routing association update method or routing communication method according to the various exemplary embodiments of this application described above.

[0189] The program product may employ any combination of one or more readable media. A readable medium may be a readable signal medium or a readable storage medium. A readable storage medium may be, for example—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples (a non-exhaustive list) of readable storage media include: electrical connections having one or more wires, portable disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.

[0190] The program product for updating associations and routing communication in the embodiments of this application can be a portable compact disc read-only memory (CD-ROM) and include program code, and can run on an electronic device. However, the program product of this application is not limited thereto. In this document, the readable storage medium can be any tangible medium that contains or stores a program that can be used by or in conjunction with an instruction execution system, apparatus, or device.

[0191] A readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, carrying readable program code. This propagated data signal may take many forms, including—but not limited to—electromagnetic signals, optical signals, or any suitable combination thereof. A readable signal medium may also be any readable medium other than a readable storage medium, capable of sending, propagating, or transmitting a program for use by or in conjunction with an instruction execution system, apparatus, or device.

[0192] The program code contained on the readable medium may be transmitted using any suitable medium, including—but not limited to—wireless, wired, fiber optic, RF, etc., or any suitable combination thereof.

[0193] Program code for performing the operations of this application can be written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Java and C++, and conventional procedural programming languages ​​such as Java or similar languages. The program code can execute entirely on the user's electronic device, partially on the user's device, as a standalone software package, partially on the user's electronic device and partially on a remote electronic device, or entirely on a remote electronic device or server. In cases involving remote electronic devices, the remote electronic device can be connected to the user's electronic device via any type of network—including a local area network (LAN) or a wide area network (WAN)—or can be connected to an external electronic device (e.g., via the Internet using an Internet service provider).

[0194] It should be noted that although several units or sub-units of the device have been mentioned in the detailed description above, this division is merely exemplary and not mandatory. In fact, according to embodiments of this application, the features and functions of two or more units described above can be embodied in one unit. Conversely, the features and functions of one unit described above can be further divided and embodied by multiple units.

[0195] Furthermore, although the operations of the method of this application are described in a specific order in the accompanying drawings, this does not require or imply that these operations must be performed in that specific order, or that all the operations shown must be performed to achieve the desired result. Additionally or alternatively, certain steps may be omitted, multiple steps may be combined into one step, and / or one step may be broken down into multiple steps.

[0196] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0197] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable image scaling device to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable image scaling device, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0198] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable image scaling device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0199] These computer program instructions can also be loaded onto a computer or other programmable image scaling device, causing a series of operational steps to be performed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable device for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0200] Although preferred embodiments of this application have been described, those skilled in the art, upon learning the basic inventive concept, can make other changes and modifications to these embodiments. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments as well as all changes and modifications falling within the scope of this application.

[0201] Obviously, those skilled in the art can make various modifications and variations to this application without departing from the scope of this application. Therefore, if such modifications and variations fall within the scope of the claims of this application and their equivalents, this application also intends to include such modifications and variations.

Claims

1. A method for updating the association relationship of routes, characterized in that, The method, applied to the first node in an autonomous network, includes: In response to a path update instruction, determine the shortest path from the first node to each node in the autonomous network. For any node in the autonomous network, the shortest path ending at the node is compared with the historical paths ending at the node in the pre-stored historical paths; if the shortest path is different from the historical path, then the node is a problem node; wherein, the pre-stored historical path is the shortest path from the first node to each node in the autonomous network before responding to the path update instruction. If any of the nodes is a problem node, then for each first prefix, a target next-hop block associated with the first prefix is ​​selected from the pre-stored next-hop blocks; wherein, the pre-stored next-hop block is an index for determining the forwarding address of the packet; each node in the autonomous network is associated with a prefix set for matching packets, and each prefix set consists of at least one routing prefix in the autonomous network; the first prefix is ​​a routing prefix in the prefix set associated with any node; The first prefix-associated next-hop block is updated based on the target next-hop block and the shortest path from the first node to any of the nodes.

2. The method according to claim 1, characterized in that, Each route prefix in the autonomous network has at least one node; the association between any node and the prefix set is determined in the following way: For any given routing prefix, select a first path from the historical paths that ends at the second node; wherein the second node is a node under the routing prefix; Based on the cost value of each first path, a second path is selected from the first paths; and the routing prefix is ​​associated with the node at the end of the second path; wherein the cost value of each historical path is determined based on the bandwidth of the nodes along the path; For any node in the autonomous network, the set of prefixes associated with the node is determined based on all routing prefixes associated with the node.

3. The method according to claim 2, characterized in that, The next hop block is determined in the following manner: For any given routing prefix, determine the third node associated with the prefix set containing that routing prefix; For any third node, select a third path from the historical paths that ends at the third node; Determine the union of the next-hop addresses of each third path, and construct the next-hop block associated with the union.

4. The method according to claim 3, characterized in that, The association between the next-hop block and the routing prefix is ​​determined in the following way: After determining the union of the next-hop addresses for each third path, the routing prefix is ​​associated with the next-hop block of the union.

5. The method according to claim 3 or 4, characterized in that, Before constructing the next-hop block associated with the union, the method further includes: It is determined that the union does not have an associated next-hop block.

6. The method according to claim 5, characterized in that, The step of updating the first prefix-associated next-hop block based on the target next-hop block and the shortest path from the first node to any of the nodes includes: The next hop block is selected from the pre-stored next hop blocks according to the shortest path; wherein the address of the next hop block is the same as the next hop address of the shortest path. Determine whether the target next-hop block and the compared next-hop block are the same next-hop block; If they are not the same next-hop block, then delete the association between the first prefix and the target next-hop block, and associate the first prefix with the comparison next-hop block.

7. The method according to claim 1, characterized in that, The method further includes: After identifying any of the nodes as a problem node, the historical path from the first node to any of the nodes is updated based on the shortest path from the first node to the problem node.

8. A routing communication method, characterized in that, The method, applied to the first node in an autonomous network, includes: Receive the message to be processed and select a third prefix from the routing prefixes of the autonomous network that matches the destination address of the message; The forwarding address of the packet to be processed is determined based on the next-hop block associated with the third prefix, and a forwarding operation is performed on the packet to be processed; wherein, each routing prefix in the autonomous network is associated with a next-hop block, and each next-hop block is an index for determining the forwarding address of the packet; The next-hop block is updated in the following way: In response to a path update instruction, determine the shortest path from the first node to each node in the autonomous network. For any node in the autonomous network, the shortest path ending at the node is compared with the historical paths ending at the node in the pre-stored historical paths; if the shortest path is different from the historical path, then the node is a problem node; wherein, the pre-stored historical path is the shortest path from the first node to each node in the autonomous network before responding to the path update instruction. If any of the nodes is a problem node, then for each first prefix, a target next-hop block associated with the first prefix is ​​selected from the pre-stored next-hop blocks; wherein, the pre-stored next-hop block is an index for determining the forwarding address of the packet; each node in the autonomous network is associated with a prefix set for matching packets, and each prefix set consists of at least one routing prefix in the autonomous network; the first prefix is ​​a routing prefix in the prefix set associated with any node; The first prefix-associated next-hop block is updated based on the target next-hop block and the shortest path from the first node to any of the nodes.

9. A routing association update device, characterized in that, The device includes: The instruction unit is configured to execute a path update instruction in response to determine the shortest path from the first node to each node in the autonomous network. A node unit is configured to perform a comparison, for any node in the autonomous network, between the shortest path ending at that node and a pre-stored list of historical paths ending at that node; if the shortest path differs from the historical paths, then that node is a problem node; wherein each historical path represents the shortest path from the first node to the node at the end of the historical path. The next-hop block unit is configured to, if any node is a problem node, select a target next-hop block associated with the first prefix from a pre-stored next-hop block for each first prefix; wherein the pre-stored next-hop block is an index for determining the forwarding address of a packet; each node in the autonomous network is associated with a prefix set for matching packets, and each prefix set consists of at least one routing prefix in the autonomous network; the first prefix is ​​a routing prefix in the prefix set associated with any node; The update unit is configured to update the first prefix-associated next-hop block based on the target next-hop block and the shortest path from the first node to either of the nodes.

10. A routing communication device, characterized in that, The device includes: The message receiving unit is configured to receive messages to be processed and select a third prefix from the routing prefixes of the autonomous network that matches the destination address of the message; The packet forwarding unit is configured to determine the forwarding address of the packet to be processed based on the next-hop block associated with the third prefix, and to perform a forwarding operation on the packet to be processed; wherein, each routing prefix in the autonomous network is associated with a next-hop block, and each next-hop block is an index for determining the forwarding address of the packet; The next-hop block is updated in the following way: In response to a path update instruction, determine the shortest path from the first node to each node in the autonomous network. For any node in the autonomous network, the shortest path ending at the node is compared with the historical paths ending at the node in the pre-stored historical paths; if the shortest path is different from the historical path, then the node is a problem node; wherein, the pre-stored historical path is the shortest path from the first node to each node in the autonomous network before responding to the path update instruction. If any of the nodes is a problem node, then for each first prefix, a target next-hop block associated with the first prefix is ​​selected from the pre-stored next-hop blocks; wherein, the pre-stored next-hop block is an index for determining the forwarding address of the packet; each node in the autonomous network is associated with a prefix set for matching packets, and each prefix set consists of at least one routing prefix in the autonomous network; the first prefix is ​​a routing prefix in the prefix set associated with any node; The first prefix-associated next-hop block is updated based on the target next-hop block and the shortest path from the first node to any of the nodes.

11. An electronic device, characterized in that, include: Memory, used to store program instructions; A processor is configured to invoke program instructions stored in the memory and execute the steps of the method according to any one of claims 1-7 or 8.

12. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program, the computer program including program instructions that, when executed by a computer, cause the computer to perform the method as described in any one of claims 1-7 or 8.