WO2015131699A1 - Procédé et dispositif d'équilibrage de charge - Google Patents

Procédé et dispositif d'équilibrage de charge Download PDF

Info

Publication number
WO2015131699A1
WO2015131699A1 PCT/CN2015/071446 CN2015071446W WO2015131699A1 WO 2015131699 A1 WO2015131699 A1 WO 2015131699A1 CN 2015071446 W CN2015071446 W CN 2015071446W WO 2015131699 A1 WO2015131699 A1 WO 2015131699A1
Authority
WO
WIPO (PCT)
Prior art keywords
controller
switch
data
switches
packet
Prior art date
Application number
PCT/CN2015/071446
Other languages
English (en)
Chinese (zh)
Inventor
喻敬海
张道伟
吴少勇
Original Assignee
中兴通讯股份有限公司
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 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2015131699A1 publication Critical patent/WO2015131699A1/fr

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/645Splitting route computation layer and forwarding layer, e.g. routing according to path computational element [PCE] or based on OpenFlow functionality

Definitions

  • the present invention relates to the field of communications, and in particular to a method and apparatus for load balancing.
  • SDN Software Defined Networks
  • OF Openflow
  • the SDN network consists of three parts: SDN controller, secure channel and SDN switch.
  • the SDN controller is a network control software designed according to the OpenFlow protocol, and is configured to manage data streams, configure network devices, formulate flow tables, and undertake communication between network services and network devices. There can be multiple controllers in a domain, but generally only one controller is in control and management state.
  • the SDN switch is controlled by the SDN controller, and the flow table defined by the controller is saved, and the flow table entry is queried to determine the processing mode of the packet, including forwarding, caching, submitting the controller, or discarding.
  • the secure channel under the OpenFlow protocol is used to connect the switch to the controller for communication.
  • each controller controls a certain number of switches, if the number of packet-in packets reported by a controller controlled by a controller is excessive or the number of flow tables delivered and the amount of OF information exchanged with the switch Too large will cause the controller to generate a large control flow at a certain time. This situation will make the controller become the bottleneck of the entire controller cluster to handle network traffic, affecting the performance of the entire controller cluster.
  • the switch on a controller reports a large number of packet-in packets (a special packet of the OpenFlow protocol, which is used to match the traffic on the fail or specify the matching traffic. , sent to the controller) or other OF (OpenFlow) messages, the controller may also send a large number of flow tables, while other controllers only receive a small number of packet-in messages and other OF messages, at this time the controller The number of flow tables issued is not large, which may cause some controllers to control overload, and some controllers are far from reaching control load saturation. In order to alleviate this situation, it is necessary to adjust the switches that are controlled by each controller at all times to realize load balancing of the controller at all times and improve the control performance of the entire controller cluster.
  • packet-in packets a special packet of the OpenFlow protocol, which is used to match the traffic on the fail or specify the matching traffic.
  • OF (OpenFlow) messages the controller may also send a large number of flow tables, while other controllers only receive a small number of packet-in messages and other OF messages, at this time the
  • the related technology only proposes to increase the shared storage area between multiple controllers to realize inter-controller communication, and does not implement controller load balancing. However, when the network traffic fluctuates greatly, the problem of uneven controller load has not been solved. .
  • the embodiment of the invention provides a load balancing method and device to solve at least the problem of uneven load of the cluster SDN controller in the related art.
  • a method for load balancing comprising: collecting data of characterization parameters of a plurality of switches controlled by each of the SDN controllers of the cluster software-defined network SDN controller; Determining, by the data of the characterization parameter of the switch, the data of the characterization parameter of the plurality of switches at a next moment; according to the estimated data of the plurality of switches at the next moment, the cluster SDN Each SDN controller of the controller performs load balancing.
  • the characterization parameter includes at least one of the following: a packet-in packet, a flow table number, and other OF messages.
  • estimating data of the characterization parameter of the plurality of switches at a next moment includes: estimating data of the characterization parameter of the plurality of switches at a next moment using a least squares method.
  • n is the number of times in the current statistical period
  • X is the timestamp corresponding to the time
  • Y is the value of the characterization parameter of each switch.
  • the data of the characterization parameter includes sample historical data of the characterization parameter and data of the characterization parameter at each moment in the current statistical period; and according to the data of the characterization parameters of the plurality of switches, the prediction is performed.
  • the data of the characterization parameters of the switches at the next moment includes: characterization according to the plurality of switches The sample historical data of the parameter and the data of the characterization parameter at each moment in the current statistical period, and the data of the characterization parameter of the plurality of switches at the next moment are estimated.
  • estimating data of the characterization parameter of the multiple switches at a next moment includes: estimating the characterization of the multiple switches according to data of the characterization parameters at each moment in a current statistical period The data of the parameter at the next moment; the sample historical data of the characterization parameter is averaged with the estimated data of the characterization parameter at the next moment.
  • performing load balancing on each SDN controller of the cluster SDN controller according to the estimated data of the plurality of switches at the next moment includes: estimating the multiple Calculating, by the data of the switch at the next moment, the ratio of the estimated value of each of the controllers to the historical maximum value of the corresponding parameter P YHi : calculating the total pre-control cluster for the characterization parameter The ratio of the estimate to the total maximum value P YHv : Compare P YHi with P YHv and adjust the controller controlled by the controller according to the result of the comparison.
  • P YHi is calculated by the following formula:
  • n is the number of switches managed by each controller
  • Y inext is an estimated value of the characterization parameters of each switch managed by the controller
  • H iymax is a historical maximum value of each characterization parameter of each switch managed by the controller
  • P YHv is calculated by the following formula:
  • m represents the number of controllers
  • n represents the number of switches controlled by each controller
  • Y inext is an estimated value of the characterization parameters of each switch managed by the controller
  • H iymax is the managed switch controller for the Characterizes the historical maximum of the parameter.
  • comparing P YHi with P YHv and adjusting the controller controlled by the controller according to the comparison result includes: setting a scaling factor for a plurality of different characterization parameters, wherein the scaling coefficient is set to represent each characterization parameter The proportion of the comparison process.
  • comparing P YHi with P YHv and adjusting the controller controlled by the controller according to the comparison result includes: for each controller, when the P YHi is greater than P YHv , calculating the switch that should be called, and according to The calculation result calls the switch; and/or, for each controller, when its P YHi is less than P YHv , the switch to be transferred is calculated, and is transferred to the switch according to the calculation result.
  • the switch that is to be input is calculated, and the switch is transferred according to the calculation result, including: calculating for the controller Set to B yisize and get B isize according to the previously set scale factor, where the scale factor is set to represent the proportion of the plurality of characterization parameters in the comparison process; the controller is arranged in descending order according to the value of B isize , and then Transfer to the switch according to the controller load.
  • the switch is sequentially loaded according to the controller load, and the switch is arranged in descending order according to the value of B inext of each switch to be transferred in the pool to be transferred, and the switch queue is set to be stored.
  • a load balancing apparatus comprising: a collection module configured to collect data of characterization parameters of a plurality of switches controlled by each of the SDN controllers of the cluster software defined network SDN controller And an estimation module configured to estimate data of the characterization parameter of the plurality of switches at a next moment according to data of the characterization parameters of the plurality of switches; and the load balancing module is configured to be configured according to the prediction The characterization parameters of the switches are load balanced at each of the SDN controllers of the cluster SDN controller at the next time.
  • the clustering software is used to define data of the characterization parameters of the plurality of switches controlled by each of the SDN controllers of the network SDN controller; and the plurality of switches are estimated according to the data of the characterization parameters of the plurality of switches. And characterizing the data of the parameter at the next moment; performing load balancing on each SDN controller of the cluster SDN controller according to the estimated data of the plurality of switches at the next moment.
  • FIG. 1 is a flow chart of a method of load balancing according to an embodiment of the present invention
  • FIG. 2 is a structural diagram of a device for load balancing according to an embodiment of the present invention
  • FIG. 3 is a block diagram showing the structure of an SDN controller in accordance with a preferred embodiment of the present invention.
  • FIG. 4 is a flow diagram of tuning a switch into a controller in accordance with a preferred embodiment of the present invention.
  • FIG. 5 is a flowchart of cluster controller load balancing scheduling according to a preferred embodiment of the present invention.
  • FIG. 6 is a schematic diagram of allocation of an intra-domain controller and a switch according to a preferred embodiment 1 of the present invention
  • Figure 7 is a diagram showing the allocation of intra-domain cascade controllers and switches in accordance with a preferred embodiment 3 of the present invention.
  • the related technology only proposes to increase the shared storage area between multiple controllers to realize inter-controller communication, and does not implement controller load balancing.
  • controller load balancing when the network traffic fluctuates greatly, the problem of uneven controller load has not been solved.
  • the problem is solved by the method of network traffic prediction and scheduling each controller to control the switch.
  • FIG. 1 is a flowchart of a method for load balancing according to an embodiment of the present invention. As shown in FIG. 1, the method includes the following steps:
  • Step S102 collecting data of characterization parameters of multiple switches managed by each SDN controller of the cluster software defined network (SDN) controller;
  • Step S104 Estimating data of the characterization parameter of the multiple switches at a next moment according to data of the characterization parameters of the multiple switches;
  • Step S106 Perform load balancing on each SDN controller of the cluster SDN controller according to the estimated data of the plurality of switches at the next moment.
  • the data of the characterization parameters of the plurality of switches controlled by each SDN controller are collected through the foregoing steps, and the data at the next moment is estimated according to the collected data, and then according to the estimated characterization parameters.
  • the data of one moment is load-balanced to each SDN controller, thereby realizing the load balancing of the cluster SDN controller, solving the problem of uneven load of the cluster SDN controller in the related technology, and performing load balancing through the estimated data. It is highly achievable and improves the resource utilization efficiency of the cluster SDN controller.
  • the characterization parameter includes at least one of the following: a packet-in packet, a flow table number, and other OF messages.
  • estimating data of the characterization parameter of the plurality of switches at a next moment includes: estimating data of the characterization parameter of the plurality of switches at a next moment using a least squares method.
  • n is the number of times in the current statistical period
  • X is the timestamp corresponding to the time
  • Y is the value of the characterization parameter of each switch.
  • the data of the characterization parameter includes sample historical data of the characterization parameter and data of the characterization parameter at each moment in the current statistical period; and according to the data of the characterization parameters of the plurality of switches, the prediction is performed.
  • the data of the characterization parameters of the switches at the next moment includes: estimating the plurality of switches according to the sample historical data of the characterization parameters of the plurality of switches and the data of the characterization parameters at each moment in the current statistical period The data characterizing the parameter at the next moment.
  • estimating data of the characterization parameter of the multiple switches at a next moment includes: estimating the characterization of the multiple switches according to data of the characterization parameters at each moment in a current statistical period Reference Counting the data at the next moment; summing the sample historical data of the characterization parameters with the estimated data of the characterization parameters at the next moment.
  • performing load balancing on each SDN controller of the cluster SDN controller according to the estimated data of the plurality of switches at the next moment includes: estimating the multiple Calculating, by the data of the switch at the next moment, the ratio of the estimated value of each of the controllers to the historical maximum value of the corresponding parameter P YHi : calculating the total pre-control cluster for the characterization parameter The ratio of the estimate to the total maximum value P YHv : Compare P YHi with P YHv and adjust the controller controlled by the controller according to the result of the comparison.
  • P YHi is calculated by the following formula: Where n is the number of switches managed by each controller, and Y inext is an estimated value of the characterization parameters of each switch managed by the controller, and H iymax is a historical maximum value of each characterization parameter of each switch managed by the controller; and / or,
  • P YHv is calculated by the following formula: Wherein m represents the number of controllers, n represents the number of switches controlled by each controller, and Y inext is an estimated value of the characteristic parameters of each switch managed by the controller, and H iymax is the switch managed by the controller. Characterizes the historical maximum of the parameter. Among them, Y inext is the result y obtained by the least squares mathematical model.
  • comparing P YHi with P YHv and adjusting the controller controlled by the controller according to the comparison result includes: setting a scaling factor for a plurality of different characterization parameters, wherein the scaling coefficient is set to represent each characterization parameter The proportion of the comparison process.
  • comparing P YHi with P YHv and adjusting the controller controlled by the controller according to the comparison result includes: for each controller, when the P YHi is greater than P YHv , calculating the switch that should be called, and according to The calculation result calls the switch; and/or, for each controller, when its P YHi is less than P YHv , the switch to be transferred is calculated, and is transferred to the switch according to the calculation result.
  • the switch that is to be input is calculated, and the switch is transferred according to the calculation result, including: calculating for the controller Set to B yisize and get B isize according to the previously set scale factor, where the scale factor is set to represent the proportion of the plurality of characterization parameters in the comparison process; the controller is arranged in descending order according to the value of B isize , and then Transfer to the switch according to the controller load.
  • the switch is sequentially loaded according to the controller load, and the switch is arranged in descending order according to the value of B inext of each switch to be transferred in the pool to be transferred, and the switch queue is set to be stored.
  • a device for load balancing is also provided in the embodiment, and the device is configured to implement the foregoing embodiments and preferred embodiments, and details are not described herein.
  • the term "module” may implement a combination of software and/or hardware of a predetermined function.
  • the apparatus described in the following embodiments is preferably implemented in software, hardware, or a combination of software and hardware, is also possible and contemplated.
  • FIG. 2 is a structural diagram of a device for load balancing according to an embodiment of the present invention. As shown in FIG. 2, the device includes: a collection module 22, an estimation module 24, and a load balancing module 26. The following describes each module in detail. :
  • the collecting module 22 is configured to collect data of the characterization parameters of the plurality of switches that are controlled by each of the SDN controllers of the cluster software-defined network SDN controller;
  • the estimating module 24 is connected to the collecting module 22, and is configured to be configured according to the multiple Determining, by the data of the characterization parameter of the switch, the data of the characterization parameter of the plurality of switches at a next moment;
  • the load balancing module 26 is connected to the estimation module 24 and configured to be based on the estimated plurality of switches
  • the characterization parameters are data of the next moment, and load balancing is performed on each SDN controller of the cluster SDN controller.
  • the following is a detailed description of the preferred embodiment.
  • the following preferred embodiments mainly describe the three types of the packet-in packet number, the outgoing flow table, and other OF information.
  • the preferred embodiment combines the foregoing. Embodiments and preferred embodiments thereof.
  • a method and apparatus for implementing load balancing optimization of an SDN controller are provided, that is, in a distributed SDN network controller cluster scenario, a packet-in packet received by the controller is proposed.
  • the number and the downstream flow table and other OF information are reasonably predicted and optimized, so that each controller achieves load balancing.
  • the preferred embodiment is mainly applied to an SDN network domain.
  • the packet_in message The number of flow tables and other OF messages are predicted by the data, and then averaged with the corresponding historical statistics to perform data synthesis, as a basis for adjusting the controller load, and dynamically adjusting the controllers controlled by the controller.
  • the preferred embodiment includes the following two parts, namely, adding a cluster controller scheduling device in the SDN controller and detailed implementation steps:
  • FIG. 3 is a structural block diagram of an SDN controller according to a preferred embodiment of the present invention. As shown in FIG. 3, a cluster controller scheduling device newly added to the SDN controller mainly includes the following four internal modules:
  • the information collection module collects packet-in packets, flow table numbers, and sample history data of other OF messages according to the sampling time period, or collects packet-in packets, flow table numbers, and other current switches of each switch. OF message data.
  • the time period may be a time stamp of the same time period of the week or a time stamp of the same time period of the same day in a few weeks, and is determined according to the actual use scenario.
  • Data processing module The data is comprehensively processed according to the packet-in, the number of flow tables, and other OF information statistics of each switch collected to obtain the desired data.
  • Dispatching module According to the comparison between the load pressure of each controller and the load pressure of the cluster controller obtained by the data processing module, the switches controlled by each controller are adjusted, so that the load pressure of each controller is balanced.
  • the slave-master (master-slave mechanism, also can be written as master-slave) mechanism is used to exchange the roles of each controller for the management switch.
  • the cluster controller scheduling starts: the controller sets the historical maximum value of the packet-in number to H ipmax , the historical maximum value of the flow table number is H ifmax and the historical maximum value of other OF messages is H immax , and are respectively set to 0. .
  • S2 Collecting sample information by using the information collection module in the cluster controller, which may be sample data of the same time period in a week, or sample data of the same time period on the same day in a few weeks, and determining sample data according to the actual application scenario. Collecting sample data information is accomplished by the following substeps:
  • F i includes: controller number, switch label, switch flow table statistics, time stamp
  • P i includes: controller number, switch label, packet-in packet number sent by the switch, time stamp
  • M i includes: controller Number, switch label, switch and controller other than the packet_in OF information, timestamp.
  • the timestamp refers to the moment when the response message of all the management switches is collected. All information will be used as a historical reference or timely forecast.
  • the super node uses the data processing module in the controller to predict the number of packet-in packets reported by the switches under each controller in the next time interval, the number of flow tables sent by the controller, and others according to the mathematical model of the least squares method.
  • the OF message statistics are implemented by step S4, step S5, and step S6, respectively:
  • the super node reads the packet-in packet statistics reported by each controller from the cluster distributed shared storage system, and implements the following substeps:
  • S4.2 If the number of complete packet-in packet statistics information of the timestamp is less than N, the S2 is cyclically executed until the packet-in packet statistics information set of the N timestamps is obtained.
  • the super node obtains information statistics P 1 , P 2 , ..., P N of the packet-in packets of the N time stamps for each switch.
  • P i ⁇ controller number, switch number, timestamp X, packet-in message statistics Y ⁇ .
  • the regression analysis is used to calculate the packet-in packet statistics P inext of each switch under the control of the next timestamp .
  • the calculation formula is as follows:
  • n represents the number of sample data
  • X is equivalent to the timestamp
  • Y is the statistical value of the packet-in packet number of each switch
  • the super node reads the flow table statistics reported by each controller from the cluster distributed shared storage system, and implements the following substeps:
  • N a number of timestamps N
  • the complete flow table statistics information set refers to flows on all different switches of the same controller with the same timestamp. Table statistics and timestamps are recent;
  • Equation 1-1 For each switch managed by each controller in the cluster controller, use the least squares mathematical model (see Equation 1-1) to calculate the flow table statistics of each switch with the next timestamp by regression analysis. Inext , the formula is shown in Equation 1-2 and Equation 1-3.
  • the super node reads, from the cluster distributed shared storage system, other OF interaction information (hereinafter referred to as other OF information) reported by each controller except for the packet_in, which is implemented by the following substeps:
  • N determining the number of timestamps N, that is, a complete set of other OF information statistics that attempts to acquire N timestamps; the complete other OF information set refers to all the different switches and controllers of the same controller with the same timestamp. All OF interaction statistics except packet_in and the timestamp is the most recent;
  • Equation 1-1 For each switch managed by each controller in the cluster controller, use the least squares mathematical model (see Equation 1-1) to calculate and calculate other OF statistics of each switch of the next timestamp by regression analysis. Inext , the formula is shown in Equation 1-2 and Equation 1-3.
  • n is the number of switches managed by each controller. Then calculate the ratio of the total number of packet-in packets of the entire controller cluster to the total number of maximum packet-in packets, the ratio of the total estimated statistical flow table to the total maximum flow table statistics, and the total estimate.
  • the ratio of other OF message statistics to the total maximum OF message statistics is recorded as P PHv , P FHv and P MHv , namely:
  • n is the number of switches managed by each controller.
  • S8.3 is executed for each controller in descending order, and after execution is completed, S8.6 is executed.
  • the controllers that are controlled by the controller are arranged in ascending order to obtain a switch queue
  • S8.4.4 cumulatively calculate the total sum of B inext to be removed from the switch. If it is not greater than B osize , continue to execute S8.4.4, otherwise execute S8.4.5;
  • FIG. 4 is a flow chart of tuning a switch into a controller in accordance with a preferred embodiment of the present invention. The specific steps are shown in FIG.
  • S8.6 The controller uses an internal switching control module to reconstruct the corresponding switch to implement load balancing. This step is implemented by the following sub-steps:
  • S8.6.1 The supernode shall transfer each element in the switch pool. If the number of the transferred controller is not empty, transfer the switch command to the switch corresponding to the outgoing controller number and the number of the transferred controller and execute S8.6.2. Otherwise skip this element.
  • slave-master mechanism exchange implements switch scheduling; the slave-master mechanism exchange is set by the OpenFlow protocol, and is set to change the role of different controllers when controlling multiple controllers.
  • the preferred embodiment proposes a solution to the cluster controller load imbalance phenomenon.
  • the core idea of the solution is to use the mathematical model of the least squares method to packet-in packets, flow table numbers and other switches of each switch in the future time.
  • the OF message is predicted, and the historical data of the same time period is taken as a reference, and the estimated value is averaged, and then the statistical information of each controller is obtained according to the new average value, and the statistical information of the controller and the historical maximum value are obtained.
  • the ratio is compared with the load pressure value of the entire controller cluster. When the network traffic jitter is large, the number of switches controlled by each controller is adjusted in time, so that all the controllers receive the packet-in packet and the delivered flow table.
  • FIG. 5 is a flowchart of a cluster controller load balancing scheduling according to a preferred embodiment of the present invention. The entire processing flow is shown in FIG. 5.
  • FIG. 6 is a schematic diagram of the allocation of controllers and switches in the domain according to the preferred embodiment 1 of the present invention.
  • the SDN controller nodes A, B, and C are distributed in the domain.
  • the switch controlled by the A controller node includes sw1, sw2, and sw3;
  • the switch controlled by the B controller node includes sw4 and sw5;
  • the switch controlled by the C controller node includes sw6, sw7, and sw8; combined with Table 1, Table 2, and Table 3, Tables 4, 5, 6, and 7 describe the preferred embodiment in detail.
  • the cluster controller scheduling starts: the controller sets the historical maximum value of the packet-in number to H ipmax , the historical maximum value of the flow table number is H ifmax and the historical maximum value of other OF messages is H immax , and are respectively set to 0. .
  • S2 Collecting sample information by using an information collection module in the cluster controller.
  • the sample data collected in this example is statistical information of different timestamps of a time period on a certain day of the week. At the same time, the actual measurement information in the period of the previous week is collected as a reference, so that the estimated information is closer to the actual value.
  • Collecting sample data information is accomplished by the following substeps:
  • F i includes: controller number, switch label, switch flow table statistics, time stamp
  • P i includes: controller number, switch label, packet-in packet number sent by the switch, time stamp
  • M i includes: controller Number, switch label, switch and controller other than the packet_in OF information, timestamp.
  • the timestamp refers to the moment when the response message of all the management switches is collected. All information will be used as a historical reference or timely forecast.
  • the super node uses the data processing module in the controller to predict the number of packet-in packets reported by the switches in each controller and the number of flow tables sent by the controller to the switch in the next time interval according to the mathematical model of the least squares method.
  • OF messages are respectively implemented by step S4, step S5 and step S6:
  • the super node A reads the packet-in packet statistics reported by each controller from the cluster distributed shared storage system, and implements the following substeps:
  • S4.2 The set of complete packet-in packet statistics information of the timestamp is less than five, and the S2 is cyclically executed until the packet-in packet statistics information set of the five timestamps is obtained, and the obtained packet-in report is obtained.
  • the statistics of the text are shown in Table 1;
  • Table 3 Average number of actual measured values and estimated values of packet-in packets in one week
  • the super node A reads the flow table statistics information reported by each controller from the cluster distributed shared storage system, and implements the following substeps:
  • the super node reads the statistics of the OF interaction information (hereinafter referred to as other OF information), which is reported by each controller, except for the packet_in, from the cluster distributed shared storage system, and is implemented by the following substeps:
  • N determining the number of timestamps N, that is, a complete set of other OF information statistics that attempts to acquire N timestamps; the complete other OF information set refers to all the different switches and controllers of the same controller with the same timestamp. All OF interaction statistics except packet_in and the timestamp is the most recent;
  • Equation 1-1 For each switch managed by each controller in the cluster controller, use the least squares mathematical model (see Equation 1-1) to calculate and calculate other OF statistics of each switch of the next timestamp by regression analysis. Inext , the formula is shown in Equation 1-2 and Equation 1-3.
  • S7.5 Calculate the list of switches that should be called out. This step is implemented by the following substeps:
  • the switches are arranged in descending order according to the size of the inbound switch pool B inext , and the switch queue is obtained;
  • S7.7 Reconfigure the corresponding switch to implement load balancing. This step is implemented by the following substeps:
  • the supernode shall transfer each element in the switch pool. If the number of the transferred controller is not empty, transfer the switch command to the switch corresponding to the number of the switch-out controller and the number of the switch-in controller and execute S7.7.2. Otherwise skip this element;
  • slave-master mechanism exchange implement switch scheduling;
  • the slave-master mechanism exchange is set by the OpenFlow protocol, and is set to change the role of different controllers when controlling multiple controllers; Shown.
  • the SDN controller nodes A, B, and C are distributed in the domain.
  • the switch controlled by the A controller node includes sw1, sw2, and sw3;
  • the switch managed by the B controller node includes sw4 and sw5;
  • the switch managed by the C controller node includes sw6, sw7, and sw8; the preferred embodiment will be described in detail below.
  • the cluster controller scheduling starts: the controller sets the historical maximum value of the packet-in number to H ipmax , the historical maximum value of the flow table number is H ifmax and the historical maximum value of other OF messages is H immax , and are respectively set to 0. .
  • S2 Collecting sample information by using an information collection module in the cluster controller.
  • the sample data collected in this example is statistical information of different timestamps of a time period on a certain day of the week. At the same time, the actual measurement information in the period of the previous week is collected as a reference, so that the estimated information is closer to the actual value.
  • Collecting sample data information is accomplished by the following substeps:
  • F i includes: controller number, switch label, switch flow table statistics, time stamp
  • P i includes: controller number, switch label, packet-in packet number sent by the switch, time stamp
  • M i includes: controller Number, switch label, switch and controller other than the packet_in OF information, timestamp.
  • the timestamp refers to the moment when the response message of all the management switches is collected. All information will be used as a historical reference or timely forecast.
  • the super node uses the data processing module in the controller to predict the number of packet-in packets reported by the switches in each controller and the number of flow tables sent by the controller to the switch in the next time interval according to the mathematical model of the least squares method.
  • OF messages are respectively implemented by step S4, step S5 and step S6:
  • the super node A reads the packet-in packet statistics reported by each controller from the cluster distributed shared storage system, and implements the following substeps:
  • S4.2 If less than five complete packet-in packet statistics information collection time stamps are obtained, S2 is executed cyclically until a packet-in packet statistical information set of five timestamps is obtained.
  • the super node A reads the flow table statistics information reported by each controller from the cluster distributed shared storage system, and implements the following substeps:
  • the super node obtains five time-stamped flow table statistics F 1 , F 2 , F 3 , F 4 , and F 5 for each switch, and obtains such data:
  • F i ⁇ controller number, switch number, timestamp X, flow table statistics Y ⁇ ;
  • the super node reads the statistics of the OF interaction information (hereinafter referred to as other OF information), which is reported by each controller, except for the packet_in, from the cluster distributed shared storage system, and is implemented by the following substeps:
  • N determining the number of timestamps N, that is, a complete set of other OF information statistics that attempts to acquire N timestamps; the complete other OF information set refers to all the different switches and controllers of the same controller with the same timestamp. All OF interaction statistics except packet_in and the timestamp is the most recent;
  • Equation 1-1 For each switch managed by each controller in the cluster controller, use the least squares mathematical model (see Equation 1-1) to calculate and calculate other OF statistics of each switch of the next timestamp by regression analysis. Inext , the formula is shown in Equation 1-2 and Equation 1-3;
  • the pool of the switch to be emptied is set to be empty; the number of packet-in packets obtained by the five timestamps is calculated: P PH1 , P PH2 , and P PH3 ;
  • the table statistics are calculated: P FH1 , P FH2 and P FH3 ;
  • the other OF messages obtained by the 5 time stamps are statistically calculated: P MH1 , P MH2 and P MH3 ;
  • the calculation controller always estimates the received packets
  • the ratio of the number of -in packets to the total number of packet-in packets is P PHv ; the ratio of the total number of flow tables sent by the controller to the total number of flows is P FHv ;
  • the ratio of the estimated number of other OF messages to the total number of other largest OF messages is P MHv ;
  • S7.3, P i and P v are obtained according to the formulas 1-10 and 1-11, S7.4 is performed on each controller in descending order with reference to P i , and S7.7 is executed after the execution is completed.
  • S7.5 Calculate the list of switches that should be called out. This step is implemented by the following substeps:
  • the number of controlled switches is adjusted according to the packet_in packet of each switch received by the controller, the number of flow tables sent by the controller, and other OF message data. Available:
  • B osize ( 1-0.5 ) * (0.5 * B posize + 0.5 * B fosize ) + 0.5 * B mosize ;
  • B isize ( 1-0.5 ) * (0.5 * B pisize + 0.5 * B fisize ) + 0.5 * B misize ;
  • the switches are arranged in descending order according to the size of the inbound switch pool B inext , and the switch queue is obtained;
  • S7.7 Reconfigure the corresponding switch to implement load balancing. This step is implemented by the following substeps:
  • the supernode shall transfer each element in the switch pool. If the number of the transferred controller is not empty, transfer the switch command to the switch corresponding to the number of the switch-out controller and the number of the switch-in controller and execute S7.7.2. Otherwise skip this element;
  • slave-master mechanism exchange implement switch scheduling;
  • the slave-master mechanism exchange is set by the OpenFlow protocol, and is set to change the role of different controllers when controlling multiple controllers.
  • FIG. 7 is a schematic diagram of the intra-domain cascade controller and switch allocation according to a preferred embodiment 3 of the present invention.
  • an SDN controller node A, B, C and a super controller node D are distributed in the domain.
  • the switch controlled by the A controller node includes sw1, sw2, and sw3;
  • the switch managed by the B controller node includes sw4 and sw5;
  • the switch managed by the C controller node includes sw6, sw7, and sw8; the preferred embodiment will be described in detail below.
  • the cluster controller scheduling starts: the controller sets the historical maximum value of the packet-in number to H ipmax , the historical maximum value of the flow table number is H ifmax and the historical maximum value of other OF messages is H immax , and are respectively set to 0. .
  • S2 Collecting sample information by using an information collection module in the cluster controller.
  • the sample data collected in this example is statistical information of different timestamps of a time period on a certain day of the week. At the same time, the actual measurement information in the period of the previous week is collected as a reference, so that the estimated information is closer to the actual value.
  • Collecting sample data information is accomplished by the following substeps:
  • F i includes: controller number, switch label, switch flow table statistics, time stamp
  • P i includes: controller number, switch label, packet-in packet number sent by the switch, time stamp
  • M i includes: controller Number, switch label, switch and controller other than the packet_in OF information, timestamp.
  • the timestamp refers to the moment when the response message of all the management switches is collected. All information will be used as a historical reference or timely forecast.
  • the super node D uses the data processing module in the controller to predict the number of packet-in packets reported by the switches in each controller and the flow table sent by the controller to the switch in the next time interval according to the mathematical model of the least squares method.
  • the number and other OF messages are implemented by Step 4, Step 5 and Step 6 respectively:
  • the super node D reads the packet-in packet statistics reported by each controller from the cluster distributed shared storage system, and implements the following substeps:
  • S4.2 If less than five complete packet-in packet statistics information collection time stamps are obtained, S2 is executed cyclically until a packet-in packet statistical information set of five timestamps is obtained.
  • the super node D reads the flow table statistics information reported by each controller from the cluster distributed shared storage system, and implements the following substeps:
  • the super node obtains five time-stamped flow table statistics F 1 , F 2 , F 3 , F 4 , and F 5 for each switch, and obtains such data:
  • F i ⁇ controller number, switch number, timestamp X, flow table statistics Y ⁇ ;
  • the super node D reads the statistics of the OF interaction information (hereinafter referred to as other OF information) except for the packet_in reported by each controller from the cluster distributed shared storage system, and implements the following substeps:
  • N determining the number of timestamps N, that is, a complete set of other OF information statistics that attempts to acquire N timestamps; the complete other OF information set refers to all the different switches and controllers of the same controller with the same timestamp. All OF interaction statistics except packet_in and the timestamp is the most recent;
  • Equation 1-1 For each switch managed by each controller in the cluster controller, use the least squares mathematical model (see Equation 1-1) to calculate and calculate other OF statistics of each switch of the next timestamp by regression analysis. Inext , the formula is shown in Equation 1-2 and Equation 1-3;
  • the pool of the switch to be emptied is set to be empty; the number of packet-in packets obtained by the five timestamps is calculated: P PH1 , P PH2 , and P PH3 ;
  • the table statistics are calculated: P FH1 , P FH2 and P FH3 ;
  • the other OF messages obtained by the 5 time stamps are statistically calculated: P MH1 , P MH2 and P MH3 ;
  • the calculation controller always estimates the received packets
  • the ratio of the number of -in packets to the total number of packet-in packets is P PHv ; the ratio of the total number of flow tables sent by the controller to the total number of maximum flow tables is P FHv ;
  • the ratio of the estimated number of other OF messages to the total number of other largest OF messages is P MHv ;
  • S7.3, P i and P v are obtained according to the formulas 1-10 and 1-11, S7.4 is performed on each controller in descending order with reference to P i , and S7.7 is executed after the execution is completed.
  • S7.5 Calculate the list of switches that should be called out. This step is implemented by the following substeps:
  • the number of controlled switches is adjusted according to the packet_in packet of each switch received by the controller, the number of flow tables sent by the controller, and other OF message data. Available:
  • B osize ( 1-0.5 ) * (0.5 * B posize + 0.5 * B fosize ) + 0.5 * B mosize ;
  • B isize ( 1-0.5 ) * (0.5 * B pisize + 0.5 * B fisize ) + 0.5 * B misize ;
  • the switches are arranged in descending order according to the size of the inbound switch pool B inext , and the switch queue is obtained;
  • S7.7 Reconfigure the corresponding switch to implement load balancing. This step is implemented by the following substeps:
  • the supernode shall transfer each element in the switch pool. If the number of the transferred controller is not empty, transfer the switch command to the switch corresponding to the number of the switch-out controller and the number of the switch-in controller and execute S7.7.2. Otherwise skip this element
  • slave-master mechanism exchange implement switch scheduling;
  • the slave-master mechanism exchange is set by the OpenFlow protocol, and is set to change the role of different controllers when controlling multiple controllers.
  • a software is provided that is configured to perform the technical solutions described in the above embodiments and preferred embodiments.
  • a storage medium in which the above software is stored, including but not limited to an optical disk, a floppy disk, a hard disk, an erasable memory, and the like.
  • modules or steps of the present invention described above can be implemented by a general-purpose computing device that can be centralized on a single computing device or distributed across a network of multiple computing devices. Alternatively, they may be implemented by program code executable by the computing device such that they may be stored in the storage device by the computing device and, in some cases, may be different from the order herein.
  • the steps shown or described are performed, or they are separately fabricated into individual integrated circuit modules, or a plurality of modules or steps thereof are fabricated as a single integrated circuit module.
  • the invention is not limited to any specific combination of hardware and software.
  • the method and apparatus for load balancing provided by the embodiments of the present invention have the following beneficial effects: solving the problem of uneven load of the cluster SDN controller in the related art, and performing load balancing through the estimated data, the manner It is highly achievable and improves the resource utilization efficiency of the cluster SDN controller.

Abstract

La présente invention concerne un procédé et un dispositif d'équilibrage de charge. Le procédé consiste : à collecter des données sur les paramètres caractéristiques de plusieurs échangeurs commandés par chaque contrôleur de réseau SDN (software defined network) dans un réseau SDN en grappe ; selon ces données, à évaluer les données des paramètres caractéristiques des différents échangeurs au prochain point dans le temps ; à réaliser, selon les données évaluées, un équilibrage de charge pour les contrôleurs de réseau SDN dans le réseau SDN en grappe. La présente invention résout le problème de déséquilibre de charge des contrôleurs dans un réseau SDN en grappe, qui est posé par l'état de la technique, et elle équilibre la charge à l'aide de données évaluées. Ledit procédé peut être mis en œuvre pour des contrôleurs dans un réseau SDN en grappe, et il améliore leur taux d'utilisation de ressources.
PCT/CN2015/071446 2014-10-17 2015-01-23 Procédé et dispositif d'équilibrage de charge WO2015131699A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201410555510.5A CN105577729B (zh) 2014-10-17 2014-10-17 负载均衡的方法及装置
CN201410555510.5 2014-10-17

Publications (1)

Publication Number Publication Date
WO2015131699A1 true WO2015131699A1 (fr) 2015-09-11

Family

ID=54054547

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/071446 WO2015131699A1 (fr) 2014-10-17 2015-01-23 Procédé et dispositif d'équilibrage de charge

Country Status (2)

Country Link
CN (1) CN105577729B (fr)
WO (1) WO2015131699A1 (fr)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112685170A (zh) * 2019-10-18 2021-04-20 伊姆西Ip控股有限责任公司 备份策略的动态优化
CN114826923A (zh) * 2021-01-27 2022-07-29 华中科技大学 一种sdn网络的网络僵化度评估方法

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3472973B1 (fr) * 2016-06-20 2021-09-08 Telefonaktiebolaget LM Ericsson (PUBL) Procédé et dispositif servant à déterminer une utilisation de ressources
CN106330558A (zh) * 2016-08-31 2017-01-11 哈尔滨工业大学(威海) 应用于软件定义网络的控制器负载预测***及方法
US10887786B2 (en) * 2016-10-25 2021-01-05 Extreme Networks, Inc. Near-uniform load balancing in a visibility network via usage prediction
CN106941456B (zh) * 2017-05-17 2019-08-30 华中科技大学 一种软件定义网络中控制平面的负载均衡方法及***
CN107425987B (zh) * 2017-09-12 2019-11-01 中国联合网络通信集团有限公司 一种交换机控制方法、装置及***
CN114338537B (zh) * 2021-12-29 2024-01-19 安徽大学 基于预测的sdn负载均衡双重权重交换机迁移方法及***

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103731307A (zh) * 2013-12-30 2014-04-16 浙江大学 一种针对多业务的标准化数据面动态重构方法
CN103795805A (zh) * 2014-02-27 2014-05-14 中国科学技术大学苏州研究院 基于sdn的分布式服务器负载均衡方法
CN104065585A (zh) * 2014-07-16 2014-09-24 福州大学 一种在软件定义网络中动态调整控制器负载的方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030074449A1 (en) * 2001-10-12 2003-04-17 Rory Smith Bandwidth allocation in a synchronous transmission network for packet oriented signals
US9210615B2 (en) * 2012-09-17 2015-12-08 Brocade Communications Systems, Inc. Method and system for elastic and resilient 3G/4G mobile packet networking for subscriber data flow using virtualized switching and forwarding
CN103929333A (zh) * 2014-05-08 2014-07-16 陈桂芳 一种sdn控制器资源池的实现方法
CN104092774B (zh) * 2014-07-23 2018-03-09 新华三技术有限公司 软件定义网络连接建立控制方法及装置
CN104065509B (zh) * 2014-07-24 2017-07-11 大连理工大学 一种降低管理负载开销的sdn多控制器部署方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103731307A (zh) * 2013-12-30 2014-04-16 浙江大学 一种针对多业务的标准化数据面动态重构方法
CN103795805A (zh) * 2014-02-27 2014-05-14 中国科学技术大学苏州研究院 基于sdn的分布式服务器负载均衡方法
CN104065585A (zh) * 2014-07-16 2014-09-24 福州大学 一种在软件定义网络中动态调整控制器负载的方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112685170A (zh) * 2019-10-18 2021-04-20 伊姆西Ip控股有限责任公司 备份策略的动态优化
CN112685170B (zh) * 2019-10-18 2023-12-08 伊姆西Ip控股有限责任公司 备份策略的动态优化
CN114826923A (zh) * 2021-01-27 2022-07-29 华中科技大学 一种sdn网络的网络僵化度评估方法
CN114826923B (zh) * 2021-01-27 2023-04-28 华中科技大学 一种sdn网络的网络僵化度评估方法

Also Published As

Publication number Publication date
CN105577729A (zh) 2016-05-11
CN105577729B (zh) 2020-09-29

Similar Documents

Publication Publication Date Title
WO2015131699A1 (fr) Procédé et dispositif d'équilibrage de charge
Guo et al. Dynamic performance optimization for cloud computing using M/M/m queueing system
CN1643860A (zh) 用于动态分配网络资源的方法和设备
Gurvich et al. Overflow networks: Approximations and implications to call center outsourcing
CN105471755B (zh) 网络流量均衡的方法及超级控制器
CN102420741B (zh) 在基于atca的设备中调度通信流量的方法及装置
Borst et al. Fluid limits for bandwidth-sharing networks in overload
CN116302578B (zh) 一种QoS约束的流应用延迟确保方法及***
Vlahakis et al. Aimd scheduling and resource allocation in distributed computing systems
Egorova et al. Bandwidth-sharing networks in overload
Bramson et al. Proportional switching in first-in, first-out networks
Martin et al. Network slicing for deterministic latency
Jung et al. Revisiting stochastic loss networks: Structures and algorithms
Schulz et al. End-to-end latency distribution in future mobile communication networks
Iversen Reversible fair scheduling: the teletraffic theory revisited
Nordström et al. CAC and routing for multi‐service networks with blocked wide‐band calls delayed, part I: exact link MDP framework
Iversen The internet erlang formula
CN104202263A (zh) 一种多租户数据中心带宽资源公平分配方法
Bekker et al. Performance of TCP-friendly streaming sessions in the presence of heavy-tailed elastic flows
Lozhkovskyi et al. Calculation of Wait Probability in the Single-channel System with Self-similar Network Traffic
Bramson et al. Proportional switching in FIFO networks
Li et al. On optimal routing in overloaded parallel queues
US20080089240A1 (en) Network Analysis Tool
Ying et al. Buffer overflow asymptotics for multiplexed regulated traffic
Egorova et al. Bandwidth-sharing in overloaded networks

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15759066

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15759066

Country of ref document: EP

Kind code of ref document: A1