CN114466016A - Method and system for realizing dynamic load balance of data center gateway - Google Patents

Method and system for realizing dynamic load balance of data center gateway Download PDF

Info

Publication number
CN114466016A
CN114466016A CN202210212397.5A CN202210212397A CN114466016A CN 114466016 A CN114466016 A CN 114466016A CN 202210212397 A CN202210212397 A CN 202210212397A CN 114466016 A CN114466016 A CN 114466016A
Authority
CN
China
Prior art keywords
gateway
load balancer
load
data center
forwarding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202210212397.5A
Other languages
Chinese (zh)
Other versions
CN114466016B (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.)
Fiberhome Telecommunication Technologies Co Ltd
Original Assignee
Fiberhome Telecommunication Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fiberhome Telecommunication Technologies Co Ltd filed Critical Fiberhome Telecommunication Technologies Co Ltd
Priority to CN202210212397.5A priority Critical patent/CN114466016B/en
Publication of CN114466016A publication Critical patent/CN114466016A/en
Application granted granted Critical
Publication of CN114466016B publication Critical patent/CN114466016B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1038Load balancing arrangements to avoid a single path through a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The invention relates to a method and a system for realizing dynamic load balancing of a data center gateway. The method mainly comprises the following steps: creating a gateway and a load balancer; monitoring the inlet and outlet flows of all the load balancers, and automatically executing corresponding gateway and load balancer increase and decrease actions according to a set flow threshold; and calculating related forwarding rules by combining the current latest load balancer and gateway resource quantity, generating corresponding forwarding table entry contents, and issuing the forwarding table entry contents to the load balancer and the gateway equipment for forwarding. According to the invention, the SDN controller is used for configuring and managing the gateway of the cloud data center network, and dynamic expansion of the gateway can be realized in the cloud data center, so that flexible networking can be realized, more complex scenes can be satisfied, and optimal management of flow load balance can be realized.

Description

Method and system for realizing dynamic load balance of data center gateway
Technical Field
The invention relates to the technical field of SDN data centers, in particular to a method and a system for realizing dynamic load balancing of a data center gateway.
Background
With the rise of cloud computing, data centers serving as infrastructures of the cloud computing are increasingly complex to apply. In the context of SDN (software defined network) technology, gateways are given more meaning as one of the cores of data centers. The data center gateway undertakes the forwarding of the north-south flow and the east-west flow, and the processing capacity of the data center gateway directly reflects whether the cloud data center can meet the application requirements. Based on the above situation, the gateway has become a key node of the data center network traffic.
In the conventional approach of increasing the number of gateways, the number of gateways is generally increased in a stacking manner. But generally the number of stacks is limited and networking is inflexible. In addition, the data center gateway generally cannot perform traffic load balancing according to the tenant and the server resources, so that the forwarding and processing efficiency of traffic with specific requirements is not high.
In view of this, how to overcome the defects existing in the prior art and solve the problems of gateway expansion and traffic load balancing are the problems to be solved in the technical field.
Disclosure of Invention
Aiming at the defects or the improvement requirements in the prior art, the invention provides a method and a system for realizing dynamic load balancing of a data center gateway.
The embodiment of the invention adopts the following technical scheme:
in a first aspect, the present invention provides a method for implementing dynamic load balancing of a data center gateway, including:
creating a gateway and a load balancer;
monitoring the inlet and outlet flows of all the load balancers, and automatically executing corresponding gateway and load balancer increase and decrease actions according to a set flow threshold;
and calculating related forwarding rules by combining the current latest load balancer and gateway resource quantity, generating corresponding forwarding table entry contents, and issuing the forwarding table entry contents to the load balancer and the gateway equipment for forwarding.
Further, the creating a gateway and a load balancer specifically includes:
when a cloud network is initialized, judging whether a gateway and a load balancer exist or not;
if the network does not exist, a gateway and a load balancer are established, VXLAN connection is established between the load balancer and the bridge of each OVS, and VXLAN connection is established between the gateway and the load balancer; if yes, directly entering a step of building the tenant;
creating a tenant: and creating a tenant on the cloud platform, and creating a virtual machine and a network under the tenant.
Further, the monitoring the inlet and outlet traffic of all the load balancers, and automatically executing the corresponding gateway and load balancer increase and decrease actions according to the set traffic threshold specifically includes:
the SDN controller monitors the inlet and outlet flows of all load balancers and judges whether the inlet and outlet flows are within the threshold value of a related flow threshold;
and if the quantity of the load balancer and the gateway resources is not within the threshold, performing creation or deletion operation on the load balancer or the gateway, and informing the SDN controller of the quantity change of the relevant load balancer and gateway resources.
Further, the creating or deleting operation performed on the load balancer or the gateway if the load balancer or the gateway is not within the threshold specifically includes:
when the inlet flow or the outlet flow of the load balancer exceeds the maximum flow threshold, a load balancer or a gateway is established;
and when the inlet traffic or the outlet traffic of the load balancer is lower than the minimum traffic threshold, deleting the load balancer or the gateway.
Further, when the ingress traffic or the egress traffic of the load balancer exceeds the maximum traffic threshold, creating the load balancer or the gateway specifically includes:
when the total inlet flow of the load balancer exceeds a maximum flow threshold, the scheduling cloud platform creates a new load balancer;
when certain outlet traffic of the load balancer exceeds the maximum traffic threshold, a new gateway is created.
Further, when the ingress traffic or the egress traffic of the load balancer is lower than the minimum traffic threshold, deleting the load balancer or the gateway specifically includes:
when the inlet flow of a certain load balancer is lower than the minimum flow threshold, the cloud platform is scheduled to delete the load balancer;
and when the certain outlet traffic of the load balancer is lower than the minimum traffic threshold, deleting the gateway connected with the outlet.
Further, the calculating the relevant forwarding rule by combining the latest resource, generating the corresponding forwarding table entry content, and issuing the forwarding table entry content to the load balancer and the gateway device for forwarding specifically includes:
after receiving the change message of the related resources, the SDN controller triggers a load balancing algorithm to recalculate;
the load balancing algorithm is combined with the latest resources to calculate a related forwarding rule, generate corresponding forwarding table entry content and send the forwarding table entry content to the load balancer and the gateway equipment;
when the message sent from the virtual machine to the gateway passes through the load balancer and the gateway from each computing node, the message is matched with the table entry of the forwarding table and then forwarded.
Furthermore, the table entry content of the forwarding table generated by the SDN controller includes a pipeline design, and the pipeline is used for splitting a packet sent by the virtual machine into multiple layers of matching requirements, forming multiple flow tables and table entries in the flow tables, and then issuing the multiple layers of matching requirements through a protocol.
Further, the design of the pipeline specifically includes:
classifying the messages of all the virtual machines through a table0, distinguishing the messages sent locally and non-locally, and entering the next table20 after the messages are labeled;
after the table20 matches the message according to the source MAC, the destination MAC, the source IP, the destination IP, and the message type, it enters the next table 30;
after the table30 matches the tenant VNI information, the next table40 is entered;
the table40 matches according to the load balancing input port, and then enters the forwarding table 50;
the table50 matches with the output port of load balancing, and finally enters the table100 to forward the packet.
In another aspect, the present invention provides a system for implementing dynamic load balancing of a data center gateway, where the method according to the first aspect is applied, and includes a cloud data center management platform application layer, an SDN controller, and a cloud data center forwarding layer, where:
the cloud data center management platform application layer is used for carrying out information interaction with a user and transmitting information input by the user to the SDN controller;
the SDN controller is used for monitoring the inlet and outlet flows of all the load balancers, judging whether the inlet and outlet flows are within the threshold value of a related flow threshold or not so as to determine whether a gateway and the load balancers need to be newly built or deleted, then calculating related forwarding rules by combining the latest resources, generating corresponding forwarding table entry contents, and issuing the forwarding table entry contents to the load balancers and gateway equipment for forwarding;
and the cloud data center forwarding layer is used for performing operation of adding, deleting, modifying and searching the flow table items in the forwarding table and forwarding after receiving the forwarding configuration command issued by the SDN controller.
Compared with the prior art, the invention has the beneficial effects that: under the cloud data center network architecture, the distributed management of the gateways is realized, and the centralized management system has the characteristic of being centralized. The SDN controller can realize dynamic expansion of the gateway in a cloud data center through dynamic expansion and contraction capacity of the gateway, so that flexible networking can be performed, application of more complex scenes is met, optimal management of flow load balance can be realized, load balance can be automatically adjusted in real time, the management capacity of the controller on the gateway is improved, more functions and performance requirements of a cloud network are met, and a good foundation is laid for application of more complex scenes such as a security group and a service chain of a subsequent data center network.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings required to be used in the embodiments of the present invention will be briefly described below. It is obvious that the drawings described below are only some embodiments of the invention, and that for a person skilled in the art, other drawings can be derived from them without inventive effort.
Fig. 1 is a flowchart of a method for implementing dynamic load balancing of a data center gateway according to embodiment 1 of the present invention;
FIG. 2 is an expanded flowchart of step 100 provided in embodiment 1 of the present invention;
fig. 3 is an expanded flowchart of step 200 provided in embodiment 1 of the present invention;
FIG. 4 is an expanded flowchart of step 300 provided in embodiment 1 of the present invention;
fig. 5 is an exemplary diagram of forwarding rules and table entry contents provided in embodiment 1 of the present invention;
fig. 6 is a system architecture diagram for implementing dynamic load balancing of a data center gateway according to embodiment 2 of the present invention;
fig. 7 is a flow table planning design diagram provided in embodiment 2 of the present invention;
fig. 8 is a functional flowchart based on the system architecture according to embodiment 2 of the present invention;
fig. 9 is a schematic structural diagram of an apparatus for implementing dynamic load balancing of a data center gateway according to embodiment 3 of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention is described in further detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.
The present invention is a system structure of a specific function system, so the functional logic relationship of each structural module is mainly explained in the specific embodiment, and the specific software and hardware implementation is not limited.
In addition, the technical features involved in the embodiments of the present invention described below may be combined with each other as long as they do not conflict with each other. The invention will be described in detail below with reference to the figures and examples.
Example 1:
as shown in fig. 1, an embodiment of the present invention provides a method for implementing dynamic load balancing of a data center gateway, which includes the following steps.
Step 100: a gateway and load balancer are created. The method is mainly used for establishing related initialization configuration when a VIM (Virtual Infrastructure management) management platform of a cloud data center is initialized, and mainly comprises the steps of establishing a VXLAN (Virtual Extensible Local Area Network) gateway and a Virtual VXLAN gateway load balancer, wherein the load balancer is mainly used for carrying out load balancing between an Openvswitch (OVS) and a gateway of each computing node.
Step 200: and monitoring the inlet and outlet flows of all the load balancers, and automatically executing corresponding gateway and load balancer increase and decrease actions according to the set flow threshold. The step is mainly used for configuring a relevant algorithm strategy of the load balancer, and when the flow of the VXLAN gateway reaches a set threshold value, namely a flow threshold, the SDN controller can automatically create or delete one VXLAN gateway or the load balancer.
Step 300: and calculating a related forwarding rule by combining the latest resource, generating corresponding forwarding table entry content, and issuing the forwarding table entry content to the load balancer and the gateway equipment for forwarding. The step is mainly used for enabling the load balancer to automatically balance the flow of each forwarding node to different gateways according to a set strategy, and therefore dynamic load balancing of the flow is achieved. It should be noted that, in the preferred embodiment, steps 100-300 are all controlled by the SDN controller.
Based on the above steps, in this embodiment, dynamic expansion of the gateway can be realized in the cloud data center by performing dynamic expansion and contraction on the gateway, so that flexible networking can be performed, application in more complex scenes can be met, optimal management of traffic load balancing can be realized, load balancing can be automatically adjusted in real time, and management capability of the controller on the gateway can be improved.
As shown in fig. 2, in the preferred embodiment, step 100 (creating a gateway and a load balancer) specifically includes the following steps.
Step 101: and when the cloud network is initialized, judging whether a gateway and a load balancer exist. In this step, initialization of the cloud network needs to be judged first to determine whether a gateway and a load balancer which are established before exist in the cloud network.
Step 102: if the network does not exist, a gateway and a load balancer are established, VXLAN connection is established between the load balancer and the bridge of each OVS, and VXLAN connection is established between the gateway and the load balancer; and if so, directly entering a step of creating the tenant. The step is to process the judgment result of the step 101, and if the gateway and the load balancer do not exist, which indicates that the two are not created before the cloud network, the step creates the gateway and the load balancer and establishes VXLAN connection. If there are gateways and load balancers, which indicate that the cloud network has been created before, then this step does not need to create the gateways and load balancers, and can directly proceed to step 103.
Step 103: creating a tenant: and creating a tenant on the cloud platform, and creating a virtual machine and a tenant network under the tenant. The tenant is a logic concept, one client corresponds to one tenant, and the tenant is created to enable the cloud platform to allocate logic resources based on the identification; one virtual machine can be regarded as a virtual server, and the virtual machine is created to enable a client to build an application system of the client to provide related services; the tenant network is a network established by a tenant for connecting virtual machines, and the tenant network is established for intercommunication among the virtual machines and between the virtual machines and the external internet.
As shown in fig. 3, in the preferred embodiment, step 200 (monitoring the ingress and egress traffic of all load balancers, and automatically performing the corresponding gateway and load balancer increase and decrease actions according to the set traffic threshold) specifically includes the following steps.
Step 201: and the SDN controller monitors the inlet and outlet flows of all the load balancers and judges whether the inlet and outlet flows are within the threshold value of the related flow threshold. Referring to fig. 6, the port connected to the gateway on the load balancer is the egress, and the other ports connected to TOR and br-tun are the ingress.
Step 202: and if the quantity of the load balancer and the gateway is not within the threshold, performing creation or deletion operation on the load balancer or the gateway, and informing the SDN controller of the change of the quantity of the relevant load balancer and gateway resources.
For the step 202, if the threshold is not met, the creation or deletion operation performed on the load balancer or the gateway may be specifically divided into two cases. If the flow rate is larger than the threshold value, namely the inlet flow rate or the outlet flow rate of the load balancer exceeds the maximum flow rate threshold, the load balancer or the gateway is established to share the exceeding flow rate; and if the other is smaller than the threshold value, namely the inlet traffic or the outlet traffic of the load balancer is lower than the minimum traffic threshold, deleting the load balancer or the gateway to reduce the resource occupancy rate.
For both cases, step 202 can be extended to four steps as follows:
step 203: and when the total inlet flow of the load balancer exceeds the maximum flow threshold, the scheduling cloud platform creates a new load balancer.
Step 204: when certain outlet traffic of the load balancer exceeds the maximum traffic threshold, a new gateway is created.
Step 205: and when the inlet flow of a certain load balancer is lower than the minimum flow threshold, the scheduling cloud platform deletes the load balancer.
Step 206: and when the certain outlet traffic of the load balancer is lower than the minimum traffic threshold, deleting the gateway connected with the outlet.
After the above four creating or deleting actions are completed, the SDN controller needs to be notified of the change of the relevant resources.
As shown in fig. 4, in the present preferred embodiment, step 300 (calculating the relevant forwarding rule by combining the current latest load balancer and the number of gateway resources, generating the corresponding forwarding table entry content, and issuing the forwarding table entry content to the load balancer and the gateway device for forwarding) specifically includes the following steps.
Step 301: and after receiving the change message of the related resources, the SDN controller triggers a load balancing algorithm to recalculate.
Step 302: and the load balancing algorithm is combined with the latest resources to calculate the related forwarding rules, generate the corresponding forwarding table entry content and send the forwarding table entry content to the load balancer and the gateway equipment. In this step, the SDN controller issues the corresponding forwarding table entry content to the load balancer and the gateway device through a southbound protocol.
In this preferred embodiment, the forwarding table entry content generated by the SDN controller includes pipeline design, where the pipeline is used to split a packet sent by a virtual machine into multiple layers of matching requirements, form multiple flow tables and entries in the flow tables, and then send the multiple flow tables and entries in the flow tables through a protocol. The design of the pipeline specifically comprises the following steps: classifying the messages of all the virtual machines through a table0, distinguishing the messages sent locally and non-locally, and entering the next table20 after the messages are labeled; the table20 matches the message according to the source MAC, the destination MAC, the source IP, the destination IP, and the message type (quintuple of the message), and then enters the next table 30; after the table30 matches the tenant VNI information, the next table40 is entered; the table40 matches according to the load balancing input port, and then enters the forwarding table 50; the table50 matches with the output port of load balancing, and finally enters the table100 to forward the packet.
The process is that the consistent HASH calculation is carried out by tuple information such as source MAC, IP, destination MAC, IP, protocol type, VALN label and the like in the message. And then, performing weighted calculation on the result after HASH, tenant VNI information and flow of an inlet port and an outlet port of the load balancer, wherein the weight of each parameter is a dynamic value and can be adjusted according to needs. (the main role of the weight is to allocate the priority of the load parameters, for example, the priority of each load parameter is the same at the beginning; as time goes on, the traffic becomes more and more important, and the traffic needs to be considered preferentially when calculating the load balance, so the weight of the traffic needs to be increased.) in the specific implementation, the load parameters are as follows: the result of the initial hash is taken as parameter 1, VNI is taken as parameter 2, ingress port flow is taken as parameter 3, egress port flow is taken as parameter 4, and the proportion is initially 1 by default. According to the importance of the service, the tenants can be divided into a plurality of levels, and the weights are 1,2,3,4,5 and the like. The weight of the flow rate corresponding to the inlet and outlet ports can be determined according to the ratio of the actual flow rate to the flow rate threshold, if the threshold ratio reaches 50%, the weight is changed to 2, if the threshold ratio reaches 70%, the weight is changed to 3, if the threshold ratio reaches 90%, the weight is 4, or the weight can be more detailed. The result of the weighting calculation is set within the gateway egress port range.
For the forwarding rule and the contents of the forwarding table entry, taking the example that all the parameter weights of the parameters of the initial message are consistent, the calculated forwarding rule and the calculated contents of the entry are shown in fig. 5. Table0 in fig. 5 is to obtain a value from 1 to 9 according to the five-tuple HASH of the packet, store the value into the variable reg0, and then set the weight of the load balancing parameter to 1 in cooperation with table20, table30, table40, and table50, and store the value into the variables reg1 to reg 4. Finally, in the table100, the ingress port and egress port flow calculate the egress number of load balancing according to the weight and the tenant id (vni) in the message, and store the egress number in the variable reg 9. The table100 matches the value of the variable reg9 for packet forwarding from the corresponding egress.
Step 303: when the message sent from the virtual machine to the gateway passes through the load balancer and the gateway from each computing node, the message is matched with the table entry of the forwarding table and then forwarded. In the step, the message sent from the virtual machine to the VXLAN gateway passes through the load balancer and the gateway from each computing node, is forwarded after being matched with the table entry of the flow table, and the purpose of realizing intercommunication with other networks inside and outside the gateway is achieved.
To sum up, the SDN controller of this preferred embodiment can realize dynamic expansion of the gateway in the cloud data center through dynamic expansion and contraction of the gateway, thereby can perform flexible networking, satisfy the application of more complex scenarios, and simultaneously can realize the optimization management of traffic load balancing, can automatically adjust load balancing in real time, improve the management ability of the controller to the gateway, satisfy more functions and performance requirements of the cloud network, and lay a good foundation for subsequently realizing the application of more complex scenarios such as security groups and service chains of the data center network.
Example 2:
based on the method for implementing dynamic load balancing of a data center gateway provided in embodiment 1, embodiment 2 provides a system for implementing dynamic load balancing of a data center gateway, and as shown in fig. 6, the system architecture includes a cloud data center management platform application layer, an SDN controller, and a cloud data center forwarding layer.
The cloud data center management platform application layer mainly performs UI operation of a cloud management platform, performs information interaction with an end user, and transmits information input by the end user to the SDN controller, wherein the information comprises tenant information, network and subnet information, tunnel information and the like. The application layer corresponds to the control nodes and the compute nodes in the data center in the graph.
The SDN controller is a brain of the whole data center network, the SDN controller comprises a north-south interface and a service implementation function, and the north-north interface is used for receiving various message requests of the cloud management platform and returning corresponding request results; the southbound interface manages and controls the gateway pool equipment through protocols such as netconf, openflow and the like, acquires resources and states of the gateway pool equipment, and simultaneously issues corresponding management and forwards the corresponding equipment configured to the gateway pool. The service implementation function is the core of the controller, and is used for processing and processing the acquired resources and information, generating pipeline of the state and decision content of the whole network according to the set load balancing strategy and algorithm, and issuing the pipeline to the gateway equipment. Specifically, the SDN controller monitors the ingress and egress traffic of all load balancers, determines whether the traffic is within a threshold of a related traffic threshold, determines whether to create or delete a gateway and a gateway load balancing device, calculates a related forwarding rule by combining the latest resource, generates corresponding forwarding table entry content (pipeline), and sends the forwarding table entry content (pipeline) to the load balancers and the gateway device for forwarding. The Pipeline is a use plan of a plurality of flow tables in OpenFlow Pipeline, the requirements sent by a virtual machine are matched with two-layer MAC, three-layer IP, tenant ID, messages, protocol types and the like, the requirements are split into a plurality of layers of matching requirements in the Pipeline, flow table items in the flow tables are formed, and the purpose of matching and forwarding the flow messages is achieved through protocol issuing.
The forwarding layer of the cloud data center is a specific operation layer of a service, an entity of the forwarding layer is mainly a gateway pool device in a cloud platform, and a virtual gateway load balancer and a gateway correspond to the forwarding layer, and the forwarding layer can be implemented by an OVS supporting an openflow protocol. After receiving the forwarding configuration command issued by the controller, the devices perform operations of adding, deleting, modifying, searching and the like of the flow table entries in the forwarding table. And the messages sent from each virtual machine are forwarded by a second layer and a third layer according to a path defined by the flow table through the load balancing and the gateway, so that the corresponding functions of load balancing and the like are realized.
As shown in fig. 7, the flow table planning and designing diagram in this embodiment, that is, the pipeline design of the data packet, includes an ingress processing table0, a packet five-tuple load rule table20, a tenant load rule table30, an ingress port load rule table40, an egress port load rule table50, and an egress processing table 100. The specific workflow is as follows: the messages of all the virtual machines are classified through a table0, the messages sent locally and non-locally are distinguished, the messages are labeled and then enter a table20, the table matches with messages according to the original MAC, the destination MAC, the source IP, the destination IP and the message types, then the next table30 is entered, the table matches with tenant VNI information and then enters a next table40, the table matches with an entry port according to load balance, then the table enters a forwarding table50, the table matches with an exit port with load balance, and finally the table100 is entered and forwards the messages. Thus, the whole process of message forwarding on demand is completed. It should be noted that the content shown in fig. 7 is executed on the load balancer after being issued to the load balancer by the SDN controller.
In the process, the consistency HASH calculation is firstly carried out according to the tuple information such as the source MAC, the IP, the destination MAC, the IP, the protocol type, the VALN label and the like in the message. And then, performing weighted calculation on the result after the HASH, tenant VNI information and flow of an inlet port and an outlet port of the load balancer, wherein the weight of each parameter is a dynamic value and can be adjusted according to needs. (the main role of the weight is to allocate the priority of the load parameters, for example, the priority of each load parameter is the same at the beginning; as time goes on, the traffic becomes more and more important, and the traffic needs to be considered preferentially when calculating the load balance, so the weight of the traffic needs to be increased.) in the specific implementation, the load parameters are as follows: the result of the initial hash is taken as parameter 1, VNI is taken as parameter 2, ingress port flow is taken as parameter 3, egress port flow is taken as parameter 4, and the proportion is initially 1 by default. According to the importance of the service, the tenants can be divided into a plurality of levels, and the weights are 1,2,3,4,5 and the like. The weight of the flow rate corresponding to the inlet and outlet ports can be determined according to the ratio of the actual flow rate to the flow rate threshold, if the threshold ratio reaches 50%, the weight is changed to 2, if the threshold ratio reaches 70%, the weight is changed to 3, if the threshold ratio reaches 90%, the weight is 4, or the weight can be more detailed. The result of the weighting calculation is set within the gateway egress port range. And dynamically adding a load balancer along with the flow of the inlet port exceeding a set flow threshold, and adding a gateway device if the flow of the outlet port exceeds the set flow threshold. Meanwhile, the output range of the calculation result of the load balancing algorithm is synchronously adjusted according to the number of the new ports, and new flow can be loaded to the new ports.
Based on the above system architecture design, the flow of implementing functions in this embodiment is as follows, as shown in fig. 8.
Step S1: and initializing the cloud data center, and creating a load balancer and a gateway.
Step S2: the VIM platform creates tenants and corresponding flow tables and table entries.
Step S3: and the SDN controller monitors the flow of an input port and an output port of the load balancer and judges whether the flow exceeds a threshold value of a related flow threshold. If not, the process proceeds directly to step S7, if the maximum threshold is exceeded, the process proceeds to step S4, and if the maximum threshold is undershot, the process proceeds to step S5.
Step S4: a load balancer or gateway is created. This step creates a new load balancer when the ingress traffic exceeds the maximum traffic threshold and creates a new gateway when the egress traffic exceeds the maximum traffic threshold.
Step S5: the load balancer or gateway is deleted. The step deletes the load balancer corresponding to the entrance when the entrance flow is lower than the minimum flow threshold, and deletes the gateway corresponding to the exit when the exit flow is lower than the minimum flow threshold.
Step S6: and informing the SDN controller of the change of related resources.
Step S7: and the SDN controller combines related resources, generates a corresponding configuration table entry according to a load balancing algorithm, and issues the configuration table entry to the load balancer and the gateway equipment through a protocol.
Step S8: and matching the message sent to the gateway according to the table entry of the flow table, thereby forwarding the message.
In summary, the embodiment not only realizes the distributed management of the gateways, but also has the centralized characteristic under the cloud data center network architecture. The SDN controller can realize dynamic expansion of the gateway in a cloud data center through dynamic expansion and contraction capacity of the gateway, so that flexible networking can be performed, application of more complex scenes is met, optimal management of flow load balance can be realized, load balance can be automatically adjusted in real time, the management capacity of the controller on the gateway is improved, more functions and performance requirements of a cloud network are met, and a good foundation is laid for application of more complex scenes such as a security group and a service chain of a subsequent data center network.
Example 3:
on the basis of the method and system for implementing dynamic load balancing of a data center gateway provided in embodiments 1 and 2, the present invention further provides an apparatus for implementing dynamic load balancing of a data center gateway, which is used for implementing the method and system, and as shown in fig. 9, the apparatus is a schematic diagram of an apparatus architecture in an embodiment of the present invention. The data center gateway dynamic load balancing implementation device of the embodiment includes one or more processors 21 and a memory 22. In fig. 9, one processor 21 is taken as an example.
The processor 21 and the memory 22 may be connected by a bus or other means, and fig. 9 illustrates the connection by a bus as an example.
The memory 22 is a non-volatile computer-readable storage medium, and can be used to store non-volatile software programs, non-volatile computer-executable programs, and modules, such as the implementation method and modules of the data center gateway dynamic load balancing in embodiments 1 and 2. The processor 21 executes various functional applications and data processing of the implementation apparatus for data center gateway dynamic load balancing by running the nonvolatile software program, instructions and modules stored in the memory 22, that is, implements the implementation method and system functions for data center gateway dynamic load balancing in embodiments 1 and 2.
The memory 22 may include high speed random access memory and may also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other non-volatile solid state storage device. In some embodiments, the memory 22 may optionally include memory located remotely from the processor 21, and these remote memories may be connected to the processor 21 via a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.
Program instructions/modules are stored in the memory 22, and when executed by the one or more processors 21, perform the method for implementing data center gateway dynamic load balancing in embodiments 1 and 2, for example, perform the steps shown in fig. 1 and 8 described above.
Those of ordinary skill in the art will appreciate that all or part of the steps of the various methods of the embodiments may be implemented by associated hardware as instructed by a program, which may be stored on a computer-readable storage medium, which may include: a Read Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk or an optical disk, and the like.
The above description is only for the purpose of illustrating the preferred embodiments of the present invention and is not to be construed as limiting the invention, and any modifications, equivalents and improvements made within the spirit and principle of the present invention are intended to be included within the scope of the present invention. Those not described in detail in this specification are within the skill of the art.

Claims (10)

1. A method for realizing dynamic load balancing of a data center gateway is characterized by comprising the following steps:
creating a gateway and a load balancer;
monitoring the inlet and outlet flows of all the load balancers, and automatically executing corresponding gateway and load balancer increase and decrease actions according to a set flow threshold;
and calculating related forwarding rules by combining the current latest load balancer and gateway resource quantity, generating corresponding forwarding table entry contents, and issuing the forwarding table entry contents to the load balancer and the gateway equipment for forwarding.
2. The method for implementing data center gateway dynamic load balancing according to claim 1, wherein the creating of the gateway and the load balancing specifically includes:
when a cloud network is initialized, judging whether a gateway and a load balancer exist or not;
if the network does not exist, a gateway and a load balancer are established, VXLAN connection is established between the load balancer and the bridge of each OVS, and VXLAN connection is established between the gateway and the load balancer; if yes, directly entering a step of building the tenant;
creating a tenant: and creating a tenant on the cloud platform, and creating a virtual machine and a network under the tenant.
3. The method for implementing gateway dynamic load balancing in a data center according to claim 1, wherein the monitoring of the ingress and egress traffic of all load balancers and the automatic execution of corresponding gateway and load balancer increase and decrease actions according to the set traffic threshold specifically comprises:
the SDN controller monitors the inlet and outlet flows of all load balancers and judges whether the inlet and outlet flows are within the threshold value of a related flow threshold;
and if the quantity of the load balancer and the gateway resources is not within the threshold, performing creation or deletion operation on the load balancer or the gateway, and informing the SDN controller of the quantity change of the relevant load balancer and gateway resources.
4. The method for implementing data center gateway dynamic load balancing according to claim 3, wherein the creating or deleting operation performed on the load balancer or the gateway if the load balancer or the gateway is not within the threshold specifically includes:
when the inlet flow or the outlet flow of the load balancer exceeds the maximum flow threshold, a load balancer or a gateway is established;
and when the inlet traffic or the outlet traffic of the load balancer is lower than the minimum traffic threshold, deleting the load balancer or the gateway.
5. The method for implementing data center gateway dynamic load balancing according to claim 4, wherein when an ingress traffic or an egress traffic of the load balancer exceeds a maximum traffic threshold, creating the load balancer or the gateway specifically includes:
when the total inlet flow of the load balancer exceeds a maximum flow threshold, the scheduling cloud platform creates a new load balancer;
when certain outlet traffic of the load balancer exceeds the maximum traffic threshold, a new gateway is created.
6. The method for implementing data center gateway dynamic load balancing according to claim 4, wherein, when the ingress traffic or the egress traffic of the load balancer is lower than the minimum traffic threshold, deleting the load balancer or the gateway specifically includes:
when the inlet flow of a certain load balancer is lower than the minimum flow threshold, the cloud platform is scheduled to delete the load balancer;
and when the certain outlet traffic of the load balancer is lower than the minimum traffic threshold, deleting the gateway connected with the outlet.
7. The method for implementing dynamic load balancing of a data center gateway according to claim 3, wherein the calculating of the relevant forwarding rules by combining the latest resources, generating the corresponding forwarding table entry content, and issuing the forwarding table entry content to the load balancer and the gateway device for forwarding specifically comprises:
after receiving the change message of the related resources, the SDN controller triggers a load balancing algorithm to recalculate;
the load balancing algorithm is combined with the latest resources to calculate a related forwarding rule, generate corresponding forwarding table entry content and send the forwarding table entry content to the load balancer and the gateway equipment;
when the message sent from the virtual machine to the gateway passes through the load balancer and the gateway from each computing node, the message is matched with the table entry of the forwarding table and then forwarded.
8. The method of claim 7, wherein the forwarding table entry content generated by the SDN controller includes a pipeline design, and the pipeline is configured to split a packet sent by a virtual machine into multiple layers of matching requirements, form multiple flow tables and entries in the flow tables, and then send the multiple layers of matching requirements through a protocol.
9. The method for implementing data center gateway dynamic load balancing according to claim 8, wherein the pipeline is specifically designed to include:
classifying the messages of all the virtual machines through a table0, distinguishing the messages sent locally and non-locally, and entering the next table20 after the messages are labeled;
after the table20 matches the message according to the source MAC, the destination MAC, the source IP, the destination IP, and the message type, it enters the next table 30;
after the table30 matches the tenant VNI information, the next table40 is entered;
the table40 matches according to the load balancing input port, and then enters the forwarding table 50;
the table50 matches with the output port of load balancing, and finally enters the table100 to forward the packet.
10. An implementation system for dynamic load balancing of a data center gateway, applying the method according to any one of claims 1 to 9, comprising a cloud data center management platform application layer, an SDN controller, and a cloud data center forwarding layer, wherein:
the cloud data center management platform application layer is used for carrying out information interaction with a user and transmitting information input by the user to the SDN controller;
the SDN controller is used for monitoring the inlet and outlet flows of all the load balancers, judging whether the inlet and outlet flows are within the threshold value of a related flow threshold or not so as to determine whether a gateway and the load balancers need to be newly built or deleted, then calculating related forwarding rules by combining the latest resources, generating corresponding forwarding table entry contents, and issuing the forwarding table entry contents to the load balancers and gateway equipment for forwarding;
and the cloud data center forwarding layer is used for performing operation of adding, deleting, modifying and searching the flow table items in the forwarding table and forwarding after receiving the forwarding configuration command issued by the SDN controller.
CN202210212397.5A 2022-03-04 2022-03-04 Method and system for realizing dynamic load balancing of data center gateway Active CN114466016B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210212397.5A CN114466016B (en) 2022-03-04 2022-03-04 Method and system for realizing dynamic load balancing of data center gateway

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210212397.5A CN114466016B (en) 2022-03-04 2022-03-04 Method and system for realizing dynamic load balancing of data center gateway

Publications (2)

Publication Number Publication Date
CN114466016A true CN114466016A (en) 2022-05-10
CN114466016B CN114466016B (en) 2023-06-09

Family

ID=81416560

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210212397.5A Active CN114466016B (en) 2022-03-04 2022-03-04 Method and system for realizing dynamic load balancing of data center gateway

Country Status (1)

Country Link
CN (1) CN114466016B (en)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105553848A (en) * 2014-10-22 2016-05-04 瞻博网络公司 Protocol independent multicast sparse mode (pim-sm) support for data center interconnect
CN106936857A (en) * 2015-12-29 2017-07-07 中国电信股份有限公司 A kind of connection management method of mixed cloud, SDN controllers and mixing cloud system
CN108293001A (en) * 2015-12-31 2018-07-17 华为技术有限公司 A kind of dispositions method of software definition data center and service cluster therein
CN108540559A (en) * 2018-04-16 2018-09-14 北京航空航天大学 A kind of SDN controllers for supporting IPSec VPN load balancing
WO2019012546A1 (en) * 2017-07-11 2019-01-17 Telefonaktiebolaget Lm Ericsson [Publ] Efficient load balancing mechanism for switches in a software defined network
CN109995583A (en) * 2019-03-15 2019-07-09 清华大学深圳研究生院 A kind of scalable appearance method and system of NFV cloud platform dynamic of delay guaranteed
CN110891019A (en) * 2019-12-10 2020-03-17 重庆邮电大学 Data center flow scheduling method based on load balancing
CN111386676A (en) * 2018-03-21 2020-07-07 华为技术有限公司 Control method of application programming interface API gateway cluster and API gateway cluster
CN111478850A (en) * 2020-02-29 2020-07-31 新华三大数据技术有限公司 Gateway adjusting method and device
CN112187517A (en) * 2020-09-07 2021-01-05 烽火通信科技股份有限公司 Configuration method, platform and controller for SDN virtual routing of data center
CN113965453A (en) * 2021-10-26 2022-01-21 中国科学技术大学苏州高等研究院 Robust forwarding method for cloud computing network traffic based on gateway cluster

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105553848A (en) * 2014-10-22 2016-05-04 瞻博网络公司 Protocol independent multicast sparse mode (pim-sm) support for data center interconnect
CN106936857A (en) * 2015-12-29 2017-07-07 中国电信股份有限公司 A kind of connection management method of mixed cloud, SDN controllers and mixing cloud system
CN108293001A (en) * 2015-12-31 2018-07-17 华为技术有限公司 A kind of dispositions method of software definition data center and service cluster therein
WO2019012546A1 (en) * 2017-07-11 2019-01-17 Telefonaktiebolaget Lm Ericsson [Publ] Efficient load balancing mechanism for switches in a software defined network
CN111386676A (en) * 2018-03-21 2020-07-07 华为技术有限公司 Control method of application programming interface API gateway cluster and API gateway cluster
CN108540559A (en) * 2018-04-16 2018-09-14 北京航空航天大学 A kind of SDN controllers for supporting IPSec VPN load balancing
CN109995583A (en) * 2019-03-15 2019-07-09 清华大学深圳研究生院 A kind of scalable appearance method and system of NFV cloud platform dynamic of delay guaranteed
CN110891019A (en) * 2019-12-10 2020-03-17 重庆邮电大学 Data center flow scheduling method based on load balancing
CN111478850A (en) * 2020-02-29 2020-07-31 新华三大数据技术有限公司 Gateway adjusting method and device
CN112187517A (en) * 2020-09-07 2021-01-05 烽火通信科技股份有限公司 Configuration method, platform and controller for SDN virtual routing of data center
CN113965453A (en) * 2021-10-26 2022-01-21 中国科学技术大学苏州高等研究院 Robust forwarding method for cloud computing network traffic based on gateway cluster

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
兰亚柱;孙征征;梁冬;: "面向数据中心网络的分布式负载均衡网关架构", 太赫兹科学与电子信息学报 *
夏仕俊;: "一种基于通配规则的服务器动态负载均衡设计", 电力与能源 *
李雄英;董庆贺;何倩;周水明;: "面向智慧医疗云的SDN动态负载均衡方法", 计算机科学 *

Also Published As

Publication number Publication date
CN114466016B (en) 2023-06-09

Similar Documents

Publication Publication Date Title
US9602415B2 (en) Flow based network service insertion
US10230659B2 (en) Method and system to allocate bandwidth based on task deadline in cloud computing networks
US11463511B2 (en) Model-based load balancing for network data plane
EP2989751B1 (en) Network resource matching
CN108718246B (en) Resource scheduling method and system oriented to network function virtualization
CN108809794B (en) SDN-based transport network virtual network creating method and device and transport network system
CN112187517A (en) Configuration method, platform and controller for SDN virtual routing of data center
Mao et al. Joint resource management and flow scheduling for SFC deployment in hybrid edge-and-cloud network
CN110636036A (en) OpenStack cloud host network access control method based on SDN
CN109274589B (en) Service transmission method and device
WO2021037133A1 (en) Network management method and device
US20150043911A1 (en) Network Depth Limited Network Followed by Compute Load Balancing Procedure for Embedding Cloud Services in Software-Defined Flexible-Grid Optical Transport Networks
Chai et al. A parallel placement approach for service function chain using deep reinforcement learning
CN109286563B (en) Data transmission control method and device
CN114466016B (en) Method and system for realizing dynamic load balancing of data center gateway
WO2024016801A1 (en) Base station computing power arrangement method and apparatus, electronic device and storage medium
CN113395362B (en) Service chain grouping and reforming method for mobile edge computing
Chang et al. Optimize the Deployment and Integration for Multicast-Oriented Virtual Network Function Tree
CN113207138B (en) SR method, system, device and medium based on multi-quality attribute
CN113630792B (en) Traffic load balancing breadth-first search optimization method, system and equipment
Baskakov et al. Resource Management Method of Transport Software-defined Network
Qin et al. Live migration planning of virtual machines in hybrid sdn
Hu et al. Optimized Deployment of Network Function for Resource Pooling Switch
CN117395193A (en) Traffic engineering tunnel path construction method, device, equipment and storage medium
CN116980293A (en) Virtual network management method and related device

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