CN112398733B - Traffic scheduling forwarding method and device - Google Patents

Traffic scheduling forwarding method and device Download PDF

Info

Publication number
CN112398733B
CN112398733B CN202011334576.3A CN202011334576A CN112398733B CN 112398733 B CN112398733 B CN 112398733B CN 202011334576 A CN202011334576 A CN 202011334576A CN 112398733 B CN112398733 B CN 112398733B
Authority
CN
China
Prior art keywords
path
bandwidth
network
paths
candidate network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011334576.3A
Other languages
Chinese (zh)
Other versions
CN112398733A (en
Inventor
李月光
蒋文栋
丁鹏程
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New H3C Big Data Technologies Co Ltd
Original Assignee
New H3C Big Data Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by New H3C Big Data Technologies Co Ltd filed Critical New H3C Big Data Technologies Co Ltd
Priority to CN202011334576.3A priority Critical patent/CN112398733B/en
Publication of CN112398733A publication Critical patent/CN112398733A/en
Application granted granted Critical
Publication of CN112398733B publication Critical patent/CN112398733B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/123Evaluation of link metrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/124Shortest path evaluation using a combination of metrics

Abstract

The application provides a traffic scheduling forwarding method and device. In the application, on one hand, a candidate network path set can be quickly determined from massive network paths by calculating the minimum selected bandwidth based on flexible dynamic calculation, so that the screening efficiency of further determining the network path finally used for traffic forwarding from the candidate network path set is improved. On the other hand, the method meets the requirements of users on the total bandwidth of traffic forwarding and the total load of the network paths, and further realizes the traffic distribution and forwarding of a plurality of network paths with lower priority scheduling path cost according to the weight on the basis of meeting the requirements, thereby improving the network forwarding efficiency.

Description

Traffic scheduling forwarding method and device
Technical Field
The present application relates to the field of network technologies, and in particular, to a traffic scheduling forwarding method and apparatus, an electronic device, and a machine-readable storage medium.
Background
SDN (Software Defined Network) is a novel Network innovation architecture proposed by the clean-slate project research group of stanford university in the united states, and is an implementation of Network virtualization.
For example, for a network traffic corresponding to a certain user application, the SDN controller may calculate an optimal path for forwarding the network traffic, and issue an SDN network configuration related to the optimal path to an SDN node that the optimal path correspondingly passes through, and based on the SDN network configuration, scheduling and forwarding of the forwarding path of the network traffic may be implemented.
Generally, in the existing technical implementation, an SDN controller can only calculate one shortest path for traffic scheduling forwarding or find several shortest paths with equivalent routes for traffic scheduling forwarding.
However, in some scenarios, when the load of the SDN network is high or the number of shortest paths having equivalent routes is small or none, the SDN controller cannot acquire multiple network paths that satisfy the quality constraint of the user on forwarding the traffic (for example, the network path for forwarding the traffic must satisfy hard constraints such as delay, jitter, packet loss rate, and the like) and that satisfy the forwarding bandwidth constraint at the same time, so that the existing technical solution cannot satisfy the actual requirement of the user on scheduling and forwarding the traffic.
Disclosure of Invention
The application provides a traffic scheduling forwarding method, which is applied to an SDN controller in an SDN network, and comprises the following steps:
acquiring a network topology of the SDN network, a total required bandwidth set by a user and used for forwarding network traffic in the SDN network, and the maximum required number of network paths used for load sharing of the total required bandwidth;
determining a minimum selected bandwidth based on the total required bandwidth and the maximum required number, performing network path calculation on the obtained network topology by taking the determined minimum selected bandwidth as bandwidth constraint to obtain a plurality of network paths, and determining the obtained plurality of network paths as a candidate network path set; wherein the bandwidth of each candidate network path in the candidate network path set is not less than the minimum selected bandwidth;
performing final path selection calculation on the candidate network path set to obtain a plurality of final paths and path weights corresponding to the final paths respectively;
and distributing the network traffic in the SDN network to the plurality of final paths according to the path weight for traffic forwarding.
Optionally, the determining a minimum selected bandwidth based on the total required bandwidth and the maximum required number includes:
and inputting the total required bandwidth and the maximum required number into a preset minimum selected bandwidth calculation formula for calculation, and determining the minimum selected bandwidth.
Optionally, the minimum selected bandwidth calculation formula is expressed based on the following formula:
Bc(x)=Bneed/10m+α(Bneed/n-Bneed/10m);
at 0<x<When the number is equal to 10, the number is 10,
Figure BDA0002796781020000021
at x>When 10, α is 0;
wherein x, n, m and i are positive integers greater than 0 respectively, and n<10m(ii) a x represents the calling of the minimum selection bandwidth calculation formula to calculate the calling times of the minimum selection bandwidth, Bc(x) Characterizing the minimum selected bandwidth corresponding to x, Bc(x) Has a value range of Bneed/10m<=Bc(x)<=Bneed/n;BneedCharacterizing the total demand bandwidth, n characterizing the maximum demand number;
at 0<x<When the number is equal to 10, the number is 10,
Figure BDA0002796781020000031
indicates that when the value of i is from 1 to x, the value of i is substituted into
Figure BDA0002796781020000032
Performing continuous multiplication calculation; at x>At 10, α is fixed to 0.
Optionally, the performing final path selection calculation on the candidate network path set to obtain a plurality of final paths and path weights corresponding to each final path respectively includes:
reordering the candidate network paths in the candidate network path set by taking the path cost of the candidate network path as a first priority and taking the path bandwidth of the candidate network path as a second priority;
and determining a plurality of final paths and path weights corresponding to the final paths respectively from the reordered candidate network path set based on a preset final path selection strategy.
Optionally, the reordering the candidate network paths in the candidate network path set by using the path cost of the candidate network path as the first priority and the path bandwidth of the candidate network path as the second priority includes:
based on the path cost of the candidate network paths, sorting the candidate network paths in the candidate network path set from low to high according to the path cost;
dividing the candidate network paths with the same path cost into the same group after finishing the sorting based on the path bandwidth of the candidate network paths, and sorting the candidate network path set sorted according to the path cost from high to low in the group according to the path bandwidth.
Optionally, the determining, from the reordered candidate network path set based on the preset final path selection policy, a plurality of final paths and path weights corresponding to the final paths respectively includes:
selecting a strategy for preferentially selecting the candidate network paths with the path costs of the candidate network paths from low to high and the same path costs belonging to the same group, screening a plurality of target candidate network paths from the reordered candidate network path set, and calculating the sum of the path bandwidths of the screened target candidate network paths;
and if the sum of the path bandwidths is not less than the total required bandwidth and the number of the screened target candidate network paths is not more than the maximum required number, determining the screened target candidate network paths as final paths, and determining the ratio of the path bandwidth of each target candidate network path to the sum of the path bandwidths as the path weights corresponding to each final path.
Optionally, when the number of the screened target candidate network paths reaches the maximum number of required paths and the sum of the path bandwidths is still smaller than the total required bandwidth, the method further includes:
deleting the first target candidate network path with the minimum path bandwidth from the screened target candidate network paths;
continuing to screen out a second target candidate network path from the reordered set of candidate network paths and replacing the first target candidate network path; wherein the sum of the path bandwidths after the second target candidate network path replaces the first target candidate network path is not less than the total required bandwidth.
Optionally, the method further includes:
when the sum of the path bandwidths of the second target candidate network path and the first target candidate network path is still smaller than the total required bandwidth, determining that the minimum selected bandwidth fails to perform final path screening;
recalculating and updating the minimum selection bandwidth, and re-determining the path weights corresponding to the plurality of final paths and each final path based on the updated minimum selection bandwidth until the sum of the path bandwidths of the plurality of re-determined target candidate network paths is not less than the total required bandwidth and the number of the paths of the re-determined target candidate network paths is not more than the maximum required number.
Optionally, the SDN network is an SDWAN network.
The application also provides a traffic scheduling forwarding device, which is applied to an SDN controller in an SDN network, and the device includes:
the acquiring module is used for acquiring the network topology of the SDN network, the total required bandwidth which is set by a user and used for forwarding the network traffic in the SDN network and the maximum required number of network paths used for load sharing of the total required bandwidth;
the determining module is used for determining the minimum selected bandwidth based on the total required bandwidth and the maximum required bandwidth, performing network path calculation on the obtained network topology by taking the determined minimum selected bandwidth as bandwidth constraint to obtain a plurality of network paths, and determining the obtained plurality of network paths as a candidate network path set; wherein the bandwidth of each candidate network path in the candidate network path set is not less than the minimum selected bandwidth;
the calculation module is used for executing final path selection calculation on the candidate network path set to obtain a plurality of final paths and path weights corresponding to the final paths;
and the forwarding module is used for distributing the network traffic in the SDN network to the plurality of final paths according to the path weight for traffic forwarding.
Optionally, in the process of determining the minimum selected bandwidth based on the total required bandwidth and the maximum required number, the determining module further:
and inputting the total required bandwidth and the maximum required number into a preset minimum selected bandwidth calculation formula for calculation, and determining the minimum selected bandwidth.
Optionally, the minimum selected bandwidth calculation formula is expressed based on the following formula:
Bc(x)=Bneed/10m+α(Bneed/n-Bneed/10m);
at 0<x<When the number is equal to 10, the number is 10,
Figure BDA0002796781020000051
at x>When 10, α is 0;
wherein x, n, m and i are positive integers greater than 0 respectively, and n<10m(ii) a x represents the calling of the minimum selection bandwidth calculation formula to calculate the calling times of the minimum selection bandwidth, Bc(x) Characterizing the minimum selected bandwidth corresponding to x, Bc(x) Has a value range of Bneed/10m<=Bc(x)<=Bneed/n;BneedCharacterizing the total demand bandwidth, n characterizing the maximum demand number;
at 0<x<When the number is equal to 10, the number is 10,
Figure BDA0002796781020000052
indicates that when the value of i is from 1 to x, the value of i is substituted into
Figure BDA0002796781020000053
Performing continuous multiplication calculation; at x>At 10, α is fixed to 0.
Optionally, in the process of performing final path selection calculation on the candidate network path set to obtain a plurality of final paths and path weights corresponding to each final path, the calculation module further:
reordering the candidate network paths in the candidate network path set by taking the path cost of the candidate network path as a first priority and taking the path bandwidth of the candidate network path as a second priority;
and determining a plurality of final paths and path weights corresponding to the final paths respectively from the reordered candidate network path set based on a preset final path selection strategy.
Optionally, in the process of reordering the candidate network paths in the candidate network path set by using the path cost of the candidate network path as the first priority and using the path bandwidth of the candidate network path as the second priority, the calculation module further:
based on the path cost of the candidate network paths, sorting the candidate network paths in the candidate network path set from low to high according to the path cost;
dividing the candidate network paths with the same path cost into the same group after finishing the sorting based on the path bandwidth of the candidate network paths, and sorting the candidate network path set sorted according to the path cost from high to low in the group according to the path bandwidth.
Optionally, in the process of determining, based on a preset final path selection policy, a plurality of final paths from the reordered candidate network path set and path weights corresponding to the final paths, the calculation module further:
selecting a strategy for preferentially selecting the candidate network paths with the path costs of the candidate network paths from low to high and the same path costs belonging to the same group, screening a plurality of target candidate network paths from the reordered candidate network path set, and calculating the sum of the path bandwidths of the screened target candidate network paths;
and if the sum of the path bandwidths is not less than the total required bandwidth and the number of the screened target candidate network paths is not more than the maximum required number, determining the screened target candidate network paths as final paths, and determining the ratio of the path bandwidth of each target candidate network path to the sum of the path bandwidths as the path weights corresponding to each final path.
Optionally, when the number of the screened target candidate network paths reaches the maximum number of required paths and the sum of the path bandwidths is still smaller than the total required bandwidth, the calculating module further:
deleting the first target candidate network path with the minimum path bandwidth from the screened target candidate network paths;
continuing to screen out a second target candidate network path from the reordered set of candidate network paths and replacing the first target candidate network path; wherein the sum of the path bandwidths after the second target candidate network path replaces the first target candidate network path is not less than the total required bandwidth.
Optionally, the calculation module further:
when the sum of the path bandwidths of the second target candidate network path and the first target candidate network path is still smaller than the total required bandwidth, determining that the minimum selected bandwidth fails to perform final path screening;
recalculating and updating the minimum selection bandwidth, and re-determining the path weights corresponding to the plurality of final paths and each final path based on the updated minimum selection bandwidth until the sum of the path bandwidths of the plurality of re-determined target candidate network paths is not less than the total required bandwidth and the number of the paths of the re-determined target candidate network paths is not more than the maximum required number.
Optionally, the SDN network is an SDWAN network.
The application also provides an electronic device, which comprises a communication interface, a processor, a memory and a bus, wherein the communication interface, the processor and the memory are mutually connected through the bus;
the memory stores machine-readable instructions, and the processor executes the method by calling the machine-readable instructions.
The present application also provides a machine-readable storage medium having stored thereon machine-readable instructions which, when invoked and executed by a processor, implement the above-described method.
Through the embodiment, on one hand, the candidate network path set can be quickly determined from massive network paths by calculating the minimum selected bandwidth based on flexible dynamic calculation, so that the screening efficiency of further determining the network path finally used for flow forwarding from the candidate network path set is improved. On the other hand, the method meets the requirements of users on the total bandwidth of traffic forwarding and the total load of the network paths, and further realizes the traffic distribution and forwarding of a plurality of network paths with lower priority scheduling path cost according to the weight on the basis of meeting the requirements, thereby improving the network forwarding efficiency.
Drawings
Fig. 1 is a flowchart of a traffic scheduling forwarding method according to an exemplary embodiment;
FIG. 2 is a hardware block diagram of an electronic device provided by an exemplary embodiment;
fig. 3 is a block diagram of a traffic scheduling forwarding apparatus according to an exemplary embodiment.
Detailed Description
Reference will now be made in detail to the exemplary embodiments, examples of which are illustrated in the accompanying drawings. When the following description refers to the accompanying drawings, like numbers in different drawings represent the same or similar elements unless otherwise indicated. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present application. Rather, they are merely examples of apparatus and methods consistent with certain aspects of the present application, as detailed in the appended claims.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the application. As used in this application and the appended claims, the singular forms "a", "an", and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It should also be understood that the term "and/or" as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items.
It is to be understood that although the terms first, second, third, etc. may be used herein to describe various information, such information should not be limited to these terms. These terms are only used to distinguish one type of information from another. For example, first information may also be referred to as second information, and similarly, second information may also be referred to as first information, without departing from the scope of the present application. The word "if" as used herein may be interpreted as "at … …" or "when … …" or "in response to a determination", depending on the context.
In order to enable those skilled in the art to better understand the technical solution in the embodiment of the present application, a brief description will be given below to the related technology of traffic scheduling and forwarding according to the embodiment of the present application.
Based on the above, the present application aims to provide a technical scheme for quickly determining a candidate network path set from a large number of network paths based on flexible and dynamic calculation of the minimum selected bandwidth, and simultaneously satisfying the requirements of a user on the total bandwidth of traffic forwarding and the total network path load, and further realizing traffic distribution and forwarding according to weight of a plurality of network paths with lower priority scheduling path cost on the basis of satisfying the requirements.
When the method is implemented, an SDN controller in the SDN network acquires the network topology of the SDN network, and acquires the total required bandwidth for forwarding the network traffic in the SDN network and the maximum required number of network paths for load sharing of the total required bandwidth, which are set by a user.
Further, the SDN controller determines a minimum selected bandwidth based on the total required bandwidth and the maximum required number, performs network path calculation on the obtained network topology by taking the determined minimum selected bandwidth as a bandwidth constraint to obtain a plurality of network paths, and determines the obtained plurality of network paths as a candidate network path set.
Further, the SDN controller executes final path selection calculation on the candidate network path set to obtain a plurality of final paths and path weights corresponding to the final paths respectively; and distributing the network traffic in the SDN network to the plurality of final paths according to the path weight for traffic forwarding.
In the above scheme, on one hand, the candidate network path set can be quickly determined from a large number of network paths by calculating the minimum selected bandwidth based on flexible dynamic calculation, so that the screening efficiency of further determining the network path finally used for traffic forwarding from the candidate network path set is improved. On the other hand, the method meets the requirements of users on the total bandwidth of traffic forwarding and the total load of the network paths, and further realizes the traffic distribution and forwarding of a plurality of network paths with lower priority scheduling path cost according to the weight on the basis of meeting the requirements, thereby improving the network forwarding efficiency.
The present application is described below with reference to specific embodiments and specific application scenarios.
Referring to fig. 1, fig. 1 is a flowchart of a traffic scheduling forwarding method, which is applied to an SDN controller in an SDN network according to an embodiment of the present application; the method comprises the following steps:
step 102, obtaining a network topology of the SDN network, a total required bandwidth set by a user for forwarding network traffic in the SDN network, and a maximum required number of network paths for load sharing the total required bandwidth.
104, determining a minimum selected bandwidth based on the total required bandwidth and the maximum required bandwidth, performing network path calculation on the obtained network topology by taking the determined minimum selected bandwidth as bandwidth constraint to obtain a plurality of network paths, and determining the obtained plurality of network paths as a candidate network path set; and the bandwidth of each candidate network path in the candidate network path set is not less than the minimum selected bandwidth.
And 106, performing final path selection calculation on the candidate network path set to obtain a plurality of final paths and path weights corresponding to the final paths respectively.
And 108, distributing the network traffic in the SDN network to the plurality of final paths according to the path weight for traffic forwarding.
In this specification, the SDN network at least includes an SDN controller and a plurality of SDN nodes managed by the SDN controller;
each SDN node may be specifically configured to any form of network device for traffic forwarding. For example, in practical applications, the SDN node may specifically include any one or a combination of a switch, a router, a firewall, a tunnel device, a physical server, and a virtual server.
In this specification, the specific type of the SDN network is not specifically limited in this specification.
In an embodiment shown, the SDN network may specifically be an SDWAN network; the SDWAN network may also be referred to as SD-wan (software Defined Wide Area network), which is a software Defined Wide Area network (SDN) network formed by applying an SDN technology to a Wide Area network scenario, and based on the SDWAN network, an SDN solution based on a cross-Wide Area network may be provided for connecting enterprise networks, data centers, internet applications, and cloud services in a Wide geographic range.
Of course, in practical applications, the SDN network may also be an SDLAN network; the SDLAN network may also be referred to as SD-LAN (software Defined Local Area network), that is, a software Defined intranet, is an SDN network formed by applying an SDN technology to a Local Area network scenario, and based on the SDLAN network, a regional LAN (Local Area network) and a LAN (Local Area network) may implement regional intranet access.
In this specification, the SDN controller obtains a total required bandwidth for forwarding network traffic in the SDN network and a maximum required number of network paths for load-sharing the total required bandwidth, which are set by a user.
For example, for a user requirement planning to forward a network traffic corresponding to a certain video application in an SDN network, an SDN controller may obtain, through a configuration interface, a total required bandwidth for forwarding the network traffic, which is set by a user, of at least 100Mbps, where a maximum required number of network paths for load-sharing the 100Mbps network traffic is no more than 5, the total required bandwidth is 100M, and the maximum required number is 5.
It should be noted that, for convenience of description and tabular display, Mbps may also be abbreviated as M in this specification.
In this specification, the SDN controller may further collect and acquire a network topology in the SDN network.
For example, in practical applications, the SDN controller may further collect various types of information in the SDN network (e.g., network devices as SDN nodes in the SDN network, link information, tunnel information, etc.), and store the various types of information with a topology structure.
In this specification, the SDN controller may determine a minimum selected bandwidth based on the total required bandwidth and the maximum required number; the minimum selected bandwidth may be used as a minimum bandwidth constraint for screening a plurality of network paths obtained by performing network path calculation on the network topology.
In this specification, the above-mentioned minimum selected bandwidth calculation formula is expressed based on the following formula:
Bc(x)=Bneed/10m+α(Bneed/n-Bneed/10m);
at 0<x<When the number is equal to 10, the number is 10,
Figure BDA0002796781020000111
at x>When 10, α is 0;
wherein x, n, m and i are positive integers greater than 0 respectively, and n<10m(ii) a x represents the calling of the minimum selection bandwidth calculation formula to calculate the calling times of the minimum selection bandwidth, Bc(x) Characterizing the minimum selected bandwidth corresponding to x, Bc(x) Has a value range of Bneed/10m<=Bc(x)<=Bneed/n;BneedCharacterizing said total required bandwidth, n characterizing said maximum required number;
at 0<x<When the number is equal to 10, the number is 10,
Figure BDA0002796781020000112
indicates that when the value of i is from 1 to x, the value of i is substituted into
Figure BDA0002796781020000113
Performing continuous multiplication calculation; at x>At 10, α is fixed to 0.
It should be noted that, in the process of calculating the specific value of the minimum selected bandwidth based on the minimum selected bandwidth calculation formula, when the minimum selected bandwidth calculation formula is called for the first time to calculate the minimum selected bandwidth (that is, x is 1), α is 1, and then the value of the minimum selected bandwidth is BneedN; when the minimum selected bandwidth calculation formula is called at the 2 nd time to calculate the minimum selected bandwidth (that is, x is 2), α is 1 × 0.9, and the value of the minimum selected bandwidth is Bneed/10m+0.9*(Bneed/n-Bneed/10m). When the minimum selection bandwidth calculation formula is called for many times to calculate the minimum selection bandwidth, the analogy is repeated, and the description is omitted here. When x exceeds 10 times, the value of alpha is fixed to be 0, and the value of the minimum selection bandwidth is fixed to be Bneed/10m
The minimum selection bandwidth is calculated according to the minimum selection bandwidth calculation formula, and the minimum selection bandwidth can be within the value range B of the minimum selection bandwidthneed/10m<=Bc(x)<=BneedAnd/n, calculating a bandwidth estimation value, and using the bandwidth estimation value as the lowest selection standard of the path bandwidth of the candidate network path described later.
When the candidate network path is screened by the following minimum selection bandwidth calculation formula, initially, the value of the minimum selection bandwidth is larger (equal to or close to B)needAnd/n), the candidate network paths meeting the total required bandwidth and the maximum required number can be screened out, and the number of the screened candidate network paths is less due to the larger value of the minimum selected bandwidth, so that the candidate network paths with the sufficient number cannot be found out.
Based on the above formula, the minimum selected bandwidth is calculatedThe minimum selected bandwidth is selected from large to small (from B)needN to Bneed/10mClose) to the minimum bandwidth, and gradually reduce the value of the minimum selected bandwidth, thereby screening more candidate network paths for network traffic distribution and forwarding.
Of course, in the minimum selected bandwidth calculation formula, by controlling the number of times of calling the minimum selected bandwidth calculation formula (x in the minimum selected bandwidth calculation formula), when x exceeds a preset threshold (for example, x in the minimum selected bandwidth calculation formula)>10), the value of the minimum selected bandwidth is fixed as B by taking the value of alpha as 0need/10mThe lower value of the minimum selection bandwidth can be quickly determined, and the low efficiency of gradually exploring and calculating the value of the minimum selection bandwidth is avoided, so that the screening efficiency of the candidate network path is influenced.
Therefore, the minimum selection bandwidth is flexibly and dynamically calculated through the minimum selection bandwidth calculation formula, and the candidate network path set can be quickly determined from massive network paths, so that the screening efficiency of further determining the network path finally used for flow forwarding from the candidate network path set is improved.
In an illustrated embodiment, in the process of determining the minimum selected bandwidth, the SDN controller inputs the total required bandwidth and the maximum required bandwidth into a preset minimum selected bandwidth calculation formula for calculation, and determines the minimum selected bandwidth;
for example, taking the total required bandwidth as at least 100Mbps and the maximum required number of network paths for load sharing the 100Mbps network traffic does not exceed 5, the SDN controller will allocate the total required bandwidth (B)need is 100) and the maximum required number (n is 5) are input into a preset minimum selection bandwidth calculation formula for calculation, and the minimum selection bandwidth is determined.
It should be noted that, when the minimum selected bandwidth calculation formula is called to calculate the minimum selected bandwidth, a value of m in the minimum selected bandwidth calculation formula may be a fixed empirical value, for example: and m is 2. Invoking the minimum selected bandwidth calculation at the first invocationWhen the minimum selected bandwidth is calculated by the formula, the value of x in the minimum selected bandwidth calculation formula is 1. Thus, in BneedWhen 100, n is 5, m is 2, and x is 1, the following can be calculated: b isc(x ═ 1) ═ 20, that is, when the number of calls of the minimum selected bandwidth calculated by the minimum selected bandwidth calculation formula is 1, the minimum selected bandwidth B is calculatedc(x ═ 1) was 20 Mbps.
In this specification, after the minimum selected bandwidth is determined by calculation, the SDN controller may perform network path calculation on the obtained network topology to obtain a plurality of network paths.
For example, in the process of performing network path calculation on the obtained network topology to obtain several network paths, the SDN controller may first calculate a shortest path with a lowest path cost (cost) from a sending end to a destination end of network traffic in the network topology based on a shortest path algorithm (e.g., Dijkstra algorithm). For a specific calculation process and principle, please refer to technical documents related to the shortest path algorithm, which are not described herein again.
It should be noted that, after the SDN-based controller may calculate a shortest path or multiple shortest paths with equivalent routes based on a shortest path algorithm, the SDN controller may further perform offset path calculation on the shortest path to obtain multiple offset paths corresponding to the shortest path; the technical principle of the offset path is as follows: if the shortest path P has N links, each link of the P is avoided in sequence, and the shortest path calculation is carried out based on the shortest path algorithm again, so that N suboptimal paths corresponding to the shortest path P can be obtained. Similarly, the links of the N suboptimal paths may be subjected to link avoidance again and subjected to shortest path calculation again based on the shortest path algorithm. By analogy, multiple paths with a path cost (cost) close to that of the shortest path P can be obtained, the multiple paths are suboptimal solutions of the shortest path P, and the multiple paths are offset paths of the shortest path P. It should be noted that: a lower value of the path cost indicates a lower path cost. Such as: the shortest path P has the lowest path cost of 1, and the path costs of the 9 offset paths of the shortest path P are 2, 3,. and 10 (greater than the shortest path P: 1), respectively.
In this specification, after performing network path calculation based on the network topology to obtain a plurality of network paths, the SDN controller screens the obtained plurality of network paths by using the determined minimum selected bandwidth as a bandwidth constraint, deletes a network path having a bandwidth smaller than the minimum selected bandwidth, and determines a plurality of finally obtained network paths as a candidate network path set; and the bandwidth of each candidate network path in the candidate network path set is not less than the minimum selected bandwidth.
For example, taking the minimum selected bandwidth as 20Mbps as an example, the SDN controller may delete a network path that is less than 20Mbps among a plurality of network paths obtained by performing network path calculation based on a network topology by using the calculated and determined minimum selected bandwidth (the bandwidth is 20Mbps) as a bandwidth constraint, and determine a plurality of remaining network paths that are greater than or equal to 20Mbps as a candidate network path set. Such as: the set of candidate network paths is shown in table 1 below:
candidate network paths P1 P2 P3 P4 P5 P6 P7 P8 P9 P10
Network cost 1 1 2 5 5 3 3 5 7 6
Network bandwidth 100M 120M 200M 300M 100M 100M 200M 100M 100M 100M
TABLE 1
The candidate network path set shown in table 1 includes 10 candidate network paths from P1 to P10; the network cost (cost) of P1 is 1, and the network bandwidth of P1 is 100 Mbps; similarly, please refer to table 1 for the network costs and network bandwidths of other P2-P10, which are not described herein.
In this specification, after the candidate network path set is determined, the SDN controller performs final path selection calculation on the candidate network path set to obtain a plurality of final paths and path weights corresponding to the final paths.
In an embodiment shown in the present disclosure, in a process of performing final path selection calculation on the candidate network path set to obtain a plurality of final paths and path weights corresponding to each of the final paths, the SDN controller reorders the candidate network paths in the candidate network path set by using a path cost of the candidate network path as a first priority and a path bandwidth of the candidate network path as a second priority.
For example, taking the candidate network path set shown in table 1 as an example, the SDN controller reorders the candidate network paths in the candidate network path set by taking the path cost corresponding to the candidate network path shown in table 1 as a first priority and taking the path bandwidth corresponding to the candidate network path as a second priority.
In an embodiment shown in the present disclosure, in a process of reordering candidate network paths in the candidate network path set by using a path cost of a candidate network path as a first priority and using a path bandwidth of a candidate network path as a second priority, the SDN controller ranks the candidate network paths in the candidate network path set from low to high according to the path costs of the candidate network paths, and then sorts the candidate network paths with the same path cost into the same packet after the ranking is completed.
For example, taking the candidate network path set shown in table 1 as an example, the SDN controller ranks the candidate network paths in the candidate network path set from low to high according to the path costs by using the path costs corresponding to the candidate network paths shown in table 1, then divides the candidate network paths with the same path cost into the same group after the ranking is completed, ranks the candidate network path set ranked according to the path costs from high to low according to the path bandwidths corresponding to the candidate network paths, and then ranks the candidate network path set ranked according to the path costs according to the path bandwidths from high to low, so that the reordered candidate network path set is as shown in table 2 below:
Figure BDA0002796781020000151
TABLE 2
The reordered candidate network path set shown in Table 2 comprises 10 candidate network paths from P1 to P10 that are reordered; wherein, the cost of the corresponding network from P1 to P10 is from low to high (the cost of the network of P1 is 1, which is the lowest; the cost of the network of P10 is 7, which is the highest); after sorting from P1 to P10 according to network cost, dividing candidate network paths with the same path cost into the same group (as shown in Table 1, if the network cost of P1 is the same as that of P2, then P1 and P2 are divided into the same group, and other candidate network paths without the same path cost are independently a group), after dividing the group, sorting according to the path bandwidth from high to low (taking P1 and P2 as shown in Table 1 as examples, the network bandwidth of P2 is greater than that of P1, then after sorting according to the path bandwidth from high to low, P1 in Table 2 is P2 in Table 1, P2 in Table 2 is P1 in Table 1; similar to the case of packet three and packet four, which are not repeated here.)
In an embodiment shown in the description, in a process of performing final path selection calculation on the candidate network path set to obtain a plurality of final paths and path weights corresponding to the final paths, after reordering candidate network paths in the candidate network path set by using a path cost of the candidate network path as a first priority and a path bandwidth of the candidate network path as a second priority, the SDN controller determines the path weights corresponding to the final paths and the final paths based on a preset final path selection policy from the reordered candidate network path set.
In an embodiment shown in the description, in a process of determining, based on a preset final path selection policy, a plurality of final paths and path weights corresponding to the final paths from the reordered candidate network path set, the SDN controller selects a selection policy for preferentially selecting, by using candidate network paths whose path costs are from low to high and which belong to the same group and have the same path cost, a plurality of target candidate network paths from the reordered candidate network path set, and calculates a sum of path bandwidths of the selected target candidate network paths.
For example, as shown in table 2, the candidate network path set that is reordered is used as a candidate network path set, the SDN controller performs a selection policy of preferentially selecting the candidate network paths that have the same path cost and belong to the same group from low to high, screens out a plurality of target candidate network paths from the candidate network path set that is reordered, and calculates a sum of path bandwidths of the screened out target candidate network paths. Such as: when the total required bandwidth is at least 100Mbps and the maximum required number of network paths for load sharing of the 100Mbps network traffic is not more than 5, the SDN controller screens candidate network paths P1 and P2 with the lowest path cost as target candidate network paths from the reordered candidate network path set shown in table 2, P1 and P2 belong to the same packet with the lowest network cost, and the sum of the path bandwidths of P1 and P2 is 220 Mbps.
In this specification, if the sum of the path bandwidths is not less than the total required bandwidth and the number of the screened target candidate network paths is not greater than the maximum required number, the SDN controller determines the screened target candidate network paths as final paths, and determines the ratio of the path bandwidth of each target candidate network path to the sum of the path bandwidths as path weights corresponding to the final paths.
For example, with a total required bandwidth of at least 100Mbps and a maximum required number of network paths for load sharing of the 100Mbps network traffic of no more than 5, and the screened 2-entry labeled candidate network paths include P1 and P2 as shown in table 2 for example, since the sum of the path bandwidths of the 2-entry label candidate network paths (P1 and P2) is 220Mbps and is already greater than the total required bandwidth (100Mbp), and the total number of target candidate network paths is 2 not more than the maximum required number (5), P1 and P2 are determined as 2 final paths, and an occupation ratio 6/11(120/220) of the path bandwidth (120Mbps) of P1 to the sum of the path bandwidths (220Mbps) is determined as a path weight W1 of P1, and determining an occupation ratio 5/11(100/220) of the path bandwidth (100Mbps) of P2 to the sum of the path bandwidths (220Mbps) as a path weight W2 of P2.
As another example, with a total required bandwidth of at least 500Mbps and a maximum required number of network paths for load sharing of the 500Mbps network traffic of no more than 5, and the screened 5-entry labeled candidate network paths include P1, P2, P3, P4, P5 as shown in table 2 for example, since the 5-entry label candidate network path (P1, P2, P3, P4, P5) has a path bandwidth sum of 720Mbps that is already greater than the total required bandwidth (500Mbp), and the total number of target candidate network paths is 5 or less than the maximum number of required paths (5), determining P1, P2, P3, P4, P5 as 5 final paths, and an occupation ratio 12/72(120/720) of the path bandwidth (120Mbps) of P1 to the sum of the path bandwidths (720Mbps) is determined as a path weight W1 of P1, and determining an occupation ratio 10/72(100/720) of the path bandwidth (100Mbps) of P2 to the sum of the path bandwidths (720Mbps) as a path weight W2 of P2. By analogy, the following are calculated: a path weight W3(20/72) corresponding to P3 (200 Mbps of path bandwidth), a path weight W4(20/72) corresponding to P4 (200 Mbps of path bandwidth), and a path weight W5(10/72) corresponding to P5 (100Mbps of path bandwidth).
In an embodiment shown, in the process of determining a plurality of final paths and a path weight corresponding to each final path, when the number of paths of the screened target candidate network paths reaches the maximum required number and the sum of the path bandwidths is still smaller than the total required bandwidth, the SDN controller may delete a first target candidate network path with a smallest path bandwidth from the screened target candidate network paths; continuously screening out a second target candidate network path from the reordered candidate network path set and replacing the first target candidate network path; wherein the sum of the path bandwidths after the second target candidate network path replaces the first target candidate network path is not less than the total required bandwidth.
For example, taking an example that the total required bandwidth is at least 800Mbps and the maximum required number of network paths for load sharing of the 800Mbps network traffic is not more than 5, when the screened 5-entry labeled candidate network paths include P1, P2, P3, P4, P5 as shown in table 2, since the sum of the path bandwidths of the 5-entry labeled candidate network paths (P1, P2, P3, P4, P5) is 720Mbps and still less than the total required bandwidth (800Mbps), the SDN controller may delete the first target candidate network path (P2) with the smallest path bandwidth from the screened 5-entry labeled candidate network paths, continue to screen the second target candidate network path (P6) from the candidate network path set shown in table 2 and replace the first target candidate network path (P2), and determine the screened 5-entry labeled candidate network paths as 5 final network paths, the 5 final network paths specifically include: p1, P3, P4, P5, P6; the sum of the path bandwidths of the 5 final network paths is 920Mbps (which is already greater than the total required bandwidth with the value of 800Mbps), and the number of the paths of the final network paths is 5, and the maximum required number (5) is not exceeded.
In an embodiment shown in the present disclosure, in a process of determining a plurality of final paths and path weights corresponding to each final path, when a sum of bandwidth of the paths after the second target candidate network path is replaced with the first target candidate network path is still smaller than the total required bandwidth, the SDN controller determines that the minimum selected bandwidth fails to perform final path screening; recalculating and updating the minimum selection bandwidth, and re-determining the path weights corresponding to the plurality of final paths and each final path based on the updated minimum selection bandwidth until the sum of the path bandwidths of the plurality of re-determined target candidate network paths is not less than the total required bandwidth and the number of the paths of the re-determined target candidate network paths is not more than the maximum required number.
For example, taking the total required bandwidth as at least 1000Mbps and the maximum required number of network paths for load-sharing the 1000Mbps network traffic as no more than 5, and the minimum selected bandwidth determined by invoking the minimum selected bandwidth calculation formula this time as 100Mbps, when the 5-entry target candidate network paths screened by the SDN controller include P1, P3, P4, P5, P6 as shown in table 2, since the sum of the path bandwidths of the 5-entry target candidate network paths (P1, P3, P4, P5, P6) is 920 still less than the total required bandwidth (1000Mbps), in which case the maximum required number of network paths has reached 5 Mbps, if the sum of the path bandwidths reaches or exceeds the total required bandwidth (1000Mbps), the SDN controller determines that it has to fail to perform final path screening based on the selected minimum required bandwidth (100Mbps), the SDN controller calls the minimum selection bandwidth calculation formula to recalculate and update the minimum selection bandwidth, and determines path weights corresponding to a plurality of final paths and each final path again based on the updated minimum selection bandwidth (such as 80Mbps) until the sum of the path bandwidths of a plurality of re-determined target candidate network paths is not less than the total required bandwidth (1000Mbps) and the number of the paths of the re-determined target candidate network paths is not more than the maximum required number (5); the process of recalculating and updating the minimum selection bandwidth (when the minimum selection bandwidth calculation formula is called, the value of x needs to be increased by one more than the original value, for example, x is 1, and then x is 2 after x is increased by one more than the original value) and re-determining the candidate network path set based on the updated minimum selection bandwidth, and performing the final path selection calculation on the re-determined candidate network path set to obtain the plurality of final paths and the path weights corresponding to the final paths is similar to the process described above and illustrated, and is not described here again.
It should be noted that, by calculating the minimum selected bandwidth based on flexible dynamics, the candidate network path set can be quickly determined from a large number of network paths, thereby improving the screening efficiency of further determining the network path finally used for traffic forwarding from the candidate network path set.
In this specification, after obtaining a plurality of final paths and path weights corresponding to each final path, the SDN controller allocates network traffic in the SDN network to the plurality of final paths according to the path weights for traffic forwarding.
For example, with a total required bandwidth of at least 500Mbps and a maximum required number of network paths for load-sharing the 500Mbps network traffic not exceeding 5, the corresponding obtained 5 final network paths specifically include: p1, P2, P3, P4, P5; wherein, the sum of the path bandwidths of the 5 final network paths is 720 Mbps; the P1, P2, P3, P4 and P5 respectively correspond to path weights W1, W2, W3, W4 and W5 one by one, and the SDN controller allocates network traffic (500Mbps) in the SDN network to the final paths according to the path weights for traffic forwarding. Such as: for 500Mbps network traffic, 500 × W1 traffic in the 500Mbps network traffic may be allocated in P1 for traffic forwarding; similarly, the flow rate of 500 × W2 is distributed to P2 for flow forwarding, the flow rate of 500 × W3 is distributed to P3 for flow forwarding, the flow rate of 500 × W4 is distributed to P4 for flow forwarding, and the flow rate of 500 × W5 is distributed to P5 for flow forwarding.
It should be noted that, the requirements of the user on the total bandwidth of traffic forwarding and the total network path load are met, and meanwhile, the traffic distribution and forwarding of multiple network paths with lower priority scheduling path cost according to the weight is further realized on the basis of meeting the requirements, so that the network forwarding efficiency is improved.
In the above technical solution, the total required bandwidth for forwarding network traffic in the SDN network, the maximum required number of network paths for load sharing of the total required bandwidth, and the network topology of the SDN network, which are set by a user, are obtained; determining a minimum selected bandwidth based on the total required bandwidth and the maximum required number, performing network path calculation on the obtained network topology by taking the determined minimum selected bandwidth as bandwidth constraint to obtain a plurality of network paths, and determining the obtained plurality of network paths as a candidate network path set; performing final path selection calculation on the candidate network path set to obtain a plurality of final paths and path weights respectively corresponding to the final paths; and distributing the network traffic in the SDN network to the plurality of final paths according to the path weight for traffic forwarding.
On one hand, the candidate network path set can be quickly determined from massive network paths by calculating the minimum selected bandwidth based on flexible dynamic, so that the screening efficiency of further determining the network path finally used for flow forwarding from the candidate network path set is improved. On the other hand, the method meets the requirements of users on the total bandwidth of traffic forwarding and the total load of the network paths, and further realizes the traffic distribution and forwarding of a plurality of network paths with lower priority scheduling path cost according to the weight on the basis of meeting the requirements, thereby improving the network forwarding efficiency.
Corresponding to the above method embodiments, the present specification further provides an embodiment of a traffic scheduling forwarding apparatus. The embodiment of the traffic scheduling forwarding apparatus in the present specification can be applied to an electronic device. The device embodiments may be implemented by software, or by hardware, or by a combination of hardware and software. Taking a software implementation as an example, as a logical device, the device is formed by reading, by a processor of the electronic device where the device is located, a corresponding computer program instruction in the nonvolatile memory into the memory for operation. In terms of hardware, as shown in fig. 2, a hardware structure diagram of an electronic device where a traffic scheduling and forwarding apparatus of this specification is located is shown, except for the processor, the memory, the network interface, and the nonvolatile memory shown in fig. 2, the electronic device where the apparatus is located in the embodiment may also include other hardware according to the actual function of the device, which is not described again.
Fig. 3 is a block diagram of a traffic scheduling forwarding apparatus according to an embodiment of the present specification.
Referring to fig. 3, the traffic scheduling forwarding apparatus 30 may be applied in the electronic device shown in fig. 2 as an SDN controller, and the apparatus includes:
an obtaining module 301, configured to obtain a network topology of the SDN network, a total required bandwidth set by a user and used for forwarding network traffic in the SDN network, and a maximum required number of network paths used for load sharing of the total required bandwidth;
a determining module 302, configured to determine a minimum selected bandwidth based on the total required bandwidth and the maximum required bandwidth, perform network path calculation on the obtained network topology by using the determined minimum selected bandwidth as a bandwidth constraint to obtain a plurality of network paths, and determine the obtained plurality of network paths as a candidate network path set; wherein the bandwidth of each candidate network path in the candidate network path set is not less than the minimum selected bandwidth;
a calculating module 303, configured to perform final path selection calculation on the candidate network path set to obtain a plurality of final paths and path weights corresponding to the final paths;
a forwarding module 304, configured to allocate network traffic in the SDN network to the multiple final paths according to the path weights for traffic forwarding.
In this embodiment, in the process of determining the minimum selected bandwidth based on the total required bandwidth and the maximum required number, the determining module 302 further:
and inputting the total required bandwidth and the maximum required number into a preset minimum selected bandwidth calculation formula for calculation, and determining the minimum selected bandwidth.
In this embodiment, the minimum selected bandwidth calculation formula is expressed based on the following formula:
Bc(x)=Bneed/10m+α(Bneed/n-Bneed/10m);
at 0<x<When the number is equal to 10, the number is 10,
Figure BDA0002796781020000221
at x>When 10, α is 0;
wherein x, n, m and i are positive integers greater than 0 respectively, and n<10m(ii) a x represents the calling of the minimum selection bandwidth calculation formula to calculate the calling times of the minimum selection bandwidth, Bc(x) Characterizing the minimum selected bandwidth corresponding to x, Bc(x) Has a value range of Bneed/10m<=Bc(x)<=Bneed/n;BneedCharacterizing the total demand bandwidth, n characterizing the maximum demand number;
at 0<x<When the number is equal to 10, the number is 10,
Figure BDA0002796781020000222
indicates that when the value of i is from 1 to x, the value of i is substituted into
Figure BDA0002796781020000223
Performing continuous multiplication calculation; at x>At 10, α is fixed to 0.
In this embodiment, in the process of performing final path selection calculation on the candidate network path set to obtain a plurality of final paths and path weights corresponding to the final paths, the calculating module 303 further:
reordering the candidate network paths in the candidate network path set by taking the path cost of the candidate network path as a first priority and taking the path bandwidth of the candidate network path as a second priority;
and determining a plurality of final paths and path weights corresponding to the final paths respectively from the reordered candidate network path set based on a preset final path selection strategy.
In this embodiment, in the process of reordering the candidate network paths in the candidate network path set with the path cost of the candidate network path as the first priority and the path bandwidth of the candidate network path as the second priority, the calculating module 303 further:
based on the path cost of the candidate network paths, sorting the candidate network paths in the candidate network path set from low to high according to the path cost;
dividing the candidate network paths with the same path cost into the same group after finishing the sorting based on the path bandwidth of the candidate network paths, and sorting the candidate network path set sorted according to the path cost from high to low in the group according to the path bandwidth.
In this embodiment, in the process of determining, based on a preset final path selection policy, a plurality of final paths from the reordered candidate network path set and path weights corresponding to the final paths, the calculating module 303 further:
selecting a strategy for preferentially selecting the candidate network paths with the path costs of the candidate network paths from low to high and the same path costs belonging to the same group, screening a plurality of target candidate network paths from the reordered candidate network path set, and calculating the sum of the path bandwidths of the screened target candidate network paths;
and if the sum of the path bandwidths is not less than the total required bandwidth and the number of the screened target candidate network paths is not more than the maximum required number, determining the screened target candidate network paths as final paths, and determining the ratio of the path bandwidth of each target candidate network path to the sum of the path bandwidths as the path weights corresponding to each final path.
In this embodiment, when the number of the screened target candidate network paths reaches the maximum number of required paths and the sum of the path bandwidths is still smaller than the total required bandwidth, the calculating module 303 further:
deleting the first target candidate network path with the minimum path bandwidth from the screened target candidate network paths;
continuing to screen out a second target candidate network path from the reordered set of candidate network paths and replacing the first target candidate network path; wherein the sum of the path bandwidths after the second target candidate network path replaces the first target candidate network path is not less than the total required bandwidth.
In this embodiment, the calculating module 303 further:
when the sum of the path bandwidths of the second target candidate network path and the first target candidate network path is still smaller than the total required bandwidth, determining that the minimum selected bandwidth fails to perform final path screening;
recalculating and updating the minimum selection bandwidth, and re-determining the path weights corresponding to the plurality of final paths and each final path based on the updated minimum selection bandwidth until the sum of the path bandwidths of the plurality of re-determined target candidate network paths is not less than the total required bandwidth and the number of the paths of the re-determined target candidate network paths is not more than the maximum required number.
In this embodiment, the SDN network is an SDWAN network.
For the device embodiments, since they substantially correspond to the method embodiments, reference may be made to the partial description of the method embodiments for relevant points. The above-described embodiments of the apparatus are merely illustrative, wherein the modules described as separate parts may or may not be physically separate, and the parts displayed as modules may or may not be physical modules, may be located in one place, or may be distributed on a plurality of network modules. Some or all of the modules can be selected according to actual needs to achieve the purpose of the scheme of the application. One of ordinary skill in the art can understand and implement it without inventive effort.
The apparatuses or modules illustrated in the above embodiments may be implemented by a computer chip or an entity, or by a product with certain functions. A typical implementation device is a computer, which may take the form of a personal computer, laptop computer, cellular telephone, camera phone, smart phone, personal digital assistant, media player, navigation device, email messaging device, game console, tablet computer, wearable device, or a combination of any of these devices.
Other embodiments of the present disclosure will be apparent to those skilled in the art from consideration of the specification and practice of the disclosure disclosed herein. This specification is intended to cover any variations, uses, or adaptations of the specification following, in general, the principles of the specification and including such departures from the present disclosure as come within known or customary practice within the art to which the specification pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the specification being indicated by the following claims.
It will be understood that the present description is not limited to the precise arrangements described above and shown in the drawings, and that various modifications and changes may be made without departing from the scope thereof. The scope of the present description is limited only by the appended claims.
The above description is only a preferred embodiment of the present disclosure, and should not be taken as limiting the present disclosure, and any modifications, equivalents, improvements, etc. made within the spirit and principle of the present disclosure should be included in the scope of the present disclosure.

Claims (10)

1. A traffic scheduling forwarding method is applied to an SDN controller in an SDN network, and comprises the following steps:
acquiring a network topology of the SDN network, a total required bandwidth set by a user and used for forwarding network traffic in the SDN network, and the maximum required number of network paths used for load sharing of the total required bandwidth;
determining a minimum selected bandwidth based on the total required bandwidth and the maximum required number, performing network path calculation on the obtained network topology by taking the determined minimum selected bandwidth as bandwidth constraint to obtain a plurality of network paths, and determining the obtained plurality of network paths as a candidate network path set; wherein the bandwidth of each candidate network path in the candidate network path set is not less than the minimum selected bandwidth;
performing final path selection calculation on the candidate network path set to obtain a plurality of final paths and path weights corresponding to the final paths respectively;
and distributing the network traffic in the SDN network to the plurality of final paths according to the path weight for traffic forwarding.
2. The method of claim 1, wherein determining a minimum selected bandwidth based on the total demanded bandwidth and the maximum demanded number comprises:
and inputting the total required bandwidth and the maximum required number into a preset minimum selected bandwidth calculation formula for calculation, and determining the minimum selected bandwidth.
3. The method of claim 2, wherein the minimum chosen bandwidth calculation formula is expressed based on the following formula:
Bc(x)=Bneed/10m+α(Bneed/n-Bneed/10m);
at 0<x<When the number is equal to 10, the number is 10,
Figure FDA0002796781010000011
at x>When 10, α is 0;
wherein x, n, m and i are positive integers greater than 0 respectively, and n<10m(ii) a x represents the calling of the minimum selection bandwidth calculation formula to calculate the calling times of the minimum selection bandwidth, Bc(x) Characterizing the minimum selected bandwidth corresponding to x, Bc(x) Has a value range of Bneed/10m<=Bc(x)<=Bneed/n;BneedCharacterizing the total demand bandwidth, n characterizing the maximum demand number;
at 0<x<When the number is equal to 10, the number is 10,
Figure FDA0002796781010000021
Figure FDA0002796781010000022
indicates that when the value of i is from 1 to x, the value of i is substituted into
Figure FDA0002796781010000023
Performing continuous multiplication calculation; at x>At 10, α is fixed to 0.
4. The method of claim 1, wherein the performing the final path selection calculation on the candidate network path set to obtain a plurality of final paths and path weights corresponding to the final paths respectively comprises:
reordering the candidate network paths in the candidate network path set by taking the path cost of the candidate network path as a first priority and taking the path bandwidth of the candidate network path as a second priority;
and determining a plurality of final paths and path weights corresponding to the final paths respectively from the reordered candidate network path set based on a preset final path selection strategy.
5. The method of claim 4, wherein reordering the candidate network paths in the set of candidate network paths with a path cost of the candidate network path as a first priority and a path bandwidth of the candidate network path as a second priority comprises:
based on the path cost of the candidate network paths, sorting the candidate network paths in the candidate network path set from low to high according to the path cost;
dividing the candidate network paths with the same path cost into the same group after finishing the sorting based on the path bandwidth of the candidate network paths, and sorting the candidate network path set sorted according to the path cost from high to low in the group according to the path bandwidth.
6. The method according to claim 4, wherein the determining a plurality of final paths and path weights corresponding to each final path from the reordered candidate network path set based on a preset final path selection policy comprises:
selecting a strategy for preferentially selecting the candidate network paths with the path costs of the candidate network paths from low to high and the same path costs belonging to the same group, screening a plurality of target candidate network paths from the reordered candidate network path set, and calculating the sum of the path bandwidths of the screened target candidate network paths;
and if the sum of the path bandwidths is not less than the total required bandwidth and the number of the screened target candidate network paths is not more than the maximum required number, determining the screened target candidate network paths as final paths, and determining the ratio of the path bandwidth of each target candidate network path to the sum of the path bandwidths as the path weights corresponding to each final path.
7. The method of claim 6, further comprising, when the number of screened candidate network paths reaches the maximum required number and the sum of the path bandwidths is still smaller than the total required bandwidth, the step of:
deleting the first target candidate network path with the minimum path bandwidth from the screened target candidate network paths;
continuing to screen out a second target candidate network path from the reordered set of candidate network paths and replacing the first target candidate network path; wherein the sum of the path bandwidths after the second target candidate network path replaces the first target candidate network path is not less than the total required bandwidth.
8. The method of claim 7, further comprising:
when the sum of the path bandwidths after the second target candidate network path replaces the first target candidate network path is still smaller than the total required bandwidth, determining that the minimum selected bandwidth fails to perform final path screening;
recalculating and updating the minimum selection bandwidth, and re-determining the path weights corresponding to the plurality of final paths and each final path based on the updated minimum selection bandwidth until the sum of the path bandwidths of the plurality of re-determined target candidate network paths is not less than the total required bandwidth and the number of the paths of the re-determined target candidate network paths is not more than the maximum required number.
9. A traffic scheduling forwarding apparatus applied to an SDN controller in an SDN network, the apparatus comprising:
the acquiring module is used for acquiring the network topology of the SDN network, the total required bandwidth which is set by a user and used for forwarding the network traffic in the SDN network and the maximum required number of network paths used for load sharing of the total required bandwidth;
the determining module is used for determining the minimum selected bandwidth based on the total required bandwidth and the maximum required bandwidth, performing network path calculation on the obtained network topology by taking the determined minimum selected bandwidth as bandwidth constraint to obtain a plurality of network paths, and determining the obtained plurality of network paths as a candidate network path set; wherein the bandwidth of each candidate network path in the candidate network path set is not less than the minimum selected bandwidth;
the calculation module is used for executing final path selection calculation on the candidate network path set to obtain a plurality of final paths and path weights corresponding to the final paths;
and the forwarding module is used for distributing the network traffic in the SDN network to the plurality of final paths according to the path weight for traffic forwarding.
10. An electronic device comprises a communication interface, a processor, a memory and a bus, wherein the communication interface, the processor and the memory are connected with each other through the bus;
the memory has stored therein machine-readable instructions, the processor executing the method of any of claims 1 to 8 by calling the machine-readable instructions.
CN202011334576.3A 2020-11-24 2020-11-24 Traffic scheduling forwarding method and device Active CN112398733B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011334576.3A CN112398733B (en) 2020-11-24 2020-11-24 Traffic scheduling forwarding method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011334576.3A CN112398733B (en) 2020-11-24 2020-11-24 Traffic scheduling forwarding method and device

Publications (2)

Publication Number Publication Date
CN112398733A CN112398733A (en) 2021-02-23
CN112398733B true CN112398733B (en) 2022-03-25

Family

ID=74606259

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011334576.3A Active CN112398733B (en) 2020-11-24 2020-11-24 Traffic scheduling forwarding method and device

Country Status (1)

Country Link
CN (1) CN112398733B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114338557A (en) * 2021-12-30 2022-04-12 中国电信股份有限公司 Elastic large-bandwidth splitting method and device, electronic equipment and storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101009636A (en) * 2006-01-26 2007-08-01 华为技术有限公司 Dynamic management method for the multicast service members of the automatic switching optical network
CN103685054A (en) * 2013-12-18 2014-03-26 武汉烽火网络有限责任公司 Multipath load balancing method based on service awareness
CN107659505A (en) * 2017-09-27 2018-02-02 迈普通信技术股份有限公司 The route selecting method and SDN controllers of a kind of SDN
CN110838979A (en) * 2018-08-17 2020-02-25 中国电信股份有限公司 Flow forwarding control method, device, system and computer readable storage medium
CN110986979A (en) * 2019-11-27 2020-04-10 浙江工商大学 SDN multi-path routing planning method based on reinforcement learning

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9699116B2 (en) * 2015-01-26 2017-07-04 Telefonaktiebolaget L M Ericsson (Publ) SDN based interdomain and intradomain traffic engineering

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101009636A (en) * 2006-01-26 2007-08-01 华为技术有限公司 Dynamic management method for the multicast service members of the automatic switching optical network
CN103685054A (en) * 2013-12-18 2014-03-26 武汉烽火网络有限责任公司 Multipath load balancing method based on service awareness
CN107659505A (en) * 2017-09-27 2018-02-02 迈普通信技术股份有限公司 The route selecting method and SDN controllers of a kind of SDN
CN110838979A (en) * 2018-08-17 2020-02-25 中国电信股份有限公司 Flow forwarding control method, device, system and computer readable storage medium
CN110986979A (en) * 2019-11-27 2020-04-10 浙江工商大学 SDN multi-path routing planning method based on reinforcement learning

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
一种基于路径权值的流量映射方法;焦利彬等;《计算机与网络》;20200112(第01期);全文 *
基于SDN的胖树数据中心网络多路径负载均衡算法研究;付应辉等;《计算机应用与软件》;20170915(第09期);全文 *

Also Published As

Publication number Publication date
CN112398733A (en) 2021-02-23

Similar Documents

Publication Publication Date Title
US20230283568A1 (en) Scalable network slice based queuing using segment routing flexible algorithm
CN108260169B (en) QoS guarantee-based dynamic service function chain deployment method
WO2016141885A1 (en) Traffic engineering feeder for packet switched networks
CA2141353C (en) Method of on-line permanent virtual circuit routing
CN110661715B (en) Service path optimization method, device, equipment and readable storage medium
US9680665B2 (en) Apparatus and method for dynamic hybrid routing in SDN networks to avoid congestion and balance loads under changing traffic load
US8699491B2 (en) Network element with shared buffers
EP2613479A1 (en) Relay device
US20050177833A1 (en) Method and apparatus for reassigning objects to processing units
Bera et al. Traffic-aware dynamic controller assignment in SDN
US8023637B2 (en) Method and system for hierarchy based contact routing
EP3562097B1 (en) Establishment for table entry of equal-cost path
US20170295247A1 (en) Optimal dynamic cloud network control
CN108259346A (en) A kind of equivalent route item establishing method and device
CN112398733B (en) Traffic scheduling forwarding method and device
CN105282057B (en) Flow table updating method, controller and flow table analysis device
Pappu et al. Distributed queueing in scalable high performance routers
Huang et al. An efficient joint node and link mapping approach based on genetic algorithm for network virtualization
KR101611119B1 (en) Dynamic allocation of records to clusters in a ternary content addressable memory
US10374957B2 (en) Traffic control method and apparatus
CN109861908A (en) A kind of routing conversion and equipment
US20180241688A1 (en) Distributing and Rate Limiting Packets Among Multiple Paths in a Single Stage Switching Topology to a Reordering Node
CN109831346B (en) Method for deploying service function chain in network function virtualization environment
US10516596B2 (en) Information processing apparatus, method and non-transitory computer-readable storage medium
Chen et al. Study of rule placement schemes for minimizing TCAM space and effective bandwidth utilization in SDN

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant