A control plane verification method and device for a periodic time-varying topology network

By determining the routing prefix and time constraint information of the device in the periodic time-varying topological network, and using union and intersection calculations, the problem that existing tools cannot effectively verify topological changes is solved, and efficient network accessibility verification is achieved.

CN116208546BActive Publication Date: 2025-08-12TSINGHUA UNIVERSITY
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310260144.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-03-13
Publication Date
2025-08-12
Estimated Expiration
2043-03-13

AI Technical Summary

Technical Problem

Existing network control plane verification tools cannot effectively consider the characteristics of topology changing over time in a periodic time-varying topology network, resulting in inefficient verification.

Method used

By determining the network information of devices in a periodic time-varying topological network, including routing prefixes and time constraint information, union processing and time constraint intersection calculations are used to efficiently determine the accessibility between devices.

Benefits of technology

It realizes efficient accessibility verification of cycle time-varying topological networks and improves network operation and maintenance efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116208546B_ABST
    Figure CN116208546B_ABST
Patent Text Reader

Abstract

A control plane verification method and device for a periodic time-varying topology network, the method comprising: determining all devices in a periodic time-varying topology network to be verified, and obtaining network information corresponding to each of the devices; performing the following operations on each obtained device: determining multiple effective times corresponding to each routing prefix of the device based on the network information corresponding to the device, taking a union of the multiple effective times to obtain the effective time of each routing prefix in the device; and determining, during the verification period, the reachability of the device to the device corresponding to each routing prefix in the device based on the effective time of each routing prefix in the device; wherein the network information comprises routing information; the routing information comprises: routing prefix information and routing time constraint information.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This article relates to the field of computer technology, and in particular to a control plane verification method and device for a periodic time-varying topology network. Background Art

[0002] The scale of computer networks has continued to expand in recent years in response to demand. The number of devices, the types of protocols used, and the number and complexity of configuration lines are all increasing. For maintenance personnel on large networks, it is difficult to manually discover and locate potential problems in the current network, or to ensure that the network continues to operate correctly and stably as expected after introducing new equipment or changing the configuration of existing equipment. Network control plane verification is a technology that quickly discovers configuration problems in network devices. Operators input the topology of the entire network and the configuration information of all devices, and also provide the network properties that the network needs to meet (such as whether traffic from point A to point B is reachable). The network control plane verification tool can quickly determine whether these properties meet expectations, thereby helping maintenance personnel save time in discovering network faults and improving the efficiency of network operations and maintenance.

[0003] There is a class of networks whose topology changes periodically over time. This change is regular, with all nodes and links returning to their initial state after a fixed, common period. This type of network is called a periodic time-varying topology network, and a typical example of such a network is a space-ground integrated network. A space-ground integrated network consists of satellite nodes orbiting the Earth in different orbital planes and ground nodes stationary on the ground. Links between satellite nodes and between satellite nodes and ground nodes are repeatedly connected and disconnected as the distance between nodes changes, causing the entire network topology to constantly change. Network control plane verification tools do not account for this time-varying topology. Therefore, a network control plane verification method for networks with periodic time-varying topologies that can account for this topology change is urgently needed. Summary of the Invention

[0004] The present application provides a control plane verification method and device for a periodic time-varying topology network, which can efficiently verify the reachability of a periodic time-varying topology network.

[0005] This application provides a control plane verification method for a periodic time-varying topology network, including:

[0006] Determine all devices in the periodic time-varying topology network to be verified, and obtain network information corresponding to each of the devices;

[0007] Perform the following operations for each device obtained:

[0008] Determine, based on the network information corresponding to the device, multiple effective times corresponding to each routing prefix of the device, and take a union of the multiple effective times to obtain an effective time of each routing prefix in the device;

[0009] During the verification period, the reachability of the device to the device corresponding to each routing prefix is determined based on the validity period of each routing prefix in the device.

[0010] The network information includes routing information; the routing information includes: routing prefix information and routing time constraint information.

[0011] In an exemplary embodiment, obtaining the network information corresponding to all the devices includes:

[0012] For all devices, the network information corresponding to each device in the periodic time-varying topology network to be verified is determined according to the order in which each device declares the Border Gateway Protocol BGP update message in the periodic time-varying topology network to be verified, and the declaration result of the BGP update message from the initial device to the destination device.

[0013] In an exemplary embodiment, the routing information further includes: an as-path attribute of the route and next hop information of the route.

[0014] In an exemplary embodiment, the determining of the network information corresponding to each device in the periodic time-varying topology network to be verified includes:

[0015] For each device, do the following:

[0016] The device announces multiple routing information to neighboring devices. The routing information announced by all devices is placed in a first-in-first-out queue.

[0017] Taking out the routing information sent to the device from the first-in-first-out queue in sequence, and selecting the optimal routing information therefrom;

[0018] Update the optimal routing information of the device according to the selected optimal routing information, and insert the updated optimal routing information into the tail of the first-in-first-out queue;

[0019] Until all the routing information in the first-in-first-out queue is retrieved, a final routing table is obtained as the network information of the device.

[0020] In an exemplary embodiment, before obtaining the network information corresponding to all the devices, the method further includes:

[0021] Obtain link time information between different devices;

[0022] The routing information taken out from the first-in-first-out queue carries the time constraint information of the corresponding routing;

[0023] The optimal routing information is determined according to the time constraint information;

[0024] When the routing information announced by any device to a neighboring device includes routing information received from other devices, the time constraint information in the routing information is determined according to the link time information between the device and the neighboring device.

[0025] In an exemplary embodiment, the time constraint information of the routing information announced to the neighboring device is determined according to the following steps:

[0026] Taking the intersection of the time constraint information in the routing information received from the first neighboring device and the second neighboring device and the link time information between the first neighboring device and the second neighboring device, and processing the result as the time constraint information in the routing information announced by the first neighboring device to the second neighboring device;

[0027] The time constraint information in the routing information received from the second neighbor device and the device is intersected with the link time information from the first neighbor device to the second neighbor device, and the result is used as the time constraint information in the routing information announced by the second neighbor device to the first neighbor device.

[0028] In an exemplary embodiment, the intersection process is to calculate the common validity interval of the two time constraint information.

[0029] In an exemplary embodiment, the optimal routing information is the routing information with the smallest as-path attribute; and the time constraint information of each route corresponds to a piece of optimal routing information.

[0030] In an exemplary embodiment, determining, based on the validity period of each routing prefix, the reachability of the device to the device corresponding to the routing prefix during the verification period includes:

[0031] During the verification period, each routing prefix is verified against its effective time and pre-set network control conditions.

[0032] If the verification is successful, the device is reachable to the device corresponding to the routing prefix;

[0033] The preset network control condition is time constraint information.

[0034] The present application also provides a control plane verification device for a periodic time-varying topology network, the device comprising: a memory and a processor; the memory is used to store a program for performing control plane verification of a periodic time-varying topology network, and the processor is used to read and execute the program for performing control plane verification of a periodic time-varying topology network, and perform any method described in the above embodiments.

[0035] Compared with related technologies, the present application provides a control plane verification method and device for a periodic time-varying topology network. The method includes: determining all devices in the periodic time-varying topology network to be verified, and obtaining the network information corresponding to each of the devices; performing the following operations for each device obtained: determining multiple effective times corresponding to each routing prefix of the device based on the network information corresponding to the device, taking the union of the multiple effective times to obtain the effective time of each routing prefix in the device; during the verification period, determining the reachability of the device to the device corresponding to the routing prefix based on the effective time of each routing prefix in the device; wherein the network information includes routing information; the routing information includes: routing prefix information and routing time constraint information. Through the technical solution of the present invention, the method can efficiently verify the reachability of a periodic time-varying topology network.

[0036] Other features and advantages of the present application will be described in the following description, and in part will become apparent from the description, or will be understood by practicing the present application. Other advantages of the present application can be realized and obtained by the solutions described in the description and the drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0037] The accompanying drawings are used to provide an understanding of the technical solution of the present application and constitute a part of the specification. Together with the embodiments of the present application, they are used to explain the technical solution of the present application and do not constitute a limitation on the technical solution of the present application.

[0038] Figure 1 This is a flow chart of a control plane verification method for a periodic time-varying topology network according to an embodiment of the present application;

[0039] Figure 2 Schematic diagram of a control plane verification device for a periodic time-varying topology network according to an embodiment of the present application;

[0040] Figure 3 A schematic diagram of the BGP protocol in some exemplary embodiments;

[0041] Figure 4 Schematic diagram of control plane verification for a periodic time-varying topology network in some exemplary embodiments. DETAILED DESCRIPTION

[0042] This application describes multiple embodiments, but this description is exemplary rather than restrictive, and it will be apparent to those skilled in the art that there may be more embodiments and implementations within the scope of the embodiments described herein. Although many possible feature combinations are shown in the drawings and discussed in the detailed description, many other combinations of the disclosed features are also possible. Unless specifically limited, any feature or element of any embodiment may be used in combination with any other feature or element in any other embodiment, or may replace any other feature or element in any other embodiment.

[0043] This application includes and contemplates combinations of features and elements known to those of ordinary skill in the art. The embodiments, features, and elements disclosed in this application may also be combined with any conventional features or elements to form a unique inventive solution defined by the claims. Any features or elements of any embodiment may also be combined with features or elements from other inventive solutions to form another unique inventive solution defined by the claims. Therefore, it should be understood that any feature shown and / or discussed in this application may be implemented individually or in any appropriate combination. Therefore, except for the limitations made according to the appended claims and their equivalents, the embodiments are not subject to other limitations. In addition, various modifications and changes may be made within the scope of protection of the appended claims.

[0044] In addition, when describing representative embodiments, the specification may have presented the method and / or process as a specific sequence of steps. However, to the extent that the method or process does not rely on the specific order of the steps described herein, the method or process should not be limited to the steps in the specific order described. As will be understood by those skilled in the art, other orders of steps are also possible. Therefore, the specific order of the steps set forth in the specification should not be interpreted as a limitation to the claims. In addition, the claims for the method and / or process should not be limited to performing their steps in the order written, and those skilled in the art can readily understand that these orders can be changed and still remain within the spirit and scope of the embodiments of the present application.

[0045] Several existing classic network control plane verification algorithms are listed below.

[0046] a) Batfish

[0047] Batfish is a network control plane verification method published at NSDI 2015. The core concept of Batfish is to generate a data plane model from a control plane model, and then use a data plane verification algorithm to verify network properties. If multiple network environments exist, different data plane models are generated for each network environment. The network properties are then verified to meet expectations in each of these environments, and the results are finally summarized. In short, Batfish's algorithm is a combination of Simulate and an existing data plane verification algorithm.

[0048] b)ARC

[0049] ARC is a paper on network control plane verification published at SIGCOMM 2016. ARC's verification method transforms the network into a weighted directed graph. Each node is split into an entry and exit point. Each edge is weighted based on the protocol's AD (Administrative Distance) value, ensuring that the resulting directed graph aligns with the original network in terms of protocol priorities. ARC then uses established graph algorithms (such as DFS, BFS, and Maximum Flow) to verify properties such as reachability and k-failure.

[0050] c)Minesweeper

[0051] Minesweeper is a paper on network control plane verification published at SIGCOMM 2017. The concept behind Minesweeper is to encode the network. Minesweeper establishes a comprehensive symbolic system to describe the network's behavior at each stage. Finally, these symbols describe the logical expressions that must be satisfied for network properties to hold. These expressions are then fed into the constraint solver Z3 to determine whether the logical expressions are consistently satisfied. If not, a counterexample is generated—a counterexample indicating that the network properties cannot be satisfied under these circumstances.

[0052] Existing network control plane verification algorithms do not consider the changing topology and cannot directly verify networks with such topologies; simply and directly verifying the topology at all time points is extremely inefficient.

[0053] Aiming at periodic time-varying topology networks, a control plane verification algorithm for periodic time-varying topology networks is designed, which can efficiently verify the reachability of periodic time-varying topology networks.

[0054] The present disclosure provides a control plane verification method for a periodic time-varying topology network. Figure 1 As shown, the method includes steps S100-S120, which are specifically as follows:

[0055] S100 determines all devices in the periodic time-varying topology network to be verified, and obtains the network information corresponding to all the devices;

[0056] S110. For each device, determine multiple effective times corresponding to each routing prefix of the device according to the network information corresponding to the device;

[0057] S120. Take the union of multiple effective times corresponding to each routing prefix determined by each device to obtain the effective time of each routing prefix;

[0058] S130. During the verification period, determine the reachability from the device to the device corresponding to each routing prefix according to the effective time of each routing prefix.

[0059] In this embodiment, network information includes routing information; routing information includes: routing prefix information, routing AS-path attribute, routing next hop information, and routing time constraint information. In this example, a quadruple is used to describe the propagated and stored routes. Figure 3 As shown, for example: in the quadruple m1 = (N, 100, A, [0, 17]), the first item N represents the prefix information of this route; the second item 100 corresponds to the as-path attribute of this route; the third item represents the next-hop information of this route; and the last item [0, 17] describes the time constraint of this route, that is, this route will only take effect within the time interval [0, 17].

[0060] In step S100, all devices in the periodic time-varying topology network to be verified are determined, and network information corresponding to each of the devices is obtained. Figure 3 As shown, the topology of a network can be described using a graph, where nodes are devices and edges are links. Next, the topology of a periodic time-varying network is described by applying time constraints to each possible link. For periodic time-varying topologies, a graph is also used to describe the topology, where nodes are devices. For any two devices, as long as there is a possible link between them at a certain time, an edge is added to connect the corresponding nodes in the graph. Based on this, each edge corresponds to a time constraint, which consists of one or more time intervals, describing the validity of the two devices within the corresponding time period within the common cycle. For example, if the common cycle is 24 hours, {[1,3], [12,17]} describes that this link is valid between 1:00 and 3:00 and 12:00 and 17:00 every day.

[0061] In an exemplary embodiment, the network information corresponding to all the devices is obtained, including: for all the devices, according to the order in which each device declares the Border Gateway Protocol BGP update message in the periodic time-varying topology network to be verified, and the declaration result of the BGP update message from the initial device to the destination device, respectively determining the network information corresponding to each device in the periodic time-varying topology network to be verified.

[0062] In an exemplary embodiment, the determining of the network information corresponding to each device in the periodic time-varying topology network to be verified includes:

[0063] For each device, do the following:

[0064] 1. The device announces multiple routing information to neighboring devices. All the routing information announced by the devices is placed in a first-in, first-out queue.

[0065] 2. Taking out the routing information sent to the device from the first-in-first-out queue in sequence and selecting the optimal routing information;

[0066] 3. Update the optimal routing information of the device according to the selected optimal routing information, and insert the updated optimal routing information into the tail of the first-in-first-out queue;

[0067] 4. Until all routing information in the first-in-first-out queue is retrieved, a final routing table is obtained as the network information of the device.

[0068] like Figure 3 As shown in the figure, for the BGP protocol, a queue is maintained during implementation, in which the pending BGP updates are stored. Each time, the element at the head of the queue is taken out for processing, simulating its storage, routing, and forwarding in the router. The newly generated update sent to the adjacent device is added to the queue, and the process is cyclically processed until the queue is empty (as shown in the figure). Figure 3 shown).

[0069] On this basis, each network message in the queue carries its corresponding time constraint information, representing the time period during which the network message is effective. The time constraints of network messages are updated in real time as the message is announced, received by devices, and selected. Each block in the diagram above represents a piece of route information being propagated. The red head-of-queue message is the message taken by the receiving device, while the blue blocks represent the new route information generated by the receiving device after processing the route information and updating the RIB, and sent to neighboring devices.

[0070] An embodiment of determining the network information of each device in the periodic time-varying topology network is as follows:

[0071] like Figure 4 As shown in the figure, m1-m7 describe the new optimal route information that each device sends (announces) to its neighbors after performing route optimization and updating its routing table. In other words, the optimal route is not only stored in the device's local RIB but also sent to neighboring devices as a reference and basis for neighbors to update their optimal routes.

[0072] According to the order in which each device announces the Border Gateway Protocol (BGP) update message in the network to be verified, and the announcement result of the BGP update message from the initial device to the destination device, the network information of each device in the periodic time-varying topology network can be determined by using a queue simulation BGP routing update algorithm, which describes how network devices receive, locally update, and forward routing information. In the queue simulation BGP routing update algorithm, for example Figure 4 As shown in Figure 1, packets m1–m7 transmitted on the link are actually stored in the queue and wait for the receiving device to take them out of the queue.

[0073] In an exemplary embodiment, before obtaining the network information corresponding to all the devices, the method further includes:

[0074] Obtain link time information between different devices;

[0075] The routing information taken out from the first-in-first-out queue carries the time constraint information of the corresponding routing;

[0076] The optimal routing information is determined according to the time constraint information;

[0077] When the routing information announced by any device to a neighboring device includes routing information received from other devices, the time constraint information in the routing information is determined according to the link time information between the device and the neighboring device.

[0078] In an exemplary embodiment, the routing information with the smallest as-path attribute is selected as the optimal routing information; the time constraint information of each route corresponds to one piece of optimal routing information.

[0079] In an exemplary embodiment, the time constraint information of the routing information announced to the neighboring device is determined according to the following steps: the time constraint information in the routing information received from the first neighboring device and the second neighboring device is intersected with the link time information between the first neighboring device and the second neighboring device, and the resultant is used as the time constraint information in the routing information announced by the first neighboring device to the second neighboring device;

[0080] The time constraint information in the routing information received from the second neighbor device and the device is intersected with the link time information from the first neighbor device to the second neighbor device, and the result is used as the time constraint information in the routing information announced by the second neighbor device to the first neighbor device.

[0081] like Figure 4 As shown in the figure, at the beginning of the control plane simulation, ground node A announces two routes, m1 and m2, to satellite nodes B and C, respectively. These routes carry time constraints for the links between A and B, and A and C, respectively. Satellite nodes B and C then announce the route they received from A to each other, with the time constraints carried by the route intersecting with the time constraints for the link between B and C. Since both devices B and C receive two routes, they must select the optimal route. Device B receives routes m1 and m4. The optimization strategy determines that m1 has a shorter AS-path, making m1 preferred over m4. m1 is stored in B's RIB as r1. As the optimal route, r1's validity conditions are consistent with those of m1, namely [0,17]. However, the route r2 stored for m4 requires m4's validity conditions [8,21], plus the invalidity condition [17,24] for r1. Therefore, r2's validity conditions are [17,21]. Similarly, the RIB for C can be calculated.

[0082] In an exemplary embodiment, the intersection process is to calculate the common effective interval of two time constraints. The basic calculation methods for time constraints include: intersection, union and negation;

[0083] Intersection: Calculate the common effective interval of the two time constraints. For example, the intersection of {[1,3], [12,17]} and {[2,15]} is {[2,3], [12,15]}.

[0084] Union: Calculate the time interval in which at least one of the two time constraints is valid. For example, the union of {[1,3], [12,17]} and {[2,15]} is {[1,17]}.

[0085] Negation: Calculates the time interval during which a time constraint is ineffective within the common period. For example, if the common period is 24, the negation of {[1,3], [12,17]} is {[0,1], [3,12], [17,24]}.

[0086] The above method was used to verify a space-ground integrated network model with more than 1,500 nodes. The verification results are shown below:

[0087]

[0088] In the above table, the time constraint method is the network control plane verification method in this specification, and the time slicing method is a verification method that uses enumeration of all possible topologies for verification. From the above table, it can be seen that the network control plane verification method, namely the time constraint method, has a great improvement in algorithm efficiency.

[0089] The embodiment of the present disclosure also provides a control plane verification device for a periodic time-varying topology network, such as Figure 2 As shown, the device includes: a memory 210 and a processor 220; the memory 210 is used to store a program for performing control plane verification of a periodic time-varying topology network, and the processor 220 is used to read and execute the program for performing control plane verification of a periodic time-varying topology network, and execute any one of the methods described in the above embodiments.

[0090] Example 1

[0091] Step 1. Obtain all devices in the periodic time-varying topology network to be verified;

[0092] Step 2. Obtain the network information corresponding to each device in the periodic time-varying topology network to be verified;

[0093] In this step, the network information includes: routing information;

[0094] Routing information: A device's routing table (RIB) stores one or more routing entries. Each route represents a path that the device can use to reach a neighboring device. Therefore, each device's routing table can contain multiple routes to different prefixes, and the same prefix can also have multiple routes (meaning that the prefix can be reached via different paths).

[0095] The routing information includes: routing prefix information, routing AS-path attribute, routing next hop information and routing time constraint information.

[0096] The routing prefix information is as follows: a prefix corresponds to a subnet, which can be visualized as a "location." When a device announces a prefix, it indicates that it owns the prefix and can directly reach the location without going through the network.

[0097] For example, device A is directly connected to subnet N. Therefore, it announces the routing prefix "N" to its neighboring devices, indicating that A can directly reach N. Other devices (such as B, C, and D) need to first reach device A to reach N. Furthermore, device A can announce one or more prefixes. For example, device A can announce multiple prefixes, including prefixes N, P, and Q.

[0098] For example, Figure 4Device D has three routes, r5, r6, and r7, all with prefix N. This means that there are three optimal paths (those with the fewest links, i.e., the smallest AS-Path attribute) from device D to prefix device N, one for each time constraint. In other words, there can only be one optimal route for a prefix within a time constraint because the network topology does not change within the time constraint.

[0099] In step 2, for all the determined devices, the network information corresponding to each device in the periodic time-varying topology network to be verified is determined according to the order in which each device declares the Border Gateway Protocol BGP update message in the periodic time-varying topology network to be verified, and the declaration result of the BGP update message from the initial device to the destination device.

[0100] In this step, the routing information also includes: the AS-path attribute of the route and the next hop information of the route.

[0101] The determining of the network information corresponding to each device in the periodic time-varying topology network to be verified includes:

[0102] For each device, do the following:

[0103] Step 21: Arrange multiple routing information announced and received by the device to neighboring devices into a first-in-first-out queue;

[0104] Step 22. Each adjacent device takes the corresponding routing information sent to the device from the head of the queue and selects the optimal routing information from multiple routing information;

[0105] Step 23. Update the routing table of the device according to the determined optimal routing information and insert the updated routing table into the end of the queue;

[0106] Step 24: When all routing information of the queue is retrieved, the final routing information is obtained.

[0107] The network information also includes link time information;

[0108] In step 2, the optimal routing information is determined by the following steps:

[0109] In the first step, the device receives multiple routing information announced by the first neighboring device, each route carrying the time constraint information of the route;

[0110] Step 2: The device announces the routing information received from the first neighboring device to the second neighboring device;

[0111] Step 3: The device receives the routing information announced by the second neighboring device, where the routing information represents the routing information received by the second neighboring device from the first neighboring device.

[0112] Step 4: The device determines the optimal route from the multiple routing information received.

[0113] In the second step, the device announces to the second neighbor device that the time constraint information in the routing information received from the first neighbor device is determined by the following steps:

[0114] Obtain link time information from the device to the second neighboring device;

[0115] The device receives the time constraint information in the routing information announced by the first neighboring device and obtains the link time information, and uses the intersection as the time constraint information in the routing information announced by the device to the second neighboring device.

[0116] In the fourth step, the device determines the optimal route from the received routing information, including:

[0117] The route with the smallest AS-Path attribute is selected as the optimal route. Each route's time constraint information corresponds to an optimal route.

[0118] Step 3. For each device, based on the network information corresponding to the device, multiple effective times of the device are determined using pre-set constraints, including:

[0119] Wherein, the network information also includes link time information;

[0120] Step 31: The device announces multiple routing information to multiple neighboring devices, each route carrying the time constraint information of the route;

[0121] Step 32. The first neighbor device and the second neighbor device mutually announce the routing information received from the devices and the link time information between the first neighbor device and the second neighbor device, and determine the time constraint information in the announced routing information based on the link time information;

[0122] Determining the time constraint information in the announced routing information based on the link time information includes:

[0123] Taking the intersection of the time constraint information in the routing information received from the first neighboring device and the link time information between the first neighboring device and the second neighboring device as the time constraint information in the routing information announced by the first neighboring device to the second neighboring device;

[0124] The intersection of the time constraint information in the routing information received from the second neighbor device and the link time information from the first neighbor device to the second neighbor device is taken as the time constraint information in the routing information announced by the second neighbor device to the first neighbor device.

[0125] Step 33: The first neighbor device and the second neighbor device respectively determine the optimal route from the multiple received routing information.

[0126] The optimal routing information is selected from multiple routing information, including:

[0127] The route with the smallest as-path attribute value among multiple routes is selected as the optimal route.

[0128] For example, at the start of the control plane simulation, ground node A announces two routing information, m1 and m2, to satellite nodes B and C, respectively. These two routes carry the time constraints for the links between A and B, and A and C, respectively. Satellite nodes B and C then announce the routing information received from A to each other, and announce their own routing information to each other, further intersecting the link time between B and C with the time constraint for the link between B and C.

[0129] Next, since both devices B and C receive two routing information (device B receives m1 from node A, and m4 from node C), the optimal route selection needs to be performed. Device B receives two routes, m1 and m4. After the optimization strategy is judged, m1's as-path is smaller, so m1 is better than m4. m1 is stored in the RIB of device B and recorded as r1. As the optimal route r1, the effective time is consistent with the effective time of m1, which is [0,17], that is, 0 o'clock to 17 o'clock. The routing information r2 of m4 stored in device B needs to be based on the effective condition of m4 [8,21] and the time when r1 is not effective, that is, the complement of r1's effective time [17,24] to take the intersection. Therefore, the effective condition of r2 is [17,21]. Similarly, the RIB of C can be calculated. It is worth noting that the effective condition of r4 is That is, this route will never be sent as the optimal route on node C.

[0130] Step 4: Take the union of multiple effective times of each device to determine the verification result of the control plane of the periodic time-varying topology network to be verified.

[0131] In step 4, the specific implementation process includes:

[0132] Taking the union of the effective times corresponding to the routes with the same prefix information for each device, and determining the union of the effective times of the routes corresponding to each prefix information;

[0133] The effective time union corresponding to all prefix information is verified with the preset network control conditions to obtain the verification result of the network control plane.

[0134] The preset network control condition is time constraint information.

[0135] For example, routes m5, m6, and m7 announced from B and C to D correspond to r5, r6, and r7 stored in D's RIB, respectively. For example, r5(N, 100-200, B, [11, 17]), r6(N, 100-300-200, B, [17, 19]), and r7(N, 100-300-200, C, [19, 21]). The effective times of routes with prefix N in D's RIB are [11, 17], [17, 19], and [19, 21], respectively. By combining the effective times of multiple routes with the same prefix N on this device, the effective time of the route with prefix N in each cycle is determined to be [11, 21].

[0136] Verify each route's prefix information to see if it meets the expected network properties. For example, a pre-set network control condition is that a route with prefix N is always reachable to device D, i.e., [0, 24], meaning that a route with prefix N exists for device D from 0:00 to 24:00. The aforementioned validity period for the route with prefix N in each cycle is [11, 21]. Based on this determination, this validity period is only reachable during certain time periods, thus not meeting expectations.

[0137] Regarding verification: The primary goal of verification in this application is reachability. Therefore, in each embodiment, it is necessary to first specify the expected attribute to be verified, specifically the reachability from a device to a specific prefix. Under the network conditions of this application, time constraints are added. For example, the pre-set network control condition is that prefix N is reachable to device D within the time period [x, y]. The network control plane verification method is used to verify whether the time period of prefix N to device D completely includes [x, y] (satisfied / not satisfied).

[0138] Reachability means that if a device's RIB contains a route with prefix X, then prefix X is reachable to the device. For example: Figure 4 In the example, device D's route r5 = (N, 100-200, B, [11, 17]), which means that for device D, prefix N is reachable within the time range of 11-17, and the next step of the optimal path is to the neighboring device B, and the entire journey will pass through AS200 and AS100.

[0139] For example, in a certain network, the expectations to be verified are the reachability of prefix M to devices A and B, and the reachability of prefix N to devices B and C (i.e., a total of four reachabilities need to be verified). In this embodiment of the application, only one simulation of the route propagation of prefix M is needed to obtain the reachability results of M to A and B at one time; and then an independent simulation of the route propagation of prefix N is performed to obtain the reachability results of N to B and C at the same time. These four results are the desired verification results in a network control plane verification. That is, for a specific network control plane verification, one or more expectations can be verified, which can involve multiple prefixes and multiple devices. Therefore, there will be multiple "small results", and multiple "small results" are combined into the final verification conclusion.

[0140] In the embodiments of the present application, when network messages are propagated, the initial time constraints are all the entire common period. Each time a message depends on a link for propagation, the current time constraint is intersected with the time constraint of the corresponding link. Each time a network message involves a priority, the message priority is sorted, and the condition for the current network message to take effect is to invert the corresponding constraints of messages that are more preferred than the current message constraint, then intersect them with the condition for the current network message to take effect. When a network message depends on other constrained messages (such as packet forwarding that depends on constrained routing), it is necessary to intersect the constraints of these dependent messages with the current constraints. After the network simulation is completed, all network messages of interest are collected from the device to be verified, and the final verification result is obtained by combining them. From the above example, it can be seen that the route propagation calculation simulation algorithm based on time constraints and FIFO queues can simulate all time intervals at once. The current conventional network verification method for verifying a periodic variable topology network requires a simulation calculation for all possible topologies. Therefore, the control plane verification method for a periodic time-varying topology network using this embodiment only requires a single verification to complete all possible topologies, which is a qualitative improvement in efficiency.

[0141] It will be appreciated by those skilled in the art that all or some of the steps, systems, and functional modules / units in the methods disclosed above may be implemented as software, firmware, hardware, and appropriate combinations thereof. In hardware implementations, the division between the functional modules / units mentioned in the above description does not necessarily correspond to the division of physical components; for example, a physical component may have multiple functions, or a function or step may be performed by several physical components in cooperation. Some or all components may be implemented as software executed by a processor, such as a digital signal processor or a microprocessor, or implemented as hardware, or implemented as an integrated circuit, such as an application-specific integrated circuit. Such software may be distributed on a computer-readable medium, which may include a computer storage medium (or non-transitory medium) and a communication medium (or temporary medium). As is well known to those skilled in the art, the term computer storage medium includes volatile and non-volatile, removable, and non-removable media implemented in any method or technology for storing information (such as computer-readable instructions, data structures, program modules, or other data). Computer storage media include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store the desired information and can be accessed by a computer. In addition, it is well known to those skilled in the art that communication media generally embodies computer-readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism, and may include any information delivery media.

Claims

1. A control plane verification method for a periodic time-varying topology network, characterized in that: Methods include: Determine all devices in the periodic time-varying topology network to be verified, and obtain network information corresponding to each of the devices; Perform the following operations for each device obtained: Determine, based on the network information corresponding to the device, multiple effective times corresponding to each routing prefix of the device, and take a union of the multiple effective times to obtain an effective time of each routing prefix in the device; During the verification period, the reachability of the device to the device corresponding to each routing prefix is determined based on the validity period of each routing prefix in the device. Wherein, the network information includes routing information; the routing information includes: routing prefix information, routing time constraint information; Before obtaining the network information corresponding to all the devices, the method further includes: each device announcing routing information to a neighboring device; The time constraint information for the routing information announced by each device to its neighboring devices is determined according to the following steps: The time constraint information in the routing information received from the first neighbor device and the device and the link time information between the first neighbor device and the second neighbor device are intersected and processed as the time constraint information in the routing information announced by the first neighbor device to the second neighbor device.

2. The control plane verification method for a periodic time-varying topology network according to claim 1, characterized in that: The obtaining of network information corresponding to all the devices includes: For all devices, the network information corresponding to each device in the periodic time-varying topology network to be verified is determined according to the order in which each device declares the Border Gateway Protocol BGP update message in the periodic time-varying topology network to be verified, and the declaration result of the BGP update message from the initial device to the destination device.

3. The control plane verification method for a periodic time-varying topology network according to claim 2, characterized in that: The routing information also includes: the as-path attribute of the route and the next hop information of the route.

4. The control plane verification method for a periodic time-varying topology network according to claim 3, characterized in that: The determining of the network information corresponding to each device in the periodic time-varying topology network to be verified includes: For each device, do the following: The device announces multiple routing information to neighboring devices. The routing information announced by all devices is placed in a first-in-first-out queue. Taking out the routing information sent to the device from the first-in-first-out queue in sequence, and selecting the optimal routing information therefrom; Update the optimal routing information of the device according to the selected optimal routing information, and insert the updated optimal routing information into the tail of the first-in-first-out queue; Until all the routing information in the first-in-first-out queue is retrieved, a final routing table is obtained as the network information of the device.

5. The control plane verification method for a periodic time-varying topology network according to claim 4, characterized in that: Before obtaining the network information corresponding to all the devices, the method further includes: Obtain link time information between different devices; The routing information taken out from the first-in-first-out queue carries the time constraint information of the corresponding routing; The optimal routing information is determined according to the time constraint information; When the routing information announced by any device to a neighboring device includes routing information received from other devices, the time constraint information in the routing information is determined according to the link time information between the device and the neighboring device.

6. The control plane verification method for a periodic time-varying topology network according to claim 5, characterized in that: The intersection process is to calculate the common effective interval of the two time constraint information.

7. The control plane verification method for a periodic time-varying topology network according to claim 6, characterized in that: The optimal routing information is the routing information with the smallest as-path attribute; each routing time constraint information corresponds to a piece of optimal routing information.

8. The control plane verification method for a periodic time-varying topology network according to claim 7, characterized in that: The determining, according to the effective time of each routing prefix, the reachability of the device to the device corresponding to the routing prefix during the verification period includes: During the verification period, each routing prefix is verified against its effective time and pre-set network control conditions. If the verification is successful, the device is reachable to the device corresponding to the routing prefix; The preset network control condition is time constraint information.

9. A control plane verification device for a periodic time-varying topology network, characterized in that: The device includes: a memory and a processor; the memory is used to store a program for performing control plane verification of a periodic time-varying topology network, and the processor is used to read and execute the program for performing control plane verification of a periodic time-varying topology network, and execute the method described in any one of claims 1-8.

Citation Information

Patent Citations

  • Satellite network time delay and rate joint guarantee routing method based on time aggregation graph

    CN109951335A

  • Network verification method and device, computer storage medium and electronic device

    CN110311828A