CN112769696A - Routing method, network controller, system and storage medium - Google Patents
Routing method, network controller, system and storage medium Download PDFInfo
- Publication number
- CN112769696A CN112769696A CN201911077082.9A CN201911077082A CN112769696A CN 112769696 A CN112769696 A CN 112769696A CN 201911077082 A CN201911077082 A CN 201911077082A CN 112769696 A CN112769696 A CN 112769696A
- Authority
- CN
- China
- Prior art keywords
- node
- delay
- nodes
- network
- link
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/121—Shortest path evaluation by minimising delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/123—Evaluation of link metrics
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
The embodiment of the invention discloses a routing method, a network controller, a system and a storage medium. The method comprises the following steps: according to the time delay value between every two nodes collected in the network, the forwarding nodes between the source node and the destination node are screened from the network, so that the forwarding nodes meeting the preset time delay requirement are screened out; calculating the cost of each path from the source node to the destination node based on the cost of each link formed by the source node, the destination node and the screened forwarding node; and selecting the path with the minimum cost as a routing path from the source node to the destination node.
Description
Technical Field
The embodiment of the invention relates to the technical field of communication, in particular to a routing method, a network controller, a system and a storage medium.
Background
With the development of the internet of things and artificial intelligence technology, services needing services of a network in the future are more diversified, for example, the requirements of services such as unmanned driving and telemedicine on network performance are higher and higher, and the traditional network is more and more difficult to meet the network requirements of users.
A Software Defined Network (SDN) breaks through the limitation of the conventional network structure, separates a data plane from a control plane, forwards data on the data plane by a plurality of switches, and controls global network information on the control plane by a controller and is responsible for controlling a routing policy between any two switches in the data plane.
A path selection algorithm may be generally used to determine, for a certain performance indicator in the network, a route in the network for which the performance indicator meets the user requirements. However, the above path selection algorithm cannot consider more constraint conditions meeting the network performance requirements of users in the process of collecting network information and pruning nodes and links in the network.
Disclosure of Invention
Embodiments of the present invention provide a routing method, a network controller, a system, and a storage medium, which can perform path selection in combination with minimum link cost on the basis of satisfying a user delay requirement.
In a first aspect, an embodiment of the present invention provides a routing method, including: according to the time delay value between every two nodes collected in the network, the forwarding nodes between the source node and the destination node are screened from the network, so that the forwarding nodes meeting the preset time delay requirement are screened out; calculating the cost of each path from the source node to the destination node based on the cost of each link formed by the source node, the destination node and the screened forwarding node; and selecting the path with the minimum cost as a routing path from the source node to the destination node.
In a second aspect, an embodiment of the present invention provides a network controller, including: the node screening module is used for screening the forwarding nodes between the source node and the destination node from the network according to the time delay values between every two nodes collected in the network so as to screen out the forwarding nodes meeting the preset time delay requirement; the cost calculation module is used for calculating the cost of each path from the source node to the destination node based on the cost of each link formed by the source node, the destination node and the screened forwarding node; and the path selection module is used for selecting the path with the minimum cost as the routing path from the source node to the destination node.
In a third aspect, an embodiment of the present invention provides a routing system, including: a memory and a processor; the memory is used for storing programs; the processor is configured to read executable program code stored in the memory to perform the above-described routing method.
In a fourth aspect, an embodiment of the present invention provides a computer-readable storage medium, in which instructions are stored, and when the instructions are executed on a computer, the instructions cause the computer to execute the routing method in the above aspects.
According to the routing method, the network controller, the system and the storage medium of the embodiment of the invention, after the forwarding nodes which comprise the source node and the destination node and meet the preset time delay requirement are screened out from the network, the route with the minimum cost is selected as the routing route from the source node to the destination node according to the cost of the link between every two nodes. The routing method can quickly realize routing under the premise of comprehensively considering the user certainty requirement on the link delay and the link cost, and can reduce the complexity of the routing process.
Drawings
The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of this specification, illustrate embodiments of the invention and together with the description serve to explain the principles of the invention and not to limit the invention.
FIG. 1 is a schematic diagram of a routing network architecture according to an embodiment of the present invention.
Fig. 2 is a flowchart illustrating a routing method according to an embodiment of the present invention.
Fig. 3 shows a network topology structure diagram of an embodiment of the present invention.
Fig. 4 shows a flow chart of a routing method according to another embodiment of the present invention.
Fig. 5 is a schematic flow chart illustrating the collection of network routes in fig. 4.
Fig. 6 shows a detailed flowchart of pruning the network in fig. 4.
Fig. 7 is a schematic flow chart illustrating routing based on the least cost method in fig. 4.
Fig. 8 is a schematic structural diagram of a network controller according to an embodiment of the present invention.
FIG. 9 illustrates a block diagram of an exemplary hardware architecture of a computing device in which methods and apparatus according to embodiments of the invention may be implemented.
Detailed Description
The following detailed description of embodiments of the invention refers to the accompanying drawings. It should be understood that the detailed description and specific examples, while indicating the present invention, are given by way of illustration and explanation only, not limitation. It will be apparent to one skilled in the art that the present invention may be practiced without some of these specific details. The following description of the embodiments is merely intended to provide a better understanding of the present invention by illustrating examples of the present invention.
It should be noted that, in this document, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising … …" does not exclude the presence of other identical elements in a process, method, article, or apparatus that comprises the element.
For a better understanding of the present invention, a routing method, apparatus, system, and storage medium according to embodiments of the present invention will be described in detail below with reference to the accompanying drawings. It should be noted that these examples are not intended to limit the scope of the present disclosure.
FIG. 1 is a schematic diagram of a routing network architecture according to an embodiment of the present invention. As shown in fig. 1, the architecture may include: an SDN controller 10 and one or more switches 20, the SDN controller 10 and each switch 20 being communicable via an OpenFlow protocol.
Wherein the SDN controller is a controller of a control plane in an SDN network architecture, and the SDN controller 10 may include: a route calculation module 11 and a network information management library 12.
In the embodiment of the invention, the SDN breaks through the limitation of the traditional network structure and separates the data plane from the control plane. At the control plane, the SDN controller 10 may grasp global network information through the network information management library 12; the route calculation module 11 may calculate the route selection between any two switches in the data plane according to the network information, determine a routing scheme according to a route calculation result, and issue the routing scheme to the switches. In the data plane, a plurality of switches forward data according to the received routing scheme.
By way of example, the information collected in the network may include, for example: the topology structure of the whole network, the available bandwidth of each node and link in the network, the packet loss rate, the time delay between every two nodes in the network under the condition of the worst network quality, the source node, the destination node and other information.
In an SDN network architecture, the nodes in the embodiments of the present invention may be communication nodes of the SDN network architecture, and each communication node may correspond to one switch located at a data plane in the SDN network architecture.
It should be appreciated that the routing method of the embodiment of the present invention may try out the traditional network structure unexpected to the SDN network architecture. In other network configurations, the communication node may be a communication node such as a router, switch, server, and base station. Moreover, the number of the switch devices in fig. 1 is only illustrative, and can be flexibly adjusted according to the actual application needs. This aspect is not limiting.
Fig. 2 is a flowchart illustrating a routing method according to an embodiment of the present invention.
As shown in fig. 2, the routing method of the embodiment of the present invention may include steps S110 to S130.
S110, according to the time delay value between every two nodes collected in the network, the forwarding nodes between the source node and the destination node are screened from the network, so as to screen out the forwarding nodes meeting the preset time delay requirement.
And S120, screening the forwarding nodes between the source node and the destination node in the network according to the time delay values between every two nodes collected in the network so as to screen out the forwarding nodes meeting the preset time delay requirement.
And S130, selecting the path with the minimum cost as a routing path from the source node to the destination node.
According to the routing method provided by the embodiment of the invention, on the basis of meeting the requirement of deterministic delay of a user, the factors such as node link cost and the like are further comprehensively considered, and the minimum cost path selection of end-to-end delay guarantee is realized.
In step S110, the delay value between every two nodes is a sum of the required transmission delay, link delay, reception delay, and delay formed by queuing delay when the quality of the network satisfies the predetermined worst condition of the network quality, where the signal is transmitted from one node to another node between every two nodes.
In one embodiment, the quality of the network may be measured by the speed of communication in the network and the degree of network stability. The communication speed can be expressed, for example, by the network transmission rate, i.e., the number of bits of binary numbers transmitted per second; the network stability degree refers to the performance that a network system can improve long-term, reliable and meet the index bandwidth, that is, the network system must normally work within a specified time, for example, faults such as downtime, restart and the like do not occur; and the system works normally under the condition of full load, cannot collapse, and keeps the processing efficiency within a specified processing efficiency threshold value range. The network stability measure may include, for example: mean Time Between Failures (Mean Time Between Failures), maximum stable bandwidth, maximum number of concurrent streams, etc.
In this embodiment, the preset network quality worst condition may include at least one of the following items: the network transmission rate is less than or equal to the transmission rate threshold, the network system cannot work normally within a specified time length, such as a downtime fault and/or a restart fault, the average time interval without fault is less than a preset time length threshold, the maximum stable bandwidth is less than a bandwidth threshold, and the maximum number of concurrent flows is less than a concurrent flow number threshold. In the following description of the embodiments, the network quality is expressed as the worst: the quality of the network meets the preset worst condition of the network quality.
In one embodiment, latency refers to the time required for data to travel from one end of the network (or link) to the other. The delays in the network or link may include transmit delays, link delays, receive delays, and queuing delays.
The transmission delay is the time required for transmitting a data frame, that is, the time required from the transmission of the first bit of the data frame to the completion of the transmission of the last bit of the data frame, and may also be referred to as a forwarding delay.
The link delay is the time it takes for a data frame to travel a certain distance in the transmission channel.
The reception delay is the time it takes to process a received data frame, for example, analyzing the header of a packet, extracting a data portion from a packet, performing error checking or finding an appropriate route, and may also be referred to as a processing delay.
The queuing delay is a delay generated by data being transmitted through a network, firstly queuing in an input queue for processing after entering a router, and further queuing in an output queue for forwarding after the router determines a forwarding interface.
In this embodiment, the sum of the transmission delay, the link delay, the reception delay, and the queuing delay, which are required for data transmission between two nodes under the worst quality condition of the network, is used as the delay between the two nodes.
In one embodiment, step S110 may specifically include S111-S113.
And S111, setting a time delay weight value between every two nodes based on the time delay value between every two nodes.
In step S111, if a directly connected link exists between each two nodes, setting a delay weight as a delay value between each two nodes; if no directly connected link exists between every two nodes, the time delay weight value is set to be infinite.
As an example, if node u and node v are directly connected, the delay weight value is equal to the sum of the delay between node u and node v in the worst case of the network quality, that is, the forwarding delay of node u, the link delay from u to v, and the delay of the receiving delay of v and the delay of the queuing delay in v in the worst case of the network quality, and if u is not an adjacent node of v, the delay weight value is positive infinity.
And S112, calculating a forward minimum delay weight and a reverse minimum delay weight of any node in the network according to the delay weights between every two nodes, wherein the forward minimum delay weight is the minimum value of the delay weights from any node to a destination node, and the reverse minimum delay weight is the minimum value of the delay weights from any node to a source node.
In step S112, a shortest path algorithm may be used to calculate a minimum delay weight from any node to the source node and a minimum delay weight from any node to the destination node according to the delay weight between every two nodes.
In one embodiment, the shortest path algorithm may be understood as: when the number of paths from the source node to the destination node is greater than one, each path may include a plurality of nodes and links between two adjacent nodes. The shortest path algorithm is to calculate the shortest path from the source node to the destination node, that is, to find a path with the smallest sum of the weights formed by the weights of the links in more than one path from the source node to the destination node.
In one embodiment, the shortest path algorithm includes, but is not limited to: dijkstra Algorithm Dijkstra, freuder Floyd Algorithm, Bellman-Ford Bellman Ford Algorithm, and Shortest Path Fast Algorithm (SPFA).
In the embodiment of the invention, the minimum delay weight value of the direction from any node to the source node is determined by finding the shortest path from any node to the source node by using the delay weight value of the link; and determining the minimum delay weight value from any node to the destination node by finding the shortest path from any node to the destination node. That is, the delay of the routing node in the network under the condition of the worst network quality can be collected from the positive direction and the negative direction to the source node and the destination node.
And S113, calculating the sum of the forward minimum delay weight and the reverse minimum delay weight, and taking the node in the network with the sum of the delay weights smaller than the preset delay upper limit value as a forwarding node meeting the preset delay requirement.
In step S113, the preset delay upper limit is a preset delay upper limit that meets the user requirement. According to the time delay upper limit value, nodes which cannot meet the time delay requirement in the network can be pruned, and end-to-end time delay guarantee is achieved between the source node and the destination node.
In one embodiment, step S120 may specifically include S121-S123.
S121, screening each link formed by the source node, the destination node and the screened forwarding node to obtain a link of which the available bandwidth is greater than or equal to a preset bandwidth requirement threshold and/or the packet loss rate is less than a preset packet loss rate threshold.
In step S121, the bandwidth consumed by one link in the network affects the bandwidth resources available to other links in the network. To ensure the data carrying capacity and network performance of the network path. The available bandwidth of the links may be used to screen nodes and links between nodes in the network.
In this step, the packet loss rate is a ratio of the number of lost data packets to the total number of transmitted data packets in the data transmission process between two nodes. The packet loss rate of the link in the network during normal transmission should be controlled within a certain range. To ensure the stability of the network, the links in the network can be screened according to the packet loss rate.
And S122, calculating the cost of each path from the source node to the destination node according to the cost of each link formed by the forwarding node, the source node and the destination node contained in the screened links.
In this embodiment, the least expensive path may be selected as the routing path from the source node to the destination node. According to the routing method provided by the embodiment of the invention, the nodes and links in the network can be screened by the time delay upper limit required by the user, the constraint conditions such as performance indexes such as bandwidth and packet loss rate are comprehensively considered, and after the routing which does not meet the conditions is quickly discarded, the minimum cost path between the source node and the target node in the network is selected.
In an embodiment, the step of calculating the cost of each path from the source node to the destination node in the step S120 or S122 may specifically include the following steps S21-S22.
S21, the sum of the cost collected from the network for using each link and the cost formed by the cost for using the receiving node in each link is taken as the total cost for using each link.
In this step, when there is a directly connected link between every two nodes, the total cost is equal to the sum of the cost of the link between every two nodes and the cost formed by the cost of the receiving node in the link; the total cost equals positive infinity when no directly connected link exists between every two nodes.
And S22, determining the link contained in each path from the source node to the destination node, and calculating the cost of each path according to the total cost of each contained link.
In this embodiment, the link cost is the cost of the network used by the link during data transmission. From the network information management library, the cost of using a certain node and the cost of using a certain link, which are collected in the network, can be acquired.
According to the routing method provided by the embodiment of the invention, the nodes and links in the network can be pruned based on the time delay characteristic under the worst network quality condition, and routing is carried out by integrating the time delay and the minimum cost mode, so that the routing is quickly realized, and the routing complexity is reduced.
Fig. 3 shows a network topology structure diagram of an embodiment of the present invention. In fig. 3, the nodes in the network topology include: source node a and destination node E, and forwarding nodes between source node a and destination node E, such as node B, node C, and node D.
In the following, how to perform routing between the source node a and the destination node E in the embodiment of the present invention is described in detail with reference to the network topology in fig. 3.
Table 1 shows network information such as network topology and link-related information collected from the network in one embodiment.
TABLE 1 network topology and Link related information
The links with direct connection relationship are shown in table 1 above, as well as the link delay weight, the link packet loss rate and the link available bandwidth. Because the illustrated link has a direct association relationship, the value of the link delay weight illustrated in table 1 is a delay value between two nodes in the link.
In the embodiment of the present invention, a deterministic network under an SDN architecture is a network that can provide a capability of deterministic service guarantee for a service carried, where the capability of deterministic service guarantee includes network performance indexes such as a time delay, a bandwidth, and a packet loss rate.
According to the network performance index, a deterministic network under the SDN architecture realizes an end-to-end performance requirement by setting a performance index threshold that meets a user requirement under the worst network quality condition from end to end, where the performance index threshold may include, for example: the time delay upper limit value, the packet loss rate upper limit threshold value, the bandwidth requirement threshold value and the like which meet the requirements of users.
As an example, the performance index meeting the user requirement in the embodiment of the present invention may include: the upper limit of the user required delay is 7, the upper limit of the packet loss rate is 5%, and at least 1 unit of bandwidth is required, for example, 1 unit of bandwidth is 1 megabit per second (Mbps). It should be understood that the values of the performance indicators are merely illustrative, and the performance indicators can be flexibly adjusted according to the requirements of the network performance in practical applications. This aspect is not limiting.
Fig. 4 shows a flow chart of a routing method according to another embodiment of the present invention. As shown in FIG. 4, in one embodiment, the routing method may include steps S31-S33.
And S31, performing forward collection and reverse collection on the time delay of the links between the nodes in the network.
In step S31, forward collecting the time delay, which means collecting the time delay weight from each node to the destination node; and reversely collecting the time delay, namely collecting the time delay weight from each node to the source node.
In the collecting stage of the routing method described in step S31, the topology of the entire network may be collected, including the available bandwidth and the packet loss rate of each node and link in the network, and the worst delay between each two nodes in the network and the delay upper limit required by the user, and the collected information may be stored in a network information management library;
and S32, pruning the network based on the time delay between the nodes under the condition of the worst network quality.
In the pruning stage of the routing method described in step S32, nodes that cannot meet the delay requirement in the network may be pruned, that is, nodes that do not meet the delay requirement are removed.
And S33, carrying out route searching on the nodes obtained after the network pruning based on the minimum cost mode.
In the routing stage of the routing method described in step S33, the routing can be performed with reference to the comprehensive cost and the delay weight.
Fig. 5 is a schematic flow chart illustrating the collection of network routes in fig. 4. In fig. 5, the step S31 may specifically include S311 and S312.
S311, the time delay weight values between the nodes under the condition of the worst network quality are collected in the forward direction, and the minimum time delay weight value from each node to the destination node E is obtained.
S312, reversely collecting the time delay weight values between the nodes under the condition of the worst network quality to obtain the minimum time delay weight value from each node to the source node A.
Table 2 schematically shows the minimum delay weight from each node to the destination node E obtained according to the link delay weight collected in table 1 under the worst case condition of the network; table 3 schematically shows the minimum delay weight from each node to the destination node E obtained according to the link delay weight collected in table 1 under the worst network condition.
TABLE 2 minimum delay values from each node to destination node E
TABLE 3 minimum delay value from each node to Source node A
Node point | Minimum delay value to source node A |
A | 0 |
B | 1 |
C | 3 |
D | 6 |
E | 7 |
In this embodiment, the forward collection and the backward collection are performed on the delay under the worst network quality condition in the network, so as to be used for pruning the nodes in the network subsequently.
Fig. 6 shows a detailed flowchart of pruning the network in fig. 4. In fig. 6, the step S32 may specifically include S321 and S323.
S321, adding all nodes in the network into a set H, wherein nodes which are not traversed in the pruning stage are stored in the set H.
S322, from the set H, selecting the nodes which are not traversed, calculating the sum of the minimum delay weight from a certain node to a destination node and the minimum delay weight from the node to a source node, if the sum of the minimum delay weights is larger than the time delay upper limit required by the user, marking the node as an unavailable node, and if the sum of the minimum delay weights is smaller than or equal to the time delay upper limit required by the user, keeping the node and marking the node as an available node.
As an example, node A is selected from set H, meaning that A is traversed, and node A is removed from set H. From the above table 2 and table 3, the minimum delay weight from the node a to the destination node E is taken as 7, the minimum delay weight from the node a to the source node a is taken as 0, and the sum 7 of the delay weights is calculated to be less than or equal to (i.e., not greater than) the delay 7 under the worst condition required by the user, so the node a is retained.
S323, checking whether the set H is empty, if not, executing the step S322, and if so, ending the pruning stage. As an example, node a is traversed, node a may be deleted from set H.
Table 4 illustrates pruning results for embodiments of the present invention.
TABLE 4 pruning results
As can be seen from table 4 above, after the pruning stage is over, the D node is marked as unavailable. And removing nodes and links which do not meet the delay requirement in the pruning stage, and then carrying out final routing based on minimum cost under the condition that the delay meets the requirement of a user.
In this embodiment, the nodes in the network are screened according to whether the sum of the time delay formed by the time delay weight from a certain node to the destination node and the time delay weight from the node to the source node under the worst network quality condition is less than the time delay upper limit required by the user, so as to ensure that the screened nodes meet the determined time delay required by the user.
Fig. 7 is a schematic flow chart illustrating routing based on the least cost method in fig. 4. As shown in fig. 7, the step S33 may specifically include steps S331 to S333.
S331, screening out the link with the available bandwidth larger than the bandwidth requirement of the user.
S332, screening out links with the packet loss rate smaller than a preset packet loss rate threshold value from the links with the available bandwidth larger than the user bandwidth requirement.
In an embodiment, the links with the packet loss rate smaller than the preset packet loss rate threshold may also be screened first, and then the links with the available bandwidth larger than the user bandwidth requirement are screened from the links with the packet loss rate smaller than the preset packet loss rate threshold.
And S333, selecting the path with the minimum cost as the routing path from the source node to the destination node in the link with the available bandwidth larger than the user bandwidth requirement and the packet loss rate smaller than the preset packet loss rate threshold.
In step S333, the cost of using a certain link or using a certain node may be obtained from the network information management module, and assuming that node a and node B are directly connected, the weight of the link from node a to node B in the routing stage is the sum of the cost of using node B and the cost of using link a to node B, and the meaning of the node and link costs includes the cost and the cost of using these resources. For ease of understanding, table 5 shows the cost per link during the way-finding phase.
TABLE 5 calculation of link cost during the way-finding phase
Link circuit | Cost of link | Node cost | Total cost of link |
A→B | 1 | 1 | 2 |
B→C | 1 | 2 | 3 |
A→C | 4 | 2 | 6 |
C→E | 3 | 1 | 4 |
In table 5, the node cost is the cost of the second hop node in the link, i.e., the receiving node in the link. By way of example, in link a → B, B is the second hop node of the link and is also the receiving node of the link. As can be seen from fig. 5, the total cost of the links obtained by calculation is used as the weight of each link in the routing stage, and routing calculation is performed between the source node and the target node to obtain the path with the minimum cost.
In this embodiment, on the basis of determining the delay that meets the user requirement, the bandwidth requirement of the link, the limitation of the link packet loss rate, and the link cost of the user are comprehensively considered, and the minimum cost path from the source node to the destination node that meets the above conditions is found.
Fig. 8 is a schematic structural diagram of a network controller according to an embodiment of the present invention.
In fig. 8, the network controller may include a node screening module 410, an expense calculation module 420, and a path selection module 430.
The node screening module 410 is configured to screen forwarding nodes between the source node and the destination node in the network according to the time delay values between every two nodes collected in the network, so as to screen out forwarding nodes meeting a predetermined time delay requirement.
And the cost calculation module 420 is configured to calculate the cost of each path from the source node to the destination node based on the cost of each link formed by the source node, the destination node, and the screened forwarding node.
And a path selection module 430, configured to select a path with the smallest cost as a routing path from the source node to the destination node.
In one embodiment, the node screening module 410 may specifically include: a delay weight determining unit and a minimum delay weight calculating unit.
The time delay weight setting unit is used for setting a time delay weight between every two nodes based on a time delay value between every two nodes; and the minimum delay weight calculation unit is used for calculating a forward minimum delay weight and a reverse minimum delay weight of any node in the network according to the delay weight between every two nodes, wherein the forward minimum delay weight is the minimum value of the delay weight from any node to the destination node, and the reverse minimum delay weight is the minimum value of the delay weight from any node to the source node.
In this embodiment, the node screening module 410 is further specifically configured to calculate a sum of delay weights of the forward minimum delay weight and the reverse minimum delay weight, and use a node in the network where the sum of the delay weights is smaller than the preset delay upper limit value as a forwarding node meeting the preset delay requirement.
In an embodiment, the delay weight setting unit is further specifically configured to: when a link which is directly connected exists between every two nodes, setting a time delay weight value as a time delay value between every two nodes; and when no directly connected link exists between every two nodes, setting the time delay weight value to be infinite.
In one embodiment, the delay value between every two nodes is the sum of the required transmission delay, link delay, reception delay and queuing delay formed by the transmission delay, the link delay, the reception delay and the queuing delay when a signal is transmitted from one node to the other node between every two nodes under the condition of the worst quality of the network.
In one embodiment, the cost calculation module 420 may further include a link screening unit and a path determination unit.
The link screening unit is used for screening each link formed by the source node, the destination node and the screened forwarding node to obtain a link of which the available bandwidth is greater than or equal to a preset bandwidth requirement threshold and/or the packet loss rate is less than a preset packet loss rate threshold.
In this embodiment, the cost calculation module 420 is further configured to calculate the cost of each path from the source node to the destination node according to the cost of each link formed by the forwarding node, the source node, and the destination node included in the screened links.
In one embodiment, the cost calculation module 420 may further include a total link cost calculation unit and a path cost calculation unit.
Wherein the total link cost calculation unit is configured to use a sum of costs collected from the network and formed by costs of using each link and costs of using the receiving node in each link as the total cost of using each link.
And the path cost calculation unit is used for determining the link contained in each path from the source node to the destination node and calculating the cost of each path according to the total cost of each contained link.
In this embodiment, the path selection module 430 is further configured to select the least expensive path as the routing path from the source node to the destination node.
In one embodiment, when there is a directly connected link between every two nodes, the total cost is equal to the sum of the cost of the link between every two nodes and the cost formed by the cost of the receiving node in the link; the total cost equals positive infinity when no directly connected link exists between every two nodes.
According to the routing device provided by the embodiment of the invention, on the basis of ensuring that the nodes and the links in the network meet the upper delay limit required by the user, the cost of the links and the nodes is comprehensively considered, and the minimum cost path selection ensured by end-to-end delay is realized.
It is to be understood that the invention is not limited to the particular arrangements and instrumentality described in the above embodiments and shown in the drawings. For convenience and brevity of description, detailed description of a known method is omitted here, and for the specific working processes of the system, the module and the unit described above, reference may be made to corresponding processes in the foregoing method embodiments, which are not described herein again.
Fig. 9 is a block diagram illustrating an exemplary hardware architecture of a computing device capable of implementing a routing method and apparatus according to embodiments of the present invention.
As shown in fig. 9, computing device 900 includes an input device 901, an input interface 902, a central processor 903, a memory 904, an output interface 905, and an output device 906. The input interface 902, the central processing unit 903, the memory 904, and the output interface 905 are connected to each other through a bus 910, and the input device 901 and the output device 906 are connected to the bus 910 through the input interface 902 and the output interface 905, respectively, and further connected to other components of the computing device 900.
Specifically, the input device 901 receives input information from the outside (for example, a network information management library), and transmits the input information to the central processor 903 through the input interface 902; central processor 903 processes input information based on computer-executable instructions stored in memory 904 to generate output information, stores the output information temporarily or permanently in memory 904, and then transmits the output information to output device 906 via output interface 905; output device 906 outputs the output information external to computing device 900 for use by a user.
In one embodiment, computing device 900 shown in fig. 9 may be implemented as a routing system that may include: a memory configured to store a program; a processor configured to execute the program stored in the memory to perform the routing method described in the above embodiments.
In one embodiment, the routing system has the same or equivalent structure as the route calculation module 11 in fig. 1.
According to an embodiment of the invention, the process described above with reference to the flow chart may be implemented as a computer software program. For example, embodiments of the invention include a computer program product comprising a computer program tangibly embodied on a machine-readable medium, the computer program comprising program code for performing the method illustrated in the flow chart. In such an embodiment, the computer program may be downloaded and installed from a network, and/or installed from a removable storage medium.
It will be understood by those of ordinary skill in the art that all or some of the steps of the methods, systems, functional modules/units in the devices disclosed above may be implemented as software, firmware, hardware, and suitable combinations thereof. In a hardware implementation, the division between functional modules/units mentioned in the above description does not necessarily correspond to the division of physical components; for example, one physical component may have multiple functions, or one function or step may be performed by several physical components in cooperation. Some or all of the physical components may be implemented as software executed by a processor, such as a central processing unit, digital signal processor, or microprocessor, or as hardware, or as an integrated circuit, such as an application specific integrated circuit. Such software may be distributed on computer readable media, which may include computer storage media (or non-transitory media) and communication media (or transitory media). The term computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data, as is well known to those of ordinary skill in the art. Computer storage media includes, but is 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 which can be used to store the desired information and which can accessed by a computer. In addition, communication media typically 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 includes any information delivery media as known to those skilled in the art.
It will be understood that the above embodiments are merely exemplary embodiments taken to illustrate the principles of the present invention, which is not limited thereto. It will be apparent to those skilled in the art that various modifications and improvements can be made without departing from the spirit and substance of the invention, and these modifications and improvements are also considered to be within the scope of the invention.
Claims (10)
1. A routing method, comprising:
according to the time delay value between every two nodes collected in the network, the forwarding nodes between the source node and the destination node are screened from the network, so that the forwarding nodes meeting the preset time delay requirement are screened out;
calculating the cost of each path from the source node to the destination node based on the cost of each link formed by the source node, the destination node and the screened forwarding node;
and selecting the path with the minimum cost as the routing path from the source node to the destination node.
2. The method of claim 1, wherein the screening forwarding nodes between a source node and a destination node from the network according to a delay value between every two nodes collected in the network to screen out forwarding nodes meeting a predetermined delay requirement comprises:
setting a time delay weight value between every two nodes based on the time delay value between every two nodes;
calculating a forward minimum delay weight and a reverse minimum delay weight of any node in the network according to the delay weight between every two nodes, wherein the forward minimum delay weight is the minimum value of the delay weight from any node to the destination node, and the reverse minimum delay weight is the minimum value of the delay weight from any node to the source node;
and calculating the sum of the forward minimum delay weight and the reverse minimum delay weight, and taking the nodes in the network with the sum of the delay weights being smaller than a preset delay upper limit value as forwarding nodes meeting the preset delay requirement.
3. The method of claim 2, wherein the setting the delay weight between each two nodes based on the delay value between each two nodes comprises:
when a link which is directly connected exists between every two nodes, setting the time delay weight value as a time delay value between every two nodes;
and when no directly connected link exists between every two nodes, setting the time delay weight value to be infinite.
4. The method of claim 1, wherein,
and the delay value between every two nodes is the sum of the time delay formed by the required sending delay, the required link delay, the required receiving delay and the required queuing delay when the quality of the network meets the condition of the worst preset network quality after the signal is sent from one node to the other node between every two nodes.
5. The method of claim 1, wherein the calculating costs for each path from the source node to the destination node based on costs for each link formed by the source node, the destination node and the screened forwarding node comprises:
screening each link formed by the source node, the destination node and the screened forwarding node to obtain a link of which the available bandwidth is greater than or equal to a preset bandwidth requirement threshold and/or the packet loss rate is less than a preset packet loss rate threshold;
and calculating the cost of each path from the source node to the destination node according to the cost of each link formed by the forwarding node, the source node and the destination node contained in the screened links.
6. The method of claim 1 or 5, wherein the calculating cost of each path from the source node to the destination node based on cost of each link formed by the source node, the destination node and the screened forwarding nodes comprises:
taking a sum of a cost formed by the cost of each link collected from the network and the cost of a receiving node in each link as a total cost for using each link;
in each path from the source node to the destination node, determining links contained in each path, and calculating the cost of each path according to the total cost of each contained link.
7. A network controller, comprising:
the node screening module is used for screening the forwarding nodes between the source node and the destination node in the network according to the time delay values between every two nodes collected in the network so as to screen out the forwarding nodes meeting the preset time delay requirement;
the expense calculation module is used for calculating the expense of each path from the source node to the destination node based on the expense of each link formed by the source node, the destination node and the screened forwarding node;
and the path selection module is used for selecting the path with the minimum cost as the routing path from the source node to the destination node.
8. The network controller of claim 7, wherein the cost calculation module further comprises:
the link screening unit is used for screening each link formed by the source node, the destination node and the screened forwarding node to obtain a link of which the available bandwidth is greater than or equal to a preset bandwidth requirement threshold and/or the packet loss rate is less than a preset packet loss rate threshold;
the expense calculation module is further configured to calculate the expense of each path from the source node to the destination node according to the expense of each link formed by the forwarding node, the source node, and the destination node included in the screened links.
9. A routing system comprising a memory and a processor;
the memory is used for storing executable program codes;
the processor is configured to read executable program code stored in the memory to perform the routing method of any of claims 1 to 7.
10. A computer-readable storage medium comprising instructions which, when executed on a computer, cause the computer to perform the routing method of any one of claims 1 to 7.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911077082.9A CN112769696B (en) | 2019-11-06 | 2019-11-06 | Routing method, network controller, system and storage medium |
PCT/CN2020/126157 WO2021088801A1 (en) | 2019-11-06 | 2020-11-03 | Routing method, network controller, system, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911077082.9A CN112769696B (en) | 2019-11-06 | 2019-11-06 | Routing method, network controller, system and storage medium |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112769696A true CN112769696A (en) | 2021-05-07 |
CN112769696B CN112769696B (en) | 2023-09-26 |
Family
ID=75692742
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911077082.9A Active CN112769696B (en) | 2019-11-06 | 2019-11-06 | Routing method, network controller, system and storage medium |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112769696B (en) |
WO (1) | WO2021088801A1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114024975A (en) * | 2021-11-26 | 2022-02-08 | 中国电力科学研究院有限公司 | Service load balancing path calculation method, system, device and storage medium |
CN114697363A (en) * | 2022-03-31 | 2022-07-01 | 广东美的厨房电器制造有限公司 | Network system, control method thereof, control device thereof, and readable storage medium |
CN117278466A (en) * | 2023-09-14 | 2023-12-22 | 清华大学 | Candidate path selection method for fault-tolerant traffic engineering scene |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115086202B (en) * | 2022-04-14 | 2023-06-20 | 安世亚太科技股份有限公司 | Time delay analysis method and system based on network digital twin |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030161338A1 (en) * | 2002-02-27 | 2003-08-28 | Ng David D. | Network path selection based on bandwidth |
CN1731762A (en) * | 2005-08-05 | 2006-02-08 | 武汉理工大学 | QoS restricting multicast routing method based on Steiner |
CN101001102A (en) * | 2007-01-10 | 2007-07-18 | 北京航空航天大学 | Route device and method for raising service quality of space information network |
CN101267450A (en) * | 2008-03-18 | 2008-09-17 | 上海大学 | Multicast routing method for distributed network application layer based on network coding |
WO2010118578A1 (en) * | 2009-04-16 | 2010-10-21 | 华为技术有限公司 | Route method, equipment and system |
CN104270283A (en) * | 2014-09-15 | 2015-01-07 | 电子科技大学 | Network topology estimation method based on high-order cumulants |
CN107046501A (en) * | 2017-05-16 | 2017-08-15 | 北京邮电大学 | For SDN determining method of path, device, computer equipment and storage medium |
CN107070794A (en) * | 2016-12-08 | 2017-08-18 | 航天东方红卫星有限公司 | A kind of low rail information network optimal network benefit delay constraint method for routing |
CN108521375A (en) * | 2018-04-17 | 2018-09-11 | 中国矿业大学 | The transmission of the network multi-service flow QoS based on SDN a kind of and dispatching method |
CN108881009A (en) * | 2018-06-21 | 2018-11-23 | 北京航空航天大学 | Based on the delay constraint method for routing and device for facing sky Information Network |
WO2019011338A1 (en) * | 2017-07-13 | 2019-01-17 | 华为技术有限公司 | Method for determining shortest path and controller |
CN110139319A (en) * | 2019-05-25 | 2019-08-16 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | High dynamic time-delay network propagation delay time minimizes method for routing |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100912820B1 (en) * | 2007-11-01 | 2009-08-18 | 한국전자통신연구원 | Multi-path Routing method in Wireless Sensor Networks |
CN101715225B (en) * | 2009-11-20 | 2012-12-05 | 西安电子科技大学 | Routing method of self-adapting self-organized network in cognitive network |
KR102233371B1 (en) * | 2014-06-24 | 2021-03-29 | 삼성전자주식회사 | Method and apparatus for relaying in multicast network |
CN107547393B (en) * | 2016-06-29 | 2021-06-01 | 华为技术有限公司 | Method for calculating forwarding path and network equipment |
-
2019
- 2019-11-06 CN CN201911077082.9A patent/CN112769696B/en active Active
-
2020
- 2020-11-03 WO PCT/CN2020/126157 patent/WO2021088801A1/en active Application Filing
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030161338A1 (en) * | 2002-02-27 | 2003-08-28 | Ng David D. | Network path selection based on bandwidth |
CN1731762A (en) * | 2005-08-05 | 2006-02-08 | 武汉理工大学 | QoS restricting multicast routing method based on Steiner |
CN101001102A (en) * | 2007-01-10 | 2007-07-18 | 北京航空航天大学 | Route device and method for raising service quality of space information network |
CN101267450A (en) * | 2008-03-18 | 2008-09-17 | 上海大学 | Multicast routing method for distributed network application layer based on network coding |
WO2010118578A1 (en) * | 2009-04-16 | 2010-10-21 | 华为技术有限公司 | Route method, equipment and system |
CN104270283A (en) * | 2014-09-15 | 2015-01-07 | 电子科技大学 | Network topology estimation method based on high-order cumulants |
CN107070794A (en) * | 2016-12-08 | 2017-08-18 | 航天东方红卫星有限公司 | A kind of low rail information network optimal network benefit delay constraint method for routing |
CN107046501A (en) * | 2017-05-16 | 2017-08-15 | 北京邮电大学 | For SDN determining method of path, device, computer equipment and storage medium |
WO2019011338A1 (en) * | 2017-07-13 | 2019-01-17 | 华为技术有限公司 | Method for determining shortest path and controller |
CN108521375A (en) * | 2018-04-17 | 2018-09-11 | 中国矿业大学 | The transmission of the network multi-service flow QoS based on SDN a kind of and dispatching method |
CN108881009A (en) * | 2018-06-21 | 2018-11-23 | 北京航空航天大学 | Based on the delay constraint method for routing and device for facing sky Information Network |
CN110139319A (en) * | 2019-05-25 | 2019-08-16 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | High dynamic time-delay network propagation delay time minimizes method for routing |
Non-Patent Citations (2)
Title |
---|
LIQUAN CHEN; DONG YANG; ZHEZHUANG XU; CAILIAN CHEN: "An adaptive routing strategy for cluster-based wireless sensor networks", 《THE 27TH CHINESE CONTROL AND DECISION CONFERENCE (2015 CCDC)》 * |
刘川;黄在朝;陶静;贾惠彬;: "考虑排队时延的***保护通信网络路由选择算法", 电信科学, no. 10 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114024975A (en) * | 2021-11-26 | 2022-02-08 | 中国电力科学研究院有限公司 | Service load balancing path calculation method, system, device and storage medium |
CN114697363A (en) * | 2022-03-31 | 2022-07-01 | 广东美的厨房电器制造有限公司 | Network system, control method thereof, control device thereof, and readable storage medium |
CN117278466A (en) * | 2023-09-14 | 2023-12-22 | 清华大学 | Candidate path selection method for fault-tolerant traffic engineering scene |
Also Published As
Publication number | Publication date |
---|---|
WO2021088801A1 (en) | 2021-05-14 |
CN112769696B (en) | 2023-09-26 |
WO2021088801A9 (en) | 2021-10-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112769696B (en) | Routing method, network controller, system and storage medium | |
US7346056B2 (en) | Optimizing path selection for multiple service classes in a network | |
US8897141B2 (en) | Network system and routing method | |
RU2423010C2 (en) | Index of routing based on data along radio communication and band, letting through for multi-channel multiple-hop wireless networks with multiple radio stations | |
KR101390095B1 (en) | Dynamic route branching system, dynamic route branching method, and non-transitory computer-readable storage medium | |
US11159432B2 (en) | Data transmission method, and switch and network control system using the method | |
US20120030150A1 (en) | Hybrid Learning Component for Link State Routing Protocols | |
EP2661028B1 (en) | Duplicate Packet Suppression | |
CN110890994B (en) | Method, device and system for determining message forwarding path | |
US20060050635A1 (en) | Delay guarantee path setting system | |
US9906437B2 (en) | Communication system, control apparatus, control method and program | |
US9590890B2 (en) | Transfer apparatus, server, and route changing method | |
US10560367B2 (en) | Bidirectional constrained path search | |
US20180097731A1 (en) | Communication apparatus and method of communication | |
CN111512600A (en) | Method, apparatus and computer program for distributing traffic in a telecommunications network | |
CN114500354A (en) | Switch control method, device, control equipment and storage medium | |
EP3338415B1 (en) | Routing communications traffic packets across a communications network | |
US20170005932A1 (en) | Soft Constrained Shortest-Path First Tunneling | |
CN110557302B (en) | Network equipment message observation data acquisition method | |
WO2023109794A1 (en) | Methods and systems for adaptive stochastic-based load balancing | |
EP3051919A1 (en) | Device and method for wireless communication used in wireless ad hoc network | |
CN107592269B (en) | Method and network node for transmitting load information of path | |
CN115865814A (en) | Network device, system and method for cycle-based load balancing | |
CN110572332A (en) | network equipment message observation data acquisition task dividing method | |
CN112448890B (en) | Path determining method, device and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |