CN107579923B - Link load balancing method of SDN and SDN controller - Google Patents

Link load balancing method of SDN and SDN controller Download PDF

Info

Publication number
CN107579923B
CN107579923B CN201710840759.4A CN201710840759A CN107579923B CN 107579923 B CN107579923 B CN 107579923B CN 201710840759 A CN201710840759 A CN 201710840759A CN 107579923 B CN107579923 B CN 107579923B
Authority
CN
China
Prior art keywords
port
forwarding
load
link
sdn controller
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
CN201710840759.4A
Other languages
Chinese (zh)
Other versions
CN107579923A (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.)
Maipu Communication Technology Co Ltd
Original Assignee
Maipu Communication Technology 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 Maipu Communication Technology Co Ltd filed Critical Maipu Communication Technology Co Ltd
Priority to CN201710840759.4A priority Critical patent/CN107579923B/en
Publication of CN107579923A publication Critical patent/CN107579923A/en
Application granted granted Critical
Publication of CN107579923B publication Critical patent/CN107579923B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

the embodiment of the invention discloses a link load balancing method of an SDN (software defined network) and an SDN controller, relates to the field of communication, and can fully utilize link resources of the SDN and improve the overall performance of the network. The method comprises the following steps: the SDN controller calculates a data link which can be used by the SDN according to link information reported by the switch, wherein the link information comprises link capacity; adding ports corresponding to data links with the same destination address into a load port group, and configuring the weight of a corresponding port in the load port group according to the link capacity of each data link, wherein the weight of the corresponding port is the port number; acquiring a first message of a data stream sent by a switch, and acquiring header information of the first message; carrying out Hash operation according to the header information to obtain a load balancing factor; selecting a forwarding port according to the load balancing factor and the weight of each port in the load port group; and generating a forwarding flow table according to the forwarding port, and sending the forwarding flow table to the switch.

Description

Link load balancing method of SDN and SDN controller
Technical Field
the embodiment of the invention relates to the field of communication, in particular to a link load balancing method of an SDN (Software Defined Networking) network and an SDN controller.
background
with the development of internet and network technology, application services and service types are increasingly abundant, the number of users and the requirements of the users on service quality are continuously increased, and higher requirements on the stability and reliability of the network are provided.
In the current network environment, there is generally a case where multiple links reach the same destination address at the same time. However, if the conventional routing technology is used, the data packet of the same destination IP address can only select one of the paths to complete forwarding, and other links are in a backup state or an invalid state, which results in link packet loss and low link utilization rate, and reduces network service quality. To solve this problem, the conventional network device uses an ECMP (Equal-Cost Multipath) Equal-Cost Routing algorithm, and in the case of multiple Equal-Cost links, multiple data links can be used simultaneously. The routing algorithm adopts a Hash mapping method to map each data flow to different outlet links of an ECMP group in the routing of the data flow to finish data forwarding.
In the new network architecture SDN network, multiple different links reach the same destination address, but no method for balancing multi-link load in the SDN network is defined. At present, ECMP algorithm is used in SDN network to realize load balancing and link backup of multiple links.
The ECMP algorithm comprises the following specific steps: calculating a Hash value according to header information (including fields of a source IP address, a destination IP address, an L4 port number and the like) in a message header, adopting the Hash value to identify a data stream, then taking a module of the number of members of the ECMP group according to the Hash value, and selecting one of a plurality of links to forward the data stream according to a calculation result. Although multiple links can be used for forwarding by using the ECMP algorithm, for a data flow, the header information in the header of the data flow determines that the corresponding egress link is also fixed, the ECMP algorithm is actually static routing, and when a link is already in a congested state, the routing result of the data flow may be the link, further exacerbating the possibility of network packet loss.
in summary, in a novel SDN network architecture, the ECMP algorithm does not consider factors such as load on a link and link capacity (maximum load), and when link bandwidths in an ECMP group are different, a problem may occur in link load balancing, in one ECMP group, some member links may have congestion and packet loss, and other link loads may be very light or even have no traffic, so that a network link cannot be fully utilized to forward data streams, and overall network performance is reduced.
disclosure of Invention
Embodiments of the present invention provide a link load balancing method for an SDN network and an SDN controller, which can fully utilize link resources of the SDN network and improve overall network performance.
In a first aspect, a load balancing method for an SDN network is provided, including:
The SDN controller calculates data links which can be used by the SDN network according to link information reported by the switch, wherein the link information contains link capacity; adding ports corresponding to data links with the same destination address into a load port group by the SDN controller, and configuring weights of corresponding ports in the load port group according to link capacity of each data link, wherein the weights of the corresponding ports are port numbers; the SDN controller acquires a first message of a data stream sent by a switch and acquires header information of the first message; the SDN controller performs Hash operation according to the header information to obtain a load balancing factor; the SDN controller selects a forwarding port according to the load balancing factor and the weight of each port in the load port group; and the SDN controller generates a forwarding flow table according to the forwarding port and sends the forwarding flow table to the switch.
In a second aspect, an SDN controller is provided, comprising:
The link management module is used for calculating a data link which can be used by the SDN according to link information reported by the switch, wherein the link information comprises link capacity;
The link management module is further configured to add ports corresponding to data links with the same destination address into a load port group, and configure weights of corresponding ports in the load port group according to link capacities of the data links, where the weights of the corresponding ports are port numbers;
The message processing module is used for acquiring a first message of a data stream sent by the switch and acquiring the head information of the first message;
The routing control module is used for carrying out Hash operation according to the head information acquired by the message processing module to acquire a load balancing factor;
the link management module is further used for selecting a forwarding port according to the load balancing factor acquired by the routing control module and the weight of each port in the load port group acquired by the link management module;
the routing control module is further configured to generate a forwarding flow table according to the forwarding port selected by the link management module, and send the forwarding flow table to the switch.
In the scheme, the SDN controller calculates a data link which can be used by the SDN according to link capacity-containing link information reported by the switch; then adding ports corresponding to data links with the same destination address into a load port group, and configuring the weight of the corresponding port in the load port group according to the link capacity of each data link, wherein the weight of the corresponding port is the port number; acquiring a first message of a data stream sent by a switch, and acquiring header information of the first message; carrying out Hash operation according to the header information to obtain a load balancing factor; selecting a forwarding port according to the load balancing factor and the weight of each port in the load port group; finally, a forwarding flow table is generated according to the forwarding port, and the forwarding flow table is sent to the switch, so that the switch can forward the data flow according to the forwarding flow table; because the link capacity of the data link is considered when the forwarding flow table is determined, the link resources of the SDN network can be fully utilized, and the overall performance of the network is improved.
Drawings
in order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings needed to be used in the description of the embodiments or the prior art will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art that other drawings can be obtained according to these drawings without creative efforts.
Fig. 1 is a block diagram of a communication system provided by an embodiment of the present invention;
Fig. 2 is a flowchart of a link load balancing method for an SDN network according to an embodiment of the present invention;
fig. 3 is a flowchart of a link load balancing method for an SDN network according to another embodiment of the present invention;
Fig. 4 is a structural diagram of an SDN controller according to an embodiment of the present invention;
Fig. 5 is a structural diagram of an SDN controller according to another embodiment of the present invention.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
The system architecture and the service scenario described in the embodiment of the present invention are for more clearly illustrating the technical solution of the embodiment of the present invention, and do not form a limitation on the technical solution provided in the embodiment of the present invention, and it can be known by those skilled in the art that the technical solution provided in the embodiment of the present invention is also applicable to similar technical problems along with the evolution of the system architecture and the appearance of a new service scenario.
The above method is described in detail with reference to specific examples. Referring to fig. 1, an embodiment of the present invention is applied to a communication system including: the communication system is applied to an SDN network, so that the embodiment of the application further comprises at least one SDN controller, wherein each SDN controller controls the forwarding of data streams of one or more switches; as shown in fig. 1, at least two data links (a data link one and a data link two) are established between the switches, and the switches are connected to the user network or the service network to implement data streaming between the user network and the service network.
Based on the communication system, an embodiment of the present invention provides a load balancing method for an SDN network, which is shown in fig. 2 and includes the following steps:
101. And the SDN controller calculates data links which can be used by the SDN network according to the link information reported by the switch, wherein the link information comprises link capacity.
Before step 101, a connection is established between an SDN controller and a switch by using an OpenFlow protocol interface, the SDN controller discovers a global SDN network topology by using an LLDP protocol, generates a visualized network topology structure, and calculates a data link usable by the SDN network according to link information reported by the switch based on the network topology structure, where the link information may further include information such as a port state.
102. the SDN controller adds ports corresponding to data links with the same destination address into a load port group, and configures weights of corresponding ports in the load port group according to link capacity of each data link, wherein the weights of the corresponding ports are port number.
In step 102, the SDN controller adds ports corresponding to data links with the same destination address into a port group of a load port, and members in the port group are configurable, and only 8 ports can be included at most, and only one port can be added into one port group. The method comprises the steps of configuring the weight of a corresponding port in a load port group according to the link capacity of a link, and expanding the load port group portGroup into an expanded load port group weightPortGroup based on the weight according to the weight of the port, wherein the number of the ports corresponding to a data link is added according to the ratio of the weight and is discretely added. Such as: one port group includes two ports, the corresponding link capacities are 1M and 2M, respectively, and the corresponding weight values are 1: 2. The details are shown in the following table:
basic load port group: comprises two ports: port1 and Port2, where a data link with a link capacity of 1M corresponds to Port1 and a data link with a link capacity of 2M corresponds to Port 2;
Port1 Port2
extended load port group WeightPortGroup: corresponding weight of 1:2, comprising three ports
Port1 Port2 Port2
This port combination makes port2 easier to select as an egress port. I.e., links with large link capacities, may have a greater chance of being utilized.
103. The SDN controller obtains a first message of a data flow sent by a switch and obtains header information of the first message.
Specifically, the switch encapsulates a header of a data flow that is not matched to the flow table in a packet _ in message, and sends the packet _ in message to the SDN controller, where the header information includes a source MAC, a destination MAC, a source IP address, a destination IP address, an L4 port, or any combination thereof, for example, the above elements form triplet or quintet information. In addition, before the header information of the first message is acquired, whether the first message of the data flow is a legal message or not can be detected, if so, the header information of the first message is analyzed, and if not, the first message of the data flow is discarded.
104. And the SDN controller performs Hash operation according to the header information to obtain a load balancing factor.
105. And the SDN controller selects a forwarding port according to the load balancing factor and the weight of each port in the load port group.
Specifically, the SDN controller uses, as an alternative forwarding port, a port obtained by calculation according to a load balancing factor and a weight sum of each port in the load port group, and detects an average remaining bandwidth of the alternative forwarding port within a predetermined time period; if the SDN controller determines that the average residual bandwidth is greater than or equal to a set bandwidth threshold, setting the alternative forwarding port as a forwarding port; otherwise, the average residual bandwidth of other ports in the load port group in a preset time length is detected, and the port with the maximum average residual bandwidth in the load port group is set as a forwarding port. For example: the SDN controller detects traffic statistics of the backup port1 in one or more detection periods through a traffic statistics function, and calculates an average remaining bandwidth of the backup port1 within a predetermined time period t. If the average residual bandwidth of the backup port1 is greater than or equal to the bandwidth threshold T, setting the backup port1 as a forwarding port of the data stream, if the average residual bandwidth of the backup port1 is less than the bandwidth threshold T, circularly traversing other ports in the port group, selecting a port with the largest average residual bandwidth at present, then comparing the port with the bandwidth threshold T, if the comparison result is met, setting the port as a forwarding port, and if the traversal is finished or no backup port meeting the condition exists, selecting the backup port with the largest average residual bandwidth at present as the forwarding port.
specifically, the SDN controller performs a modulo operation using a sum of the load balancing factor and the weight, selects a port number in the weightPortGroup according to a result, and uses the port as an alternative port. For example, when hash operation is performed on 5 tuples in the header of a packet to obtain a load balancing factor of one packet is 2, and when the capacities of links corresponding to port1 and port2 are 1M and 4M, respectively, the weight of a port in the weightPortGroup is 1:4, and the port contains 5 ports in total, and the ports are stored according to the port order (not specifically limited), as shown in the following table.
Port1 Port2 Port2 Port2 Port2
Performing modulus operation according to the sum of the load balancing factor and the weight of each port, wherein the result of selecting the port is as follows: 2mod5 is 2, then port2 is selected based on the memory address of each port in the weightPortGroup. In the embodiment of the present invention, according to the expansion of the port weight, the probability of acquiring the port2 is increased, and a link with a larger bandwidth is easier to use.
106. And the SDN controller generates a forwarding flow table according to the forwarding port and sends the forwarding flow table to the switch.
The SDN controller encapsulates the forwarding flow table in a packet _ out message according to the forwarding port, sends the packet _ out message to the switch, and the switch writes the forwarding flow table translation into the hardware resource and forwards the data flow according to the indicated action of the forwarding flow table.
In the scheme, the SDN controller calculates a data link which can be used by the SDN according to link capacity-containing link information reported by the switch; then adding ports corresponding to data links with the same destination address into a load port group, and configuring the weight of the corresponding port in the load port group according to the link capacity of each data link, wherein the weight of the corresponding port is the port number; acquiring a first message of a data stream sent by a switch, and acquiring header information of the first message; carrying out Hash (Hash) operation according to the head information to obtain a load balancing factor; selecting a forwarding port according to the load balancing factor and the weight of each port in the load port group; finally, a forwarding flow table is generated according to the forwarding port, and the forwarding flow table is sent to the switch, so that the switch can forward the data flow according to the forwarding flow table; because the link capacity of the data link is considered when the forwarding flow table is determined, the link resources of the SDN network can be fully utilized, and the overall performance of the network is improved.
In another embodiment, referring to fig. 3, the method further includes step 107, monitoring, by the SDN controller, states of the ports in the load port group, and when it is determined that the state of any port is down, moving any port out of the load port group, and deleting a forwarding flow table corresponding to any port. Since the forwarding flow table corresponding to any port is deleted, when the switch receives the data flow that cannot be forwarded again, the SDN controller determines that the forwarding port needs to be reselected, and performs the steps after step 102. This avoids the impact of port status on network performance.
in an embodiment as shown in fig. 3, after step 106, a step 108 of monitoring, by the SDN controller, a packet loss rate of the forwarding port is further included; and when the packet loss rate of the forwarding port is determined to be greater than the packet loss rate threshold, reselecting the forwarding port, and deleting the forwarding flow table corresponding to the forwarding port. Packet loss statistics is carried out by monitoring the packet loss rate of the forwarding port within a period of time, so that the phenomenon that routing is recalculated due to burst flow, TCP disconnection is caused, and network performance is reduced is avoided. In step 108, in an exemplary scheme, the reselecting a forwarding port specifically includes: the SDN controller acquires the header information of the discarded message; carrying out Hash (Hash) operation according to the head information to obtain a new load balancing factor; and reselecting the forwarding port according to the new load balancing factor and the weight of each port in the load port group. Wherein the specific implementation of the process is similar to that of step 103-105 and is not described herein again.
An embodiment of the present invention illustrated with reference to fig. 4 provides an SDN controller comprising:
a link management module 41, configured to calculate, according to link information reported by a switch, a data link usable by the SDN network, where the link information includes link capacity;
the link management module 41 is further configured to add ports corresponding to data links with the same destination address into a load port group, and configure weights of corresponding ports in the load port group according to link capacities of the data links, where the weights of the corresponding ports are port numbers;
A message processing module 42, configured to obtain a first message of a data stream sent by a switch, and obtain header information of the first message;
A routing control module 43, configured to perform hash operation according to the header information obtained by the packet processing module 42 to obtain a load balancing factor;
the link management module 41 is further configured to select a forwarding port according to the load balancing factor obtained by the route control module 43 and the weight of each port in the load port group obtained by the link management module 41;
The routing control module 43 is further configured to generate a forwarding flow table according to the forwarding port selected by the link management module 41, and send the forwarding flow table to the switch.
Optionally, as shown in fig. 5, the SDN controller further includes: the link management module 41 is specifically configured to use a port obtained according to the load balancing factor and the weight sum of each port in the load port group as an alternative forwarding port, and detect an average remaining bandwidth of the alternative forwarding port within a predetermined time period; if the average residual bandwidth is determined to be larger than or equal to the set bandwidth threshold, setting the alternative forwarding port as a forwarding port; otherwise, detecting the average residual bandwidth of other ports in the load port group within a preset time length, and setting the port with the maximum average residual bandwidth in the load port group as a forwarding port.
optionally, the link management module 41 is further configured to monitor a state of each port in the load port group, and when it is determined that the state of any port is down, move the port out of the load port group, and the routing control module 43 is further configured to delete a forwarding flow table corresponding to the port.
Optionally, the SDN controller further includes: a traffic statistic module 44, configured to monitor a packet loss rate of the forwarding port; when it is determined that the packet loss rate of the forwarding port is greater than the packet loss rate threshold, the link management module 41 is configured to reselect the forwarding port, and the route control module is further configured to delete the forwarding flow table corresponding to the forwarding port.
in addition, the message processing module 42 is further configured to obtain header information of the discarded message; the routing control module 43 is further configured to perform a hash operation according to the header information of the discarded packet obtained by the packet processing module to obtain a new load balancing factor; the link management module 41 is further configured to reselect a forwarding port according to the new load balancing factor obtained by the routing control module and the weight of each port in the load port group.
In the scheme, the SDN controller calculates a data link which can be used by the SDN according to link capacity-containing link information reported by the switch; then adding ports corresponding to data links with the same destination address into a load port group, and configuring the weight of the corresponding port in the load port group according to the link capacity of each data link, wherein the weight of the corresponding port is the port number; acquiring a first message of a data stream sent by a switch, and acquiring header information of the first message; carrying out Hash operation according to the header information to obtain a load balancing factor; selecting a forwarding port according to the load balancing factor and the weight of each port in the load port group; finally, a forwarding flow table is generated according to the forwarding port, and the forwarding flow table is sent to the switch, so that the switch can forward the data flow according to the forwarding flow table; because the link capacity of the data link is considered when the forwarding flow table is determined, the link resources of the SDN network can be fully utilized, and the overall performance of the network is improved.
Additionally, a computer-readable medium (or media) is also provided, comprising computer-readable instructions that when executed perform the operations of the method in the above-described embodiments.
Additionally, a computer program product is also provided, comprising the above-described computer-readable medium (or media).
It should be understood that, in various embodiments of the present invention, the sequence numbers of the above-mentioned processes do not mean the execution sequence, and the execution sequence of each process should be determined by its function and inherent logic, and should not constitute any limitation on the implementation process of the embodiments of the present invention.
those of ordinary skill in the art will appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware or combinations of computer software and electronic hardware. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the implementation. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.
It is clear to those skilled in the art that, for convenience and brevity of description, the specific working processes of the above-described systems, apparatuses and units may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again.
in the several embodiments provided in the present application, it should be understood that the disclosed system, apparatus, and method may be implemented in other ways. For example, the above-described device embodiments are merely illustrative, and for example, the division of the units is only one logical functional division, and other divisions may be realized in practice, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
the units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
in addition, functional units in the embodiments of the present invention may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit.
The functions, if implemented in the form of software functional units and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present invention may be embodied in the form of a software product, which is stored in a storage medium and includes instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method according to the embodiments of the present invention. And the aforementioned storage medium includes: a U disk, a removable hard disk, a read-only memory (ROM), a Random Access Memory (RAM), a magnetic disk or an optical disk, and other various media capable of storing program codes.
The above description is only for the specific embodiments of the present invention, but the scope of the present invention is not limited thereto, and any person skilled in the art can easily conceive of the changes or substitutions within the technical scope of the present invention, and all the changes or substitutions should be covered within the scope of the present invention. Therefore, the protection scope of the present invention shall be subject to the protection scope of the appended claims.

Claims (10)

1. A load balancing method of an SDN network is characterized by comprising the following steps:
the SDN controller calculates data links which can be used by the SDN network according to link information reported by the switch, wherein the link information contains link capacity;
Adding ports corresponding to data links with the same destination address into a load port group by the SDN controller, configuring the weight of a corresponding port in the load port group according to the link capacity of each data link, and configuring the port number of a corresponding port in the load port group according to the weight of the corresponding port in the load port group;
The SDN controller acquires a first message of a data stream sent by a switch and acquires header information of the first message;
the SDN controller performs Hash operation according to the header information to obtain a load balancing factor;
The SDN controller selects a forwarding port according to the load balancing factor and the weight of each port in the load port group;
And the SDN controller generates a forwarding flow table according to the forwarding port and sends the forwarding flow table to the switch.
2. the method of claim 1, wherein the SDN controller selects a forwarding port according to the load balancing factor and a weight of each port in the load port group, and specifically further comprises:
the SDN controller takes a port obtained by calculation according to the load balancing factor and the weight sum of each port in the load port group as an alternative forwarding port, and detects the average residual bandwidth of the alternative forwarding port within a preset time;
if the SDN controller determines that the average residual bandwidth is greater than or equal to a set bandwidth threshold, setting the alternative forwarding port as a forwarding port; otherwise, detecting the average residual bandwidth of other ports in the load port group within a preset time length, and setting the port with the maximum average residual bandwidth in the load port group as a forwarding port.
3. the method of claim 1, wherein the SDN controller is further configured to monitor a state of each port in the load port group, and when determining that the state of any port is down, move the port out of the load port group, and delete a forwarding flow table corresponding to the port.
4. The method of claim 1, further comprising:
the SDN controller monitors the packet loss rate of the forwarding port;
and when the packet loss rate of the forwarding port is determined to be greater than the packet loss rate threshold, reselecting the forwarding port, and deleting the forwarding flow table corresponding to the forwarding port.
5. the method according to claim 4, wherein the reselecting a forwarding port specifically comprises:
the SDN controller acquires header information of a discarded message;
The SDN controller performs Hash operation according to the header information to obtain a new load balancing factor;
and the SDN controller reselects a forwarding port according to the new load balancing factor and the weight of each port in the load port group.
6. An SDN controller, comprising:
the link management module is used for calculating a data link which can be used by the SDN according to link information reported by the switch, wherein the link information comprises link capacity;
The link management module is further configured to add ports corresponding to data links with the same destination address into a load port group, configure weights of corresponding ports in the load port group according to link capacities of the data links, and configure the number of ports corresponding to the load port group according to the weights of the corresponding ports in the load port group;
the message processing module is used for acquiring a first message of a data stream sent by the switch and acquiring the head information of the first message;
The routing control module is used for carrying out Hash operation according to the head information acquired by the message processing module to acquire a load balancing factor;
The link management module is further used for selecting a forwarding port according to the load balancing factor acquired by the routing control module and the weight of each port in the load port group acquired by the link management module;
the routing control module is further configured to generate a forwarding flow table according to the forwarding port selected by the link management module, and send the forwarding flow table to the switch.
7. The SDN controller of claim 6, wherein the link management module is specifically configured to use a port calculated according to the load balancing factor and a weight sum of each port in the load port group as an alternative forwarding port, and detect an average remaining bandwidth of the alternative forwarding port within a predetermined time period; if the average residual bandwidth is determined to be larger than or equal to the set bandwidth threshold, setting the alternative forwarding port as a forwarding port; otherwise, detecting the average residual bandwidth of other ports in the load port group within a preset time length, and setting the port with the maximum average residual bandwidth in the load port group as a forwarding port.
8. The SDN controller of claim 6,
The link management module is configured to monitor a state of each port in the load port group, move any port out of the load port group when the state of any port is determined to be down, and delete a forwarding flow table corresponding to any port.
9. the SDN controller of claim 6, further comprising: a flow statistics module;
The traffic statistic module is used for monitoring the packet loss rate of the forwarding port; when determining that the packet loss rate of the forwarding port is greater than the packet loss rate threshold, the link management module is configured to reselect the forwarding port, and the routing control module is further configured to delete the forwarding flow table corresponding to the forwarding port.
10. the SDN controller of claim 9, wherein the packet processing module is further configured to obtain header information of a discarded packet;
The routing control module is further configured to perform hash operation according to the header information of the discarded packet obtained by the packet processing module to obtain a new load balancing factor;
the link management module is further configured to reselect a forwarding port according to the new load balancing factor obtained by the routing control module and the weight of each port in the load port group.
CN201710840759.4A 2017-09-18 2017-09-18 Link load balancing method of SDN and SDN controller Active CN107579923B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710840759.4A CN107579923B (en) 2017-09-18 2017-09-18 Link load balancing method of SDN and SDN controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710840759.4A CN107579923B (en) 2017-09-18 2017-09-18 Link load balancing method of SDN and SDN controller

Publications (2)

Publication Number Publication Date
CN107579923A CN107579923A (en) 2018-01-12
CN107579923B true CN107579923B (en) 2019-12-10

Family

ID=61033882

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710840759.4A Active CN107579923B (en) 2017-09-18 2017-09-18 Link load balancing method of SDN and SDN controller

Country Status (1)

Country Link
CN (1) CN107579923B (en)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108600055B (en) * 2018-07-26 2020-10-16 新华三技术有限公司合肥分公司 Data forwarding method and device and routing equipment
CN109347623B (en) * 2018-10-18 2022-09-09 苏州盛科通信股份有限公司 Method and device for session maintenance in link load balancing application
CN109672625A (en) * 2018-11-07 2019-04-23 中国科学院信息工程研究所 A kind of the low orbit satellite feed load-balancing method and system of optimization time delay
CN109714259B (en) * 2018-12-27 2021-04-27 新华三技术有限公司 Traffic processing method and device
CN109547341B (en) * 2019-01-04 2021-12-21 烽火通信科技股份有限公司 Load sharing method and system for link aggregation
CN111726299B (en) * 2019-03-18 2023-05-09 华为技术有限公司 Flow balancing method and device
CN110399137B (en) * 2019-06-18 2024-05-31 平安科技(深圳)有限公司 Port deletion method, device, equipment and storage medium for multi-live load balancing application
JP7351595B2 (en) * 2019-06-25 2023-09-27 ホアウェイ・テクノロジーズ・カンパニー・リミテッド Device and method for improving load balancing with limited forwarding rules in software-defined networks
CN110430143A (en) * 2019-08-23 2019-11-08 锐捷网络股份有限公司 The load-balancing method and device of the network equipment
CN111277510A (en) * 2020-01-22 2020-06-12 普联技术有限公司 Link load balancing method and device, controller and gateway equipment
BR112022015508A2 (en) * 2020-02-07 2022-10-11 Huawei Tech Co Ltd METHOD AND DEVICE FOR DETERMINING THE LINK FOR SERVICE FLOW FORWARDING
CN112565102B (en) * 2020-11-30 2022-11-11 锐捷网络股份有限公司 Load balancing method, device, equipment and medium
CN113542051B (en) * 2021-05-27 2022-08-30 贵州电网有限责任公司 Monitoring flow load balancing method based on software defined network
CN113422731A (en) * 2021-06-22 2021-09-21 恒安嘉新(北京)科技股份公司 Load balance output method and device, convergence and shunt equipment and medium
CN114448879B (en) * 2022-04-07 2022-07-22 南京邮电大学 SDN-based data center network flow scheduling method

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104301246A (en) * 2014-10-27 2015-01-21 盛科网络(苏州)有限公司 Large-flow load balanced forwarding method and device based on SDN
CN104767694A (en) * 2015-04-08 2015-07-08 大连理工大学 Data stream forwarding method facing Fat-Tree data center network architecture
CN105610709A (en) * 2016-02-03 2016-05-25 西安电子科技大学 SDN-based high-volume data stream load balancing system and method
CN106330545A (en) * 2016-08-26 2017-01-11 电子科技大学 Seismic interpretation system and data transmission scheduling method based on system
CN106936705A (en) * 2017-03-06 2017-07-07 重庆邮电大学 A kind of software defined network route selection method
CN107094115A (en) * 2017-05-19 2017-08-25 重庆邮电大学 A kind of ant group optimization Load Balance Routing Algorithms based on SDN

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9413485B2 (en) * 2013-06-24 2016-08-09 Nec Corporation Network followed by compute load balancing procedure for embedding cloud services in software-defined flexible-grid optical transport networks
US9503374B2 (en) * 2014-01-22 2016-11-22 Futurewei Technologies, Inc. Apparatus for hybrid routing in SDN networks to avoid congestion and achieve good load balancing under fluctuating traffic load

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104301246A (en) * 2014-10-27 2015-01-21 盛科网络(苏州)有限公司 Large-flow load balanced forwarding method and device based on SDN
CN104767694A (en) * 2015-04-08 2015-07-08 大连理工大学 Data stream forwarding method facing Fat-Tree data center network architecture
CN105610709A (en) * 2016-02-03 2016-05-25 西安电子科技大学 SDN-based high-volume data stream load balancing system and method
CN106330545A (en) * 2016-08-26 2017-01-11 电子科技大学 Seismic interpretation system and data transmission scheduling method based on system
CN106936705A (en) * 2017-03-06 2017-07-07 重庆邮电大学 A kind of software defined network route selection method
CN107094115A (en) * 2017-05-19 2017-08-25 重庆邮电大学 A kind of ant group optimization Load Balance Routing Algorithms based on SDN

Also Published As

Publication number Publication date
CN107579923A (en) 2018-01-12

Similar Documents

Publication Publication Date Title
CN107579923B (en) Link load balancing method of SDN and SDN controller
US10547541B2 (en) Route determining method, and corresponding apparatus and system
US10454806B2 (en) SDN controller, data center system, and routing connection method
US9397934B2 (en) Methods for packet forwarding though a communication link of a distributed link aggregation group using mesh tagging
US9049131B2 (en) Network system and load balancing method
US10116555B2 (en) Switch mode switching method, device, and system
CN106713182B (en) Method and device for processing flow table
Kanagevlu et al. SDN controlled local re-routing to reduce congestion in cloud data center
US9807000B2 (en) Method for constituting hybrid network spanning trees, method of redundancy, and control system thereof
KR20130109132A (en) Automated traffic engineering for multi-protocol label switching(mpls) with link utilization as feedback into the tie-breaking mechanism
CN108337179B (en) Link flow control method and device
CN108476170B (en) Bidirectional constraint path searching method and device
US20140036726A1 (en) Network, data forwarding node, communication method, and program
Xue et al. Fault tolerant routing in mobile ad hoc networks
CN105745874B (en) Method and device for determining service function path
Lei et al. Multipath routing in SDN-based data center networks
EP2903347A1 (en) Network, network node, distribution method, and network node program
US20150334032A1 (en) Control apparatus, communication system, communication node control method, and program
CN111740917A (en) Message forwarding method and device
JP5951147B2 (en) Information processing apparatus, information processing method, and program
US11012347B2 (en) Communication apparatus, communication control method, and communication system for multilink communication simultaneously using a plurality of communication paths
Mon et al. Flow path computing in software defined networking
CN107113244B (en) Data forwarding method, device and system
Vo et al. Permutation routing for increased robustness in IP networks
US11876680B2 (en) Method and apparatus for determining link for forwarding service flow

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
CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: 610041 15-24 floor, 1 1 Tianfu street, Chengdu high tech Zone, Sichuan

Patentee after: MAIPU COMMUNICATION TECHNOLOGY Co.,Ltd.

Address before: 610041 16 Hing Hing Road, Chengdu high tech Development Zone, Sichuan, China 16

Patentee before: MAIPU COMMUNICATION TECHNOLOGY Co.,Ltd.

CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: 610041 nine Xing Xing Road 16, hi tech Zone, Sichuan, Chengdu

Patentee after: MAIPU COMMUNICATION TECHNOLOGY Co.,Ltd.

Address before: 610041 15-24 floor, 1 1 Tianfu street, Chengdu high tech Zone, Sichuan

Patentee before: MAIPU COMMUNICATION TECHNOLOGY Co.,Ltd.