WO2017113273A1 - 一种软件定义数据中心及其中的服务集群的调度和流量监控方法 - Google Patents
一种软件定义数据中心及其中的服务集群的调度和流量监控方法 Download PDFInfo
- Publication number
- WO2017113273A1 WO2017113273A1 PCT/CN2015/100073 CN2015100073W WO2017113273A1 WO 2017113273 A1 WO2017113273 A1 WO 2017113273A1 CN 2015100073 W CN2015100073 W CN 2015100073W WO 2017113273 A1 WO2017113273 A1 WO 2017113273A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- virtual machine
- sdn controller
- service
- traffic
- service cluster
- 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.)
- Ceased
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0895—Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/0816—Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0823—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
- H04L41/0836—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability to enhance reliability, e.g. reduce downtime
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
- H04L41/122—Discovery or management of network topologies of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/40—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/64—Routing or path finding of packets in data switching networks using an overlay routing layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/76—Admission control; Resource allocation using dynamic resource allocation, e.g. in-call renegotiation requested by the user or requested by the network in response to changing network conditions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/76—Admission control; Resource allocation using dynamic resource allocation, e.g. in-call renegotiation requested by the user or requested by the network in response to changing network conditions
- H04L47/762—Admission control; Resource allocation using dynamic resource allocation, e.g. in-call renegotiation requested by the user or requested by the network in response to changing network conditions triggered by the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/78—Architectures of resource allocation
- H04L47/781—Centralised allocation of resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/70—Virtual switches
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
- H04W24/08—Testing, supervising or monitoring using real traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
- H04W24/10—Scheduling measurement reports ; Arrangements for measurement reports
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0894—Policy-based network configuration management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/82—Miscellaneous aspects
- H04L47/822—Collecting or measuring resource availability data
Definitions
- the present invention relates to IT technology, and in particular to a software defined data center and a service cluster scheduling and traffic monitoring method thereof.
- the cloud generally has three deployment models: Public Cloud (owned and operated by some enterprises, providing quick access to computing resources to other organizations or individuals at a reasonable price), Private Cloud (by a single enterprise or individual) Owned and hybrid cloud (Hybrid Cloud, using a private cloud as the foundation, while combining public cloud services at a strategic level).
- a virtual private cloud (VPC) is a dynamic configuration pool established based on shared computing resources provided by public clouds. Each VPC in the public cloud is isolated from each other, and tenants can apply for various virtualized resources in the VPC as needed. The tenant can directly connect the VPC to the public network through the public IP address, or connect the VPC to the traditional DC (Data Center, DC) through a virtual private network (VPN).
- SDN Software Defined Networking
- the core idea is to separate the network device control from the data plane, centralize network control, and open programmable interfaces. .
- the SDN controller shields the difference between the underlying physical forwarding devices through a standard southbound interface, such as the well-known OpenFlow protocol, and implements virtualization of resources.
- a flexible northbound interface is opened for upper-layer services to perform network configuration and call on demand. Internet resources.
- SDDC Software Defined Data Center
- SDDCN Software Defined Data Center Network
- multiple equal-cost servers form a server cluster that can provide certain services to provide users with efficient, reliable, and secure stable services.
- the server cluster uses load balancing technology to share the traffic of the service at the same price in each server, and distributes the request evenly to the servers in the server cluster to implement load balancing of each server in the server cluster.
- the service nodes in the group perform task assignment.
- this solution does not consider the characteristics of the SDDC in which the tenant can flexibly configure the load balancer (such as virtual machine) cluster and service cluster in the VPC, resulting in the service node scheduling in the service cluster.
- Flexible issues are not consider the characteristics of the SDDC in which the tenant can flexibly configure the load balancer (such as virtual machine) cluster and service cluster in the VPC, resulting in the service node scheduling in the service cluster.
- the embodiments of the present invention provide a software-defined data center, and a service cluster scheduling method and a traffic monitoring method thereof, to provide a flexible service cluster management mode more suitable for a cloud environment.
- the present application provides a scheduling method for a service cluster in a software-defined data center, where the software-defined data center includes an SDN controller and multiple edge switches, and the multiple edge switches are in communication connection with the SDN controller, and the software Defining a service cluster in the data center, at least two online virtual machines are serving as service nodes of the service cluster, and the IP addresses of the at least two online virtual machines are configured as shared IP addresses;
- the scheduling method includes:
- the SDN controller receives the service request message of the user that is reported by the second edge switch, and the second edge switch is an edge switch that is accessed by the user, and determines the service request report according to the destination IP address information in the service request message.
- the service cluster for the SDN controller selects the target virtual machine from the online virtual machine in the service cluster according to the load balancing policy, and the target virtual machine is used to provide the service for the user; the SDN controller determines the target virtual
- the forwarding information between the device and the user generates a first forwarding flow table and a second forwarding flow table according to the forwarding information, where the first forwarding flow table is used by the edge switch of the target virtual machine to forward the message, and the second forwarding The flow table is configured to forward the packet to the second edge switch.
- the SDN controller sends the first forwarding flow table to the edge switch of the target virtual machine, and sends the second forwarding flow table to the second edge switch.
- the LBer or the LBer cluster is not separately created, but the SDN controller is used to implement the function of the LBer.
- the SDN controller is the core of the SDDCN network, and the configuration capability is strong.
- the embodiment of the present invention adopts the SDN controller as the SDN controller.
- LBer can multiplex the dynamic extension capability of SDN at the control level, and reuse the network resources of the SDN network at the network forwarding level, achieving low complexity and low input cost.
- the SDN controller acts as the LBe, which avoids the present
- LBe the LBe
- user traffic is always routed to LBer, the problem of long forwarding path and low forwarding efficiency caused by retransmission or rerouting to the serving node, user traffic is distributed on the edge switch of the SDN network entrance, the optimal path is selected by the SDN controller, the forwarding path is short, and the forwarding efficiency is low. high.
- the SDN controller acquires resource load information or traffic load information of each online virtual machine in the service cluster, and selects a virtual machine with the smallest resource load or the smallest traffic load as the target virtual machine.
- the SDN controller performs load monitoring on the online virtual machine in the service cluster, and periodically acquires a load monitoring result, where the load monitoring includes resource load monitoring or traffic load monitoring, and the SDN controller obtains the load monitoring result.
- the SDN controller actively monitors the resource or traffic condition of the service cluster, and performs a decision according to the monitored real-time information when performing the load balancing policy, which is beneficial to selecting a more suitable target virtual machine.
- the present application provides a traffic monitoring method for a service cluster in a software-defined data center, where the software-defined data center includes an SDN controller and multiple edge switches, and the multiple edge switches are in communication connection with the SDN controller.
- the service definition data center also has a service cluster, at least two online virtual machines serve as service nodes of the service cluster, and the IP addresses of the at least two online virtual machines are configured as shared IP addresses;
- the method includes:
- the SDN controller periodically sends a traffic statistics extraction request to an edge switch of each online virtual machine in the service cluster, and the SDN controller respectively receives the T 1 time and the feedback of the edge switch of each online virtual machine.
- the traffic statistics of the T 2 time the SDN controller obtains the traffic load of each online virtual machine according to the difference between the traffic statistics of the edge switch T 1 of each online virtual machine and the traffic statistics of the T 2 time. information.
- the SDN controller provided by the present invention can obtain the real-time situation of the service node traffic in the service cluster by using the foregoing traffic monitoring method, so that an appropriate service node can be selected according to the traffic load condition of each service node to provide services for the user, or according to each service node.
- the traffic load situation performs the capacity expansion or volume reduction operation of the service cluster.
- the application provides a software-defined data center, where the software-defined data center includes an SDN controller and multiple edge switches, and the multiple edge switches are in communication connection with the SDN controller, where the software-defined data center is deployed.
- Service cluster at least two online virtual machines serve as service nodes of the service cluster, and the IP addresses of the at least two online virtual machines are configured as shared IP addresses;
- the plurality of edge switches are configured to request forwarding information of the packet from the SDN controller, and forward the packet according to the forwarding flow table sent by the SDN controller;
- the SDN controller is configured to implement the scheduling method of the service cluster of the second aspect.
- the application provides a software-defined data center, where the software-defined data center includes an SDN controller and multiple edge switches, and the multiple edge switches are in communication connection with the SDN controller, where the software-defined data center is deployed.
- Service cluster at least two online virtual machines serve as service nodes of the service cluster, and the IP addresses of the at least two online virtual machines are configured as shared IP addresses;
- the plurality of edge switches are configured to request forwarding information of the packet from the SDN controller, and forward the packet according to the forwarding flow table sent by the SDN controller;
- the SDN controller is configured to implement the traffic monitoring method of the service cluster in the foregoing third aspect.
- the application provides a computing device, including: a processor, a memory, a bus, and a communication interface;
- the memory is configured to store execution instructions
- the processor is coupled to the memory via the bus, and when the computing device is running, the processor executes the execution instructions stored by the memory to cause the apparatus to perform the service cluster of the second aspect above The method of scheduling.
- the application provides a computing device, including: a processor, a memory, a bus, and a communication interface;
- the memory is configured to store execution instructions
- the processor is coupled to the memory via the bus, and when the computing device is running, the processor executes the execution instructions stored by the memory to cause the apparatus to perform the service cluster of the third aspect above The method of traffic monitoring.
- the embodiment further provides a corresponding computer readable medium for storing any method for causing the computer to perform the deployment, scheduling or traffic monitoring of the foregoing service cluster.
- the computer executes the instructions.
- This application adopts the SDN controller as the LBer, which can multiplex the dynamic expansion capability of the SDN at the control level, and reuse the network resources of the SDN network at the network forwarding level, achieving low complexity and low input cost; further, controlled by SDN
- the problem of long forwarding path and low forwarding efficiency caused by user traffic always being routed to the LBer and then transiting or rerouting to the service node is avoided when the LBer is used in the prior art.
- the user traffic is at the SDN network entrance.
- the edge switch is distributed, and the SDN controller selects the optimal path, the forwarding path is short, and the forwarding efficiency is high.
- FIG. 1 is a schematic structural diagram of a software defined data center according to an embodiment of the present invention.
- FIG. 2 is a schematic structural diagram of still another software defined data center according to an embodiment of the present invention.
- FIG. 3 is a schematic flowchart of identifying a new online virtual machine according to an embodiment of the present invention.
- FIG. 4 is a schematic diagram showing the format of an ARP packet according to an embodiment of the present invention.
- FIG. 5 is a schematic flowchart of service cluster traffic distribution according to an embodiment of the present invention.
- FIG. 6 is a schematic structural diagram of a general-purpose computing device according to an embodiment of the present invention.
- Tenant network The network established by the tenant in the SDDC. Generally speaking, the tenant network corresponds to the VPC.
- Service cluster A cluster of service nodes that provide users with the same business.
- the service node refers to the node that provides the service in the service cluster, and the virtual machine is the node obtained by virtualization in the cloud environment.
- the service node is implemented by using a virtual machine, but the virtual machine in the SDDC is not All are used to implement service nodes, and there are also virtual machines that perform other services.
- Static virtual machine A virtual machine configured with static configuration information on the cloud management platform.
- the virtual machine is not online. That is, the virtual machine has not been connected to the edge switch.
- Online virtual machine Indicates an activation state of a virtual machine that can perform operations and generate communication with other associated devices.
- Virtual machine online Indicates the related action or event that occurs when the virtual machine enters the active state.
- the service node belonging to the same service cluster is configured as a shared IP address.
- the shared IP address can be the same IP address or a set of several different IP addresses.
- the set of IP addresses is served by the service.
- the service nodes in the cluster are shared.
- the IP addresses of all service nodes in the service cluster are configured as IP1, and IP1 is the shared IP address.
- the shared IP address of the service cluster is IP1 and IP2, and the IP address of the service node of the service cluster.
- the address can be configured to either IP1 or IP2.
- infrastructure layer 1 contains hardware components that make up a cloud data center, such as computing devices, storage devices, and physical switching devices. These hardware devices can be a single type of dedicated device, or can be integrated with computing, storage, and switching. Integrated equipment.
- the physical switching device in the infrastructure layer 1 is formed according to a specific architecture to form a network core area, on which virtual switches can be virtualized, and the virtual switch forms a network edge area outside the core area of the network, and the core and edge area switching devices exchange with each other. Interoperate to form an SDDC infrastructure network.
- the resources in the infrastructure layer 1 can be virtualized by the virtualization layer 2 to derive a virtual machine (virtual machine).
- the virtual machine accesses the virtual switch to access the network.
- virtual machine 61, virtual machine 62, virtual machine 71, virtual machine 72, and virtual machine 73 are virtual machines, and edge switches 51, 52, 53, 54, and 55 are virtual switches.
- the virtual switch group is built into an SDDCN network.
- the SDDCN network is an SDN network, and includes an SDN controller 30.
- the edge switches 51-55 exchange packets according to the instructions of the SDN controller 30.
- the SDN controller 30 can also customize multiple tenant networks (also referred to as VPCs) over a set of network infrastructure, such as the tenant network 31 and the tenant network 32 in FIG. 1, with logical isolation between the various tenant networks.
- Each tenant is allowed to deploy virtual machines in their own dedicated tenant network, install application software, and publish services to their users. For availability and performance considerations, tenants also allow multiple deployments of services, build service clusters, and provide homogeneous services to all service nodes.
- the tenant network 31 defines a service cluster 7.
- the SDDC network can also communicate with an external network, such as the external network 4 in FIG. 1, and the user 63 communicates with users or services in the SDDC through the external network 4.
- the carrier of the LB load balancer is a virtual machine.
- the performance of each virtual machine is limited.
- the linear growth of the service cluster is satisfied.
- Requirements generally need to use multiple virtual machines to build LBer clusters, and for the continuously adjusted LBer cluster, the consistency and timeliness of synchronization between LBers will affect the service's online rate.
- the configuration of the service cluster in the cloud environment is very flexible. The tenant can flexibly configure the service cluster at any time. The capacity expansion and capacity reduction are frequent. The creation, expansion, volume reduction and deletion of the service cluster require manual intervention by the tenant. .
- an embodiment of the present invention proposes that an SDN controller, such as the SDN controller 30 in FIG. 1, implements a scheduling decision function of the LBer, and the same IP address or shared IP of the SDN controller according to the service node of the same service cluster.
- a technical solution for the automated management of address clusters First, the LBer or the LBer cluster is not separately created in the embodiment of the present invention, but the LB controller is used to implement the scheduling decision function of the LBer. Second, all nodes in the service cluster are configured as shared IP addresses. The SDN controller captures IP address conflicts in the tenant network, identifies and manages the service cluster based on the shared IP address, and uses the Media Access Control (MAC) address to differentiate the service cluster.
- MAC Media Access Control
- the SDN controller follows the principle of the serving node LB, and the forwarding flow table of the customized message instructs the switch to direct user traffic to the designated service node.
- the switch receives the forwarding flow table sent by the SDN controller, and performs traffic distribution according to the forwarding flow table indication.
- the SDN controller As the core of the SDDCN network, the SDN controller has a strong configuration capability.
- the SDN controller implements the scheduling decision function of the LBer in the embodiment of the present invention, and can multiplex the dynamic expansion capability of the SDN at the control plane, and reuses on the network forwarding layer.
- the network resources of the SDN network have low implementation complexity and low input cost.
- the SDN controller manages the cluster through the shared IP address. The creation, expansion, volume reduction and deletion of the service cluster are automatically completed by the SDN controller, and the tenant manual is no longer needed.
- the SDN controller is used as the LBer, which avoids the long forwarding path caused by the user traffic always being routed to the LBer and then transited or rerouted to the service node when the LBer is used in the prior art.
- the problem of low forwarding efficiency is that user traffic is distributed on the edge switch of the SDN network entrance, and the optimal path is selected by the SDN controller, the forwarding path is short, and the forwarding efficiency is high.
- the SDN controller manages the service cluster, including the creation, expansion, volume reduction, and deletion of the service cluster.
- the management of the service cluster can also include health checks of the service cluster.
- FIG. 2 the edge switch and the service cluster configured by the tenant in FIG. 2 and FIG. 1 are different, the difference is only used to indicate the diversity of the tenant configuration in the specific implementation, and does not mean that FIG. 1 and FIG. 2 are in FIG.
- the system composition and the method implementation are essentially different.
- Figure 2 the service cluster A and the service cluster B created by the same tenant are illustrated.
- the shared IP address of the service cluster A is configured as IP 0
- the shared IP address of the service cluster A is configured as IP 1
- the service cluster A configured by the tenant contains three service nodes, the IP address and MAC address of the service node A1 are respectively (IP 0 , MAC 1 ), and the IP address and MAC address of the service node A2 are respectively (IP 0 , MAC 2 ), the IP address and MAC address of the service node A3 are respectively (IP 0 , MAC 3 ), the service cluster B contains three service nodes, and the IP address and MAC address of the service node B1 are respectively (IP 1 , MAC 4 )
- the IP address and MAC address of the service node B2 are respectively (IP 1 , MAC 5 ), and the IP address and MAC address of the service node B3 are respectively (IP 1 , MAC 6 ).
- the SDN controller 30 manages the service cluster of the tenant according to the shared IP address, identifies the service node with the shared IP address existing in the tenant network, creates and expands the service cluster based on the service node with the shared IP address, and periodically detects the health status of each node of the service cluster. According to Jian The result of the Kang check is to reduce the capacity or delete the service cluster.
- the SDN controller 30 joins a service node (such as a virtual machine) to a service cluster or creates a new service cluster according to a service node. It is necessary to determine that the virtual machine is running online because if a virtual machine that is not running online is added.
- the service cluster if the virtual machine is configured to perform tasks in the service cluster, and the virtual machine is not online, affects the service processing of the service cluster. Therefore, the SDN controller 30 needs to join the online running virtual machine to the service cluster or create a new service cluster according to the virtual machine if it is determined that the virtual machine is running online.
- the service node is implemented by using a virtual machine in the SDDC, and after the SDN controller 30 takes over the network, the static configuration information of each static virtual machine in the SDDC can be obtained from the cloud management platform, for example, each static virtual machine belongs to Tenant, subnet, and MAC address, IP address, gateway, and other information of the virtual machine.
- each static virtual machine belongs to Tenant, subnet, and MAC address, IP address, gateway, and other information of the virtual machine.
- the SDN controller 30 cannot know the actual running status of each static virtual machine, and cannot directly confirm whether the static virtual machine has access to the edge switch of the tenant network.
- the embodiment of the present invention provides a method for the SDN controller 30 to identify an online virtual machine, and after identifying the online virtual machine, the SDN controller 30 creates a service cluster or joins the virtual machine to the created service cluster.
- the SDN controller 30 acquires the virtual machine online event sent by the edge switch of the new online virtual machine, and the SDN controller 30 acquires the MAC address of the new online virtual machine, and the MAC address of the new online virtual machine is static from multiple stations.
- the IP address of the candidate virtual machine selected in the virtual machine is matched.
- the candidate virtual machine is determined to be the new online virtual machine.
- the edge switch of the new online virtual machine is bound to the candidate virtual machine, and the SDN controller 30 further identifies whether the IP address of the new online virtual machine is a shared IP address, and if the IP address of the new online virtual machine is a shared IP address. Address, deploy the new online virtual machine to the service cluster corresponding to the shared IP address.
- the SDN controller 30 can identify the online virtual machine by active identification or passive capture.
- the SDN controller 30 actively recognizes that the SDN controller 30 knows that the virtual machine sends an identification request message to the new online virtual machine to obtain the new online virtual machine after the edge switch is newly online.
- Passive capture by the SDN controller 30 may be that the SDN controller 30 checks the MAC address of the new online virtual machine to identify the new online virtual machine.
- FIG. 3 is a flowchart of an implementation of the SDN controller 30 actively identifying a virtual machine (which is implemented by a virtual machine).
- S31 When the new online virtual machine is connected to the first edge switch (the new online virtual machine is any one of multiple virtual machines configured for the tenant in the current SDDC, the first edge switch is more than the SDDC network)
- the SDN controller 30 receives the virtual machine online event sent by the first edge switch, for example, an interface UP event, in the edge switch of the desk edge switch that establishes a connection with the new online virtual machine.
- S32 The SDN controller 30 selects a candidate virtual machine.
- the SDN controller 30 After receiving the event reported by the interface of the first edge switch, the SDN controller 30 determines that the virtual machine online event occurs, and further determines which of the plurality of statically configured virtual machines that the new online virtual machine saves the static configuration information. In this embodiment, the SDN controller 30 first selects a candidate virtual machine from the statically configured virtual machine that has saved the static configuration information (the candidate virtual machine selected by the SDN controller 30 constitutes a candidate virtual machine set, the candidate virtual machine. The set includes one or at least two candidate virtual machines. In the embodiment of the present invention, the candidate virtual machine set may include a special scenario of the candidate virtual machine. The purpose of selecting the candidate virtual machine is to verify whether the candidate virtual machine is New online virtual machine.
- the selected candidate virtual machine set may be in the range of all statically configured virtual machines on the SDN controller.
- the selected candidate virtual machine can be further filtered, for example, the virtual machines in all the statically configured virtual machines that have been bound to the specific edge switch are culled.
- a specific selection method is that the SDN controller 30 first determines a set of statically configured virtual machines that are not bound to a specific edge switch, and then selects the statically configured virtual machines in the determined set one by one until the SDN control The device 30 completes the identification of the new online virtual machine.
- the SDN controller 30 simulates that the gateway of the candidate virtual machine sends an identification request message to the new online virtual machine, where the identification request message is used to instruct the new online virtual machine to report its own MAC address.
- ARP Address Resolution Protocol
- SDN controller SDN controller
- FIG. 4 is a diagram showing the format of the ARP packet based on Ethernet.
- the ARP packet consists of two parts. The first part is the Ethernet header and the second part is the APR request/response part.
- the SDN controller 30 simulates the destination MAC address in the Ethernet header in the ARP request packet of the candidate virtual machine to be filled in as FF: FF: FF: FF: FF: FF, indicating the ARP packet.
- the source MAC address in the Ethernet header of the ARP request packet is filled in as the MAC address of the gateway of the candidate virtual machine, indicating that the first hop of the ARP request packet is sent through the gateway of the candidate virtual machine.
- the source IP address and the source MAC address of the APR request part in the ARP request packet are respectively filled in as the IP address and MAC address of the gateway of the candidate virtual machine, indicating that the ARP request packet is used by the gateway of the candidate virtual machine.
- the destination IP address of the APR request part of the ARP request packet is filled in as the IP address of the candidate virtual machine, and the destination MAC address of the APR request part in the ARP request packet is filled in a special field, for example, 00: 00:00:00:00:00, indicating that the destination MAC address is to be filled by the responder.
- the SDN controller 30 constructs an ARP request packet for each candidate virtual machine in the candidate virtual machine set, and each ARP request message corresponds to each candidate virtual machine.
- the SDN controller can traverse the statically configured virtual machine one by one, construct an ARP request message and issue a constructed ARP request message for each candidate virtual machine, or wait for all candidate virtual machines to be selected. After that, an ARP request packet is constructed for each candidate virtual machine, and then multiple ARP request packets are simultaneously sent.
- the SDN controller 30 receives the response message of the identification request sent by the new online virtual machine, and the response message of the identification request carries the MAC address of the new online virtual machine.
- the SDN controller 30 receives the PacketIn event reported by the first edge switch, and parses the packet to obtain an ARP response packet.
- the SDN controller 30 checks whether the source MAC address in the ARP response packet is consistent with the MAC address in the static configuration information of the candidate virtual machine. If the MAC address is consistent, the new online virtual machine It is identified by the SDN controller 30 that the candidate virtual machine matches the new online virtual machine that sent the ARP reply, and the first edge switch is also bound to the candidate virtual machine.
- the information of the first edge switch is recorded in the static configuration information of the determined candidate virtual machine
- the S33, S34, and S35 steps may be in an asynchronous mode, that is, after selecting the candidate virtual machine in S33, the ARP request packet is sent to the selected candidate virtual machine, and after receiving the ARP response packet in S34, the ARP request packet cannot be determined. It is a response message of the ARP request sent by the candidate virtual machine.
- the candidate virtual machines in the candidate virtual machine set can be checked one by one in step S35.
- the SDN controller 30 can also identify the new online service node in a passively captured manner. After receiving the identification request message sent by the new online virtual machine forwarded by the edge switch, the SDN controller 30 detects that the MAC address of the new online virtual machine carried by the identification request message is consistent with the MAC address of the candidate virtual machine. Thereby identifying a new online virtual machine.
- the identification request message sent by the new online virtual machine may also be an ARP request message (including a free ARP request), and the SDN controller 30 determines that the virtual machine that sends the ARP request is a new online virtual machine according to the received ARP request message, and further Verifying the consistency of the MAC address in the static configuration information of the source MAC address and the candidate virtual machine in the ARP request. If they are consistent, it is determined that the new online virtual machine matches the candidate virtual machine, and the new online virtual machine is recognized by the SDN controller 30. The edge switches of the new online virtual machine are also bound to the candidate virtual machines.
- the SDN controller 30 After the SDN controller 30 identifies the new online virtual machine, the SDN controller 30 checks whether the IP address of the new online virtual machine is the same as the IP address of the other virtual machine of the tenant (or checks whether the IP address of the new online virtual machine is in advance The set service cluster has the same shared IP address. If the same, the SDN controller 30 checks whether the IP address of the new online virtual machine corresponds to the created service cluster. If so, the SDN controller 30 adds the new online virtual machine to the service cluster. If the IP address of the new online virtual machine does not have a corresponding created service cluster, create a new service cluster with the IP address of the new online virtual machine as the identifier, and then deploy the new online virtual machine. In the newly created service cluster.
- the SDN controller 30 can also check whether the IP address of the new online virtual machine is different from the preset service cluster. The shared IP address is the same. If the same, the SDN controller 30 adds the new online virtual machine to the created service cluster corresponding to the shared IP address, or creates a new service cluster with the shared IP address as the identifier, and then the new online. A virtual machine is added to the created service cluster.
- the SDN controller 30 establishes a service cluster for multiple virtual machines with shared IP addresses, and shares the traffic of all users.
- the service node A1, the service node A2, and the service node A3 share the IP address IP 0
- the MAC addresses are MAC 1 , MAC 2 , and MAC 3 respectively
- the service node B1 The service node B2 and the service node B3 share the IP address IP 1
- the MAC addresses are MAC 4 , MAC 5 , and MAC 6 , respectively . Since the tenant network allows overlap, in the SDDCN, the SDN controller 30 can uniquely identify a service cluster by a combination of tenant and IP.
- the above-mentioned virtual machine online includes not only the scenario where the new virtual machine starts to run, but also other scenarios where the new IP address of the virtual machine is activated, such as adding or changing the IP address of the virtual machine.
- the service cluster can be dynamically scaled.
- the SDN controller discovers that the virtual machine with the shared IP is online in the tenant network, the SDN controller expands the service cluster corresponding to the specified IP address.
- the SDN controller finds that the service cluster capacity reduction event occurs. The SDN controller will reduce the capacity of the service cluster.
- the service cluster volume reduction event may be notified by the service node or other management node to the SDN controller 30, or the SDN controller 30 may actively detect the discovery service cluster volume reduction event, for example, the health check of the service cluster initiated by the SDN controller.
- the service cluster capacity reduction event may include: the service node's IP address is invalid. When the service node is implemented by using a virtual machine, the invalidation of the IP address of the service node may be: any situation where the virtual machine goes offline, changes, faults, or IP address deletion.
- the SDN controller 30 checks whether the IP address of the virtual machine in which the failure occurs corresponds to the service cluster. If corresponding, the SDN controller 30 deletes the invalid virtuality from the service cluster corresponding to the IP address of the failed virtual machine. And check whether the number of remaining service nodes in the service cluster is greater than 1. If it is less than or equal to 1, delete the service cluster corresponding to the IP address.
- the SDN controller 30 can actively detect whether a server volume reduction event occurs. For example, the SDN controller 30 periodically performs a health check on the service node in the service cluster, and the health state does not meet the original IP address of the required service node. The failure is set, so that the problem service node can be removed from the service cluster in time to ensure that subsequent access traffic is not directed to the problem service node, thereby ensuring high availability of the tenant service.
- the SDN controller 30 can check the health status of the service node in the service cluster from different network levels by using one of port monitoring, link state detection, and flow table monitoring. And determining, according to the result of the health check, whether the IP address of any one of the online virtual machines in the service cluster is invalid.
- Port status monitoring is generally used to detect the physical layer fault of the service node.
- the SDN controller 30 can configure port state monitoring logic on each edge switch through real-time commands or static configuration of the administrator, so that each edge switch in the SDDCN detects the interface state of each service node in the service cluster in real time.
- a port status (PortStatus) event is reported to the SDN controller 30. For example, a virtual machine that is a service node is powered off, restarted, or its interface is faulty or shut down. This triggers the virtual machine interface state to change from UP to DOWN.
- the SDN controller 30 receives the port status event PortStatus sent by the at least one edge switch (such as the virtual machine interface offline), determines the port whose interface status is abnormal according to the port status event, and determines the online virtual machine corresponding to the port whose interface status is abnormal.
- the IP address is invalid.
- the link state detection mode is generally used to detect the link fault of the service node.
- the SDN controller 30 simulates the gateway of each service node in the service cluster, periodically constructs a link state detection request message, for example, constructs an ARP request according to the virtual machine's IP address, and then PacketOut the constructed ARP request packet to the virtual machine. Corresponding edge switch. If the service node does not respond in time after receiving the ARP request, the ARP response will time out. When the number of timeouts exceeds the set threshold, the SDN controller 30 marks the destination IP address of the ARP request that has timed out (ie, the IP address of the virtual machine) as a failed state.
- the flow meter monitoring method is generally used to detect service node network and transport layer failures.
- the SDN controller 30 sends a forwarding flow table to each edge switch to forward the user's service. Request a service response with the service node.
- the edge switch is configured to detect the idle time of the forwarding flow table in real time. When the forwarding flow table does not match any packet, the idle time is continuously accumulated. After the idle time reaches the aging time, the edge switch deletes the forwarding flow table.
- the SDN controller 30 reports a forwarding flow table aging event, such as a flow table moving out of a FlowRemoved or Flow Expiry event. After receiving the FlowRemoved (Expiry) event, the SDN controller 30 marks the IP address of the virtual machine corresponding to the flow table removal or flow table timeout event as a failed state.
- the SDN controller 30 may invalidate the IP address according to the operation procedure of the capacity reduction or deletion of the service cluster.
- the virtual machine is removed from the service cluster.
- SDN controller performs LB traffic distribution
- the SDN controller 30 can distribute the traffic of the service nodes of the service cluster according to the principle of load balancing. As shown in FIG. 2, the service request of the user 1 is imported into the tenant network through the user-side edge switch 200, and is guided by the SDN controller 30, traverses the core area of the network, and then leads the tenant network through the service-side edge switch 201, and finally flows into the service cluster A. Service node A1.
- the service response of the service node A1 is introduced into the tenant network through the edge switch 201, and is guided by the SDN controller 30, traverses the core area of the network, and then leads the tenant network through the edge switch 200, and finally flows into the user 1.
- the SDN controller 30 needs to control the edge switch to customize and deliver the forwarding flow table, match the source and destination information of the packet, and encapsulate the forwarding path of the packet and then forward it.
- FIG. 5 is a flow chart of user traffic distribution, and the specific steps are as follows:
- User 1 requests the service node of the service cluster to provide the service, and the service request message of the user 1 is transmitted to the edge switch 200 of the user 1;
- the user edge switch 200 After receiving the service request packet, the user edge switch 200 finds that there is no matching forwarding flow table, and reports a PacketIn event to the SDN controller 30 to request the SDN controller 30 to send routing information.
- the SDN controller 30 parses the source and destination information of the service request packet. Determining, according to the destination IP address information in the service request packet, the service cluster for the service request packet, and then selecting the service node A1 in the service cluster A as the target service node according to the preset load balancing policy, and calculating the user 1 Forwarding information between the edge switch 201 and the edge switch 200 is generated according to the forwarding information of the edge switch 201 of the service node A1, and is respectively sent to the edge switch 201 of the service node A1 and the edge switch 200 of the user 1 respectively. Issue their respective forwarding flow tables;
- the SDN controller 30 generates a forwarding flow table for the user 1 and the service node A1, and delivers the flow table to the edge switch 200 and the edge switch 201 respectively.
- the forwarding flow table of the edge switch 201 is preferentially delivered, or the forwarding flow table of the edge switch 200 is preferentially delivered.
- the forwarding flow table is preferentially sent to the edge switch 201 to ensure that the service node is before the packet arrives.
- the forwarding flow table is already available on the edge switch 201 of A1, and the edge switch 201 of the service node A1 is also prevented from reporting the PacketIn event to the SDN controller 30.
- the end-to-end communication is always mutual.
- the forwarding flow table sent by the SDN controller 30 to the edge switch 200 and the edge switch 201 includes both forward and reverse directions.
- the forward flow table is applicable to the forwarding of the request of the user 1 to the serving node A1.
- the reverse flow table is applicable to the forwarding of the service response of the service node A1 to the user 1;
- the edge switch 200 forwards the service request message to the edge switch 201 of the service node A1 according to the forwarding flow table sent by the SDN controller;
- the edge switch 201 of the service node A1 forwards the service request message to the service node A1.
- the serving node A1 edge switch 201 serves as an edge switch. When the access host is clear, the packet needs to be forwarded according to the destination MAC address in the packet.
- the service node A1 sends a service response to the edge switch 201 of the service node A1 in response to the request of the user 1;
- the edge switch 201 of the service node A1 forwards the service response according to the forwarding flow table sent by the SDN controller 30, and forwards the service response message to the edge switch 200 of the user 1;
- the edge switch 200 of the user 1 forwards the service response to the user 1.
- the edge switch 200 of the user 1 only needs to follow the purpose of the message when the access host is clear.
- the MAC address forwards the packet.
- Table 1 shows an example of the flow sent by the SDN controller.
- the above table lists the forwarding flow table customized and delivered by the SDN controller for the relevant edge switch during the interaction between user 1 and service node A1.
- the edge switch 200 matches the packet source IP11, the destination IP0, encapsulates the packet to the forwarding path of the edge switch 200, and then sends the packet to the portal to the core network. If IP11 and IP0 belong to the same network segment, the packet destination MAC address is the MAC address filled directly serving node A1 of the MAC 1, no need to change.
- the destination MAC address of the packet is filled with the gateway MAC address of the serving node A1, and the edge switch 201 needs to change the destination MAC address of the packet to the MAC address MAC 1 of the serving node A1; 201 matches the destination destination MAC 1 and sends the message to the service node A1.
- the edge switch 201 matches the packet destination IP11, encapsulates the packet to the forwarding path of the edge switch 200, and then sends the packet to the portal to the core network; the edge switch 200 matches the packet destination.
- MAC11 the message is sent to user 1.
- the forwarding process of the service request and response between the subsequent user 1 and the service node A11 is similar to the forwarding process of the service request first packet and the service response first packet.
- the foregoing solution describes how the SDN controller 30 first distributes the service node according to the load balancing principle for the first packet of the user, and there is another scenario for traffic distribution in the actual service.
- the SDN controller 30 needs to redirect the new online user traffic to the failed service node, and also needs to redirect the user traffic of the service node that has been imported into the service cluster to other normal in the service cluster.
- Service node The SDN controller 30 needs to delete the delivered forwarding flow table on the edge switch corresponding to the service node in time, and then re-designate the new service node for the user traffic according to the user traffic distribution process and deliver a new forwarding flow table.
- the SDN controller 30 acts as an LBer, and follows the service node LB principle to customize the packet forwarding flow table to instruct the edge switch to direct user traffic to the designated service node.
- the SDN controller 30 can monitor the load of the service node in the service cluster, perform the load balancing function of the LBer according to the result of the load monitoring, and select the target virtual machine.
- load monitoring is that the SDN controller 30 can monitor resource usage of each service node, such as resource utilization, memory utilization, cache utilization, hard disk utilization, and bandwidth utilization of CPUs of respective service nodes. Monitor any kind of resource or the use of any combination of these resources.
- the load balancing of the SDN controller 30 can implement the load balancing decision according to the resource usage of the service node in the prior art, and provides a new implementation manner, and the SDN controller 30
- the load balancing scheduling is performed based on the principle of service node traffic load balancing, and the corresponding forwarding flow table is customized to instruct the edge switch to perform traffic distribution.
- the SDN controller 30 performs resource load monitoring or traffic load monitoring on the online virtual machine in the service cluster, and periodically acquires resource load information or traffic of each online virtual machine in the service cluster in the obtained load monitoring result. Load information. After acquiring the resource load information or the traffic load information of each online virtual machine in the service cluster, the SDN controller 30 selects the virtual machine with the smallest resource load or the smallest traffic load as the target virtual machine.
- the SDN controller 30 may instruct each edge switch to monitor the traffic of each forwarding flow table when the forwarding flow table is sent to each edge switch, or configure the edge switches for each forwarding on each edge switch.
- the flow of flow table monitoring logic The edge switch in the SDDC network forwards the service request of the user and the service response of the service node according to the forwarding flow table sent by the SDN controller 30, and collects the number or length of the packets processed by each forwarding flow table in real time.
- the number of packets processed by the service node of the service node on the edge switch of the service node represents the user responding to the service node.
- the amount of requests indirectly reflects the load of the service node.
- the SDN controller 30 periodically collects the traffic forwarding result of each forwarding flow table counted by the edge switch from the edge switch of the serving node, and filters the traffic data of the service response from the traffic statistics result of each forwarding flow table. Monitoring of the traffic load of the service node can be achieved.
- three service nodes B1, B2, and B3 share a single IP address IP1 in the service cluster B in the tenant network.
- a total of 5 users request service from the service cluster, where User 1 and User 4 are served by Service Node B1, User 2, User 5 is served by Service Node B2, and User 3 is served by Service Node B3.
- the edge switch of each service node forwards and counts the service request and response messages, and then records the statistics into the statistics field of the related forwarding flow table.
- the SDN controller periodically or periodically sends a traffic statistics extraction request of the forwarding flow table, and after receiving the response of the extraction request, obtains the number of accumulated processing packets of the service response, and combines the historical sampling data to calculate a specific period.
- the service traffic provided by the specified service node to the user, and the load of the service node is determined according to the service traffic.
- the SDN controller collects traffic statistics on the edge switches according to the time period.
- Table 2 lists the traffic statistics of the service responses in the different forwarding flow tables on each edge switch at different times.
- the service response flow table of the user node B1 to User1 and User4 processes the packets N11 and N14 respectively at time T1.
- the messages N11+ ⁇ N11 and N14+ ⁇ N14 are respectively processed;
- the service node B2 processes the message N22 and N25 for the service response flow table of User2 and User5 respectively, and processes the message N22+ at time T2.
- ⁇ N22, N25+ ⁇ N25; service node B2 processes the service response flow table to User3 at time T1, and processes the message N33, and processes the message at time T2.
- the SDN controller 30 obtains the load of the specified service node in the cycle time by summing each service node to the service response flow table of different users in the increment of the number of processing packets in the sampling period.
- Service node Node traffic load in period T (unit: Packets) Service Node1 ⁇ N11+ ⁇ N14 Service Node2 ⁇ N22+ ⁇ N25 Service Node3 ⁇ N33
- Table 3 lists the node load of each service node calculated by the SDN controller in the period T, where the node load of the service node B1 in the period T is ⁇ N11 + ⁇ N14; the node load of the service node B2 in the period T is ⁇ N22+ ⁇ N25; the node load of the serving node B3 in the period T is ⁇ N33.
- a person skilled in the art may understand that all or part of the steps of implementing the above embodiments may be completed by hardware, or may be instructed by a program to execute related hardware, and the program may be stored in a computer readable storage medium.
- the storage medium mentioned may be a read only memory, a magnetic disk or an optical disk or the like.
- the SDN controller in the above embodiment of the present invention may be implemented by a software component/program, or may be a hardware module, such as a specific circuit module. If the SDN controller is implemented by a software component, the software component can be run on the computer device, or can be stored on the media medium, and the computer device loaded with the software component or the media medium storing the software component also belongs to the embodiment of the present invention. Specific implementation.
- the computing device 600 shown in FIG. 6 includes a processor 602, a memory unit 604, an input/output interface 606, a communication interface 608, a bus 610, and a storage device 612.
- the processor 602, the memory unit 604, the input/output interface 606, the communication interface 608, and the storage device 612 implement a communication connection with each other through the bus 610.
- the processor 602 is a control center of the computing device 600, and is configured to execute related programs to implement the technical solutions provided by the embodiments of the present invention.
- the processor 602 includes one or more central processing units (CPUs), such as the central processing unit 1 and the central processing unit 2 shown in FIG.
- the computing device 600 can also include multiple processors 602, each of which can be a single A core processor (containing one CPU) or a multi-core processor (containing multiple CPUs).
- the processor 602 can be a general-purpose CPU, a microprocessor, an Application SQecific Integrated Circuit (ASIC), or one or more integrated circuits.
- ASIC Application SQecific Integrated Circuit
- Processor 602 can be coupled to one or more storage schemes via bus 610.
- the storage scheme can include a memory unit 604 and a storage device 612.
- the storage device 612 can be a read only memory (ROM), a static storage device, a dynamic storage device, or a random access memory (RAM).
- Memory unit 604 can be a random access memory.
- the memory unit 604 can be integrated with or integrated with the processor 602, or it can be one or more memory units independent of the processor 602.
- Program code for execution by the processor 602 or a CPU internal to the processor 602 may be stored in the storage device 612 or the memory unit 604.
- program code eg, an operating system, an application, a resource allocation module, or a communication module, etc.
- stored within storage device 612 is copied to memory unit 604 for execution by processor 602.
- the storage device 612 can be a physical hard disk or a partition thereof (including a small computer system interface storage or a global network block device volume), a network storage protocol (including a network file system NFS or the like network or a cluster file system), a file-based virtual storage device (virtual Disk mirroring), logical volume-based storage devices. It may include high speed random access memory (RAM), and may also include non-volatile memory, such as one or more disk memories, flash memories, or other non-volatile memory.
- RAM random access memory
- the storage device may further include a remote memory separate from the one or more processors 202, such as a network disk accessed through a communication interface 608 with a communication network, which may be the Internet, an intranet , local area networks (LANs), wide area networks (WLANs), storage area networks (SANs), etc., or a combination of the above.
- a communication network which may be the Internet, an intranet , local area networks (LANs), wide area networks (WLANs), storage area networks (SANs), etc., or a combination of the above.
- Operating systems include controls and management of general system tasks (such as memory management, storage device control, power management, etc.) ) and various software components and/or drivers that facilitate communication between various hardware and software components Device.
- the input/output interface 606 is for receiving input data and information, and outputting data such as operation results.
- Communication interface 608 enables communication between computing device 600 and other devices or communication networks using transceivers such as, but not limited to, transceivers.
- Bus 610 can include a path for communicating information between various components of computing device 600, such as processor 602, memory unit 604, input/output interface 606, communication interface 608, and storage device 612.
- the bus 610 can use a wired connection mode or a wireless communication mode, which is not limited in this application.
- computing device 600 shown in FIG. 6 only shows the processor 602, the memory unit 604, the input/output interface 606, the communication interface 608, the bus 610, and the storage device 612, in a specific implementation process, the field Those skilled in the art will appreciate that computing device 600 also includes other devices necessary to achieve proper operation.
- the computing device shown in FIG. 6 may be applicable to the method for deploying the service cluster provided by the embodiment of the present invention, the scheduling method of the service cluster, the health check method of the service cluster, or the traffic monitoring method of the service cluster.
- the memory unit 604 of the computing device 600 includes a deployment module, and the processor 602 executes the program code in the deployment module to implement a deployment method of the service cluster.
- the memory unit 604 of the computing device 600 includes a scheduling module, and the processor 602 executes the program code in the deployment module to implement a scheduling method of the service cluster.
- the memory unit 604 of the computing device 600 includes a health check module, and the processor 602 executes the program code in the deployment module to implement a health check method of the service cluster.
- the memory unit 604 of the computing device 600 includes a traffic monitoring module, and the processor 602 executes the program code in the deployment module to implement a traffic monitoring method of the service cluster.
- any one of the deployment module, the scheduling module, the health check module, or the traffic monitoring module can be comprised of one or more operational instructions to cause the computing device 600 to perform one or more method steps in accordance with the above description.
- the above deployment module, scheduling module, health check The check module or the traffic monitoring module can also be integrated into a functional module to provide a complete solution for service cluster management, such as the service cluster management function component of the SDN controller.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种软件定义数据中心以及其中的服务集群的调度和流量监控方法,SDN控制器(30)来实现负载均衡的调度决策功能。SDN控制器(30)作为负载均衡器,遵循服务节点负载均衡原则,定制报文的转发流表来指示边缘交换机将用户流量引导至指定的服务节点。SDN控制器(30)可以对服务集群中的服务节点的负载进行监控,根据负载监控的结果执行负载均衡器的负载均衡功能,选择目标虚拟机。采用SDN控制器(30)作为负载均衡器,可以在控制层面上复用SDN的动态扩展能力,在网络转发层面上复用SDN网络的网络资源,实现复杂度低,投入成本低。
Description
本发明涉及IT技术,特别涉及一种软件定义数据中心及其中的服务集群的调度和流量监控方法。
云一般拥有三种部署模型:公有云(Public Cloud,由一些企业拥有并运营,以合理的价格为其它组织或个人提供对计算资源的快速访问)、私有云(Private Cloud,由单个企业或个人拥有)和混合云(Hybrid Cloud,使用私有云作为基础,同时在战略层面结合了公有云服务)。虚拟私有云(Virtual Private Cloud,VPC),是基于公有云提供的共享计算资源建立的动态配置池。公有云内各VPC之间相互隔离,租户在VPC内可以按需申请各种虚拟化资源。租户可以通过公网IP地址,将VPC直接连入公网,也可以通过虚拟专用网络(Virtual Private Cloud,VPN)将VPC与传统DC(Data Center,DC)互联。
软件定义网络(Software Defined Networking,SDN),是由美国斯坦福大学Clean Slate研究组提出的一种网络设计理念,其核心思想是将网络设备控制与数据平面分离,集中网络控制权,开放可编程接口。SDN控制器通过标准的南向接口,如知名的OpenFlow协议,屏蔽了底层物理转发设备的差异,实现了资源的虚拟化,同时开放了灵活的北向接口,供上层业务按需进行网络配置并调用网络资源。
采用SDN技术与虚拟化技术建立的数据中心,称为软件定义数据中心(Softwares Defined Data Center,SDDC),此种数据中心的网络为软件定义数据中心网络(Software Defined Data Center Network,SDDCN)。
在传统数据中心中,多台等价服务器组成一个可以提供某种业务的服务器集群,以为用户提供高效、可靠、安全的稳定服务。其中,服务器集群采用负载均衡技术在各个服务器中等价分担业务的流量,将请求平均分配到服务器集群中的服务器中,以实现服务器集群中各个服务器的负载均衡。在目前的软件定义数据中心SDDC中,可以采用现有技术在SDDCN创建负载均衡器,由负载均衡器对服务器集
群中的服务节点进行任务分配,然而此方案并未考虑SDDC中租户可以在VPC内灵活配置负载均衡器(如采用虚拟机实现)集群和服务集群的特点,造成服务集群中的服务节点调度不灵活的问题。
发明内容
本发明实施例提供了一种软件定义数据中心,以及在其中的服务集群的调度方法和流量监控方法,以提供更加适用于云环境的、灵活的服务集群的管理方式。
第一方面,本申请提供一种软件定义数据中心中服务集群的调度方法,该软件定义数据中心包括SDN控制器和多台边缘交换机,该多台边缘交换机与该SDN控制器通信连接,该软件定义数据中心中部署有服务集群,至少两台在线虚拟机作为该服务集群的服务节点,该至少两台在线虚拟机的IP地址配置为共享IP地址;该调度方法包括:
该SDN控制器接收第二边缘交换机上报的用户的服务请求报文,该第二边缘交换机为该用户所接入的边缘交换机,根据该服务请求报文中的目的IP地址信息确定该服务请求报文针对的服务集群;该SDN控制器根据负载均衡策略,从该服务集群中的在线虚拟机中选择目标虚拟机,该目标虚拟机用于为该用户提供服务;该SDN控制器确定该目标虚拟机和该用户之间的转发信息,根据该转发信息生成第一转发流表和第二转发流表,该第一转发流表供该目标虚拟机的边缘交换机进行报文转发,该第二转发流表供该第二边缘交换机进行报文转发;该SDN控制器向该目标虚拟机的边缘交换机下发该第一转发流表,以及向该第二边缘交换机下发该第二转发流表。
利用上述调度方法,不再单独创建LBer或者LBer集群,而是由SDN控制器来实现LBer的功能,SDN控制器作为SDDCN网络的核心,配置的能力较强,本发明实施例采用SDN控制器作为LBer,可以在控制层面上复用SDN的动态扩展能力,在网络转发层面上复用SDN网络的网络资源,实现复杂度低,投入成本低;再者,由SDN控制器作为LBer,避免了现有技术中采用单独LBer时,用户流量总是先路由至
LBer,再中转或重新路由至服务节点造成的转发路径长和转发效率低下的问题,用户流量在SDN网络入口的边缘交换机上进行分发,由SDN控制器选择最优路径,转发路径短,转发效率高。
在第一方面的一种实施方式中,该SDN控制器获取该服务集群中的每台在线虚拟机的资源负载信息或流量负载信息,选择资源负载最小或流量负载最小的虚拟机作为该目标虚拟机。
优选地,该SDN控制器对该服务集群中的在线虚拟机进行负载监控,周期性地获取负载监控结果,该负载监控包括资源负载监控或流量负载监控,该SDN控制器获取该负载监控结果中的该服务集群中的每台在线虚拟机的资源负载信息或流量负载信息。
上述实现方式中,SDN控制器主动对服务集群的资源或流量情况进行监控,在执行负载均衡策略时,根据监控的实时信息进行决策,有利于选择更合适的目标虚拟机。
第二方面,本申请提供一种软件定义数据中心中服务集群的流量监控方法,该软件定义数据中心包括SDN控制器和多台边缘交换机,该多台边缘交换机与该SDN控制器通信连接。该软件定义数据中心中还部署有服务集群,至少两台在线虚拟机作为该服务集群的服务节点,该至少两台在线虚拟机的IP地址配置为共享IP地址;
该方法包括:
该SDN控制器周期性地向该服务集群中的每台在线虚拟机的边缘交换机下发流量统计数据提取请求,该SDN控制器分别接收该每台在线虚拟机的边缘交换机反馈的T1时刻和T2时刻的流量统计数据,该SDN控制器根据该每台在线虚拟机的边缘交换机T1时刻的流量统计数据和T2时刻的流量统计数据之差值,获得每台在线虚拟机的流量负载信息。
本发明提供的SDN控制器通过上述流量监控方法,可以获知服务集群中的服务节点流量实时情况,从而可以根据各个服务节点的流量负载情况选择合适的服务节点为用户提供服务,或者根据各个服务节点的流量负载情况执行服务集群的扩容或减容操作。
第三方面,本申请提供一种软件定义数据中心,该软件定义数据中心包括SDN控制器和多台边缘交换机,该多台边缘交换机与该SDN控制器通信连接,该软件定义数据中心中部署有服务集群,至少两台在线虚拟机作为该服务集群的服务节点,该至少两台在线虚拟机的IP地址配置为共享IP地址;
该多台边缘交换机,用于向该SDN控制器请求报文的转发信息,以及根据该SDN控制器下发的转发流表进行报文的转发;
该SDN控制器,用于实施上述第二方面的服务集群的调度方法。
第四方面,本申请提供一种软件定义数据中心,该软件定义数据中心包括SDN控制器和多台边缘交换机,该多台边缘交换机与该SDN控制器通信连接,该软件定义数据中心中部署有服务集群,至少两台在线虚拟机作为该服务集群的服务节点,该至少两台在线虚拟机的IP地址配置为共享IP地址;
该多台边缘交换机,用于向该SDN控制器请求报文的转发信息,以及根据该SDN控制器下发的转发流表进行报文的转发;
该SDN控制器,用于实施上述第三方面的服务集群的流量监控方法。
第五方面,本申请提供一种计算设备,其特征在于,包括:处理器、存储器、总线和通信接口;
该存储器用于存储执行指令,该处理器与该存储器通过该总线连接,当该计算设备运行时,该处理器执行该存储器存储的该执行指令,以使该装置执行上述第二方面的服务集群调度的方法。
第六方面,本申请提供一种计算设备,其特征在于,包括:处理器、存储器、总线和通信接口;
该存储器用于存储执行指令,该处理器与该存储器通过该总线连接,当该计算设备运行时,该处理器执行该存储器存储的该执行指令,以使该装置执行上述第三方面的服务集群流量监控的方法。
相应地,本实施例还提供相应的计算机可读介质,用于存储使得计算机执行上述服务集群的部署、调度或流量监控任何一种方法的计
算机执行指令。
本申请采用SDN控制器作为LBer,可以在控制层面上复用SDN的动态扩展能力,在网络转发层面上复用SDN网络的网络资源,实现复杂度低,投入成本低;再者,由SDN控制器作为LBer,避免了现有技术中采用单独LBer时,用户流量总是先路由至LBer,再中转或重新路由至服务节点造成的转发路径长和转发效率低下的问题,用户流量在SDN网络入口的边缘交换机上进行分发,由SDN控制器选择最优路径,转发路径短,转发效率高。
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作以简单地介绍,显而易见的,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种软件定义数据中心的结构示意图;
图2是本发明实施例提供的又一种软件定义数据中心的结构示意图;
图3是本发明实施例提供的识别新在线虚拟机的流程示意图;
图4是本发明实施例提供的ARP报文的格式组成示意图;
图5是本发明实施例提供的服务集群流量分发的流程示意图;
图6是本发明实施例提供的一种通用计算设备的结构示意图。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了便于对本发明进行具体说明,首先对本发明涉及的概念进行
如下解释:
租户网络:租户在SDDC中建立的网络,一般来说,租户网络对应于VPC。
服务集群:为用户提供相同业务的服务节点组成的集群。
服务节点与虚拟机:服务节点指代服务集群中提供服务的节点,虚拟机为云环境下虚拟化得到的节点,本发明实施例中,服务节点采用虚拟机实现,但SDDC中的虚拟机并非全部用于实现服务节点,也可有执行其他业务的虚拟机。
静态虚拟机:云管理平台配置了静态配置信息的虚拟机,该虚拟机并未上线,即该虚拟机还未与边缘交换机产生连接。
在线虚拟机:表示虚拟机的一种激活状态,在线虚拟机可以执行操作且同其它关联设备产生通信。
虚拟机上线:表示虚拟机进入激活态所发生的相关动作或事件。
共享IP地址:属于同一服务集群的服务节点配置为共享IP地址,该共享IP地址可以是同一个IP地址,也可以是几个不同的IP地址的组成的一个集合,该IP地址的集合由服务集群中的服务节点所共享,例如服务集群的所有服务节点的IP地址配置为IP1,IP1为共享IP地址,再例如,服务集群的共享IP地址为IP1和IP2,该服务集群的服务节点的IP地址可以配置成IP1或IP2任意之一。
图1是本发明示例的一种云数据中心的组成图。图1中,基础设施层1包含组成云数据中心的硬件设施,例如计算设备、存储设备以及物理交换设备等,这些硬件设施可以是单一类型的专用设备,也可以是计算、存储和交换集成的一体化设备。基础设施层1中的物理交换设备按照特定架构组建网络,形成网络核心区,在其之上可虚拟出虚拟交换机,虚拟交换机在网络核心区之外形成网络边缘区,核心与边缘区交换设备互连互通,共同构成SDDC基础设施网络。基础设施层1中的资源经虚拟化层2虚拟化处理后可以衍生出虚拟机(Virtual Machine,虚拟机)。虚拟机接入虚拟交换机通过以接入网络。如图1中,虚拟机61、虚拟机62、虚拟机71、虚拟机72和虚拟机73为虚拟机,边缘交换机51、52、53、54和55为虚拟交换机。
虚拟交换机组建成SDDCN网络,该SDDCN网络为SDN网络,包含SDN控制器30,边缘交换机51-55按SDN控制器30的指示进行报文交换。SDN控制器30还可以在一套网络基础设施之上定制多个租户网络(也可称为VPC),如图1中的租户网络31以及租户网络32,各个租户网络之间逻辑隔离。每个租户允许在各自专属的租户网络中部署虚拟机,安装应用软件,对其用户发布服务。出于可用性与性能的考虑,租户还允许对服务实施多点部署,构建服务集群,所有服务节点对外提供同质化服务。如图1中,租户网络31定义了服务集群7。该SDDC网络也可与外部网络互通,如图1中的外部网络4,用户63通过外部网络4连通SDDC中的用户或者服务。
在云环境中,LB负载均衡器(Load Balancer,LBer)的载体是虚拟机,每台虚拟机的单体性能有限,为了保障对租户网络VPC内负载均衡的调度能力,满足服务集群线性增长的需求,一般需要采用多台虚拟机来构建LBer集群,而对于不断调整的LBer集群,LBer之间进行同步的一致性和时效性将影响到服务的上线速率。另一方面,云环境下服务集群的配置本身就很灵活,租户可以随时灵活配置服务集群,扩容以及减容较频繁,服务集群的创建、扩容、减容与删除都需要租户人工干预,灵活性差。
本发明实施例为了解决上述问题,提出由SDN控制器,例如图1中的SDN控制器30,实现LBer的调度决策功能,以及SDN控制器根据相同服务集群的服务节点的相同IP地址或共享IP地址对服务集群进行自动化管理的技术方案。首先,本发明实施例不再单独创建LBer或者LBer集群,而是由SDN控制器来实现LBer的调度决策功能。其次,服务集群中所有节点配置为共享IP地址,SDN控制器捕获租户网络内IP地址冲突,识别并基于共享IP地址来管理服务集群,利用媒体访问控制(Media Access Control,MAC)地址区分服务集群中不同服务节点。另外,SDN控制器遵循服务节点LB原则,定制报文的转发流表指示交换机将用户流量引导至指定服务节点。交换机接收SDN控制器下发的转发流表,依照转发流表指示进行流量分发。
SDN控制器作为SDDCN网络的核心,配置的能力较强,本发明实施例采用SDN控制器实现LBer的调度决策功能,可以在控制层面上复用SDN的动态扩展能力,在网络转发层面上复用SDN网络的网络资源,实现复杂度低,投入成本低;其次,SDN控制器通过共享IP地址管理集群,服务集群的创建、扩容、减容与删除由SDN控制器自动完成,不再需要租户人工干预,租户体验好;再者,由SDN控制器作为LBer,避免了现有技术中采用单独LBer时,用户流量总是先路由至LBer,再中转或重新路由至服务节点造成的转发路径长和转发效率低下的问题,用户流量在SDN网络入口的边缘交换机上进行分发,由SDN控制器选择最优路径,转发路径短,转发效率高。
下面将结合具体实施方式详细阐释本发明实施例具体实现细节。
服务集群的部署与管理
本发明实施例中SDN控制器对服务集群进行管理,包括服务集群的创建、扩容、减容以及删除。服务集群的管理还可以包括服务集群的健康检查。
参考图2(图2与图1的租户所配置的边缘交换机和服务集群情况有所不同,此种不同仅用于表示具体实现中租户配置情况的多样性,并不代表图1与图2在系统组成与方法实现上存在本质不同),图2中示例出由同一租户创建的服务集群A和服务集群B,服务集群A的共享IP地址配置为IP0,服务集群A的共享IP地址配置为IP1,假如租户配置的服务集群A包含三个服务节点,服务节点A1的IP地址和MAC地址分别为(IP0,MAC1),服务节点A2的IP地址和MAC地址分别为(IP0,MAC2),服务节点A3的IP地址和MAC地址分别为(IP0,MAC3),服务集群B包含三个服务节点,服务节点B1的IP地址和MAC地址分别为(IP1,MAC4),服务节点B2的IP地址和MAC地址分别为(IP1,MAC5),服务节点B3的IP地址和MAC地址分别为(IP1,MAC6)。
SDN控制器30根据共享IP地址对租户的服务集群进行管理,识别租户网络中存在的共享IP地址的服务节点,基于共享IP地址的服务节点创建、扩容服务集群,定时检测服务集群各节点健康状态,根据健
康检查结果减容或者删除服务集群。
(1)创建服务集群或者服务集群扩容
SDN控制器30将某个服务节点(如采用虚拟机)加入服务集群或者根据某个服务节点创建新的服务集群,必定需要确定该虚拟机已经在线运行,因为如果将未在线运行的虚拟机加入服务集群,若该虚拟机被配置执行服务集群中的任务,而该虚拟机还未在线,将影响服务集群的业务处理。因此,SDN控制器30需要在确定虚拟机在线运行的情况下,将在线运行的虚拟机加入服务集群,或者根据该虚拟机创建新的服务集群。本发明实施例中,服务节点采用SDDC中的虚拟机实现,而SDN控制器30接管网络后,可以从云管理平台获取SDDC中每个静态虚拟机的静态配置信息,如每个静态虚拟机所属租户、子网以及该虚拟机的MAC地址、IP地址、网关等信息。但是SDN控制器30无法了解每个静态虚拟机的实际运行状况,也无法直接确认静态虚拟机是否已经接入租户网络的边缘交换机。本发明实施例提供SDN控制器30对在线虚拟机进行识别的方法,并在识别在线虚拟机之后,SDN控制器30创建服务集群或者将虚拟机加入已创建的服务集群。具体地,SDN控制器30获取新在线虚拟机的边缘交换机发送的虚拟机上线事件,SDN控制器30获取该新在线虚拟机的MAC地址,将该新在线虚拟机的MAC地址与从多台静态虚拟机中挑选出的候选虚拟机的IP地址进行匹配,在候选虚拟机的MAC地址与该新在线虚拟机的MAC地址一致时,确定该候选虚拟机为该新在线虚拟机,将所述所述新在线虚拟机的边缘交换机与所述候选虚拟机进行绑定,SDN控制器30进而识别该新在线虚拟机的IP地址是否为共享IP地址,若该新在线虚拟机的IP地址为共享IP地址,部署该新在线虚拟机到该共享IP地址对应的服务集群中。
本发明实施例中,SDN控制器30可以通过主动识别或者被动捕获两种方式识别在线的虚拟机。SDN控制器30主动识别可以是SDN控制器30获知有虚拟机在边缘交换机新在线后,主动向该新在线虚拟机发送识别请求消息以获取该虚拟机的MAC地址来识别该新在线虚拟机,
SDN控制器30被动捕获可以是SDN控制器30检验该新在线虚拟机的MAC地址来识别该新在线虚拟机。
图3是SDN控制器30主动识别虚拟机(该服务节点采用虚拟机实现)的实现流程图。S31:当新在线虚拟机与第一边缘交换机连接后(新在线虚拟机为当前的SDDC中为租户配置的多台虚拟机中的任意之一,第一边缘交换机为所述SDDC网络中的多台边缘交换机中与所述新在线虚拟机建立连接的边缘交换机),SDN控制器30接收到第一边缘交换机发送的虚拟机上线事件,例如接口UP事件。
S32:SDN控制器30挑选候选虚拟机;
SDN控制器30接收到第一边缘交换机的接口上报事件之后,确定发生虚拟机上线事件,需要进一步确定新在线虚拟机是自身保存了静态配置信息的众多静态配置的虚拟机中的哪一台。在本实施例中,SDN控制器30首先从自身保存了静态配置信息的静态配置的虚拟机中挑选出候选虚拟机(SDN控制器30挑选的候选虚拟机组成候选虚拟机集合,该候选虚拟机集合中包括一台或至少两台候选虚拟机,在本发明实施例中候选虚拟机集合可以包括一台候选虚拟机的特殊场景),挑选出候选虚拟机的目的是验证该候选虚拟机是不是新在线虚拟机。为了保证验证的准确性,所挑选的候选虚拟机集合的范围可以是SDN控制器上所有的静态配置的虚拟机。所选择的候选虚拟机还可以进一步进行筛选,例如将全部静态配置的虚拟机中的已经与特定的边缘交换机进行绑定的虚拟机进行剔除。一种具体的挑选方式是,SDN控制器30先确定没有与特定边缘交换机进行绑定的静态配置的虚拟机的集合,再对确定的集合中的静态配置的虚拟机进行逐一挑选,直到SDN控制器30完成对新在线虚拟机的识别。
S33:SDN控制器30模拟该候选虚拟机的网关向该新在线虚拟机发送识别请求消息,该识别请求消息用以指示所述新在线虚拟机上报自身的MAC地址;
该识别请求消息其中一种具体的实施方式是采用地址解析协议(Adress Resolution Protocol,ARP)请求,该ARP请求为SDN控制器
30模拟该候选虚拟机的网关发出的,该ARP请求的目的是请求该候选虚拟机上报自身的媒体访问控制(Media Access Control,MAC)地址。
图4为ARP报文基于以太网的组成格式图例,ARP数据包包括两部分,第一部分是以太网首部,第二部分是APR请求/应答部分。在本实施例中,SDN控制器30模拟候选虚拟机的网关构造的ARP请求报文中的以太网首部中的目的MAC地址填写为FF:FF:FF:FF:FF:FF,表示ARP报文以广播的形式发送,ARP请求报文中的以太网首部中的源MAC地址填写为该候选虚拟机的网关的MAC地址,表示该ARP请求报文的第一跳经由该候选虚拟机的网关发出,该ARP请求报文中的APR请求部分的源IP地址与源MAC地址也都分别填写为该候选虚拟机的网关的IP地址和MAC地址,表示该ARP请求报文由该候选虚拟机的网关产生并发出,该ARP请求报文中的APR请求部分的目的IP地址填写为该候选虚拟机的IP地址,该ARP请求报文中的APR请求部分的目的MAC地址填写为特殊字段,例如00:00:00:00:00:00,表示目的MAC地址待响应方填充。
SDN控制器30为候选虚拟机集合中每台候选虚拟机分别构造一条ARP请求报文,每条ARP请求报文对应于每台候选虚拟机。在本步骤中,SDN控制器可以逐一遍历静态配置的虚拟机,每确定一台候选虚拟机就构造一条ARP请求报文并发出构造的ARP请求报文,也可以待全部的候选虚拟机都挑选出之后,再针对每台候选虚拟机分别构造ARP请求报文,然后再将构造的多条ARP请求报文同时发出。上述两种具体实现方式都适用于本发明实施例。
S34:SDN控制器30接收所述新在线虚拟机发送的识别请求的响应消息,所述识别请求的响应消息携带所述新在线虚拟机的MAC地址。
具体地,SDN控制器30接收第一边缘交换机上报的PacketIn事件,解析报文获得ARP响应报文。
S35:SDN控制器30校验ARP响应报文中源MAC地址是否与候选虚拟机的静态配置信息中的MAC地址一致,若一致,新在线虚拟机
被SDN控制器30识别,候选虚拟机与发送ARP应答的新在线虚拟机相匹配,第一边缘交换机也与候选虚拟机绑定。
具体地,第一边缘交换机的信息被记录到确定的候选虚拟机的静态配置信息中;
本实施例中,S33、S34、S35步骤可采用异步模式,即S33中选择候选虚拟机后即针对选择的候选虚拟机发送ARP请求报文,S34中接收到ARP响应报文后,也不能确定是之前针对哪一个候选虚拟机发送的ARP请求的响应报文,此时,步骤S35中可以对候选虚拟机集合中的候选虚拟机进行逐一校验。
除了主动识别新在线服务节点的实现方式,SDN控制器30还可以被动捕获的方式识别新在线服务节点。SDN控制器30接收到来自边缘交换机转发的该新在线虚拟机发送的识别请求消息后,都检测该识别请求消息携带的新在线虚拟机的MAC地址与候选虚拟机的MAC地址的是一致性,从而识别新在线虚拟机。新在线虚拟机发送的识别请求消息也可以是ARP请求报文(包括免费ARP请求),SDN控制器30根据接收到的ARP请求报文确定发送ARP请求的虚拟机为新在线虚拟机,将进一步校验该ARP请求中源MAC与候选虚拟机的静态配置信息中的MAC的一致性,若一致,则确定新在线虚拟机与候选虚拟机相匹配,新在线虚拟机被SDN控制器30识别,新在线虚拟机的边缘交换机也与候选虚拟机绑定。
在SDN控制器30识别新在线虚拟机后,SDN控制器30检查该新在线虚拟机的IP地址是否与租户的其它虚拟机的IP地址相同(或者检查该新在线虚拟机的IP地址是否与预先设置的服务集群的共享IP地址相同),若相同,SDN控制器30检查该新在线虚拟机的IP地址是否对应已创建的服务集群,若对应,SDN控制器30将新在线虚拟机添加进该已创建的服务集群,若该新在线虚拟机的IP地址没有对应的已创建的服务集群,以该新在线虚拟机的IP地址为标识创建新的服务集群,再将该新在线虚拟机部署在所述新创建的服务集群中。SDN控制器30也可以检查该新在线虚拟机的IP地址是否与预先设置的服务集群的
共享IP地址相同,若相同,SDN控制器30将新在线虚拟机添加进该共享IP地址对应的已创建的服务集群,或者以该共享IP地址为标识创建新的服务集群,再将该新在线虚拟机添加到该创建的服务集群。
本发明实施例中,SDN控制器30会为配有共享IP地址的多台虚拟机建立服务集群,共同分担所有用户访问流量。如图2所示,租户网络中存在两个服务集群,其中服务节点A1、服务节点A2、服务节点A3共用IP地址IP0,MAC地址分别是MAC1、MAC2、MAC3;服务节点B1、服务节点B2、服务节点B3共用IP地址IP1,MAC地址分别是MAC4、MAC5、MAC6。由于租户网络允许重叠,在SDDCN中,SDN控制器30通过租户与IP的组合可以唯一标识一个服务集群。
上述虚拟机上线不仅包括新建虚拟机开始运行的场景,还包括虚拟机新增、变更IP地址等触发虚拟机新IP地址生效的其他场景。
(2)删除服务集群或者服务集群减容
服务集群可以动态伸缩,当SDN控制器发现配有共享IP的虚拟机在租户网络中上线时,SDN控制器将指定IP地址对应的服务集群扩容;当SDN控制器发现发生服务集群减容事件时,SDN控制器将对服务集群减容。
所述服务集群减容事件可以是由服务节点或者其他管理节点通知SDN控制器30,也可以是SDN控制器30主动探测发现服务集群减容事件,例如通过SDN控制器发起的服务集群的健康检查。服务集群减容事件可以包括:服务节点的IP地址失效。当服务节点采用虚拟机实现时,而造成服务节点的IP地址失效可以是:虚拟机下线、变更、故障或IP地址删除等任意情况。
当确定虚拟机的IP地址失效时,SDN控制器30检查发生失效情况的虚拟机的IP地址是否对应服务集群,若对应,SDN控制器30从失效虚拟机的IP地址对应的服务集群删除失效虚拟机,并检查指定该服务集群剩余服务节点数量是否大于1,若小于或等于1,删除该IP地址对应的服务集群。
(3)对服务集群的健康检查
本发明实施例中,SDN控制器30可以主动探测是否发生服务器减容事件,例如SDN控制器30定期对服务集群中的服务节点进行健康检查,将健康状态不符合要求的服务节点的原IP地址置为失效,从而可以将该问题服务节点从服务集群中及时剔除,确保后续访问流量不会被引导至问题的服务节点上,从而保障租户服务的高可用性。本实施例中,SDN控制器30可以通过端口状态监测、链路状态检测和流表监测三种方式中的任意一种或其组合从不同网络层次对服务集群中的服务节点的健康状态进行检查,根据健康检查的结果确定所述服务集群中的任意一台在线虚拟机的IP地址是否失效。
端口状态监测:端口状态监测方式一般用以检测服务节点物理层故障。SDN控制器30可以通过实时命令或者管理员的静态配置,在各个边缘交换机上配置端口状态监测逻辑,使得SDDCN中各个边缘交换机实时检测服务集群中的每个服务节点的接口状态。当任意一个服务节点的接口状态发生变化时,向SDN控制器30上报端口状态(PortStatus)事件。例如,作为服务节点的虚拟机发生下电、重启或其接口故障、关闭等都会触发虚拟机接口状态由上线(UP)变成下线(DOWN)。SDN控制器30接收至少一个边缘交换机发送的端口状态事件PortStatus(如虚拟机接口下线),根据该端口状态事件确定发生接口状态异常的端口,确定所述接口状态异常的端口对应的在线虚拟机的IP地址失效。
链路状态检测:链路状态检测方式一般用以检测服务节点链路层故障。SDN控制器30会模拟服务集群中各个服务节点的网关,周期性构造链路状态检测请求消息,例如根据虚拟机的IP地址构造ARP请求,然后将构造的ARP请求的报文PacketOut至该虚拟机对应的边缘交换机。如果服务节点收到ARP请求后没有及时响应,将导致ARP应答超时。在超时次数超过设定阈值时,SDN控制器30会将发生超时的ARP请求的目的IP地址(即该虚拟机的IP地址)标记为失效状态。
流表监测:流表监测方式一般用以检测服务节点网络与传输层故障。SDN控制器30向各个边缘交换机下发转发流表用以转发用户的服
务请求与服务节点的服务应答。边缘交换机被配置为:实时检测转发流表的空闲时间,转发流表未匹配任何报文时,其空闲时间不断累加,当空闲时间达到老化时间后,该边缘交换机将转发流表删除,并向SDN控制器30上报转发流表老化事件,例如流表移出FlowRemoved或流表超时(Flow Expiry))事件。SDN控制器30在收到FlowRemoved(Expiry)事件之后,会将发生流表移出或流表超时事件对应的虚拟机的IP地址标记为失效状态。
在采用上述三种任意一种方式进行健康检查确定某个虚拟机的IP地址失效之后,SDN控制器30可以按照上述的服务集群的减容或删除的操作流程,以将该发生IP地址失效的虚拟机从服务集群中删除。
SDN控制器执行LB流量分发
在SDN控制器30创建服务集群或者为服务集群新增服务节点之后,SDN控制器30可以对服务集群的服务节点进行流量按照负载均衡的原则进行分发。如图2所示,用户1的服务请求通过用户侧边缘交换机200导入租户网络,经SDN控制器30引导,穿越网络核心区,再通过服务侧边缘交换机201导出租户网络,最终流入服务集群A中的服务节点A1。反之,服务节点A1的服务应答通过边缘交换机201导入租户网络,经SDN控制器30引导,穿越网络核心区,再通过边缘交换机200导出租户网络,最终流入用户1。整个转发流程,SDN控制器30需操控边缘交换机,为其定制并下发转发流表,匹配报文源和目的信息,对报文封装转发路径然后转发。
结合图2中的数据中心,图5是用户流量分发流程图,具体步骤如下:
S51:用户1请求服务集群的服务节点提供服务,用户1的服务请求报文传入用户1的边缘交换机200;
S52:用户边缘交换机200接收到该服务请求报文后发现无匹配的转发流表,向SDN控制器30上报PacketIn事件,以请求SDN控制器30下发路由信息;
S53:SDN控制器30解析该服务请求报文的报文源和目的信息,
根据所述服务请求报文中的目的IP地址信息确定所述服务请求报文针对的服务集群,再根据预先设置的负载均衡策略选择服务集群A中的服务节点A1作为目标服务节点,计算用户1与服务节点A1的边缘交换机201之间的转发信息,根据确定的转发信息生成边缘交换机201与边缘交换机200各自的转发流表,并分别向服务节点A1的边缘交换机201与用户1的边缘交换机200下发各自的转发流表;
SDN控制器30分别针对用户1与服务节点A1生成各自的转发流表,并分别向边缘交换机200与边缘交换机201下发的转发流表,SDN控制器30下发流表可以是同时下发,也可以是优先下发边缘交换机201的转发流表,或者是优先下发边缘交换机200的转发流表,其中,优先对边缘交换机201下发转发流表主要是为了保证在报文到达之前服务节点A1的边缘交换机201上已经有可用转发流表,避免服务节点A1的边缘交换机201也向SDN控制器30上报PacketIn事件。端到端的通信总是相互的,SDN控制器30对边缘交换机200与边缘交换机201下发的转发流表包括正反两个方向,正向流表适用于用户1的请求至服务节点A1的转发,反向流表适用于服务节点A1的服务应答至用户1的转发;
S54:边缘交换机200按照SDN控制器下发的转发流表,将服务请求报文转发至服务节点A1的边缘交换机201;
S55:服务节点A1的边缘交换机201将服务请求报文转发至服务节点A1。服务节点A1边缘交换机201作为边缘交换机,在接入主机明确的情况下,只需按照报文中的目的MAC地址转发报文;
S56:服务节点A1响应用户1的请求,发送服务应答到服务节点A1的边缘交换机201;
S57:服务节点A1的边缘交换机201按照SDN控制器30下发的转发流表转发该服务应答,将服务应答报文转发到用户1的边缘交换机200;
S58:用户1的边缘交换机200将该服务应答转发至用户1。用户1的边缘交换机200,在接入主机明确的情况下,只需按照报文目的
MAC地址转发报文。
表1 SDN控制器下发的流表示例
上表列出了用户1与服务节点A1交互过程中SDN控制器为相关边缘交换机定制并下发的转发流表。对于用户1的请求,边缘交换机200会匹配报文源IP11,目的IP0,对报文封装至边缘交换机200的转发路径,然后将报文发送至通往核心网络的入口。若IP11与IP0属于同一网段,报文的目的MAC地址直接填充的是服务节点A1的MAC地址MAC1,无需变更。若IP11与IP0不在同一网段,报文的目的MAC地址填充的是服务节点A1的网关MAC地址,边缘交换机201需要将报文的目的MAC地址变更为服务节点A1的MAC地址MAC1;边缘交换机201会匹配报文目的MAC1,将报文发送至服务节点A1。对于服务节点A1的应答,边缘交换机201会匹配报文目的IP11,对报文封装至边缘交换机200的转发路径,然后将报文发送至通往核心网络的入口;边缘交换机200会匹配报文目的MAC11,将报文发送至用户1。
后续用户1与服务节点A11之间服务请求与应答的转发流程同服务请求首包与服务应答首包的转发流程类似。
上述方案描述了SDN控制器30对于用户的首包如何初次根据负载均衡原则进行服务节点的分发,实际业务中还有另外一种流量分发的场景。当服务集群的服务节点发生故障后,SDN控制器30除了不能将新在线的用户流量导入该故障的服务节点,还需要将已经导入该故障的服务节点的用户流量重新引导至服务集群内其它正常的服务
节点。SDN控制器30需要及时删除用户与该服务节点对应的边缘交换机上的已下发的转发流表,然后按照用户流量分发流程为用户流量重新指定新的服务节点并下发新的转发流表。
对服务集群中的服务节点的负载监控
本发明实施例中,SDN控制器30作为LBer,遵循服务节点LB原则,定制报文的转发流表来指示边缘交换机将用户流量引导至指定的服务节点。SDN控制器30可以对服务集群中的服务节点的负载进行监控,根据负载监控的结果执行LBer的负载均衡功能,选择目标虚拟机。常见的负载监控的做法是SDN控制器30可以对各个服务节点的资源使用情况进行监控,例如对各个服务节点的CPU的资源利用率、内存利用率、缓存利用率、硬盘利用率、带宽利用率等任何一种资源或者这几种资源的任意组合的使用情况进行监控。本发明实施例中,SDN控制器30实现负载均衡除了可以采用现有技术中根据服务节点的资源使用情况做出负载均衡的决策之外,还提供了一种新的实现方式,SDN控制器30基于服务节点流量负载均衡的原则进行负载均衡的调度,并定制相应转发流表指示边缘交换机进行流量分发。
SDN控制器30对所述服务集群中的在线虚拟机进行资源负载监控或流量负载监控,周期性地获取获取负载监控结果中的所述服务集群中的每台在线虚拟机的资源负载信息或流量负载信息。SDN控制器30在获取服务集群中的每台在线虚拟机的资源负载信息或流量负载信息后,选择资源负载最小或流量负载最小的虚拟机作为目标虚拟机。
SDN控制器30可以在向各边缘交换机下发转发流表的时候指示各边缘交换机针对每个转发流表的流量进行监控,也可以由系统在各边缘交换机上配置好各边缘交换机针对每个转发流表的流量进行监控的逻辑。SDDC网络中的边缘交换机按照SDN控制器30下发的转发流表转发用户的服务请求与服务节点的服务应答,并实时统计每个转发流表累计处理的报文数量或长度。服务节点的边缘交换机上的服务节点的服务应答累计处理的报文数量代表了服务节点响应的用户
请求量,间接反映了服务节点的负载。SDN控制器30通过从服务节点的边缘交换机周期性地收集边缘交换机统计到的每个转发流表的流量统借结果,从每个转发流表的流量统计结果中筛选出服务应答的流量数据,可以实现对服务节点的流量负载的监控。
如图2所示,租户网络中服务集群B存在三个服务节点B1、B2、B3共享一个IP地址IP1。共有5位用户向服务集群请求服务,其中用户1、用户4由服务节点B1提供服务,用户2、用户5由服务节点B2提供服务,用户3由服务节点B3提供服务。每个服务节点的边缘交换机转发并统计服务请求与应答报文,然后将统计数据记入相关转发流表的统计字段中。SDN控制器周期性或定时下发转发流表的流量统计数据提取请求,在收到提取请求的应答之后,从中获取服务应答的累计处理的报文数量,结合历史采样数据,便可算出特定周期内指定服务节点对用户提供的服务流量,根据该服务流量确定服务节点的负载。
表2 边缘交换机统计的流量数据
SDN控制器按照时间周期对边缘交换机上的流量统计数据进行收集。表2分别列出了不同时刻各个边缘交换机上针对不同转发流表中的服务应答的流量统计数据,其中服务节点B1对User1、User4的服务应答流表在T1时刻分别处理报文N11、N14个,在T2时刻分别处理报文N11+ΔN11、N14+ΔN14个;服务节点B2对User2、User5的服务应答流表在T1时刻分别处理报文N22、N25个,在T2时刻分别处理报文N22+ΔN22、N25+ΔN25个;服务节点B2对User3的服务应答流表在T1时刻处理报文N33个,在T2时刻处理报
文N33+ΔN33个。
SDN控制器30将每个服务节点对不同用户的服务应答流表在采样周期内处理报文数的增量求和即可得到指定服务节点在周期时间内的负载。
| 服务节点 | 周期T内的节点流量负载(单位:Packets) |
| Service Node1 | ΔN11+ΔN14 |
| Service Node2 | ΔN22+ΔN25 |
| Service Node3 | ΔN33 |
表3 周期T内服务节点流量负载
表3列出了SDN控制器计算的各服务节点在周期T内的节点负载,其中服务节点B1在周期T内的节点负载是ΔN11+ΔN14;服务节点B2在周期T内的节点负载是ΔN22+ΔN25;服务节点B3在周期T内的节点负载是ΔN33。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
上述本发明实施例中的SDN控制器可以是由软件组件/程序来实现,也可以是由硬件模块,如特定的电路模块。如果SDN控制器采用软件组件实现,该软件组件可以运行在计算机设备上,也可以存储在媒体介质上,装载了该软件组件的计算机设备或存储了该软件组件的媒体介质也属于本发明实施例的特定实现。
图6所示的计算设备600包括处理器602、内存单元604、输入/输出接口606、通信接口608、总线610和存储设备612。其中,处理器602、内存单元604、输入/输出接口606、通信接口608和存储设备612,通过总线610实现彼此之间的通信连接。
处理器602是计算设备600的控制中心,用于执行相关程序,以实现本发明实施例所提供的技术方案。可选的,处理器602包含一个或多个中央处理器单元(Central Processing Unit,CPU),例如,图6所示的中央处理器单元1和中央处理器单元2。可选的,计算设备600还可以包含多个处理器602,每一个处理器602可以是一个单
核处理器(包含一个CPU)或多核处理器(包含多个CPU)。处理器602可以采用通用的中央处理器,微处理器,应用专用集成电路(Application SQecific Integrated Circuit,ASIC),或者一个或多个集成电路。
处理器602可以通过总线610与一个或多个存储方案相连接。存储方案可以包含内存单元604和存储设备612。其中,存储设备612可以为只读存储器(Read Only Memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(Random Access Memory,RAM)。内存单元604可以为随机存取存储器。内存单元604可以与处理器602集成在一起或集成在处理器602的内部,也可以是独立于处理器602的一个或多个存储单元。
供处理器602或处理器602内部的CPU执行的程序代码可以存储在存储设备612或内存单元604中。可选的,存储在存储设备612内部的程序代码(例如,操作系统、应用程序、资源分配模块或通信模块等)被拷贝到内存单元604中,以供处理器602执行。
存储设备612可以为物理硬盘或其分区(包括小型计算机系统接口存储或全局网络块设备卷)、网络存储协议(包括网络文件系统NFS等网络或机群文件系统)、基于文件的虚拟存储设备(虚拟磁盘镜像)、基于逻辑卷的存储设备。可以包含高速随机存储器(RAM),也可以包含非易失性存储器,例如一个或者多个磁盘存储器,闪速存储器,或者其他非易失性存储器。在一些实施例中,存储设备还可能进一步包含与所述一个和多个处理器202分离的远程存储器,例如通过通信接口608与通信网络进行访问的网盘,该通信网络可以为因特网,内联网,局域网(LANs),广域网络(WLANs),存储区域网络(SANs)等,或者以上网络的组合。
操作系统(例如Darwin、RTXC、LINUX、UNIX、OS X、WINDOWS或是诸如Vxworks之类的嵌入式操作系统)包括用于控制和管理常规系统任务(例如内存管理、存储设备控制、电源管理等等)以及有助于各种软硬件组件之间通信的各种软件组件和/或驱动
器。
输入/输出接口606用于接收输入的数据和信息,输出操作结果等数据。
通信接口608使用例如但不限于收发器一类的收发装置,来实现计算设备600与其他设备或通信网络之间的通信。
总线610可包括一通路,在计算设备600各个部件(例如处理器602、内存单元604、输入/输出接口606、通信接口608和存储设备612)之间传送信息。可选的,总线610可以使用有线的连接方式或采用无线的通讯方式,本申请并不对此进行限定。
应注意,尽管图6所示的计算设备600仅仅示出了处理器602、内存单元604、输入/输出接口606、通信接口608、总线610以及存储设备612,但是在具体实现过程中,本领域的技术人员应当明白,计算设备600还包含实现正常运行所必须的其他器件。
图6所示的计算设备可以适用于执行本发明实施例所提供的服务集群的部署方法、服务集群的调度方法、服务集群的健康检查方法或服务集群的流量监控方法。
例如,计算设备600的内存单元604中包含部署模块,处理器602执行该部署模块中的程序代码,实现服务集群的部署方法。
例如,计算设备600的内存单元604中包含调度模块,处理器602执行该部署模块中的程序代码,实现服务集群的调度方法。
例如,计算设备600的内存单元604中包含健康检查模块,处理器602执行该部署模块中的程序代码,实现服务集群的健康检查方法。
例如,计算设备600的内存单元604中包含流量监控模块,处理器602执行该部署模块中的程序代码,实现服务集群的流量监控方法。
部署模块、调度模块、健康检查模块或流量监控模块中的任意一个模块可以由一个或者多个操作指令构成,以使计算设备600根据以上描述执行一个或多个方法步骤。上述部署模块、调度模块、健康检
查模块或流量监控模块也可以集成成一个功能模块,以提供服务集群管理的完整的解决方案,例如SDN控制器的服务集群管理功能组件。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (17)
- 一种软件定义数据中心中服务集群的调度方法,其特征在于,所述软件定义数据中心包括SDN控制器和多台边缘交换机,所述多台边缘交换机与所述SDN控制器通信连接,所述软件定义数据中心中部署有服务集群,至少两台在线虚拟机作为所述服务集群的服务节点,所述至少两台在线虚拟机的IP地址配置为共享IP地址;所述方法包括:所述SDN控制器接收第二边缘交换机上报的用户的服务请求报文,所述第二边缘交换机为所述用户所接入的边缘交换机;所述SDN控制器根据所述服务请求报文中的目的IP地址信息确定所述服务请求报文针对的服务集群;所述SDN控制器根据负载均衡策略,从所述服务集群中的在线虚拟机中选择目标虚拟机,所述目标虚拟机用于为所述用户提供服务;所述SDN控制器确定所述目标虚拟机和所述用户之间的转发信息,根据所述转发信息生成第一转发流表和第二转发流表,所述第一转发流表供所述目标虚拟机的边缘交换机进行报文转发,所述第二转发流表供所述第二边缘交换机进行报文转发;所述SDN控制器向所述目标虚拟机的边缘交换机下发所述第一转发流表,以及向所述第二边缘交换机下发所述第二转发流表。
- 根据权利要求1所述的方法,其特征在于,所述SDN控制器根据负载均衡策略,从所述服务集群中的在线虚拟机中选择目标虚拟机,包括:所述SDN控制器获取所述服务集群中的每台在线虚拟机的资源负载信息或流量负载信息,选择资源负载最小或流量负载最小的虚拟机作为所述目标虚拟机。
- 根据权利要求2所述的方法,其特征在于,所述方法还包括:所述SDN控制器对所述服务集群中的在线虚拟机进行负载监控,周期性地获取负载监控结果,所述负载监控包括资源负载监控或流量负载监控;则,所述SDN控制器获取所述服务集群中的每台在线虚拟机的资源负载信息或流量负载信息包括:所述SDN控制器获取所述负载监控结果中的所述服务集群中的每台在线虚拟机的资源负载信息或流量负载信息。
- 根据权利要求3所述的方法,其特征在于,所述SDN控制器对所述服务集群中的在线虚拟机进行流量负载监控包括:所述SDN控制器周期性地向所述服务集群中的每台在线虚拟机的边缘交换机下发流量统计数据提取请求,分别接收所述每台在线虚拟机的边缘交换机反馈的T1时刻的流量统计数据和T2时刻的流量统计数据;所述SDN控制器根据所述每台在线虚拟机的边缘交换机T1时刻的流量统计数据和T2时刻的流量统计数据之差值,获得每台在线虚拟机的流量负载信息。
- 根据权利要求4所述的方法,其特征在于,所述SDN控制器周期性地向所述服务集群中的每台在线虚拟机的边缘交换机下发流量统计数据提取请求之前,还包括:所述SDN控制器向所述服务集群中的每台在线虚拟机的边缘交换机下达流量监控指示,所述流量监控指示用于指示所述服务集群中的每台在线虚拟机的边缘交换机针对所述SDN控制器下发的转发流表进行报文流量统计。
- 根据权利要求5所述的方法,其特征在于,所述SDN控制器根据所述每台在线虚拟机的边缘交换机T1时刻的流量统计数据和T2时刻的流量统计数据之差值,获得所述每台在线虚拟机的流量负载信息之前,还包括:所述SDN控制器从所述T1时刻的流量统计数据中提取出所述每台在线虚拟机T1时刻的服务应答的流量,以及所述SDN控制器从所述T2时刻的流量统计数据中提取出所述每台在线虚拟机T2时刻的服务应答的流量;则,所述SDN控制器将T1时刻的服务应答的流量与T2时刻的服务应答的流量之差值,作为所述每台在线虚拟机的流量负载信息。
- 一种软件定义数据中心中服务集群的流量监控方法,其特征在于,所述软件定义数据中心包括SDN控制器和多台边缘交换机,所述多台边缘交换机与所述SDN控制器通信连接,所述软件定义数据中心中还部署有服务集群,至少两台在线虚拟机作为所述服务集群的服务节点,所述至少两台在线虚拟机的IP地址配置为共享IP地址;所述方法包括:所述SDN控制器周期性地向所述服务集群中的每台在线虚拟机的边缘交换机下发流量统计数据提取请求;所述SDN控制器分别接收所述每台在线虚拟机的边缘交换机反馈的T1时刻的流量统计数据和T2时刻的流量统计数据;所述SDN控制器根据所述每台在线虚拟机的边缘交换机T1时刻的流量统计数据和T2时刻的流量统计数据之差值,获得每台在线虚拟机的流量负载信息。
- 根据权利要求7所述的方法,其特征在于,所述方法还包括:所述SDN控制器向所述服务集群中的每台在线虚拟机的边缘交换机下达流量监控指示,所述流量监控指示用于指示所述服务集群中的每台在线虚拟机的边缘交换机针对所述SDN控制器下发的转发流表进行报文流量统计。
- 根据权利要求7或8所述的方法,其特征在于,所述SDN控制器根据所述每台在线虚拟机的边缘交换机T1时刻的流量统计数据和T2时刻的流量统计数据之差值,获得每台在线虚拟机的流量负载信息具体包括:所述SDN控制器从所述T1时刻的流量统计数据中提取出所述每台在线虚拟机T1时刻的服务应答的流量,以及所述SDN控制器从所述T2时刻的流量统计数据中提取出所述每台在线虚拟机T2时刻的服务应答的流量;所述SDN控制器将T1时刻的服务应答的流量与T2时刻的服务应答的流量之差值,作为所述每台在线虚拟机的流量负载信息。
- 一种软件定义数据中心,其特征在于,所述软件定义数据中心包括SDN控制器和多台边缘交换机,所述多台边缘交换机与所述SDN控制器通信连接,所述软件定义数据中心中部署有服务集群,至少两台在线虚拟机作为所述服务集群的服务节点,所述至少两台在线虚拟机的IP地址配置为共享IP地址;所述多台边缘交换机,用于向所述SDN控制器请求报文的转发信息,以及根据所述SDN控制器下发的转发流表进行报文的转发;所述SDN控制器,用于接收第二边缘交换机上报的用户的服务请求报文,所述第二边缘交换机为所述用户所接入的边缘交换机,根据所述服务请求报文中的目的IP地址信息确定所述服务请求报文针对的服务集群,根据负载均衡策略,从所述服务集群中的在线虚拟机中选择目标虚拟机,所述目标虚拟机用于为所述用户提供服务,确定所述目标虚拟机和所述用户之间的转发信息,根据 所述转发信息生成第一转发流表和第二转发流表,向所述目标虚拟机的边缘交换机下发所述第一转发流表,以及向所述第二边缘交换机下发所述第二转发流表,所述第一转发流表供所述目标虚拟机的边缘交换机进行报文转发,所述第二转发流表供所述第二边缘交换机进行报文转发。
- 根据权利要求10所述的软件定义数据中心,其特征在于,所述SDN控制器选择所述目标虚拟机具体包括:获取所述服务集群中的每台在线虚拟机的资源负载信息或流量负载信息,选择资源负载最小或流量负载最小的虚拟机作为所述目标虚拟机。
- 根据权利要求11所述的软件定义数据中心,其特征在于,所述SDN控制器还用于对所述服务集群中的在线虚拟机进行负载监控,周期性地获取负载监控结果,所述负载监控包括资源负载监控或流量负载监控,所述负载监控结果中包含所述服务集群中的每台在线虚拟机的资源负载信息或流量负载信息。
- 一种软件定义数据中心,其特征在于,所述软件定义数据中心包括SDN控制器和多台边缘交换机,所述多台边缘交换机与所述SDN控制器通信连接,所述软件定义数据中心中部署有服务集群,至少两台在线虚拟机作为所述服务集群的服务节点,所述至少两台在线虚拟机的IP地址配置为共享IP地址;所述多台边缘交换机,用于向所述SDN控制器请求报文的转发信息,以及根据所述SDN控制器下发的转发流表进行报文的转发;所述SDN控制器,用于周期性地向所述服务集群中的每台在线虚拟机的边缘交换机下发流量统计数据提取请求,分别接收所述每台在线虚拟机的边缘交换机反馈的T1时刻的流量统计数据和T2时刻的流量统计数据,根据所述每台在线虚拟机的边缘交换机T1时刻的流量统计数据和T2时刻的流量统计数据之差值,获得每台在线虚拟机的流量负载信息。
- 根据权利要求13所述的软件定义数据中心,其特征在于,所述SDN控制器还用于向所述服务集群中的每台在线虚拟机的边缘交换机下达流量监控指示,所述流量监控指示用于指示所述服务集群中的每台在线虚拟机的边缘交换机针对所述SDN控制器下发的转发流表进行报文流量统计。
- 根据权利要求13或14所述的软件定义数据中心,其特征在于,所述SDN控制器具体用于从所述T1时刻的流量统计数据中提取出所述每台在线虚拟 机T1时刻的服务应答的流量,以及所述SDN控制器从所述T2时刻的流量统计数据中提取出所述每台在线虚拟机T2时刻的服务应答的流量,将T1时刻的服务应答的流量与T2时刻的服务应答的流量之差值,作为所述每台在线虚拟机的流量负载信息。
- 一种计算设备,其特征在于,包括:处理器、存储器、总线和通信接口;所述存储器用于存储执行指令,所述处理器与所述存储器通过所述总线连接,当所述计算设备运行时,所述处理器执行所述存储器存储的所述执行指令,以使所述装置执行权利要求1-6任一项所述的方法。
- 一种计算设备,其特征在于,包括:处理器、存储器、总线和通信接口;所述存储器用于存储执行指令,所述处理器与所述存储器通过所述总线连接,当所述计算设备运行时,所述处理器执行所述存储器存储的所述执行指令,以使所述装置执行权利要求7-9任一项所述的方法。
Priority Applications (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/CN2015/100073 WO2017113273A1 (zh) | 2015-12-31 | 2015-12-31 | 一种软件定义数据中心及其中的服务集群的调度和流量监控方法 |
| CN201580084825.9A CN108293009B (zh) | 2015-12-31 | 2015-12-31 | 一种软件定义数据中心及其中的服务集群的调度方法 |
| JP2017534615A JP6835444B2 (ja) | 2015-12-31 | 2015-12-31 | ソフトウェア定義型データセンター、並びにそのためのサービスクラスタスケジューリング方法及びトラフィック監視方法 |
| EP15911656.5A EP3229405B1 (en) | 2015-12-31 | 2015-12-31 | Software defined data center and scheduling and traffic-monitoring method for service cluster therein |
| US15/993,270 US10601728B2 (en) | 2015-12-31 | 2018-05-30 | Software-defined data center and service cluster scheduling and traffic monitoring method therefor |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/CN2015/100073 WO2017113273A1 (zh) | 2015-12-31 | 2015-12-31 | 一种软件定义数据中心及其中的服务集群的调度和流量监控方法 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US15/993,270 Continuation US10601728B2 (en) | 2015-12-31 | 2018-05-30 | Software-defined data center and service cluster scheduling and traffic monitoring method therefor |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2017113273A1 true WO2017113273A1 (zh) | 2017-07-06 |
Family
ID=59224103
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2015/100073 Ceased WO2017113273A1 (zh) | 2015-12-31 | 2015-12-31 | 一种软件定义数据中心及其中的服务集群的调度和流量监控方法 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US10601728B2 (zh) |
| EP (1) | EP3229405B1 (zh) |
| JP (1) | JP6835444B2 (zh) |
| CN (1) | CN108293009B (zh) |
| WO (1) | WO2017113273A1 (zh) |
Cited By (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN107276662A (zh) * | 2017-07-27 | 2017-10-20 | 大连大学 | 一种软件定义空间信息网络多控制器动态部署方法 |
| CN107689992A (zh) * | 2017-08-24 | 2018-02-13 | 南京南瑞集团公司 | 一种高性能的防火墙集群实现方法 |
| US20180329730A1 (en) * | 2017-05-09 | 2018-11-15 | Nicira, Inc. | Tag based firewall implementation in software defined networks |
| CN109885316A (zh) * | 2019-02-18 | 2019-06-14 | 国家计算机网络与信息安全管理中心 | 基于kubernetes的hdfs-hbase部署方法及装置 |
| CN112305973A (zh) * | 2020-11-12 | 2021-02-02 | 中国电子科技集团公司第五十四研究所 | 一种基于链路属性的控制器集群负载分担方法 |
| US11070475B2 (en) * | 2018-12-13 | 2021-07-20 | Google Llc | Transparent migration of virtual network functions |
| CN113452676A (zh) * | 2021-05-27 | 2021-09-28 | 鹏城实验室 | 一种检测器分配方法和物联网检测系统 |
| CN116389368A (zh) * | 2023-04-06 | 2023-07-04 | 飞诺门阵(北京)科技有限公司 | 一种针对边缘网络的容器sdn优化方法 |
Families Citing this family (123)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10749711B2 (en) | 2013-07-10 | 2020-08-18 | Nicira, Inc. | Network-link method useful for a last-mile connectivity in an edge-gateway multipath system |
| US10454714B2 (en) | 2013-07-10 | 2019-10-22 | Nicira, Inc. | Method and system of overlay flow control |
| US11533255B2 (en) | 2014-11-14 | 2022-12-20 | Nicira, Inc. | Stateful services on stateless clustered edge |
| US10135789B2 (en) | 2015-04-13 | 2018-11-20 | Nicira, Inc. | Method and system of establishing a virtual private network in a cloud service for branch networking |
| US10498652B2 (en) | 2015-04-13 | 2019-12-03 | Nicira, Inc. | Method and system of application-aware routing with crowdsourcing |
| US10425382B2 (en) | 2015-04-13 | 2019-09-24 | Nicira, Inc. | Method and system of a cloud-based multipath routing protocol |
| US11169706B2 (en) | 2016-05-26 | 2021-11-09 | Nutanix, Inc. | Rebalancing storage I/O workloads by storage controller selection and redirection |
| US10992558B1 (en) | 2017-11-06 | 2021-04-27 | Vmware, Inc. | Method and apparatus for distributed data network traffic optimization |
| US10992568B2 (en) | 2017-01-31 | 2021-04-27 | Vmware, Inc. | High performance software-defined core network |
| US11121962B2 (en) | 2017-01-31 | 2021-09-14 | Vmware, Inc. | High performance software-defined core network |
| US20200036624A1 (en) | 2017-01-31 | 2020-01-30 | The Mode Group | High performance software-defined core network |
| US11706127B2 (en) | 2017-01-31 | 2023-07-18 | Vmware, Inc. | High performance software-defined core network |
| US20180219765A1 (en) | 2017-01-31 | 2018-08-02 | Waltz Networks | Method and Apparatus for Network Traffic Control Optimization |
| US11252079B2 (en) | 2017-01-31 | 2022-02-15 | Vmware, Inc. | High performance software-defined core network |
| US10574528B2 (en) | 2017-02-11 | 2020-02-25 | Nicira, Inc. | Network multi-source inbound quality of service methods and systems |
| US10778528B2 (en) | 2017-02-11 | 2020-09-15 | Nicira, Inc. | Method and system of connecting to a multipath hub in a cluster |
| EP3610672A1 (en) * | 2017-04-10 | 2020-02-19 | Nokia Solutions and Networks Oy | Handover with no or limited mme involvement |
| US10523539B2 (en) | 2017-06-22 | 2019-12-31 | Nicira, Inc. | Method and system of resiliency in cloud-delivered SD-WAN |
| US10951584B2 (en) | 2017-07-31 | 2021-03-16 | Nicira, Inc. | Methods for active-active stateful network service cluster |
| US11296984B2 (en) * | 2017-07-31 | 2022-04-05 | Nicira, Inc. | Use of hypervisor for active-active stateful network service cluster |
| US11570092B2 (en) | 2017-07-31 | 2023-01-31 | Nicira, Inc. | Methods for active-active stateful network service cluster |
| US11115480B2 (en) | 2017-10-02 | 2021-09-07 | Vmware, Inc. | Layer four optimization for a virtual network defined over public cloud |
| US10959098B2 (en) | 2017-10-02 | 2021-03-23 | Vmware, Inc. | Dynamically specifying multiple public cloud edge nodes to connect to an external multi-computer node |
| US10999165B2 (en) | 2017-10-02 | 2021-05-04 | Vmware, Inc. | Three tiers of SaaS providers for deploying compute and network infrastructure in the public cloud |
| US10594516B2 (en) | 2017-10-02 | 2020-03-17 | Vmware, Inc. | Virtual network provider |
| US11089111B2 (en) | 2017-10-02 | 2021-08-10 | Vmware, Inc. | Layer four optimization for a virtual network defined over public cloud |
| US10999100B2 (en) | 2017-10-02 | 2021-05-04 | Vmware, Inc. | Identifying multiple nodes in a virtual network defined over a set of public clouds to connect to an external SAAS provider |
| US11223514B2 (en) | 2017-11-09 | 2022-01-11 | Nicira, Inc. | Method and system of a dynamic high-availability mode based on current wide area network connectivity |
| TWI642285B (zh) * | 2018-02-02 | 2018-11-21 | 思銳科技股份有限公司 | 網路交換機的主機狀態偵測方法與系統 |
| US11153122B2 (en) | 2018-02-19 | 2021-10-19 | Nicira, Inc. | Providing stateful services deployed in redundant gateways connected to asymmetric network |
| US10922142B2 (en) | 2018-10-31 | 2021-02-16 | Nutanix, Inc. | Multi-stage IOPS allocation |
| CN111182011B (zh) * | 2018-11-09 | 2022-06-10 | 中移(杭州)信息技术有限公司 | 一种服务集分配方法及装置 |
| US11171834B1 (en) * | 2018-11-16 | 2021-11-09 | Juniper Networks, Inc. | Distributed virtualized computing infrastructure management |
| JP7225845B2 (ja) * | 2019-01-28 | 2023-02-21 | 日本電気株式会社 | 装置状態管理装置、装置の状態の管理方法及びプログラム |
| US11595303B2 (en) * | 2019-06-10 | 2023-02-28 | Vmware, Inc. | Packet handling in software-defined net working (SDN) environments |
| CN112087312B (zh) * | 2019-06-15 | 2023-02-03 | 华为云计算技术有限公司 | 一种提供边缘服务的方法、装置和设备 |
| CN112242949A (zh) * | 2019-07-18 | 2021-01-19 | 厦门网宿有限公司 | 路由分发方法及控制器、信息路由方法及网络节点设备 |
| US11310170B2 (en) | 2019-08-27 | 2022-04-19 | Vmware, Inc. | Configuring edge nodes outside of public clouds to use routes defined through the public clouds |
| US11611507B2 (en) | 2019-10-28 | 2023-03-21 | Vmware, Inc. | Managing forwarding elements at edge nodes connected to a virtual network |
| US11394640B2 (en) | 2019-12-12 | 2022-07-19 | Vmware, Inc. | Collecting and analyzing data regarding flows associated with DPI parameters |
| US11489783B2 (en) | 2019-12-12 | 2022-11-01 | Vmware, Inc. | Performing deep packet inspection in a software defined wide area network |
| US11509578B2 (en) * | 2019-12-13 | 2022-11-22 | Cisco Technology, Inc. | Flexible policy semantics extensions using dynamic tagging and manifests |
| US11722925B2 (en) | 2020-01-24 | 2023-08-08 | Vmware, Inc. | Performing service class aware load balancing to distribute packets of a flow among multiple network links |
| CN111327628B (zh) * | 2020-03-04 | 2022-04-05 | 北京计算机技术及应用研究所 | 一种基于sdn的匿名通信系统 |
| CN111431996B (zh) * | 2020-03-20 | 2022-08-09 | 北京百度网讯科技有限公司 | 用于资源配置的方法、装置、设备和介质 |
| CN113703906B (zh) * | 2020-05-20 | 2025-02-18 | 阿里巴巴集团控股有限公司 | 一种数据处理方法、装置及系统 |
| CN111786901B (zh) * | 2020-05-21 | 2023-08-22 | 网宿科技股份有限公司 | 一种传输参数自适应调整方法及加速服务系统 |
| US11245641B2 (en) | 2020-07-02 | 2022-02-08 | Vmware, Inc. | Methods and apparatus for application aware hub clustering techniques for a hyper scale SD-WAN |
| CN111737006B (zh) * | 2020-07-20 | 2020-12-11 | 平安国际智慧城市科技股份有限公司 | 全网络交通调度优化方法、装置、计算机设备及存储介质 |
| US11709710B2 (en) | 2020-07-30 | 2023-07-25 | Vmware, Inc. | Memory allocator for I/O operations |
| EP3962004A1 (en) * | 2020-08-27 | 2022-03-02 | ABB Schweiz AG | System and method for enabling tsn-stream configuration |
| KR102378817B1 (ko) * | 2020-09-25 | 2022-03-29 | 주식회사 이노그리드 | 복수의 컴퓨팅 노드를 이용한 고성능 클라우드 서비스의 네트워크 격리를 위한 동적 클러스터 구성 방법 및 시스템 |
| EP3975502B1 (de) * | 2020-09-28 | 2023-07-26 | Siemens Aktiengesellschaft | Verfahren und system zur bereitstellung von zeitkritischen diensten mittels einer ablaufsteuerungsumgebung |
| US11700178B2 (en) | 2020-10-30 | 2023-07-11 | Nutanix, Inc. | System and method for managing clusters in an edge network |
| US11290328B1 (en) | 2020-10-30 | 2022-03-29 | Nutanix, Inc. | Intelligent telemetry data collection |
| US11290330B1 (en) | 2020-10-30 | 2022-03-29 | Nutanix, Inc. | Reconciliation of the edge state in a telemetry platform |
| CN112311895B (zh) * | 2020-11-12 | 2022-10-11 | 中国电子科技集团公司第五十四研究所 | 一种基于sdn的透明模式tcp流负载均衡方法及设备 |
| CN112468408B (zh) * | 2020-11-13 | 2023-10-03 | 中盈优创资讯科技有限公司 | 一种基于sdn的负载均衡实现方法及装置 |
| US11575591B2 (en) | 2020-11-17 | 2023-02-07 | Vmware, Inc. | Autonomous distributed forwarding plane traceability based anomaly detection in application traffic for hyper-scale SD-WAN |
| US11575600B2 (en) | 2020-11-24 | 2023-02-07 | Vmware, Inc. | Tunnel-less SD-WAN |
| CN112583951B (zh) * | 2020-12-03 | 2022-08-26 | 平安科技(深圳)有限公司 | 应用层双活方法、装置、设备及存储介质 |
| CN112533020B (zh) * | 2020-12-16 | 2021-10-22 | 华南理工大学 | 面向电视直播系统的负载均衡动态组网系统及方法 |
| US11929903B2 (en) | 2020-12-29 | 2024-03-12 | VMware LLC | Emulating packet flows to assess network links for SD-WAN |
| CN112787861B (zh) * | 2020-12-31 | 2022-05-10 | 中国电子科技集团公司第五十四研究所 | 一种基于sdn的网络安全监测一体化可编程控制器 |
| US12218845B2 (en) | 2021-01-18 | 2025-02-04 | VMware LLC | Network-aware load balancing |
| CN116783874A (zh) | 2021-01-18 | 2023-09-19 | Vm维尔股份有限公司 | 网络感知的负载平衡 |
| US11979325B2 (en) | 2021-01-28 | 2024-05-07 | VMware LLC | Dynamic SD-WAN hub cluster scaling with machine learning |
| KR102277554B1 (ko) * | 2021-03-29 | 2021-07-15 | 한화시스템(주) | 소프트웨어 정의 네트워크에서의 스위치 마이그레이션을 제공하는 컨트롤러 및 방법 |
| US12368676B2 (en) | 2021-04-29 | 2025-07-22 | VMware LLC | Methods for micro-segmentation in SD-WAN for virtual networks |
| US12009987B2 (en) | 2021-05-03 | 2024-06-11 | VMware LLC | Methods to support dynamic transit paths through hub clustering across branches in SD-WAN |
| US11381499B1 (en) | 2021-05-03 | 2022-07-05 | Vmware, Inc. | Routing meshes for facilitating routing through an SD-WAN |
| US11729065B2 (en) | 2021-05-06 | 2023-08-15 | Vmware, Inc. | Methods for application defined virtual network service among multiple transport in SD-WAN |
| US12015536B2 (en) | 2021-06-18 | 2024-06-18 | VMware LLC | Method and apparatus for deploying tenant deployable elements across public clouds based on harvested performance metrics of types of resource elements in the public clouds |
| US11489720B1 (en) | 2021-06-18 | 2022-11-01 | Vmware, Inc. | Method and apparatus to evaluate resource elements and public clouds for deploying tenant deployable elements based on harvested performance metrics |
| US12250114B2 (en) | 2021-06-18 | 2025-03-11 | VMware LLC | Method and apparatus for deploying tenant deployable elements across public clouds based on harvested performance metrics of sub-types of resource elements in the public clouds |
| CN115664923A (zh) * | 2021-07-08 | 2023-01-31 | 3S国际有限公司 | 一种缩放计算机网络服务可靠性的方法 |
| US12047282B2 (en) | 2021-07-22 | 2024-07-23 | VMware LLC | Methods for smart bandwidth aggregation based dynamic overlay selection among preferred exits in SD-WAN |
| US12267364B2 (en) | 2021-07-24 | 2025-04-01 | VMware LLC | Network management services in a virtual network |
| US11375005B1 (en) | 2021-07-24 | 2022-06-28 | Vmware, Inc. | High availability solutions for a secure access service edge application |
| CN113687917B (zh) * | 2021-08-26 | 2025-03-14 | 济南云拓互动传媒有限公司 | 一种基于分布式数据中台的数据传输方法及系统 |
| US11943146B2 (en) | 2021-10-01 | 2024-03-26 | VMware LLC | Traffic prioritization in SD-WAN |
| CN114124810B (zh) * | 2021-11-26 | 2023-11-17 | 江苏省未来网络创新研究院 | 一种基于SDN与openfalcon架构的虚拟试验平台试验流量监控方法 |
| CN114172789B (zh) * | 2021-12-07 | 2023-11-10 | 北京天融信网络安全技术有限公司 | 虚拟设备链路探测方法、装置、设备及存储介质 |
| US12184557B2 (en) | 2022-01-04 | 2024-12-31 | VMware LLC | Explicit congestion notification in a virtual environment |
| US12603848B2 (en) | 2022-01-04 | 2026-04-14 | VMware LLC | Efficient mechanism for the transmission of multipath duplicate packets |
| US11799761B2 (en) | 2022-01-07 | 2023-10-24 | Vmware, Inc. | Scaling edge services with minimal disruption |
| US12507120B2 (en) | 2022-01-12 | 2025-12-23 | Velocloud Networks, Llc | Heterogeneous hub clustering and application policy based automatic node selection for network of clouds |
| US12425395B2 (en) | 2022-01-15 | 2025-09-23 | VMware LLC | Method and system of securely adding an edge device operating in a public network to an SD-WAN |
| US12506678B2 (en) | 2022-01-25 | 2025-12-23 | VMware LLC | Providing DNS service in an SD-WAN |
| US12047253B2 (en) | 2022-02-11 | 2024-07-23 | Nutanix, Inc. | System and method to provide priority based quality of service for telemetry data |
| US11962564B2 (en) | 2022-02-15 | 2024-04-16 | VMware LLC | Anycast address for network address translation at edge |
| DE102022201850A1 (de) * | 2022-02-22 | 2023-08-24 | Robert Bosch Gesellschaft mit beschränkter Haftung | Vorrichtung und Verfahren zur Netzwerk- und Rechenressourcenverwaltung für dienstorientierte Kommunikation in einer durch Software definierten Netzwerkarchitektur |
| CN116781732A (zh) * | 2022-03-07 | 2023-09-19 | 中国移动通信有限公司研究院 | 一种路由方法及系统、节点 |
| CN114466017B (zh) * | 2022-03-14 | 2024-03-12 | 阿里巴巴(中国)有限公司 | kubernetes边缘集群的数据监测方法和装置 |
| US11765065B1 (en) | 2022-03-23 | 2023-09-19 | Nutanix, Inc. | System and method for scalable telemetry |
| US11909815B2 (en) | 2022-06-06 | 2024-02-20 | VMware LLC | Routing based on geolocation costs |
| US20240022626A1 (en) | 2022-07-18 | 2024-01-18 | Vmware, Inc. | Dns-based gslb-aware sd-wan for low latency saas applications |
| CN115150410B (zh) * | 2022-07-19 | 2024-06-18 | 京东科技信息技术有限公司 | 多集群访问方法和系统 |
| US20240028378A1 (en) | 2022-07-20 | 2024-01-25 | Vmware, Inc. | Method for modifying an sd-wan using metric-based heat maps |
| US12470621B2 (en) | 2022-07-22 | 2025-11-11 | VMware LLC | Transparent load balancing |
| CN115297124B (zh) * | 2022-07-25 | 2023-08-04 | 天翼云科技有限公司 | 一种系统运维管理方法、装置及电子设备 |
| CN115378876B (zh) * | 2022-07-29 | 2023-05-30 | 南京邮电大学 | 一种sdn环境下数据中心网络负载均衡方法 |
| US20240073743A1 (en) | 2022-08-28 | 2024-02-29 | Vmware, Inc. | Dynamic use of multiple wireless network links to connect a vehicle to an sd-wan |
| CN115442369B (zh) * | 2022-09-02 | 2023-06-16 | 北京星汉未来网络科技有限公司 | 一种服务资源调度的方法、装置、存储介质及电子设备 |
| CN115589414A (zh) * | 2022-09-02 | 2023-01-10 | 中电云数智科技有限公司 | 一种实现超大规模sdn网络的方法及sdn网络 |
| JP7826906B2 (ja) * | 2022-11-07 | 2026-03-10 | トヨタ自動車株式会社 | システム、制御装置、制御方法、およびプログラム |
| CN118200178A (zh) * | 2022-12-12 | 2024-06-14 | 上海诺基亚贝尔股份有限公司 | 软件定义网络控制器、网络设备、确定资源的方法及装置 |
| CN118301151B (zh) * | 2022-12-27 | 2026-01-13 | 锐捷网络股份有限公司 | 一种设备分配方法、装置及资源编排系统 |
| US12057993B1 (en) | 2023-03-27 | 2024-08-06 | VMware LLC | Identifying and remediating anomalies in a self-healing network |
| US12034587B1 (en) | 2023-03-27 | 2024-07-09 | VMware LLC | Identifying and remediating anomalies in a self-healing network |
| US12425332B2 (en) | 2023-03-27 | 2025-09-23 | VMware LLC | Remediating anomalies in a self-healing network |
| CN116781616A (zh) * | 2023-07-27 | 2023-09-19 | 中移(苏州)软件技术有限公司 | 网络流量路径的调整方法、装置、系统及介质 |
| US12563438B2 (en) | 2023-08-16 | 2026-02-24 | Velocloud Networks, Llc | Distributed gateways for multi-regional large scale deployments |
| US12507153B2 (en) | 2023-08-16 | 2025-12-23 | Velocloud Networks, Llc | Dynamic edge-to-edge across multiple hops in multi-regional large scale deployments with distributed gateways |
| US12603827B2 (en) | 2023-08-16 | 2026-04-14 | Velocloud Networks, Llc | Asymmetric routing resolutions in multi-regional large scale deployments with distributed gateways |
| US12483968B2 (en) | 2023-08-16 | 2025-11-25 | Velocloud Networks, Llc | Distributed gateways for multi-regional large scale deployments |
| US12507148B2 (en) | 2023-08-16 | 2025-12-23 | Velocloud Networks, Llc | Interconnecting clusters in multi-regional large scale deployments with distributed gateways |
| US12261777B2 (en) | 2023-08-16 | 2025-03-25 | VMware LLC | Forwarding packets in multi-regional large scale deployments with distributed gateways |
| US12355655B2 (en) | 2023-08-16 | 2025-07-08 | VMware LLC | Forwarding packets in multi-regional large scale deployments with distributed gateways |
| US12587468B2 (en) | 2023-08-16 | 2026-03-24 | Velocloud Networks, Llc | Route filtering for clusters in multi-regional large scale deployments with distributed gateways |
| CN117240787B (zh) * | 2023-11-14 | 2024-03-01 | 鹏城实验室 | 交换机负载均衡方法、装置、电子设备及可读存储介质 |
| CN118301164A (zh) * | 2024-04-12 | 2024-07-05 | 天翼安全科技有限公司 | 一种资源调整方法、装置、电子设备及存储介质 |
| CN118505396B (zh) * | 2024-05-31 | 2025-03-18 | 五矿国际信托有限公司 | 一种投资管理的方法及相关设备 |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103905317A (zh) * | 2012-12-28 | 2014-07-02 | 中兴通讯股份有限公司 | 一种软件定义网络的报文处理方法和系统 |
| CN103905577A (zh) * | 2012-12-28 | 2014-07-02 | 中兴通讯股份有限公司 | 一种地址解析协议报文的处理方法和系统 |
| CN104243337A (zh) * | 2013-06-09 | 2014-12-24 | 杭州华三通信技术有限公司 | 一种跨集群负载均衡的方法及装置 |
| US20140379927A1 (en) * | 2013-06-24 | 2014-12-25 | Nec Laboratories America, Inc. | Network Followed by Compute Load Balancing Procedure for Embedding Cloud Services in Software-Defined Flexible-Grid Optical Transport Networks |
| CN104767676A (zh) * | 2014-01-03 | 2015-07-08 | 华为技术有限公司 | Sdn网络中的数据报文转发方法和系统 |
| CN105207856A (zh) * | 2015-10-28 | 2015-12-30 | 广州西麦科技股份有限公司 | 一种基于sdn虚拟交换机的负载均衡的系统及方法 |
Family Cites Families (39)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6772226B1 (en) * | 2000-08-15 | 2004-08-03 | Avaya Technology Corp. | VPN device clustering using a network flow switch and a different mac address for each VPN device in the cluster |
| JP4351517B2 (ja) | 2003-11-14 | 2009-10-28 | 株式会社日立製作所 | データセンタの装置管理方法、装置管理サーバ、データセンタの装置管理システム並びにプログラム |
| JP4883979B2 (ja) * | 2005-10-11 | 2012-02-22 | 株式会社ソニー・コンピュータエンタテインメント | 情報処理装置および通信制御方法 |
| US8166187B2 (en) | 2009-01-28 | 2012-04-24 | Cisco Technology, Inc. | Distributed IP gateway based on sharing a MAC address and IP address concurrently between a first network switching device and a second network switching device |
| US9817695B2 (en) * | 2009-04-01 | 2017-11-14 | Vmware, Inc. | Method and system for migrating processes between virtual machines |
| CN101719082B (zh) * | 2009-12-24 | 2013-01-02 | 中国科学院计算技术研究所 | 虚拟化计算平台中应用请求调度的方法及其系统 |
| JP5438624B2 (ja) * | 2010-08-03 | 2014-03-12 | 日本電信電話株式会社 | 通信システム、制御サーバ、フロー制御方法およびそのプログラム |
| CN102307246B (zh) * | 2010-09-25 | 2015-12-09 | 广东电子工业研究院有限公司 | 基于云计算的虚拟机间安全通信保护系统 |
| CN102025535B (zh) | 2010-11-17 | 2012-09-12 | 福建星网锐捷网络有限公司 | 虚拟机管理方法、装置及网络设备 |
| JP5896509B2 (ja) * | 2011-07-13 | 2016-03-30 | 日本電信電話株式会社 | クラスタリング通信システム |
| JP2013105308A (ja) * | 2011-11-14 | 2013-05-30 | Nippon Telegr & Teleph Corp <Ntt> | 負荷分散システム、負荷分散装置、負荷分散方法および負荷分散プログラム |
| US20130159487A1 (en) | 2011-12-14 | 2013-06-20 | Microsoft Corporation | Migration of Virtual IP Addresses in a Failover Cluster |
| JP2013235336A (ja) * | 2012-05-07 | 2013-11-21 | Keepdata Ltd | コンピュータシステム |
| CN103580902B (zh) * | 2012-08-07 | 2015-01-14 | 腾讯科技(深圳)有限公司 | 一种计算机信息系统及其动态容灾方法 |
| US8831000B2 (en) | 2012-10-10 | 2014-09-09 | Telefonaktiebolaget L M Ericsson (Publ) | IP multicast service join process for MPLS-based virtual private cloud networking |
| CN103078965B (zh) | 2012-12-25 | 2015-07-29 | 曙光云计算技术有限公司 | 虚拟机的ip地址管理方法 |
| US9450981B2 (en) * | 2013-03-14 | 2016-09-20 | Radware, Ltd. | System and method thereof for mitigating denial of service attacks in virtual networks |
| JP5813699B2 (ja) | 2013-06-14 | 2015-11-17 | 日本電信電話株式会社 | 通信システム、管理装置、管理方法および管理プログラム |
| WO2014208538A1 (ja) * | 2013-06-25 | 2014-12-31 | 日本電気株式会社 | 通信システムと装置と方法とプログラム |
| CN104253770B (zh) | 2013-06-27 | 2017-07-14 | 新华三技术有限公司 | 实现分布式虚拟交换机系统的方法及设备 |
| KR20150030099A (ko) * | 2013-09-11 | 2015-03-19 | 한국전자통신연구원 | 주소 결정 시스템 및 방법 |
| CN104468462B (zh) | 2013-09-12 | 2017-12-15 | 新华三技术有限公司 | 分布式虚拟交换机系统的报文转发方法及设备 |
| US9112794B2 (en) | 2013-11-05 | 2015-08-18 | International Business Machines Corporation | Dynamic multipath forwarding in software defined data center networks |
| US9253026B2 (en) * | 2013-12-18 | 2016-02-02 | International Business Machines Corporation | Software-defined networking disaster recovery |
| US9742632B2 (en) | 2013-12-27 | 2017-08-22 | Intel Corporation | Hybrid SDN controller |
| CN103763367A (zh) * | 2014-01-17 | 2014-04-30 | 浪潮(北京)电子信息产业有限公司 | 一种云计算数据中心分布式虚拟网络设计方法及系统 |
| CN103825838B (zh) * | 2014-02-24 | 2017-11-10 | 上海交通大学 | 一种数据中心去带宽碎片化流调度方法 |
| CN103795805B (zh) * | 2014-02-27 | 2017-08-25 | 中国科学技术大学苏州研究院 | 基于sdn的分布式服务器负载均衡方法 |
| US20150341377A1 (en) * | 2014-03-14 | 2015-11-26 | Avni Networks Inc. | Method and apparatus to provide real-time cloud security |
| CN103973676B (zh) * | 2014-04-21 | 2017-05-24 | 蓝盾信息安全技术股份有限公司 | 一种基于sdn的云计算安全保护系统及方法 |
| EP2940581A1 (en) * | 2014-04-30 | 2015-11-04 | Alcatel Lucent | Method for managing user requests in a distributed computing environment, distributed computing environment and computer program product |
| US10063473B2 (en) * | 2014-04-30 | 2018-08-28 | Brocade Communications Systems LLC | Method and system for facilitating switch virtualization in a network of interconnected switches |
| CN104301247A (zh) | 2014-10-29 | 2015-01-21 | 杭州华三通信技术有限公司 | 一种pppoe接入设备负载均衡的方法和装置 |
| KR102233645B1 (ko) * | 2014-11-11 | 2021-03-30 | 한국전자통신연구원 | 가상 네트워크 기반 분산 다중 도메인 라우팅 제어 시스템 및 라우팅 제어 방법 |
| CN104486103B (zh) | 2014-12-03 | 2018-03-16 | 新华三技术有限公司 | 一种报文传输的方法和设备 |
| CN104506408B (zh) * | 2014-12-31 | 2018-02-06 | 新华三技术有限公司 | 基于sdn的数据传输的方法及装置 |
| CN104853001B (zh) | 2015-04-21 | 2019-06-07 | 新华三技术有限公司 | 一种arp报文的处理方法和设备 |
| US9998565B2 (en) * | 2015-05-25 | 2018-06-12 | Juniper Networks, Inc. | Selecting and monitoring a plurality of services key performance indicators using TWAMP |
| US10868742B2 (en) * | 2017-03-29 | 2020-12-15 | Juniper Networks, Inc. | Multi-cluster dashboard for distributed virtualization infrastructure element monitoring and policy control |
-
2015
- 2015-12-31 JP JP2017534615A patent/JP6835444B2/ja active Active
- 2015-12-31 WO PCT/CN2015/100073 patent/WO2017113273A1/zh not_active Ceased
- 2015-12-31 CN CN201580084825.9A patent/CN108293009B/zh active Active
- 2015-12-31 EP EP15911656.5A patent/EP3229405B1/en active Active
-
2018
- 2018-05-30 US US15/993,270 patent/US10601728B2/en active Active
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103905317A (zh) * | 2012-12-28 | 2014-07-02 | 中兴通讯股份有限公司 | 一种软件定义网络的报文处理方法和系统 |
| CN103905577A (zh) * | 2012-12-28 | 2014-07-02 | 中兴通讯股份有限公司 | 一种地址解析协议报文的处理方法和系统 |
| CN104243337A (zh) * | 2013-06-09 | 2014-12-24 | 杭州华三通信技术有限公司 | 一种跨集群负载均衡的方法及装置 |
| US20140379927A1 (en) * | 2013-06-24 | 2014-12-25 | Nec Laboratories America, Inc. | Network Followed by Compute Load Balancing Procedure for Embedding Cloud Services in Software-Defined Flexible-Grid Optical Transport Networks |
| CN104767676A (zh) * | 2014-01-03 | 2015-07-08 | 华为技术有限公司 | Sdn网络中的数据报文转发方法和系统 |
| CN105207856A (zh) * | 2015-10-28 | 2015-12-30 | 广州西麦科技股份有限公司 | 一种基于sdn虚拟交换机的负载均衡的系统及方法 |
Non-Patent Citations (1)
| Title |
|---|
| See also references of EP3229405A4 * |
Cited By (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11429410B2 (en) * | 2017-05-09 | 2022-08-30 | Vmware, Inc. | Tag based firewall implementation in software defined networks |
| US20180329730A1 (en) * | 2017-05-09 | 2018-11-15 | Nicira, Inc. | Tag based firewall implementation in software defined networks |
| CN107276662A (zh) * | 2017-07-27 | 2017-10-20 | 大连大学 | 一种软件定义空间信息网络多控制器动态部署方法 |
| CN107276662B (zh) * | 2017-07-27 | 2019-12-03 | 大连大学 | 一种软件定义空间信息网络多控制器动态部署方法 |
| CN107689992A (zh) * | 2017-08-24 | 2018-02-13 | 南京南瑞集团公司 | 一种高性能的防火墙集群实现方法 |
| US12010024B2 (en) | 2018-12-13 | 2024-06-11 | Google Llc | Transparent migration of virtual network functions |
| US11070475B2 (en) * | 2018-12-13 | 2021-07-20 | Google Llc | Transparent migration of virtual network functions |
| CN109885316A (zh) * | 2019-02-18 | 2019-06-14 | 国家计算机网络与信息安全管理中心 | 基于kubernetes的hdfs-hbase部署方法及装置 |
| CN109885316B (zh) * | 2019-02-18 | 2023-05-09 | 国家计算机网络与信息安全管理中心 | 基于kubernetes的hdfs-hbase部署方法及装置 |
| CN112305973B (zh) * | 2020-11-12 | 2021-07-27 | 中国电子科技集团公司第五十四研究所 | 一种基于链路属性的控制器集群负载分担方法 |
| CN112305973A (zh) * | 2020-11-12 | 2021-02-02 | 中国电子科技集团公司第五十四研究所 | 一种基于链路属性的控制器集群负载分担方法 |
| CN113452676A (zh) * | 2021-05-27 | 2021-09-28 | 鹏城实验室 | 一种检测器分配方法和物联网检测系统 |
| CN113452676B (zh) * | 2021-05-27 | 2022-05-10 | 鹏城实验室 | 一种检测器分配方法和物联网检测系统 |
| CN116389368A (zh) * | 2023-04-06 | 2023-07-04 | 飞诺门阵(北京)科技有限公司 | 一种针对边缘网络的容器sdn优化方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP6835444B2 (ja) | 2021-02-24 |
| EP3229405A4 (en) | 2018-05-23 |
| US20180278541A1 (en) | 2018-09-27 |
| EP3229405B1 (en) | 2020-07-15 |
| EP3229405A1 (en) | 2017-10-11 |
| CN108293009B (zh) | 2021-05-18 |
| JP2018504038A (ja) | 2018-02-08 |
| CN108293009A (zh) | 2018-07-17 |
| US10601728B2 (en) | 2020-03-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN108293001B (zh) | 一种软件定义数据中心及其中的服务集群的部署方法 | |
| US10601728B2 (en) | Software-defined data center and service cluster scheduling and traffic monitoring method therefor | |
| JP7623432B2 (ja) | スライスベースネットワークにおける輻輳回避 | |
| US20190289647A1 (en) | Method for controlling network slice, forwarding device, control device, and communications system | |
| US8879396B2 (en) | System and method for using dynamic allocation of virtual lanes to alleviate congestion in a fat-tree topology | |
| US9100298B2 (en) | Host visibility as a network service | |
| JP2022532729A (ja) | スライスベースルーティング | |
| CN112039682A (zh) | 软件定义数据中心在运营商网络中的运用及实践的方法 | |
| CN103081410B (zh) | 通信质量监视系统、通信质量监视方法 | |
| CN112242949A (zh) | 路由分发方法及控制器、信息路由方法及网络节点设备 | |
| US20150169353A1 (en) | System and method for managing data center services | |
| CN104363159A (zh) | 一种基于软件定义网络的开放虚拟网络构建系统和方法 | |
| CN106982244B (zh) | 在云网络环境下实现动态流量的报文镜像的方法和装置 | |
| WO2018133783A1 (zh) | 链路流量控制方法及装置 | |
| US20200382399A1 (en) | Trace routing in virtual networks | |
| CN104283780A (zh) | 建立数据传输路径的方法和装置 | |
| CN113518045A (zh) | 一种流量采集配置方法、流量采集方法及设备 | |
| WO2018103665A1 (zh) | 基于l2tp的设备管理方法、设备及系统 | |
| CN106161124B (zh) | 报文的测试处理方法及装置 | |
| CN111049697B (zh) | 一种网络链路质量监测方法和装置 | |
| CN113783738A (zh) | 一种高可扩展性的sdn北向接口实现方法 | |
| Dayapala et al. | Investigation of Routing Techniques to Develop a Model for Software-Defined Networks using Border Gateway Protocol | |
| Wohlbold | Load Balancing and Failover for Isolated, Multi-Tenant Layer 2 Virtual Private Networks | |
| CN121750586A (zh) | 网络设备及业务处理方法、装置与介质 | |
| WO2026031152A1 (zh) | 一种报文处理、资源管理方法、装置及设备 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| ENP | Entry into the national phase |
Ref document number: 2017534615 Country of ref document: JP Kind code of ref document: A |
|
| REEP | Request for entry into the european phase |
Ref document number: 2015911656 Country of ref document: EP |
|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 15911656 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |

