A method and apparatus for inter-domain routing computation

CN117938732BActive Publication Date: 2026-09-15FIBERHOME TELECOMMUNICATION TECHNOLOGIES CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202410150522.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-02-02
Publication Date
2026-09-15
Estimated Expiration
2044-02-02

AI Technical Summary

Technical Problem

[0003]然而,出于安全性、私密性以及商业利益上的考虑,运营商并不将域内的详细拓扑信息向其它域公开,多域网络屏蔽域内细节给域间路径的计算带来了很大的困难,传统的路径计算方法无法完成端到端的路由计算

Benefits of technology

[0020] This invention reduces the number of topology nodes and the complexity of the topology by treating each domain as an equivalent node, thereby forming an equivalent network. This allows for the calculation of inter-domain routing without needing to consider the topology within a domain.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117938732B_ABST
    Figure CN117938732B_ABST
Patent Text Reader

Abstract

The application relates to the network technical field and provides a kind of inter-domain routing calculation method and device.The method comprises: using the abstract node formed by the nodes in the network domain as equivalent node, and using the inter-domain link as the equivalent link connecting the equivalent node to establish the equivalent network; in the equivalent network, using the ant colony algorithm to carry out multiple inter-domain routing calculation to update the priority of each equivalent link in the equivalent network, and modify the priority increasing rule of the equivalent link and / or modify the routing rule to calculate the highest priority equivalent link sequence in the equivalent network as the optimal inter-domain link sequence.The application forms the equivalent network by equating each domain to node, greatly reduces the number of topology nodes, and reduces the complexity of the topology structure, so that the inter-domain routing calculation can be realized without concerning the topology structure in the domain.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of network technology, and in particular to a method and apparatus for calculating inter-domain routing. Background Technology

[0002] With the widespread adoption of the internet, network traffic has exploded, and the scale of optical networks is constantly expanding. The routing and management of tens of millions of devices poses a significant challenge to the control plane technology of ASON (Automatically Switched Optical Network). If all optical network devices are managed within the same routing domain, each node would have to maintain a massive routing database. The updating and maintenance of this information, along with the enormous computational pressure, would place a heavy burden on the signaling network and the computing power of the devices. Therefore, multi-domain networks are an inevitable choice.

[0003] However, for reasons of security, privacy and commercial interests, operators do not disclose detailed topology information within a domain to other domains. The shielding of details within a multi-domain network makes it very difficult to calculate inter-domain paths, and traditional path calculation methods cannot complete end-to-end routing calculations.

[0004] Therefore, overcoming the shortcomings of the existing technology is an urgent problem to be solved in this technical field. Summary of the Invention

[0005] The technical problem that this invention aims to solve is that existing technologies struggle to calculate inter-domain routing.

[0006] The present invention adopts the following technical solution: In a first aspect, the present invention provides a method for calculating inter-domain routes, comprising: An equivalent network is established by taking the abstract nodes formed by nodes within a domain in the network as equivalent nodes and the inter-domain links as equivalent links connecting the equivalent nodes. In the equivalent network, the ant colony algorithm is used to perform multiple inter-domain routing calculations in order to update the priority of each equivalent link in the equivalent network, and to modify the priority increase rule of the equivalent link and / or modify the routing rule, so as to calculate the equivalent link sequence with the highest priority in the equivalent network as the optimal inter-domain link sequence.

[0007] Preferably, the optimal inter-domain link sequence is the equivalent link sequence with the minimum extreme value. The extreme value is a weighted sum of multiple parameters, including one or more of the bandwidth utilization and packet loss rate of all links in the equivalent link sequence, the total overhead and total latency of the equivalent links and equivalent nodes.

[0008] Preferably, the method further includes: The user's QoS value is extracted as a constraint, and the inter-domain routing calculation is performed based on the constraint; wherein the constraint includes one or more of the following: latency constraint, packet loss rate constraint, bandwidth constraint, overhead constraint, bandwidth utilization constraint, and path constraint.

[0009] Preferably, the priority increase rule for modifying the equivalent link specifically includes: Based on the calculation results of all previous rounds, the diversity of the algorithm is calculated; By utilizing the diversity of algorithms, the parameter W, representing the number of equivalent link sequences, is calculated. Increase the priority on the top W best equivalent link sequences.

[0010] Preferably, the calculation of algorithm diversity based on the calculation results of all previous rounds specifically includes: In the corresponding round of calculation, the variance stdev(m,i) of the probability of selecting each effective next hop when the m-th pathfinding factor is at node i in the previous round of calculation is calculated. Subtracting the variance stdev(m,i) from the first preset value yields the first baseline value. Multiplying this baseline value by a preset coefficient yields the diversity of the m-th pathfinding factor at node i. Where node i is the node of the m-th routing factor on the equivalent link sequence p obtained in the previous round; Add the diversity of the m-th routing factor at each node on the equivalent link sequence p, and then divide by the hop count n of the equivalent link sequence p to obtain the diversity of the m-th routing factor on the equivalent link sequence p. ; Add up the diversity of all pathfinding factors on the corresponding equivalent link sequences, and then divide by the total number of pathfinding factors to obtain the algorithmic diversity of the previous round. .

[0011] Preferably, the calculation of the equivalent link sequence number parameter W using the diversity of algorithms specifically includes: In the calculation of the corresponding round, the algorithmic diversity of the previous round is divided by... The second benchmark value is obtained; where, This represents the maximum value among all previous rounds of algorithmic diversity. The equivalent link sequence number parameter W for this round is obtained by multiplying the second benchmark value by the preset equivalent link sequence number.

[0012] Preferably, the addition of priority on the top W optimal equivalent link sequences specifically includes: From the multiple equivalent link sequences calculated in the previous round, select the optimal W equivalent link sequences as the first equivalent link sequences, and the other equivalent link sequences as the second equivalent link sequences; Update the priority of each link in the first equivalent link sequence to: Update the priority of each link in the second equivalent link sequence to ;in, The preset priority decay parameter, The links used in the previous round of calculation priority, The optimal ranking of the corresponding equivalent link sequence. These are preset priority parameters. This represents the hop count of the equivalent link sequence.

[0013] Preferably, the modification of the pathfinding rules specifically includes: Based on the calculation results of all previous rounds, the diversity of the algorithm is calculated; By utilizing the diversity of algorithms, the state transition parameters are calculated. Among them, when the algorithm enters the convergence state, the state transition parameters... Increase; In the next round, when pathfinding is performed at the corresponding node position, the generated random number q is less than or equal to the state transition parameter. When the optimal next hop is selected, it is added to the equivalent link sequence obtained from the pathfinding. In the next round, when pathfinding is performed at the corresponding node location, the generated random number q is greater than the state transition parameter. When that happens, a random next hop is selected and added to the equivalent link sequence obtained from the pathfinding.

[0014] Preferably, the state transition parameters are calculated by utilizing the diversity of algorithms. Specifically, it includes: In the corresponding round of calculation, the algorithmic diversity of the previous round is used. Divide by The second benchmark value is obtained; where, This represents the maximum value among all previous rounds of algorithmic diversity. The state transition parameters are obtained by subtracting the second reference value from the second preset value. .

[0015] Preferably, the step of selecting the optimal next hop and adding it to the equivalent link sequence obtained through pathfinding specifically includes: Calculate the probability that node j is the next hop. ; Choose the node j with the highest probability as the next hop in the equivalent link sequence obtained in this round of pathfinding.

[0016] Preferably, the step of selecting a random next hop and adding it to the equivalent link sequence obtained through pathfinding specifically includes: Calculate the probability that node j is the next hop. ; Based on the probability that node j is the next hop The next hop in the equivalent link sequence obtained in this round of pathfinding is determined by combining the roulette wheel algorithm.

[0017] Preferably, the method further includes: When the pathfinding process finds that the destination node cannot be reached by following the corresponding equivalent link sequence, the equivalent link sequence is set as a taboo equivalent link sequence. When multiple taboo equivalent link sequences share a common sub-equivalent link sequence, and the starting point of the sub-equivalent link sequence is the source node, and the next hop of the third node is located in all of the multiple taboo equivalent link sequences, the sub-equivalent link sequence is set as a taboo equivalent link sequence; wherein, the third node is the ending point of the sub-equivalent link sequence. This prevents the taboo equivalent link sequence from participating in subsequent calculations.

[0018] In a second aspect, the present invention also provides an inter-domain routing calculation apparatus for implementing the inter-domain routing calculation method described in the first aspect, the apparatus comprising: At least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor for performing the inter-domain routing calculation method described in the first aspect.

[0019] Thirdly, the present invention also provides a non-volatile computer storage medium storing computer-executable instructions that are executed by one or more processors to perform the inter-domain routing calculation method described in the first aspect.

[0020] This invention reduces the number of topology nodes and the complexity of the topology by treating each domain as an equivalent node, thereby forming an equivalent network. This allows for the calculation of inter-domain routing without needing to consider the topology within a domain. Attached Figure Description

[0021] To more clearly illustrate the technical solutions of the embodiments of the present invention, the accompanying drawings used in the embodiments of the present invention will be briefly described below. Obviously, the drawings described below are merely some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without any creative effort.

[0022] Figure 1 This is a flowchart illustrating the first method for calculating inter-domain routing provided in this embodiment of the invention. Figure 2 This is a schematic diagram of the actual network in an inter-domain routing calculation method provided in an embodiment of the present invention; Figure 3 This is a schematic diagram of an equivalent network in the first inter-domain routing calculation method provided in this embodiment of the invention; Figure 4 This is a flowchart illustrating the second method for calculating inter-domain routing provided in this embodiment of the invention. Figure 5 This is a flowchart illustrating the third method for calculating inter-domain routing provided in this embodiment of the invention. Figure 6 This is a schematic diagram of an inter-domain routing calculation method provided in an embodiment of the present invention; Figure 7 This is a schematic diagram of an equivalent network in the second inter-domain routing calculation method provided in this embodiment of the invention; Figure 8 This is a schematic diagram of a scenario for calculating inter-domain routing provided in an embodiment of the present invention; Figure 9 This is a flowchart illustrating the fourth method for calculating inter-domain routing provided in this embodiment of the invention. Figure 10 This is a flowchart illustrating the fifth method for calculating inter-domain routing provided in this embodiment of the invention. Figure 11 This is a flowchart illustrating the sixth method for calculating inter-domain routing provided in this embodiment of the invention. Figure 12 This is a flowchart illustrating the seventh method for calculating inter-domain routing provided in this embodiment of the invention. Figure 13 This is a schematic diagram of an equivalent network in the third inter-domain routing calculation method provided in this embodiment of the invention; Figure 14 This is a schematic diagram of an equivalent network in the fourth inter-domain routing calculation method provided in this embodiment of the invention; Figure 15 This is a schematic diagram of the actual network in the fifth method for calculating inter-domain routing provided in this embodiment of the invention; Figure 16 This is a schematic diagram of the architecture of a computing device for inter-domain routing provided in an embodiment of the present invention. Detailed Implementation

[0023] To make the objectives, technical solutions, and advantages of this invention clearer, the invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the invention.

[0024] In this invention, the terms "first," "second," etc., are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of indicated technical features. Therefore, a feature defined with "first," "second," etc., may explicitly or implicitly include one or more of that feature. In the description of this application, unless otherwise stated, "a plurality of" means two or more.

[0025] Furthermore, the technical features involved in the various embodiments of the present invention described below can be combined with each other as long as they do not conflict with each other.

[0026] Example 1: Existing technologies struggle to calculate inter-domain routes. To address this issue, Embodiment 1 of this invention provides a method for calculating inter-domain routes, such as... Figure 1 As shown, it includes: In step 201, an equivalent network is established by using abstract nodes composed of nodes within a domain in the network as equivalent nodes and inter-domain links as equivalent links connecting these equivalent nodes. Here, the abstract nodes composed of nodes within a domain can be understood as the domain itself; in some accompanying drawings, "within a domain" is also abbreviated as "domain". Figure 2 The network topology shown is an example, containing three domains: domain 1, domain 2, and domain 3. There are three inter-domain links between domain 1 and domain 2: link1, link2, and link3. There is one inter-domain link (link5) between domain 2 and domain 3, and one inter-domain link (link4) between domain 1 and domain 3. When establishing an inter-domain network slice consisting of domains 1, 2, and 3, inter-domain routing needs to be established. The equivalent network established is as follows: Figure 3 As shown, within a domain, 1 is equivalent to equivalent node 1, within a domain, 2 is equivalent to equivalent node 2, and within a domain, 3 is equivalent to equivalent node 3. Inter-domain links link1, link2, and link3 are all equivalent to the equivalent links connecting equivalent node 1 and equivalent node 2. Figure 3 The equivalent links are 1, 2, and 3. The inter-domain link 4 is equivalent to the equivalent link connecting the equivalent node 1 and the equivalent node 3. The inter-domain link 5 is equivalent to the equivalent link between the equivalent node 2 and the equivalent node 3.

[0027] For ease of description, in the following embodiments, the equivalent nodes in the equivalent network will be referred to as nodes, and the equivalent links in the equivalent network will be referred to as links.

[0028] In step 202, within the equivalent network, the ant colony algorithm is used to perform multiple inter-domain routing calculations to update the priorities of each equivalent link in the equivalent network. The priority increase rules and / or routing rules for the equivalent links are modified to calculate the highest-priority equivalent link sequence in the equivalent network, which serves as the optimal inter-domain link sequence (which can be understood as the equivalent link sequence or inter-domain route used for transmitting services). It should be noted that the equivalent link sequence and inter-domain link sequence described in this embodiment actually represent paths in the equivalent network. That is, the optimal inter-domain link sequence consists of an ordered arrangement of a series of equivalent nodes and inter-domain links (i.e., links in the highest-priority equivalent link sequence). Similarly, the equivalent link sequence consists of an ordered arrangement of a series of equivalent nodes and equivalent links. For inter-domain links, the head and tail nodes of the equivalent network are determined (i.e., the source and destination nodes of the inter-domain links in the equivalent network are determined). The use of ant colony optimization (ACO) for multiple inter-domain route calculations actually refers to iterating the ACO algorithm multiple times. Each iteration yields one or more inter-domain routes, and finally, one route is selected from all the obtained inter-domain routes as the optimal inter-domain link sequence, which is the equivalent link sequence ultimately used for transmitting services. In subsequent use, the iterative process is also replaced by "calculation". Updating the priority of each equivalent link in the equivalent network and modifying the priority increase rule and / or routing rule refers to updating the link priority during the iteration process. This update is based on the priority increase rule of the equivalent links and the equivalent link sequence obtained in previous iterations, and the priority increase rule and routing rule are also modified during the iteration process.

[0029] The priority increase rule of the equivalent link can be understood as the update rule used when updating the priority in the iteration. The pathfinding rule is the pathfinding rule used in the iteration. Here, it is all for one iteration process. That is, in the nth iteration, the priority used in the (n+1)th iteration needs to be updated. In the prior art, the priority is updated based on the same update rule in each iteration, and the same pathfinding rule is used for pathfinding in each iteration. This embodiment modifies the pathfinding rule and update rule based on the result of the previous iteration.

[0030] Another clearer understanding of step 202 above is: In the equivalent network, the ant colony algorithm is used for multiple iterations; in each iteration, one or more paths (i.e., equivalent link sequences) are obtained; in the corresponding iteration, based on the iteration progress, the priority increase rule of the equivalent links is determined, and the priority is updated using the rule for the next iteration, and / or the pathfinding rule is updated for the next iteration; finally, from all the paths obtained by the iteration, the optimal path (i.e., the equivalent link sequence with the highest priority) is selected as the path that the business finally uses (i.e., the optimal inter-domain link sequence).

[0031] After establishing an equivalent network, the topology is greatly simplified, so various methods can be used to calculate inter-domain routes, such as using the shortest path algorithm to calculate inter-domain routes.

[0032] The inter-domain routing is actually calculated to obtain inter-domain routes and access points for inter-domain connections, such as... Figure 2 As shown, when an inter-domain route is established from a corresponding node in domain 1 to a corresponding node in domain 3, where the equivalent node 1 reaches domain 2 via equivalent link 2 and then reaches domain 3 via equivalent link 5, the connection points between domain 1 and domain 2 are the boundary node 1 of domain 1 and the boundary node 4 of domain 2, i.e., the two ends of the inter-domain link 2. The connection points between domain 2 and domain 3 are the boundary node 5 of domain 2 and the boundary node 6 of domain 3. Each intra-domain route can be calculated by each domain based on the connection points. Alternatively, a concentrator (such as a global service proxy) can be set up to collect the topology information of each domain and perform centralized calculation of intra-domain routes. For example, the intra-domain route in domain 2 is the route between boundary node 4 and boundary node 5. The inter-domain route and the intra-domain route form a complete service routing path. That is, the method also includes: after calculating the inter-domain route, using the connection points of the inter-domain route in each domain, calculating the intra-domain route in each domain, thereby realizing end-to-end route calculation.

[0033] This embodiment forms an equivalent network by representing each domain as an equivalent node, thus greatly reducing the number of topological nodes and the complexity of the topology. This allows for inter-domain routing calculation without needing to consider the intra-domain topology. In an optional implementation, routing calculation can be achieved using shortest path algorithms, but in practical applications, establishing inter-domain routes may need to meet multiple requirements. For example, when ensuring the Quality of Service (QoS) of the equivalent link sequence meets requirements, it is necessary to simultaneously ensure the transmission bandwidth, transmission latency, and data packet loss rate. This end-to-end multi-constraint routing calculation process is an NP-C problem and cannot be completed using traditional shortest path tree algorithms. Instead, more intelligent algorithms such as ant colony optimization, bee colony optimization, or reinforcement learning methods are required. This embodiment uses the ant colony algorithm to calculate inter-domain routing. The basic implementation of the ant colony algorithm is as follows: a preset number of pathfinding factors are set at the source node. In each iteration, each pathfinding factor searches for a path until it reaches the destination node or until the node it reaches cannot reach the destination node (i.e., there is no path to go). Thus, multiple paths are obtained in each iteration. The pathfinding process of the pathfinding factor is as follows: when the pathfinding factor is at the corresponding node, it selects the corresponding next hop according to the priority of each selectable next hop (which can be understood as the priority of the link between the node where the pathfinding factor is located and the corresponding next hop). This process continues until the pathfinding ends. After each iteration, the priority is updated according to the pathfinding results of each pathfinding factor in the previous round. Each pathfinding factor returns to the source node and searches for a path again according to the priority, thereby achieving the convergence of the algorithm.

[0034] However, in existing technologies, the priority increase rule for equivalent links is fixed, that is, the priority of the best equivalent link sequence obtained in the previous iteration is increased. Although this method has a fast convergence speed, it is easy to cause the ant colony algorithm to get stuck in a local optimum. Another method is to increase the priority of each equivalent link sequence according to whether the pathfinding factor has passed through it, that is, to increase the priority of the equivalent link sequence that the pathfinding factor has passed through. This method will lead to a slow convergence speed of the ant colony algorithm. That is, the existing ant colony algorithm has the problem of difficulty in balancing population diversity and convergence speed. It is precisely to solve this problem that this embodiment proposes the above step 202, that is, to achieve a balance between population diversity and convergence speed by modifying the increase rule and modifying the pathfinding rule.

[0035] The optimal inter-domain link sequence is obtained by pre-setting corresponding preset evaluation rules according to those skilled in the art, and sorting multiple equivalent link sequences obtained in one round of iteration according to the preset evaluation rules. In an optional embodiment, the optimal inter-domain link sequence is the equivalent link sequence with the smallest extreme value; the extreme value is a weighted sum of multiple parameters; the parameters include one or more of the bandwidth utilization and packet loss rate of all links on the equivalent link sequence, the total overhead and total latency of the equivalent links and equivalent nodes. Wherein, the bandwidth utilization can be the variance of the bandwidth utilization of all links in actual use, the packet loss rate can be understood as the overall packet loss rate of the equivalent link sequence, the total overhead is the total overhead of all links and nodes on the equivalent link sequence, and the total latency is the total latency of all links and nodes on the equivalent link sequence.

[0036] In one alternative implementation, the extreme values ​​of the corresponding equivalent link sequences are expressed in mathematical form as follows:

[0037] Where f(p) is the extreme value of the equivalent link sequence p, Bandwidth_V(p) is the variance of the bandwidth utilization of all links on the equivalent link sequence p, Cost(p) is the total cost of links and nodes on the equivalent link sequence p, Delay(p) is the total delay of links and nodes on the equivalent link sequence p, Lost(p) is the overall packet loss rate of the equivalent link sequence p, and α, β, and These are preset weight parameters obtained by those skilled in the art based on demand analysis.

[0038] In subsequent embodiments, the terms "optimal equivalent link sequence" and "optimal k equivalent link sequences" can also be represented by extreme values. That is, the smaller the extreme value of the corresponding equivalent link sequence, the better the equivalent link sequence.

[0039] In practical applications, the modification of the priority increase rule for equivalent links and / or the modification of the pathfinding rule are based on the progress of the algorithm. For example, if a person skilled in the art sets the number of iterations for the ant colony algorithm to 100 based on experience, and the technician observes the iteration process, it is found that after 60 iterations, all the equivalent link sequences generated by the ant colony algorithm in subsequent iterations are equivalent link sequences that have appeared in the first 60 iterations, that is, no new equivalent link sequences are generated. At this point, it indicates that the algorithm has entered the iteration stage. In order to achieve a balance between population diversity and convergence speed, the priority of the equivalent link sequences traversed by the pathfinding factor can be increased in the first 60 iterations, thereby increasing population diversity. In the 60th iteration, the priority increase rule for equivalent links is modified so that in subsequent iterations, the priority of the optimal equivalent link sequence obtained in the previous iteration is increased, thereby accelerating the convergence of the algorithm. Alternatively, it can be divided into multiple stages, such as in stages 1 to 40. In each iteration, the priority of the equivalent link sequence traversed by the pathfinding factor is increased. In iterations 41-70, the priority of the k best equivalent link sequences obtained in the previous iteration is increased, where k is an integer. As the number of iterations increases, k gradually decreases until it reaches 1. In iterations 71-100, the priority of the best equivalent link sequence obtained in the previous iteration is increased. Similarly, since the pathfinding rule determines the equivalent link sequence obtained in each iteration, it will affect the best equivalent link sequence obtained in the iteration. For the same purpose, the pathfinding rule can also be modified. For example, in the first 60 iterations, pathfinding is performed according to the random next hop (i.e., when the pathfinding factor performs pathfinding at the corresponding node, it randomly selects the next hop to add to the equivalent link sequence obtained by pathfinding). In subsequent iterations, pathfinding is performed according to the best next hop (i.e., when the pathfinding factor performs pathfinding at the corresponding node, it selects the best next hop to add to the equivalent link sequence obtained by pathfinding).

[0040] In a specific implementation, the priority increase rule for modifying the equivalent link is as follows: Figure 4 As shown, it specifically includes: In step 301, the algorithm diversity is calculated based on the calculation results of all previous rounds. When the algorithm diversity gradually decreases, the algorithm is in a convergent state. The algorithm diversity can be understood as the possibility of obtaining different equivalent link sequences through algorithm iteration. In practical use, the algorithm diversity can also be a preset value that changes with the number of iterations, obtained by those skilled in the art through observation and summary of the historical iteration process. In this case, the calculation results of all previous rounds are the number of iterations, and the diversity is determined based on the number of iterations.

[0041] In step 302, the equivalent link sequence number parameter W is calculated using the algorithm's diversity. W decreases as the algorithm enters convergence. The calculation of the equivalent link sequence number parameter W using the algorithm's diversity can be implemented in several ways. For example, a relationship can be established between the algorithm's diversity curve and W. That is, for each point on the curve, a preset W value is set. When the calculated algorithm diversity reaches that point, the preset W value is used as the equivalent link sequence number parameter W for the next round. The diversity curve represents the relationship between diversity and the number of iterations. Alternatively, a preset diversity threshold can be set. When the diversity remains below this threshold as the number of iterations increases, the algorithm is considered not to have entered convergence, and W remains unchanged at a preset value set by someone skilled in the art. When the diversity exceeds the preset threshold, W decreases sequentially with the number of iterations until it reaches 1.

[0042] In step 303, the priorities of the top W optimal equivalent link sequences obtained from the previous iteration are increased. If the current iteration is num rounds, the diversity is calculated based on the iteration results of num rounds. Based on this diversity, W is calculated, and the priorities of the top W optimal equivalent link sequences obtained in the num-th iteration are increased for the (num+1)-th iteration. Increasing the priorities on the equivalent link sequences actually increases the priorities of each link located within the equivalent link sequences.

[0043] It should be noted that the increase in priority on the top W optimal equivalent link sequences is relative to other equivalent link sequences. It can mean that the priority of other equivalent link sequences decreases and the priority of the top W optimal equivalent link sequences increases, or that the priorities of both other equivalent link sequences and the top W optimal equivalent link sequences decrease, but the priority of other equivalent link sequences decreases more than the priority of the top W optimal equivalent link sequences.

[0044] In an optional implementation, the step of calculating the algorithm diversity based on the calculation results of all previous rounds specifically includes: In the corresponding iteration (i.e. calculation), the variance stdev(m,i) of the probability of selecting each effective next hop when the m-th pathfinding factor is at node i is calculated in the previous iteration (i.e. calculation); wherein, the effective next hop is the next hop that the pathfinding factor can select. In a preferred embodiment, the effective next hop is the next hop that satisfies the constraint condition after excluding tabu equivalent link sequences.

[0045] Subtracting the variance stdev(m,i) from the first preset value yields the first baseline value. Multiplying this baseline value by a preset coefficient yields the diversity of the m-th pathfinding factor at node i. ; where node i is the node on the equivalent link sequence p obtained by the m-th pathfinding factor in the previous iteration (i.e., calculation); where the first preset value and preset coefficient are obtained by those skilled in the art based on experience.

[0046] Add the diversity of the m-th routing factor at each node on the equivalent link sequence p, and then divide by the hop count n of the equivalent link sequence p to obtain the diversity of the m-th routing factor on the equivalent link sequence p. Wherein, the hop count n of the equivalent link sequence p is the number of links on the equivalent link sequence. When there are 5 nodes on the equivalent link sequence p (including the start and end points of the equivalent link sequence), the hop count of the equivalent link sequence p is 4.

[0047] Add up the diversity of all pathfinding factors on the corresponding equivalent link sequences, and then divide by the total number of pathfinding factors to obtain the algorithmic diversity of the previous round. .

[0048] The above implementation method is expressed in the form of a mathematical formula as follows:

[0049]

[0050]

[0051] Where stdev(m,i) is the variance of the probability of selecting each valid next hop when the m-th pathfinding factor is at node i. The probability of selecting each valid next hop can be calculated from the priority of each next hop in the previous iteration. The preset coefficient is 1. The diversity of the m-th pathfinding factor at node i , Let p be the equivalent link sequence obtained from the m-th pathfinding factor iteration in the previous iteration, where n is the hop count of the equivalent link sequence p. The diversity of the m-th pathfinding factor on the corresponding equivalent link sequence p, The set of all pathfinding factors from the previous iteration. This refers to the algorithmic diversity of the previous round (i.e., round t).

[0052] In practical applications, the calculated variance may be greater than the first preset value. To facilitate calculation, the calculated variance is mapped to a range of 0 to 1 (i.e., 0% to 100%). Specifically, stdev(m,i) represents the variance of the probability of selecting each effective next hop when the m-th pathfinding factor is at node i, mapped to a value within the range of 0% to 100%. Not less than 0.

[0053] In an optional implementation, the calculation of the equivalent link sequence number parameter W using the diversity of algorithms specifically includes: In the corresponding iteration, the algorithmic diversity of the previous round is divided by... The second benchmark value is obtained; where, This represents the maximum value of the algorithmic diversity across all previous rounds; for example, if num iterations have been performed up to a certain time, then... ;in, This selects the maximum value from all the values ​​in parentheses.

[0054] The equivalent link sequence number parameter W for this round is obtained by multiplying the second benchmark value by the preset equivalent link sequence number.

[0055] Expressed in mathematical form as follows: Where w is the preset number of equivalent link sequences, w is an integer and less than the number of routing factors, to ensure that the calculated W is as small as possible less than the number of equivalent link sequences obtained through iteration. In practical use, the value of w can usually be between 2 and 4. To approximate the integer part of the value in parentheses, and if there is a case where the number of equivalent link sequences obtained in the corresponding iteration round is less than W, the value of W is reduced to the number of equivalent link sequences obtained in the corresponding iteration round.

[0056] In practical application scenarios, the addition of priority to the first W optimal equivalent link sequences specifically includes: From the multiple equivalent link sequences obtained in the previous iteration (i.e., calculation), the optimal W equivalent link sequences are selected as the first equivalent link sequence, and the other equivalent link sequences are selected as the second equivalent link sequence; the other equivalent link sequences refer to the equivalent link sequences obtained in the previous iteration other than the first equivalent link sequence.

[0057] Update the priority of each link in the first equivalent link sequence to: Update the priority of each link in the second equivalent link sequence to ;in, The preset priority decay parameter, The link used in the previous iteration priority, The optimal ranking of the corresponding equivalent link sequence. These are preset priority parameters. This represents the hop count of the equivalent link sequence.

[0058] The preset priority decay parameter and the preset priority parameter are both obtained by those skilled in the art based on the analysis of requirements.

[0059] Expressed in the form of a mathematical formula:

[0060]

[0061] in, For the next iteration of the link priority, This can be understood as an increase in priority. It should be noted that... The calculation method can be obtained by those skilled in the art based on actual needs. Any method that ensures the increase in the first W optimal equivalent link sequences is greater than the increase in the other equivalent link sequences should be included within the scope of protection of this invention. For example, let... This approach is also feasible. In this embodiment, k and W are also included in the calculation of the added value, thus allowing for a larger added value as the equivalent link sequence improves, thereby increasing the accuracy of the algorithm. In optional implementations, =1, It is 10.

[0062] To further accelerate the convergence of the algorithm, this embodiment also provides a preferred implementation method, namely, modifying the pathfinding rules, such as... Figure 5 As shown, it specifically includes: In step 401, the diversity of the algorithm is calculated based on the results of all previous iterations (i.e., calculations). The implementation of step 401 is consistent with the implementation idea of ​​calculating the diversity of the algorithm in step 301 above, and will not be elaborated here.

[0063] In step 402, the state transition parameters are calculated using the diversity of algorithms. Among them, when the algorithm enters the convergence state, the state transition parameters... Increase; wherein, by utilizing the diversity of algorithms, the state transition parameters are calculated. Similar to the method of calculating the equivalent link sequence number parameter W by utilizing algorithmic diversity, both have multiple implementation methods, such as establishing a curve showing the variation of algorithmic diversity. The relationship between them, and the corresponding [relationships] determined based on that relationship. Alternatively, a preset diversity threshold can be set. If the diversity consistently falls below this threshold as the number of iterations increases, then... Keeping the preset value set by those skilled in the art unchanged, when the diversity is greater than the preset diversity threshold, W increases sequentially with the number of iterations.

[0064] In step 403, in the next round, the random number q generated when pathfinding at the corresponding node position is less than or equal to the state transition parameter. When the optimal next hop is selected, it is added to the equivalent link sequence obtained from the pathfinding.

[0065] In step 404, in the next round, when the random number q generated during pathfinding at the corresponding node position is greater than the state transition parameter... When that happens, a random next hop is selected and added to the equivalent link sequence obtained from the pathfinding.

[0066] Here, the random number q is generated by a random number algorithm and has a fixed generation range. Steps 403 and 404 control the proportion of selecting the optimal next hop, thereby controlling the degree to which the algorithm tends to select the optimal equivalent link sequence during the pathfinding process. That is, after the algorithm enters the convergence state, the state transition parameters... Increasing the value of the next hop will result in a greater proportion of the path finding process choosing the optimal next hop, and a greater tendency to converge to the optimal equivalent link sequence, thereby accelerating the convergence speed.

[0067] It should be noted that adding the corresponding next hop to the equivalent link sequence actually means adding the link between the current node position and the corresponding next hop to the equivalent link sequence. For example, when the m-th pathfinding factor is at node a and the selected next hop is node b, the link between node a and node b is added to the equivalent link sequence obtained by the pathfinding. In this case, a pathfinding factor can obtain at most one equivalent link sequence in one iteration. That is, each pathfinding factor starts from the source node and searches for the next hop in turn. After finding a next hop, the pathfinding factor moves to that next hop and selects the next next hop until the corresponding equivalent link sequence is formed.

[0068] In an optional implementation, the state transition parameters are calculated using a variety of algorithms. Specifically, it includes: In the corresponding iterations (i.e., computations), the algorithmic diversity from the previous round is utilized. Divide by The second benchmark value is obtained; where, The maximum value among all previous rounds of algorithmic diversity is used; the state transition parameters are obtained by subtracting the second baseline value from the second preset value. .

[0069] The state transition parameters Expressed in the form of a mathematical formula:

[0070] In the early stages of the algorithm, due to its randomness, It will increase accordingly, thus The state transition parameters also increase accordingly. The algorithm remains essentially unchanged, maintaining a balance between accelerating convergence and increasing diversity; however, as it enters the later stages of the algorithm, i.e., after reaching the convergence state, Gradually decrease, while Fix, thus As the value of increases, while the range of random values ​​for the random number q remains unchanged, due to... As the value increases, a random number q will be less than or equal to... In more cases, after the algorithm enters the convergence state, it tends to choose the optimal equivalent link sequence, thereby further accelerating the convergence speed.

[0071] The step of selecting the optimal next hop and adding it to the equivalent link sequence obtained from the pathfinding specifically includes: calculating the probability of each node j being the next hop. Select the node j with the highest probability as the next hop in the equivalent link sequence obtained in this round of pathfinding.

[0072] The step of selecting a random next hop to add to the equivalent link sequence obtained from the pathfinding specifically includes: calculating the probability of each node j being the next hop. Based on the probability that node j is the next hop. The next hop in the equivalent link sequence obtained in this round of pathfinding is determined by combining the roulette wheel algorithm.

[0073] in, Representative Let j be the node with the largest value, q be a random number, and allowed_k be the set of valid next hops. and As a preset impact factor, For the link in this iteration priority, For link The inspiring information.

[0074] The above implementation can be understood as follows: whenever a next hop is selected for a pathfinding factor, a random number q is generated, and when this random number q is less than or equal to the state transition parameter... When, then choose The node j at the maximum value is used as the next hop, which makes the algorithm more inclined to choose the optimal equivalent link sequence, thus promoting the algorithm to converge quickly.

[0075] When the random number q is greater than the state transition parameter If the probability of each node j is calculated, then a roulette wheel is used to select one node j as the next jump. In the roulette wheel, the probability of selecting each node j is set to the corresponding probability. This makes the algorithm more inclined to roulette-like probability, ensuring diversity of attempts and avoiding getting trapped in local optima.

[0076] The roulette wheel betting algorithm described is a well-known technique to those skilled in the art and will not be elaborated upon here. The second preset value, constraint conditions, and preset influence factors are all obtained by those skilled in the art based on their needs analysis. For example, the user's QoS value may be extracted as a constraint condition, including one or more of the following: latency constraint, packet loss rate constraint, bandwidth constraint, overhead constraint, bandwidth utilization constraint, path constraint, etc.

[0077] The above implementation can be understood as follows: whenever a next hop is selected for a pathfinding factor, a random number q is generated, and when this random number q is less than or equal to the state transition parameter... When, then choose The node j at the maximum value is used as the next hop, which makes the algorithm more inclined to choose the optimal equivalent link sequence, thus promoting the algorithm to converge quickly.

[0078] When the random number q is greater than the state transition parameter If the probability of each node j is calculated, then a roulette wheel is used to select one node j as the next jump. In the roulette wheel, the probability of selecting each node j is set to the corresponding probability. This makes the algorithm more inclined to roulette-like probability, ensuring diversity of attempts and avoiding getting trapped in local optima.

[0079] It should be noted that the "previous round" and "next round" mentioned in this embodiment refer to two adjacent iterations. For example, if three iterations have been performed up to a certain time, for ease of description, these three iterations are referred to in chronological order as: the first iteration, the second iteration, and the third iteration. The first iteration is the "previous round" of the second iteration, the second iteration is the "next round" of the first iteration, the second iteration is the "previous round" of the third iteration, and the third iteration is the "next round" of the second iteration.

[0080] Furthermore, for the convenience of description, the current round in this embodiment takes its own iteration round as the subject to describe two adjacent iterations. From a relative perspective, the current iteration is actually the next iteration of the previous iteration. For example, three iterations have been performed by a certain time. For the convenience of description, these three iterations are named in chronological order as: a first iteration, a second iteration, and a third iteration. When the second iteration is taken as the description subject, the current iteration is the second iteration, and the previous iteration is the first iteration; when the third iteration is taken as the description subject, the current iteration is the third iteration, and the previous iteration is the second iteration. In addition, for conciseness of description, the next iteration is also referred to as the next round or the next iteration for short, the current iteration is referred to as the current round or the current iteration for short, and the previous iteration is referred to as the previous round or the previous iteration for short.

[0081] In practical application, the heuristic information can be obtained by conversion from an extreme value. For example, when a larger extreme value indicates a better equivalent link sequence, the heuristic information may be the extreme value; when a smaller extreme value indicates a better equivalent link sequence, the heuristic information may be the reciprocal of the extreme value.

[0082] Taking the above extreme value as an example, the heuristic information , where refers to the link from node i to node j.

[0083] In an optional embodiment, the method further comprises: extracting a user's QoS value as a constraint condition, and performing the inter-domain routing calculation based on the constraint condition (that is, during the path finding process, the selectable equivalent link sequence needs to satisfy the constraint condition); wherein the constraint condition comprises one or more of a delay constraint, a packet loss rate, a bandwidth constraint, an overhead constraint, a bandwidth utilization constraint and a path constraint.

[0084] The delay constraint is that the total delay of links and nodes on the equivalent link sequence is less than a preset maximum delay threshold; that is Delay(p)<Delay_max, where ; is the total delay of the equivalent link sequence p, that is, the total delay of links and nodes on the equivalent link sequence p, is the set of links on the equivalent link sequence p, is the delay of link e, is the set of nodes on the equivalent link sequence p, is the delay of node n, and Delay_max is the preset maximum delay threshold.

[0085] The packet loss rate constraint is that the overall packet loss rate of the equivalent link sequence is less than a preset maximum packet loss rate threshold; that is, Lost(p)<Lost_max, where, , is the overall packet loss rate of the equivalent link sequence p, is the packet loss rate of link e, and Lost_max is the preset maximum packet loss rate threshold.

[0086] The bandwidth constraint is that the bandwidth of each link on the equivalent link sequence is greater than or equal to a preset minimum bandwidth threshold; that is, , where, , is the minimum value of the bandwidth of each link on the equivalent link sequence p, is the bandwidth of link e, is the preset minimum bandwidth threshold.

[0087] The overhead constraint is that the total overhead of links and nodes on the equivalent link sequence is minimized; the total overhead of links and nodes on the equivalent link sequence is , is the total overhead of the equivalent link sequence p, that is, the total overhead of links and nodes on the equivalent link sequence p, is the overhead of link e, is the overhead of node n.

[0088] The bandwidth utilization constraint is that the variance of the bandwidth utilization of all links on the equivalent link sequence is minimized; the variance of the bandwidth utilization of all links on the equivalent link sequence is , is the bandwidth utilization of the equivalent link sequence p, that is, the variance of the bandwidth utilization of all links on the equivalent link sequence, is the bandwidth utilization of link e, is the average value of the bandwidth utilization of all links on the equivalent link sequence p, is the number of links on the equivalent link sequence p.

[0089] The equivalent link sequence constraint is that one equivalent link sequence no longer passes through nodes that the equivalent link sequence has already passed through. Wherein, the previously passed nodes refer to the iteration process of the current round. For example, in the n-th round of iteration, the path-finding factor a has passed through node e1 during path finding, so the formed equivalent link sequence has passed through node e1, and in the subsequent path finding process of the n-th round, the path-finding factor a will no longer pass through node e1.

[0090] Wherein, the preset maximum delay threshold, the preset maximum packet loss rate threshold and the preset minimum bandwidth threshold are obtained by those skilled in the art based on empirical analysis.

[0091] In practical use, the overhead of inter-domain links is much greater than that of intra-domain links. Therefore, the overhead of each equivalent link in the equivalent network is the same as the overhead of the inter-domain links in the corresponding actual network. The overhead of each equivalent node in the equivalent network can be a fixed value obtained by those skilled in the art based on experience or analysis of the topology within each domain. Based on the same concept, the bandwidth utilization of each equivalent link in the equivalent network is the same as the bandwidth utilization of the inter-domain links in the corresponding actual network. The latency of each equivalent link in the equivalent network is the same as the latency of the inter-domain links in the corresponding actual network. The latency of each equivalent node in the equivalent network can be a fixed value obtained by those skilled in the art based on experience or analysis of the topology within each domain. In an optional implementation, since the overhead and latency of intra-domain links are much smaller than the overhead and latency of inter-domain links, it is also feasible to set the overhead and latency of equivalent nodes to 0.

[0092] In a more preferred embodiment, the method further includes: Figure 6 As shown, a global service proxy is set up, and at least one node in each domain establishes a connection with the global service proxy to report information required for inter-domain routing calculation, such as the domain topology and link status, to the global service proxy. The global service proxy can also send corresponding information to each domain, such as sending the connection point to the corresponding domain after calculating the inter-domain route and the docking access point, so that the corresponding domain can establish intra-domain routes based on the connection access point. Furthermore, in this implementation, the cost and latency parameters of equivalent nodes can be determined based on the domain topology. Alternatively, the cost and latency of equivalent nodes can be set to 0, and the domain cost and latency can be carried into the calculation of equivalent links. For example, for each equivalent link, the docking points in the two domains it connects are fixed. Different access and outgoing nodes in the slice domain will have different costs and latency, so these can be merged into the equivalent link cost or equivalent link latency for calculation.

[0093] In a preferred embodiment, the method further includes: when pathfinding finds that the destination node cannot be reached by traversing the corresponding equivalent link sequence, setting the equivalent link sequence as a taboo equivalent link sequence; when multiple taboo equivalent link sequences share a common sub-equivalent link sequence, and the starting point of the sub-equivalent link sequence is the source node, and the next hop of the third node is located in all of the multiple taboo equivalent link sequences, setting the sub-equivalent link sequence as a taboo equivalent link sequence; wherein the third node is the ending point of the sub-equivalent link sequence; so that the taboo equivalent link sequence does not participate in the subsequent iteration process, that is, the subsequent pathfinding factors do not traverse the taboo equivalent link sequence.

[0094] The reason why the pathfinding factor cannot reach the destination node could be that there is no equivalent link sequence between the current node of the pathfinding factor and the destination node, or that the equivalent link sequence formed by the pathfinding factor to reach the destination node does not meet the constraints. Figure 7 Taking the equivalent network example, with the delay constraint as an example, the preset maximum delay threshold is 30. The total delay of links and nodes in the equivalent link sequence must not exceed 30. After a certain pathfinding factor passes through the 1-4-7 equivalent link sequence, the cumulative delay is 28. At this point, whether it goes through 6 or 8, it will cause the delay to exceed the limit. Therefore, 1-4-7-6 and 1-4-7-8 become taboo equivalent link sequences. After the pathfinding factor reaches node 7 (i.e., the third node mentioned above) along the 1-4-7 sub-equivalent link sequence, there is no path to go. At this point, 1-4-7 can be considered a taboo equivalent link sequence. No more pathfinding factors will go through this equivalent link sequence. Similarly, after another pathfinding factor completes the 1-4 equivalent link sequence, since 1-4-7 is a taboo equivalent link sequence, only 3 can be chosen. At this point, it is found that 1-4-3 also has excessive latency, so 1-4-3 also becomes a taboo equivalent link sequence. Considering the previous pathfinding factor experience, since all next hops are unavailable after entering 4 from 1, 1-4 becomes a taboo equivalent link sequence, and no subsequent pathfinding factor will try 1-4 again. If a pathfinding factor reaches 8 and finds that there is no next hop to go, and it can never reach 9, then 5-8 can be considered a taboo equivalent link sequence.

[0095] Among them, the taboo equivalent link sequence was used continuously in multiple iterations, and it still follows the principle of... Figure 7For example, in the Nth iteration, if the pathfinding factor m reaches node 7 via the equivalent link sequence 1, 4, 7 and then selects node 6, upon reaching node 6, it finds that 1-4-7-6-3 and 1-4-7-6-5 are both invalid equivalent link sequences (i.e., taboo equivalent link sequences). Both of these sequences share a common sub-equivalent link sequence 1-4-7-6, with node 6 being the third node. Furthermore, the next hops of node 6 (nodes 3 and 5) are both located within these two invalid equivalent link sequences. Therefore, the sub-equivalent link sequence 1-4-7-6 is also set as a taboo equivalent link sequence. In the (N+1)th iteration, if the pathfinding factor m reaches node 7 via the equivalent link sequence 1, 4, 7, since 1-4-7-6 is a taboo equivalent link sequence, the pathfinding factor m can only select node 8 as the next node. After the pathfinding factor reaches node 8, it finds that 1-4-7-8 is an invalid equivalent link sequence. Therefore, 1-4-7-8 is added to the taboo equivalent link sequence. At this time, the taboo equivalent link sequence 1-4-7-6 and the taboo equivalent link sequence 1-4-7-8 have a common sub-equivalent link sequence 1-4-7. The next hop of the corresponding third node (i.e., node 7) (i.e., node 6 and node 8) are both located in these two taboo equivalent link sequences. Then, the sub-equivalent link sequence 1-4-7 is also set as a taboo equivalent link sequence. In subsequent iterations, the pathfinding factor does not pass through this taboo equivalent link sequence, but other equivalent link sequences that reach node 7 can still be selected by the pathfinding factor. If the equivalent link sequence 1-3-6-7 satisfies the constraint condition, then this equivalent link sequence is still selectable.

[0096] The primary application scenario of this embodiment is the establishment of inter-domain network slicing. Network slicing, as one of the biggest differentiating advantages of 5G technology compared to previous technologies, can modify network behavior and solve problems in the original network architecture without changing the underlying physical network architecture. With the continuous development of network technology, basic single-domain network slicing can no longer meet the growing demands, and network slicing technology spanning multiple autonomous systems is receiving increasing attention. To achieve inter-domain network slicing, this embodiment provides IP network orchestration functionality, which offers various capabilities, such as atomic link topology capabilities and atomic link sequence calculation capabilities. The atomic capabilities of the inter-domain IP network slice (slice based on Super Controller of IP network, abbreviated as IP-SC-S) link topology are: used to obtain topology information between source and destination nodes in inter-domain networks, as well as topology information between domains; and to establish slice docking identifiers within each domain.

[0097] IP-SC-S link sequence calculation atomic capability: It is used to select the optimal link based on the source and destination points of inter-domain slice access point pairs according to a certain routing principle, such as the shortest equivalent link sequence principle based on constraints, and calculate the inter-domain link, thereby determining the inter-domain docking access point and access identifier.

[0098] by Figure 8 Taking the scenario shown as an example, the process of establishing inter-domain network slices specifically includes: 1. When new business requirements arise, the upper-layer orchestration function issues IP-SC-S instance creation service information, confirming the source and destination nodes of the slice, for example... Figure 7 As shown, the requirement to establish a slice network between user site 1 and user site 7 is obtained, and the information of PE1 and PE7 nodes (i.e., inter-domain topology information) is obtained.

[0099] 2. The IP-SC-S link calculation atomic function is invoked. Based on the obtained inter-domain topology information, the equivalent link sequence for inter-domain network slicing is calculated. Based on a certain routing principle, such as the shortest equivalent link sequence principle with bandwidth and latency constraints, the optimal link is selected, and the intra-domain boundary points are determined. Figure 7 As shown, between the two equivalent link sequences (PE3, PE5) and (PE4, PE6), (PE3, PE5) is selected as the optimal equivalent link sequence according to the principle of the shortest equivalent link sequence. Then, the boundary point of this slice link in domain 1 is determined to be PE3, and the boundary point in domain 2 is determined to be PE5.

[0100] 3. Call the atomic function of recombining IP-SC-S slice instances. Based on the inter-domain topology information and boundary points, determine all access points within the domain to form IP network slice (sub-slice based on Domain Controller of IP network, abbreviated as IP-DC-S) objects within each domain. For example, a sub-slice composed of domain 1 (PE1, PE3) and domain 2 (PE5, PE7).

[0101] 4. Invoke the atomic capabilities of the IP-DC-S slice lifecycle within each domain to create IP network slice instance objects within each domain.

[0102] 5. Invoke the atomic capability of recombining IP-SC-S slice instance parameters to reassemble the information within each newly created domain into inter-domain information.

[0103] 6. Return the creation information to the upper-level system.

[0104] The atomic capabilities of the above IP-SC-S link topology and the atomic capabilities of IP-SC-S link sequence calculation are implemented using the method described in this embodiment, thereby supporting the establishment of inter-domain slices.

[0105] Example 2: Based on Example 1, this example also provides a method for calculating inter-domain routes, such as... Figure 9 As shown, it includes: In step 501, an equivalent network is established by using intra-domain nodes in the actual network as equivalent nodes and inter-domain links as equivalent links to connect the equivalent nodes.

[0106] In step 502, the equivalent network is used to calculate the inter-domain routing (i.e., the optimal inter-domain link sequence in Example 1).

[0107] After establishing an equivalent network, the topology is greatly simplified, so various methods can be used to calculate inter-domain routes, such as using the shortest path algorithm to calculate inter-domain routes.

[0108] The inter-domain routing calculation actually yields the inter-domain route and the connection access points between each domain. For example, when establishing an inter-domain route from a corresponding node in domain 1 to a corresponding node in domain 3, where the equivalent node 1 reaches domain 2 via equivalent link 2 and then reaches domain 3 via equivalent link 5, then the connection access points between domain 1 and domain 2 are the boundary node 1 of domain 1 and the boundary node 4 of domain 2, i.e., the two endpoints of inter-domain link 2. The connection access points between domain 2 and domain 3 are the boundary node 5 of domain 2 and the boundary node 4 of domain 3. Boundary node 6. Routes within each domain can be calculated by each domain based on the connection points. Alternatively, a concentrator (such as a global service proxy) can be set up to collect topology information within each domain and perform centralized calculation of intra-domain routes. For example, the intra-domain route in domain 2 is the route between boundary node 4 and boundary node 5. The complete service routing path is composed of inter-domain routes and intra-domain routes. That is, the method also includes: after calculating the inter-domain routes, using the connection points of the inter-domain routes in each domain, calculating the intra-domain routes in each domain, thereby realizing end-to-end routing calculation between domains.

[0109] This embodiment forms an equivalent network by treating each domain as an equivalent node, which greatly reduces the number of topology nodes and the complexity of the topology structure. Thus, inter-domain routing calculations can be performed without having to consider the topology structure within a domain.

[0110] In practical applications, the establishment of inter-domain routes may need to meet multiple requirements. For example, when it is necessary to ensure that the Quality of Service (QoS) of the path meets the requirements, it is also necessary to ensure the transmission bandwidth, transmission latency, and data packet loss rate of the route. This routing calculation process under such end-to-end multi-constraint conditions is an NP-C problem, which cannot be completed using traditional shortest path tree algorithms. Instead, more intelligent algorithms such as ant colony algorithm, bee colony algorithm, or reinforcement learning methods are required. This embodiment uses the ant colony algorithm for inter-domain routing calculation. The basic implementation of the ant colony algorithm is as follows: a preset number of ants are set at the source node. In each iteration, each ant explores the path until it reaches the destination node or until the reached node cannot reach the destination node (i.e., there is no path to follow). Thus, multiple paths are obtained in each iteration. The ant's path exploration process is as follows: when an ant is at a corresponding node, it selects the corresponding next hop based on the available pheromones, continuing this process until the exploration ends. Furthermore, after each iteration, the pheromones are updated based on the exploration results of each ant in the previous round, and each ant returns to the source node to re-explore the path based on the pheromones, thereby achieving algorithm convergence. The preset number is obtained by those skilled in the art based on experience.

[0111] It should be noted that in actual use, the equivalent link sequence in Example 1 is also referred to as a "path" by those skilled in the art, the "priority" in Example 1 is also referred to as a "pheromone" by those skilled in the art, the "pathfinding factor" in Example 1 is also referred to as an "ant" by those skilled in the art, the "pathfinding" in Example 1 is also referred to as "path exploration" by those skilled in the art, and the "extreme value" in Example 1 is also referred to as a "value function" by those skilled in the art. In this example, "path" is used as a substitute for "equivalent link sequence", "pheromone" is used as a substitute for "priority", "ant" is used as a substitute for "pathfinding factor", "path exploration" is used as a substitute for "pathfinding", and "value function" is used as a substitute for "extreme value".

[0112] In existing technologies, pheromone updates typically have two optional implementation methods. One method is to aggregate pheromones onto the optimal path obtained in the previous iteration. While this method has a fast convergence speed, it can easily lead to the ant colony algorithm getting trapped in local optima. The other method is to update pheromones for each path based on whether an ant has traversed it, without additional pheromone aggregation. This method, however, results in a slow convergence speed for the ant colony algorithm. In other words, existing ant colony algorithms suffer from a difficulty in balancing population diversity and convergence speed. Therefore, this embodiment provides a preferred implementation method, where the inter-domain routing calculation is implemented using the ant colony algorithm, such as... Figure 10As shown, it specifically includes: In step 601, based on the iteration results of the previous round, the algorithm diversity of the previous round is calculated. Using this algorithm diversity, the path quantity parameter W for the next round is determined. The algorithm diversity is used to determine the state of the algorithm; after the algorithm enters the convergence state, W gradually decreases. The state of the algorithm can be determined by analyzing the changing trends of the algorithm diversity in all previous rounds. For example, when the algorithm diversity gradually increases with the number of iterations, the algorithm is considered to be in an increasing diversity state; when the algorithm diversity gradually decreases with the number of iterations, the algorithm is considered to have entered the convergence state. When the algorithm is in an increasing diversity state, W can increase or remain unchanged.

[0113] The step of using the algorithm diversity of the previous round to determine the path quantity parameter W of the next round can be to establish the relationship between the change curve of algorithm diversity and W. That is, for each point in the change curve, a W value is preset. When the calculated algorithm diversity reaches that point, the preset W value is used as the path quantity parameter W of the next round. The change curve of diversity is the relationship between diversity and the number of iterations as the number of iterations increases.

[0114] In step 602, the equivalent network is updated with pheromones using the path quantity parameter W for the next round and the iteration result of the previous round, so that the pheromones gather on the top W optimal paths in the iteration result of the previous round. It should be noted that the gathering of pheromones on the top W optimal paths in the iteration result of the previous round does not necessarily mean that the pheromones on the top W optimal paths will necessarily increase, but can also mean that the pheromones on the top W optimal paths evaporate less compared to other paths.

[0115] In step 603, the ant colony algorithm is iterated in the equivalent network after pheromone updates until the preset number of iterations is reached. The optimal path is selected as the inter-domain route from the results of the last iteration. Each iteration includes one or more paths from the source node to the destination node. The preset number of iterations is obtained by those skilled in the art based on experience. The source node is the equivalent node in the equivalent network corresponding to the domain of the service source node in the actual network, and the destination node is the equivalent node in the equivalent network corresponding to the domain of the service destination node in the actual network.

[0116] The optimal path is obtained by pre-setting corresponding preset evaluation rules by those skilled in the art, and sorting multiple paths obtained in one iteration according to the preset evaluation rules. In an optional implementation, the preset evaluation rule can be that the smaller the value of the value function, the better the path, that is, the optimal path is the path with the smallest value function value; the value function is a weighted sum of multiple value measurement indicators; the multiple value measurement indicators include one or more of the following: the variance of bandwidth utilization of all links on the path, the total cost of links and nodes on the path, the total latency of links and nodes on the path, and the overall packet loss rate of the path.

[0117] In one alternative implementation, the value function is expressed as a mathematical formula as follows:

[0118] Where f(p) is the value function of path p, Bandwidth_V(p) is the variance of bandwidth utilization of all links on path p, Cost(p) is the total cost of links and nodes on path p, Delay(p) is the total delay of links and nodes on path p, Lost(p) is the overall packet loss rate of path p, and α, β, and These are preset weight parameters obtained by those skilled in the art based on demand analysis.

[0119] It should be noted that the "previous round" and "next round" mentioned in this embodiment refer to two adjacent iterations. For example, if three iterations have been performed up to a certain time, for ease of description, these three iterations are referred to in chronological order as: the first iteration, the second iteration, and the third iteration. The first iteration is the "previous round" of the second iteration, the second iteration is the "next round" of the first iteration, the second iteration is the "previous round" of the third iteration, and the third iteration is the "next round" of the second iteration.

[0120] In the first iteration, the pheromone levels of all links in the equivalent network are preset values ​​obtained by those skilled in the art based on demand analysis.

[0121] This embodiment calculates the algorithm diversity to determine the algorithm's state. After the algorithm enters the convergence state, W is gradually reduced, so that the pheromone is relatively dispersed in the early stage of the algorithm (i.e., when the diversity state is increased), thus giving more consideration to probabilistic factors and ensuring that the algorithm does not get trapped in local optima. When the algorithm enters the convergence state, W is reduced to gather the pheromone on the optimal W paths, so as to achieve rapid convergence of the algorithm. This ensures a balance between population diversity and convergence speed, and improves the convergence speed of the algorithm while accurately performing route calculations.

[0122] In practical application scenarios, the algorithm diversity of the previous iteration is calculated based on the results of the previous iteration, such as... Figure 11 As shown, it specifically includes: In step 701, the variance stdev(m,i) of the probability of the m-th ant choosing each valid next hop when it is at node i in the previous iteration is calculated; wherein, the valid next hop is the next hop that the ant can choose. In a preferred embodiment, the valid next hop is the next hop that satisfies the preset constraint conditions (i.e. the constraint conditions in Example 1) after excluding taboo paths.

[0123] In step 702, the variance stdev(m,i) is subtracted from the first preset value to obtain the first baseline value. The first baseline value is then multiplied by a preset coefficient to obtain the diversity of the m-th ant at node i. ; where node i is the node of the m-th ant on path p obtained in the previous iteration; where the first preset value and preset coefficient are obtained by those skilled in the art based on experience.

[0124] In step 703, the diversity of the m-th ant at each node on path p is summed and then divided by the number of hops n on path p to obtain the diversity of the m-th ant on path p. Wherein, the number of hops n of path p is the number of links on the path. When there are 5 nodes on path p (including the starting point and the ending point of the path), the number of hops of path p is 4.

[0125] In step 704, the diversity of all ants on the corresponding paths is summed, and then divided by the total number of ants to obtain the algorithmic diversity of the previous round. .

[0126] Steps 701-704 above are expressed in the form of mathematical formulas as follows:

[0127]

[0128]

[0129] Where stdev(m,i) is the variance of the probability of the m-th ant choosing each valid next hop when it is at node i. The probability of choosing each valid next hop can be calculated from the pheromone of each next hop in the previous iteration. The preset coefficient is 1. The diversity of the m-th ant at node i , Let p be the path obtained by the m-th ant in the previous iteration, and n be the number of hops on path p. Let represent the diversity of the m-th ant on the corresponding path p. The set of all ants from the previous iteration. This refers to the algorithmic diversity of the previous round (i.e., round t).

[0130] In practical applications, the calculated variance may be greater than the first preset value. To facilitate calculation, the calculated variance is mapped to the range of 0 to 1 (i.e., 0% to 100%). That is, stdev(m,i) is the variance of the probability of the m-th ant choosing each valid next hop at node i, mapped to a value within the range of 0% to 100%. Not less than 0.

[0131] In an optional implementation, determining the path quantity parameter W for the next round using the algorithmic diversity of the previous round specifically includes: Using the algorithmic diversity from the previous round Divide by The second benchmark value is obtained; where, This represents the maximum value of the algorithmic diversity across all previous rounds; for example, if num iterations have been performed up to a certain time, then... ;in, This selects the maximum value from all the values ​​in parentheses.

[0132] The path quantity parameter W for the next round is obtained by multiplying the second baseline value by the preset number of paths. The preset number of paths is obtained by those skilled in the art based on their needs. In actual use, to ensure that the path quantity parameter W is an integer greater than or equal to 1, in this embodiment, after multiplying the second baseline value by the preset number of paths, 1 is added and then rounded down.

[0133] Expressed in mathematical form as follows: Where w is the preset number of paths, and w is an integer less than the number of ants, to ensure that the calculated W is as small as possible less than the number of paths obtained through iteration. In practice, the value of w is usually between 2 and 4. To approximate the integer part of the value in parentheses, and if there is a case where the number of paths obtained in the corresponding iteration round is less than W, then the value of W is reduced to the number of paths obtained in the corresponding iteration round.

[0134] In practical applications, updating the pheromone of the equivalent network using the path count parameter W from the next round and the iteration results from the previous round specifically includes: From the multiple paths obtained in the previous iteration, the optimal W paths are selected as the first path, and the other paths are selected as the second path; the other paths refer to the paths obtained in the previous iteration other than the first path.

[0135] Update the pheromones of each link in the first path to... Update the pheromones of each link in the second path to ;in, The preset pheromone evaporation parameters, The link used in the previous iteration pheromone concentration, This represents the optimal ranking for the corresponding path. The preset pheromone parameters, This represents the number of hops in the path.

[0136] The preset pheromone evaporation parameters and preset pheromone parameters are both obtained by those skilled in the art based on demand analysis.

[0137] Expressed in the form of a mathematical formula:

[0138]

[0139] in, For the next iteration of the link pheromone concentration, This can be understood as the aggregation value of pheromones. It should be noted that... The calculation method can be obtained by those skilled in the art based on actual needs. Any method that ensures the aggregation value of the first W optimal paths is greater than the aggregation value of other paths should be included within the scope of protection of this invention. For example, let... This approach is also feasible. In this embodiment, k and W are also included in the calculation of the aggregation value, so that the better the path, the larger the aggregation value, thereby improving the accuracy of the algorithm. In an optional implementation, =1, It is 10.

[0140] To further accelerate the convergence of the algorithm, this embodiment also provides a preferred implementation method, namely, performing the next round of ant colony algorithm iteration in the equivalent network after pheromone update, specifically including: Using the algorithmic diversity from the previous round Divide by The second benchmark value is obtained; where, This represents the highest level of algorithmic diversity among all previous rounds.

[0141] The state transition parameters are obtained by subtracting the second reference value from the second preset value. ; Calculate the probability of each next jump for each ant, and select the corresponding next jump as the ant's actual next jump in this iteration; where q is less than or equal to the state transition parameter At that time, calculate the probability that each node j is the next hop. The node j with the highest probability is selected as the actual next hop in this iteration; when q is greater than the state transition parameter... At that time, calculate the probability that each node j is the next hop. Based on the probability that node j is the next hop. The actual next jump in this iteration is determined by combining the roulette wheel algorithm.

[0142] in, Representative Let j be the node with the largest value, q be a random number, and allowed_k be the set of valid next hops. and As a preset impact factor, For the link in this iteration pheromone concentration, For link The inspiring information.

[0143] The random number q is obtained using a random number algorithm. The above implementation can be understood as follows: whenever a next jump is selected for an ant, a random number q is generated, and the random number q is less than or equal to the state transition parameter. When, then choose The node j at the maximum value is used as the next hop, which makes the algorithm more inclined to choose the optimal path and promotes the algorithm to converge quickly.

[0144] When the random number q is greater than the state transition parameter If the probability of each node j is calculated, then a roulette wheel is used to select one node j as the next jump. In the roulette wheel, the probability of selecting each node j is set to the corresponding probability. This makes the algorithm more inclined to roulette-like probability, ensuring diversity of attempts and avoiding getting trapped in local optima.

[0145] The roulette wheel betting algorithm is a well-known technical means in the art and will not be described in detail here. The second preset value, preset constraint conditions and preset influence factors are all obtained by those skilled in the art based on the analysis of requirements.

[0146] It should be noted that, for ease of description, the current iteration in this embodiment is described based on the iteration round it is currently in, describing two adjacent iterations. From a relative perspective, the current iteration is actually the iteration following the previous iteration. For example, if three iterations have been performed up to a certain time, for ease of description, these three iterations are referred to in chronological order as: the first iteration, the second iteration, and the third iteration. When the second iteration is used as the subject of description, the current iteration is the second iteration, and the previous iteration is the first iteration. When the third iteration is used as the subject of description, the current iteration is the third iteration, and the previous iteration is the second iteration.

[0147] The state transition parameters Expressed in the form of a mathematical formula:

[0148] In the early stages of the algorithm, due to its randomness, It will increase accordingly, thus The state transition parameters also increase accordingly. The algorithm remains essentially unchanged, maintaining a balance between accelerating convergence and increasing diversity; however, as it enters the later stages of the algorithm, i.e., after reaching the convergence state, Gradually decrease, while Fix, thus As the value of increases, while the range of random values ​​for the random number q remains unchanged, due to... As the value increases, a random number q will be less than or equal to... In more cases, after the algorithm enters the convergence state, it tends to choose the optimal path, thereby further accelerating the convergence speed.

[0149] In practical applications, the heuristic information can be obtained by converting a value function. For example, when the value function is larger, the path is better, and the heuristic information can be the value function. When the value function is smaller, the path is better, and the heuristic information can be the reciprocal of the value function.

[0150] Based on the above value function For example, heuristic information , here It refers to the link from node i to node j.

[0151] In an optional implementation, the preset constraints include one or more of the following: latency constraints, packet loss rate constraints, bandwidth constraints, overhead constraints, bandwidth utilization constraints, and path constraints.

[0152] The delay constraint condition is that the total delay of links and nodes on the path is less than a preset maximum delay threshold; that is, Delay(p)<Delay_max, where ; is the total delay of path p, that is, the total delay of links and nodes on path p, is the set of links on path p, is the delay of link e, is the set of nodes on path p, is the delay of node n, and Delay_max is the preset maximum delay threshold.

[0153] The packet loss rate constraint condition is that the overall packet loss rate of the path is less than a preset maximum packet loss rate threshold; that is, Lost(p)<Lost_max, where , is the overall packet loss rate of path p, is the packet loss rate of link e, and Lost_max is the preset maximum packet loss rate threshold.

[0154] The bandwidth constraint condition is that the bandwidth of each link on the path is greater than or equal to the preset minimum bandwidth threshold; that is , where , is the minimum value of the bandwidth of each link on path p, is the bandwidth of link e, is the preset minimum bandwidth threshold.

[0155] The overhead constraint condition is that the total overhead of links and nodes on the path is minimal; the total overhead of links and nodes on the path is , is the total overhead of path p, that is, the total overhead of links and nodes on path p, is the overhead of link e, is the overhead of node n.

[0156] The bandwidth utilization constraint condition is that the variance of the bandwidth utilization of all links on the path is minimal; the variance of the bandwidth utilization of all links on the path is , is the bandwidth utilization of path p, that is, the variance of the bandwidth utilization of all links on the path, is the bandwidth utilization of link e, is the average value of the bandwidth utilization of all links on path p, is the number of links on path p.

[0157] The path constraint condition is that each ant will not pass through any previously visited nodes. The previously visited nodes refer to the current iteration process. For example, if an ant has already passed node e1 in the nth iteration, it will not pass through node e1 again in subsequent iterations of the nth iteration.

[0158] In practical use, the overhead of inter-domain links is much greater than that of intra-domain links. Therefore, the overhead of each equivalent link in the equivalent network is the same as the overhead of the inter-domain links in the corresponding actual network. The overhead of each equivalent node in the equivalent network can be a fixed value obtained by those skilled in the art based on experience or analysis of the topology within each domain. Based on the same concept, the bandwidth utilization of each equivalent link in the equivalent network is the same as the bandwidth utilization of the inter-domain links in the corresponding actual network. The latency of each equivalent link in the equivalent network is the same as the latency of the inter-domain links in the corresponding actual network. The latency of each equivalent node in the equivalent network can be a fixed value obtained by those skilled in the art based on experience or analysis of the topology within each domain. In an optional implementation, since the overhead and latency of intra-domain links are much smaller than the overhead and latency of inter-domain links, it is also feasible to set the overhead and latency of equivalent nodes to 0.

[0159] In a more preferred embodiment, the method further includes: Figure 6 As shown, a global service proxy is set up, and at least one node in each domain establishes a connection with the global service proxy to report information required for inter-domain routing calculation, such as the domain topology and link status, to the global service proxy. The global service proxy can also send corresponding information to each domain, such as sending the connection point to the corresponding domain after calculating the inter-domain route and the docking access point, so that the corresponding domain can establish intra-domain routes based on the connection access point. Furthermore, in this implementation, the cost and latency parameters of the equivalent node can be determined based on the domain topology. Alternatively, the cost and latency of the equivalent node can be set to 0, and the domain cost and latency can be carried into the calculation of the equivalent link. For example, for each equivalent link, the docking points in the two domains it connects are fixed. Different access and outgoing nodes in the slice domain will have different costs and latency, so these can be merged into the equivalent link cost or equivalent link latency for calculation.

[0160] In a preferred embodiment, the method further includes: setting the path as a taboo path when an ant cannot reach the destination node via the corresponding path; setting the sub-path as a taboo path when multiple taboo paths share a common sub-path, and the starting point of the sub-path is the source node, and the next hop of the third node is located within the multiple taboo paths; wherein the third node is the endpoint of the sub-path; and preventing the taboo path from participating in subsequent ant colony algorithm iterations, i.e., subsequent ants do not traverse the taboo path. The reason an ant cannot reach the destination node could be that there is no traversable path between the ant's current node and the destination node, or that the path formed by the ant to reach the destination node does not meet preset constraints. Figure 7 Taking the equivalent network example, with a latency constraint, the preset maximum latency threshold is 30. The total latency of links and nodes on the path must not exceed 30. After an ant travels along path 1-4-7, its cumulative latency is 28. At this point, whether it goes along path 6 or 8, it will cause the latency to exceed the limit. Therefore, 1-4-7-6 and 1-4-7-8 become forbidden paths. After the ant reaches node 7 (the third node mentioned above) along the sub-path 1-4-7, there is no further path to take. At this point, 1-4-7 can be considered a forbidden path. No more ants will take this path. Similarly, after another ant completes the 1-4 path, since 1-4-7 is a forbidden path, it can only choose 3. At this point, it finds that 1-4-3 also exceeds the latency limit, so 1-4-3 also becomes a forbidden path. Considering the previous ants' experience, since all next steps are unavailable after entering 4 from 1, 1-4 becomes a forbidden path, and no subsequent ants will try 1-4 again. If an ant reaches 8 and finds that there is no next step to take, and it can never reach 9, then 5-8 can be considered a forbidden path.

[0161] Among them, the taboo path is the one that has been used repeatedly in multiple iterations, and it still uses the same approach. Figure 7For example, in the Nth iteration, if ant m reaches node 7 via paths 1, 4, and 7, and then chooses node 6, upon reaching node 6, the ant finds that 1-4-7-6-3 and 1-4-7-6-5 are both invalid paths (i.e., forbidden paths). Both of these paths share a common sub-path 1-4-7-6, node 6 is the third node, and the next hop of node 6 (i.e., nodes 3 and 5) lies within these two invalid paths. Therefore, the sub-path 1-4-7-6 is also designated as a forbidden path. In the (N+1)th iteration, ant m reaches node 7 via paths 1, 4, and 7. Since 1-4-7-6 is a forbidden path, ant m can only choose node 8. As the next hop, after the ant reaches node 8, it finds that 1-4-7-8 is an invalid path, so it adds 1-4-7-8 to the taboo path. At this time, the taboo path 1-4-7-6 and the taboo path 1-4-7-8 have a common sub-path 1-4-7, and the next hop of the corresponding third node (i.e., node 7) (i.e., node 6 and node 8) are both located in these two taboo paths. Therefore, the sub-path 1-4-7 is also set as a taboo path, so that in subsequent iterations, the ant does not traverse this taboo path, but other paths to node 7 can still be selected by the ant. If the path 1-3-6-7 meets the preset constraints, then the path is still selectable.

[0162] It should be noted that the methods in Example 1 are applicable in this example.

[0163] Example 3: Based on the method described in Embodiment 2, this invention combines specific application scenarios and uses technical descriptions in relevant scenarios to illustrate the implementation process of the features of this invention in those scenarios.

[0164] This embodiment elaborates on the calculation method of inter-domain routing in the context of establishing inter-domain slices.

[0165] First, since each domain may belong to different service providers, network state data is not shared between domains. To perform centralized calculations, a global service proxy (i.e., the global service proxy in Example 1) is set up, and the link state within each domain is reported using the BGP LinkState protocol. Within each domain of an IP network slice, at least one device establishes a BGP LinkState neighbor relationship with the global service proxy to report topology state and link data, including latency, bandwidth, and bandwidth utilization. This can be implemented according to network protocol standards such as RFC 7752 and RFC 8571. Simultaneously, to ensure reliability with redundancy, two devices can be selected to establish BGP LinkState neighbors with the global service proxy. In practical applications, each network slice domain is divided based on different operators' BGP Autonomous System (BGP AS) domains, and the number of slice domains is not large. If there are many slice domains, multiple BGP route reflectors can be deployed to reduce the number of connections in the network.

[0166] After receiving the end-to-end established IP slicing path, the global service proxy, based on its IP network orchestration capabilities, begins route calculation using the ant colony algorithm. Specifically: Since the link overhead between IP slicing domains is much greater than the intra-domain overhead, more attention needs to be paid to the selection of inter-domain links. Therefore, an IP network slice domain can be simplified as a node in the topology, thus forming an equivalent network. Routing calculation is then performed within this equivalent network, specifically including: First, define the preset constraints, including: Delay constraint: The total delay of the link and nodes is lower than the required maximum delay Delay_max (i.e., the preset maximum delay threshold in Example 1), as shown in the following formula:

[0167]

[0168] Packet loss rate constraint: The overall packet loss rate of the link is lower than the required maximum packet loss rate Lost_max (i.e., the preset maximum packet loss rate threshold in Example 1), as shown in the following formula:

[0169]

[0170] Bandwidth constraint: The bandwidth of each link must be greater than the minimum required bandwidth (i.e., the preset minimum bandwidth threshold in Example 1), as shown in the following formula:

[0171]

[0172] Overhead constraints: Minimize link overhead and node overhead, which are expressed by the following formulas:

[0173] Bandwidth utilization constraint: Minimize the variance of inter-domain link bandwidth utilization. The variance of inter-domain link bandwidth utilization is expressed by the following formula:

[0174] Path constraint: An ant will not revisit a node it has already visited.

[0175] Different access and outgoing nodes in a slice domain will have different overhead and latency, which will be different in the calculation. In the implementation, since the centralized computing node maintains the link information of the entire network, this can be calculated. It can be abstracted as node overhead or merged into the link overhead for calculation.

[0176] After defining the above preset constraints, the ant colony algorithm is used for path calculation, such as... Figure 12 As shown, it specifically includes: In step 801, the value function is defined as:

[0177] Where f(p) is the value function of path p that satisfies the QoS constraints, Bandwidth_V(p) is the variance of the total network link bandwidth utilization after adding service bandwidth, Cost(p) is the cost value of path p, Delay(p) is the total delay of path p, Lost(p) is the packet loss rate of path p, and α, β, and These are the influencing factors for each link parameter, which can be adjusted in real time according to the needs of those skilled in the art.

[0178] In step 802, the pheromone of all inter-domain links in the network is initialized to the maximum value τ_max, and τ is set... The pheromone evaporation parameter is set to 0.1. After each iteration, pheromones in all links across the network will evaporate. Q represents the pheromone that an ant can carry, set to 10.

[0179] In step 803, N ants are placed in the source node of the path. Since this embodiment abstracts the domain into equivalent nodes in the equivalent network, this step is equivalent to placing N ants in the source domain of the path.

[0180] In step 804, each ant is traversed, and the next hop is selected for each ant according to the state transition probability formula, which is:

[0181]

[0182]

[0183] in, Given a constant, q is a random number between 0 and 1. In this embodiment... This is determined by the diversity of algorithms in the previous iteration, the first iteration. The value is 1. When q At that time, ants used Calculate the probability of each next hop and select... The next hop corresponding to the maximum value indicates that the algorithm is more inclined to choose the optimal path, leading to faster convergence; while when q> At that time, ants used Calculate the probability of each next hop and use the roulette wheel algorithm to select the next hop. In this case, we prefer the probability of the roulette wheel to ensure the diversity of attempts and avoid getting trapped in local optima. allowed_k is the set of next hops that satisfy the constraints. α and β are the influencing factors. This represents the pheromone concentration along the path from node i to node j. The higher this value, the more likely ants are to choose this path first. For heuristic information about the link from node i to node j, The higher this value, the more likely the ant is to choose this path first; where p(i,j) in the heuristic information is the link from node i to node j; Bandwidth_V(p(i,j)) is the variance of the total network link bandwidth utilization calculated after the ant travels from node i to j, with the bandwidth added to the path; Cost(p(i,j)) is the cost of the ant path after the ant travels from node i to j; Delay(p) is the delay of the ant path after the ant travels from node i to j; Lost(p) is the packet loss rate of the ant path after the ant travels from node i to j; α, β, These are the influencing factors for each link parameter.

[0184] In step 805, it is determined whether all ants have completed path exploration. If there are ants that have not completed path exploration, then proceed to step 804 to continue path exploration for the ants that have not completed it, until all ants have reached the destination path or there is no path to go, and then proceed to step 806.

[0185] In step 806, for ants that cannot reach the destination node, the path is set as a taboo path, and subsequent iterations do not allow ants to repeat this path. Simultaneously, the aggregation of taboo paths is considered. If an ant enters a node from a certain link and there is no usable exit, then that link entering the node is set as a taboo path, and ants directly enter the node without using this path, instead of waiting until the ant enters the node to discover that all exits are in taboo paths. When a node repeatedly appears in a taboo path, this node will not be selected by default during path selection, objectively achieving the effect of a taboo node without needing to be specifically set as a taboo node.

[0186] In step 807, the paths that successfully reach the destination node are sorted using the value of the value function; the smaller the value of the value function, the higher the ranking, and vice versa.

[0187] In step 808, the algorithm diversity is calculated, specifically represented by the following formula:

[0188]

[0189]

[0190] Let represent the algorithmic diversity of ant m at node i; stdev(m,i) is the variance of each valid next hop probability mapped to a value in the range of 0% to 100%. If there is only one next hop, then stdev(m,i) is 0. Let m be the algorithmic diversity of ant m along the entire path, and n be the number of hops. That is, the algorithmic diversity of each hop is summed and then divided by the number of hops. Let m be the algorithmic diversity of all ants along the entire path, and m be the number of ants. This is calculated by summing the algorithmic diversity of each ant for each hop and then dividing by the number of ants.

[0191] After each iteration, the maximum value of the algorithmic diversity, multiplicity_max, is calculated (i.e., the maximum value of the algorithmic diversity in all previous iterations in Example 1). In the early stages of the algorithm, multiplicity_max may increase due to randomness. At this time, the algorithm is in a state of increasing diversity. As the calculation progresses, the value of multiplicity_max becomes fixed, and the algorithmic diversity in each iteration gradually decreases. At this time, the algorithm is in a state of convergence.

[0192] In step 809, the pheromone of the inter-domain links is updated, specifically calculated using the following formula:

[0193]

[0194] in, Let Q be the pheromone evaporation parameter (0.1), Q be the pheromone a ant can carry (10), P be the number of hops on the path, k be the rank of the optimally sorted paths (for the same number of hops, a higher rank results in more pheromone), and W be an adaptive parameter representing the increase in pheromone when the best path is selected. w is a parameter for how many nodes to select. For example, when w equals 2, the algorithm will round up to a maximum of 3 optimal paths for calculation, i.e., W=3. For the links in the corresponding iteration rounds pheromones, The minimum value is 0. The above formula is actually the process of calculating the pheromone for the next round using the pheromone from the previous round, which can be understood as: , For the next iteration of the link pheromone concentration, For the link in the previous iteration The concentration of pheromones.

[0195] In step 810, the next iteration is calculated according to formula 19. The formula is as follows:

[0196] In step 811, it is determined whether the number of iterations has reached the limit (i.e., the number of iterations has reached the preset number). If the number of iterations has not reached the limit, the process returns to step 503 to start a new round of iterations until the number of iterations reaches the preset number, and then proceeds to step 812.

[0197] In step 812, the optimal path selected from the paths obtained in the last iteration is the calculated optimal path.

[0198] The following example uses a specific network topology. Assume there are IP slices 1-9. Omitting the internal structure of each slice, we simplify each slice into a single node, resulting in the following structure: Figure 13 The equivalent network shown now requires the calculation of external links. An optimal path from 1 to 9 needs to be established, and the path must meet the following constraints: the total path delay parameter is less than 30, the cost value and inter-domain bandwidth utilization are considered to be optimal, and the case with the minimum variance of the total network inter-domain bandwidth utilization is considered as the case with the highest bandwidth utilization. The intra-domain delay is set to 0, that is, the delay of each equivalent node is 0; packet loss rate constraints are not considered.

[0199] Assuming the maximum bandwidth of each inter-domain link is 100, and the newly added service bandwidth is 10, the link parameters are shown in the table below:

[0200] Set initial parameters, specifically: initialize the pheromone levels on each link to 100, and set the volatility parameter. The sorting parameter is 0.1, α and β are 1. The value is 1, and each ant carries 10 pheromones. First iteration. The value is 1. The first iteration begins; for example, to complete the first hop, a random number is generated. Add 3 ants. In the first iteration, calculate the next hop probability of each ant according to the state transition probability formula mentioned above, as shown in the table below:

[0201] Three ants use a roulette wheel based on actual probabilities to complete their first path selection, and the result is shown below:

[0202] This process is repeated until all ants have chosen their paths, and then the three ants, in turn, are on their respective paths. Following the state transition probability formula described above, they choose their next hop and reach their destination, resulting in the paths shown in the table below:

[0203] The ants' paths are ranked by value according to the value function, as shown in the table below:

[0204] Among them, path 2-5-8-9 is the first, followed by 3-6-7-9 and 4-7-9.

[0205] To calculate algorithmic diversity, specifically: first, calculate the algorithmic diversity of each ant using the formula above. Taking ant 1 as an example, the algorithmic diversity of ant 1 on the corresponding path is shown in the table below:

[0206] Calculate the algorithmic diversity for each ant, and then calculate the algorithmic diversity for this iteration. Based on algorithmic diversity, calculate W, and use W to update the pheromone. When W is calculated to be 2, only increase the pheromone on the paths of the first two ants. Specifically, calculate the pheromone level of each hop on the ant path. The results are shown in the table below:

[0207] Reuse The pheromones of each link are updated, and the updated results are as follows: Figure 14 As shown.

[0208] After one iteration, calculate Then, the next round of iterations is performed until the preset number of iterations is reached. In one optional implementation, the preset number of iterations can be 100 or 200. Specifically, in the initial stage of the algorithm... It will increase with the number of iterations, and in the later stages of the algorithm, as the number of iterations increases, It will gradually decrease, thus affecting each iteration. And W, thereby further accelerating convergence, so that the 1-4-7-9 path is finally chosen.

[0209] In practical applications, there may be situations where multiple links exist between two boundary nodes within two domains, such as... Figure 15 As shown, there are four links from slice domain 1 to slice domain 2, three links from node 1 to domain 2 (link 1, link 2, and link 3), and one link from node 2 to domain 2 (link 4).

[0210] Because this embodiment uses the ant colony algorithm, it uses the actual paths taken by the ants as heuristics to guide the ant path selection in the next iteration. Furthermore, different access nodes and outgoing nodes within the same slice domain will have different intra-domain cost values. Therefore, this embodiment has strict restrictions on link aggregation; link aggregation is only considered when ECMP is allowed, the source and destination nodes of the link are the same, and the link attributes are completely identical. Figure 6 As shown, the total bandwidth of Link 1 and Link 2 is added together and considered as a single link only when the link attributes of Link 1 and Link 2 are completely identical. When forwarding traffic, ECMP multipath forwarding is used for processing.

[0211] When applying the algorithm, based on the aggregated links, all links between slice domain 1 and slice domain 2 are calculated as ordinary links, such as... Figure 6 As shown, the ant has two links to choose from at node 1: the aggregation link and link 3, and one link to choose from at node 2: link 4. By abstracting domain 1 and domain 2 into two nodes, there are three links to choose from from domain 1 to domain 2, thus enabling the ant colony algorithm described in this embodiment to perform routing calculations.

[0212] It should be noted that the methods in Examples 1 and 2 are applicable to this example.

[0213] Example 4: like Figure 16 The diagram shown is an architectural schematic of an inter-domain routing computing device according to an embodiment of the present invention. The inter-domain routing computing device of this embodiment includes one or more processors 21 and a memory 22. Figure 16 Take a processor 21 as an example.

[0214] Processor 21 and memory 22 can be connected via a bus or other means. Figure 16 Taking the example of a connection between China and Israel via a bus.

[0215] The memory 22, as a non-volatile computer-readable storage medium, can be used to store non-volatile software programs and non-volatile computer-executable programs, such as the inter-domain routing calculation method in Embodiment 1, Embodiment 2, or Embodiment 3. The processor 21 executes the inter-domain routing calculation method by running the non-volatile software program and instructions stored in the memory 22.

[0216] Memory 22 may include high-speed random access memory, and may also include non-volatile memory, such as at least one disk storage device, flash memory device, or other non-volatile solid-state storage device. In some embodiments, memory 22 may optionally include memory remotely located relative to processor 21, which can be connected to processor 21 via a network. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.

[0217] The program instructions / modules are stored in the memory 22 and, when executed by one or more processors 21, perform the inter-domain routing calculation method described in Embodiment 1, Embodiment 2, or Embodiment 3.

[0218] It is worth noting that the information interaction and execution process between the modules and units in the above-mentioned device and system are based on the same concept as the processing method embodiment of the present invention. For details, please refer to the description in the method embodiment of the present invention, and will not be repeated here.

[0219] Those skilled in the art will understand that all or part of the steps in the various methods of the embodiments can be implemented by a program instructing related hardware. The program can be stored in a computer-readable storage medium, which may include: read-only memory (ROM), random access memory (RAM), magnetic disk or optical disk, etc.

[0220] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of the present invention should be included within the protection scope of the present invention.

Claims

1. A method of calculating inter-domain routing, characterized in that, include: An equivalent network is established by taking the abstract nodes formed by nodes within a domain in the network as equivalent nodes and the inter-domain links as equivalent links connecting the equivalent nodes. In the equivalent network, the ant colony algorithm is used to perform multiple inter-domain routing calculations in order to update the priority of each equivalent link in the equivalent network and modify the priority increase rule of the equivalent link to calculate the equivalent link sequence with the highest priority in the equivalent network as the optimal inter-domain link sequence. The priority increase rule for modifying the equivalent link specifically includes: calculating the algorithm diversity based on the calculation results of all previous rounds; and in the calculation of the corresponding round, dividing the algorithm diversity of the previous round by... The second benchmark value is obtained; where, The maximum value among all previous rounds of algorithmic diversity is used; the second benchmark value is multiplied by the preset number of equivalent link sequences to obtain the equivalent link sequence number parameter W for this round, and the priority of the first W optimal equivalent link sequences is increased.

2. The method for calculating inter-domain routing according to claim 1, characterized in that, The optimal inter-domain link sequence is the equivalent link sequence with the minimum extreme value. The extreme value is a weighted sum of multiple parameters, including one or more of the bandwidth utilization and packet loss rate of all links in the equivalent link sequence, the total overhead and total delay of the equivalent links and equivalent nodes.

3. The method for calculating inter-domain routing according to claim 1, characterized in that, The method further includes: The user's QoS value is extracted as a constraint, and the inter-domain routing calculation is performed based on the constraint; wherein the constraint includes one or more of the following: latency constraint, packet loss rate constraint, bandwidth constraint, overhead constraint, bandwidth utilization constraint, and path constraint.

4. The method for calculating inter-domain routing according to claim 1, characterized in that, The algorithm diversity is calculated based on the results of all previous rounds, specifically including: In the corresponding round of calculation, the variance stdev(m,i) of the probability of selecting each effective next hop when the m-th pathfinding factor is at node i in the previous round of calculation is calculated. Subtracting the variance stdev(m,i) from the first preset value yields the first baseline value. Multiplying this baseline value by a preset coefficient yields the diversity of the m-th pathfinding factor at node i. Where node i is the node of the m-th routing factor on the equivalent link sequence p obtained in the previous round; Add the diversity of the m-th routing factor at each node on the equivalent link sequence p, and then divide by the hop count n of the equivalent link sequence p to obtain the diversity of the m-th routing factor on the equivalent link sequence p. ; Add up the diversity of all pathfinding factors on the corresponding equivalent link sequences, and then divide by the total number of pathfinding factors to obtain the algorithmic diversity of the previous round. .

5. The method for calculating inter-domain routing according to claim 1, characterized in that, The addition of priority on the top W optimal equivalent link sequences specifically includes: From the multiple equivalent link sequences calculated in the previous round, the optimal W equivalent link sequences are selected as the first equivalent link sequences, and the other equivalent link sequences are selected as the second equivalent link sequences. Update the priority of each link in the first equivalent link sequence to: Update the priority of each link in the second equivalent link sequence to ;in, The preset priority decay parameter, The links used in the previous round of calculation priority, The optimal ranking of the corresponding equivalent link sequence. This is the preset priority parameter. This represents the hop count of the equivalent link sequence.

6. The method for calculating inter-domain routing according to claim 1, characterized in that, The calculation method also includes modifying the pathfinding rules, specifically including: Based on the calculation results of all previous rounds, the diversity of the algorithm is calculated; By utilizing the diversity of algorithms, the state transition parameters are calculated. Among them, when the algorithm enters the convergence state, the state transition parameters... Increase; In the next round, when pathfinding is performed at the corresponding node position, the generated random number q is less than or equal to the state transition parameter. When the optimal next hop is selected, it is added to the equivalent link sequence obtained from the pathfinding. In the next round, when pathfinding is performed at the corresponding node location, the generated random number q is greater than the state transition parameter. When that happens, a random next hop is selected and added to the equivalent link sequence obtained from the pathfinding.

7. The method for calculating inter-domain routing according to claim 6, characterized in that, The variety of algorithms used is used to calculate the state transition parameters. Specifically, it includes: In the corresponding round of calculation, the algorithmic diversity of the previous round is used. Divide by The second benchmark value is obtained; where, This represents the maximum value among all previous rounds of algorithmic diversity. The state transition parameters are obtained by subtracting the second reference value from the second preset value. .

8. The method for calculating inter-domain routing according to claim 6, characterized in that, The step of selecting the optimal next hop and adding it to the equivalent link sequence obtained from the pathfinding specifically includes: Calculate the probability that node j is the next hop. ; in, Representative Let j be the node with the largest value, and allowed_k be the set of valid next hops. and As a preset impact factor, For the link in this iteration priority, For link The inspiring information; Choose the node j with the highest probability as the next hop in the equivalent link sequence obtained in this round of pathfinding.

9. The method for calculating inter-domain routing according to claim 6, characterized in that, The step of selecting a random next hop and adding it to the equivalent link sequence obtained through pathfinding specifically includes: Calculate the probability that node j is the next hop. ; Where allowed_k is the set of valid next hops, and As a preset impact factor, For the link in this iteration priority, For link The inspiring information; Based on the probability that node j is the next hop The next hop in the equivalent link sequence obtained in this round of pathfinding is determined by combining the roulette wheel algorithm.

10. The method for calculating inter-domain routing according to any one of claims 1-9, characterized in that, The method further includes: When the pathfinding process finds that the destination node cannot be reached by following the corresponding equivalent link sequence, the equivalent link sequence is set as a taboo equivalent link sequence. When multiple taboo equivalent link sequences share a common sub-equivalent link sequence, and the starting point of the sub-equivalent link sequence is the source node, and the next hop of the third node is located in all of the multiple taboo equivalent link sequences, the sub-equivalent link sequence is set as a taboo equivalent link sequence; wherein, the third node is the ending point of the sub-equivalent link sequence. This prevents the taboo equivalent link sequence from participating in subsequent calculations.

11. A computing device for inter-domain routing, characterized in that, include: At least one processor; And a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, the instructions being executed by the processor for performing the inter-domain routing calculation method according to any one of claims 1-10.

Citation Information

Patent Citations

  • Multi-domain network dynamic domain sequence cross-domain routing calculation method and device

    CN108966053A