WO2015158250A1 - 一种资源分配方法、报文通信方法及装置 - Google Patents

一种资源分配方法、报文通信方法及装置 Download PDF

Info

Publication number
WO2015158250A1
WO2015158250A1 PCT/CN2015/076568 CN2015076568W WO2015158250A1 WO 2015158250 A1 WO2015158250 A1 WO 2015158250A1 CN 2015076568 W CN2015076568 W CN 2015076568W WO 2015158250 A1 WO2015158250 A1 WO 2015158250A1
Authority
WO
WIPO (PCT)
Prior art keywords
host
logical area
label
switch
tunnel
Prior art date
Application number
PCT/CN2015/076568
Other languages
English (en)
French (fr)
Inventor
王蛟
张鹏飞
罗萱
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to EP15779813.3A priority Critical patent/EP3125504B1/en
Publication of WO2015158250A1 publication Critical patent/WO2015158250A1/zh
Priority to US15/294,468 priority patent/US10425354B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/825Involving tunnels, e.g. MPLS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/354Switches specially adapted for specific applications for supporting virtual local area networks [VLAN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2592Translation of Internet protocol [IP] addresses using tunnelling or encapsulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0894Policy-based network configuration management

Definitions

  • the present invention relates to the field of cloud computing technologies, and in particular, to a resource allocation method, a message communication method, and a device.
  • cloud computing technology is a research hotspot in the network field.
  • large-scale cloud computing allowing tenants to customize network addresses has become an inevitable trend.
  • the operation mode is a cloud data center network, it is required to support service lease and service isolation of multiple users, which is simply referred to as a multi-tenant application mode.
  • tunnel technology is used to complete packet forwarding between multiple tenants.
  • the tunneling technology can be: Virtual Local Area Network (VLAN) isolation technology, GRE (Generic Routing Encapsulation) tunnel technology.
  • VLAN Virtual Local Area Network
  • GRE Generic Routing Encapsulation
  • the VLAN isolation technology is a common technology for splitting services and modules in a traditional cloud data center network.
  • each virtual network is assigned a VLAN ID. Therefore, the same virtual network is in a Layer 2 isolation state.
  • the tenant can define the IP (Internet Protocol) address space of its virtual network without worrying about conflict and overlap with the IP address space of other tenants.
  • IP Internet Protocol
  • the main problem with VLAN isolation technology is that the VLAN ID itself has a small range and can only support 4094 independent VLANs.
  • the GRE tunneling technology encapsulates the virtual network label in the packet sent by the source host and forwards it to the corresponding destination virtual server, decapsulating the destination virtual server and identifying the corresponding virtual network, so as to send the packet to the destination virtual server. Destination host.
  • the virtual network label length of the GRE tunnel technology is much larger than the VLAN ID, so it is no longer limited by the number of 4094. system.
  • the tunnel labels of different switches in the GRE tunnel technology are unique in the whole network, and cannot be reused between different switches.
  • the embodiment of the present invention provides a resource allocation method for dividing a cloud data center network into multiple independent logical areas, and allocating available tunnel labels for virtual network requests in independent logical areas.
  • the embodiment of the invention further provides a message communication method, which is used for sending a message between different logical areas.
  • the embodiment of the invention further provides a resource allocation device and a message communication device, which are used to ensure the implementation and application of the above method in practice.
  • the technical solutions are as follows:
  • an embodiment of the present invention provides a resource allocation method, which is applied to a cloud data center network, where the method includes:
  • the controller divides the cloud data center network into a plurality of independent logical areas
  • the controller When receiving a virtual network request for allocating resources to the tenant, the controller looks up the logical area to obtain a logical area that satisfies the virtual network request;
  • the cloud data center network is divided into multiple independent logical areas, including:
  • the switch and each physical host connected to the switch are divided into the same logical area.
  • the dividing the switch and each physical host connected to the switch into the same logical area includes:
  • the physical hosts connected to the switch are divided according to the preset number of hosts, and the divided physical hosts and The switch that is connected to the physical host is divided into the same logical area, and the total number of virtual hosts carried by the divided physical host is not greater than the preset number of hosts;
  • the switches and the physical hosts connected to the switch are divided into the same logical area.
  • the dividing the switch and each physical host connected to the switch into the same logical area including: obtaining support Multiple switches of the same tunneling technology;
  • the plurality of switches supporting the same tunneling technology and the physical hosts connected to the plurality of switches are divided into the same logical area.
  • the method further includes: according to the configuration rule, Each of the logical areas configures a tunneling technique.
  • the tenant is Assign tunnel labels, including:
  • the embodiment of the present invention further provides a packet communication method, which is applied to a cloud data center network, where the cloud data center network is divided into multiple independent logical areas, and the method includes:
  • the controller receives a data packet forwarding request, where the data packet forwarding request carries information of the source host and the destination host;
  • the controller Determining, by the controller, the resource label of the destination host, where the resource label of the destination host includes a label of a logical area where the destination host is located and a tunnel label of the destination host;
  • the controller sends a resource label of the source host and a resource label of the destination host to a switch, so that the switch converts a label of the logical area where the source host is located into a logical area label of the destination host, and the The tunnel label of the source host is converted into a tunnel label of the destination host, and the data label converted by the resource label is sent to the destination host.
  • the method further includes:
  • the controller sends the tunnel technology supported by the logical area where the source host is located and the tunnel technology supported by the logical area where the destination host is located, so that the switch supports the tunnel technology supported by the logical area where the source host is located. Convert to the tunneling technology supported by the logical area where the destination host is located.
  • the switch is a switch of a logical area where the source host is located or a switch of a logical area where the destination host is located.
  • the switch includes a switch of a logical area where the source host is located and a switch of a logical area where the destination host is located, the switch Converting the label of the logical area where the source host is located to the logical area label of the destination host, and converting the tunnel label of the source host to the tunnel label of the destination host includes:
  • the switch in the logical area where the source host is located removes the resource label of the source host in the data packet, and then sends the data packet of the resource label of the source host to the switch in the logical area where the destination host is located.
  • the switch in the logical area where the destination host is located loads the resource label of the destination host in the data packet of the resource label of the source host. sign.
  • the controller acquires, according to the information about the source host, the resource label of the source host from the tenant information, and the The tunneling technology supported by the logical area of the source host; and the resource label of the destination host and the tunneling technology supported by the logical area where the destination host is located are obtained from the tenant information according to the information of the destination host.
  • the tenant information is saved in the controller in a mapping form
  • the tenant information is saved in a mapping table in a device independent of the controller, and an information channel for transmitting the mapping table is established between the device and the controller.
  • the resource allocation method divides the cloud data center network into a plurality of independent logical areas, and performs tunnel label range allocation for each of the divided logical areas.
  • an embodiment of the present invention provides a resource allocation apparatus, which is applied to a controller of a cloud data center network, where the apparatus includes:
  • a dividing unit configured to divide the cloud data center network into multiple independent logical areas
  • a first allocation unit configured to allocate a corresponding tunnel label range for each of the logical regions
  • An obtaining unit configured to: when receiving a virtual network request for allocating resources for a tenant, searching for the logical area to obtain a logical area that satisfies the virtual network request;
  • a second allocation unit configured to allocate a tunnel label to the tenant according to the tunnel label range corresponding to the logical area that satisfies the virtual network request.
  • the dividing unit includes:
  • a lookup subunit configured to search for a switch connected to each physical host of the cloud data center network
  • An allocation subunit is configured to divide the switch and each physical host connected to the switch into the same logical area.
  • the allocating subunit is configured to use the switch and each physical host connected to the switch Divided into the same logical area is specifically:
  • the allocation subunit is configured to obtain the total number of virtual hosts carried by the physical hosts connected to the switch. If the total number of the virtual hosts is greater than the preset number of hosts, the number of hosts is determined according to the preset number of hosts.
  • the physical hosts connected to the switch are divided into the same physical area, and the total number of virtual hosts carried by the divided physical hosts is not divided into the same logical area. If the total number of the virtual hosts is not greater than the preset number of hosts, the switch and each physical host connected to the switch are divided into the same logical area. .
  • the allocating subunit is configured to divide the switch and each physical host connected to the switch into a same logical area.
  • the allocating sub-units are configured to obtain a plurality of switches supporting the same tunneling technology, and divide the plurality of switches supporting the same tunneling technology and the physical hosts connected to the multiple switches into the same logical area.
  • the device further includes: a configuration unit, configured to: According to the configuration rules, tunnel technology is configured for each of the logical areas.
  • the second allocating unit comprises:
  • dividing the subunit configured to divide the virtual network request into multiple sub-requests according to the number of logical areas satisfying the virtual network request, where each sub-request is used to request to construct a part of a network of the virtual network, where the virtual network is based
  • the virtual network requests a network built for the tenant;
  • a regional allocation subunit configured to allocate a logical area for each sub-request within the logical area that satisfies the virtual network request
  • a label allocation sub-unit configured to allocate the tunnel label to the tenant according to the tunnel label range corresponding to the logical area allocated for each sub-request.
  • the embodiment of the present invention further provides a message communication apparatus, which is applied to a controller of a cloud data center network, where the cloud data center network is divided into multiple independent logical areas.
  • the device includes:
  • a receiving unit configured to receive a data packet forwarding request, where the data packet forwarding request carries information of the source host and the destination host;
  • a first acquiring unit configured to acquire, according to information of the source host, a resource label of the source host, where the resource label of the source host includes a label of a logical area where the source host is located, and a tunnel label of the source host;
  • a second acquiring unit configured to acquire, according to the information about the destination host, a resource label of the destination host, where the resource label of the destination host includes a label of a logical area where the destination host is located and a tunnel label of the destination host;
  • a sending unit configured to send, by the switch, a resource label of the source host and a resource label of the destination host, so that the switch converts a label of the logical area where the source host is located into a logical area label of the destination host, and a The tunnel label of the source host is translated into a tunnel label of the destination host, and the data label converted by the resource label is sent to the destination host.
  • the first acquiring unit is further configured to acquire, according to the information about the source host, a tunnel technology supported by a logical area where the source host is located;
  • the second obtaining unit is further configured to acquire, according to information about the destination host, a tunnel technology supported by a logical area where the destination host is located;
  • the sending unit is further configured to send, to the switch, a tunnel technology supported by the logical area where the source host is located and a tunnel technology supported by the logical area where the destination host is located, so that the switch sets the logical area where the source host is located.
  • the supported tunneling technology is converted to the tunneling technology supported by the logical area where the destination host is located.
  • the first acquiring unit is configured to obtain, according to the information about the source host, the source host from the tenant information. a resource label and a tunneling technology supported by the logical area where the source host is located;
  • the second obtaining unit is configured to obtain, according to the information about the destination host, a resource label of the destination host and a tunnel technology supported by a logical area where the destination host is located, from the tenant information.
  • the tenant information is saved in the controller in a mapping form
  • the tenant information is stored in a device independent of the controller in a mapping form, and an information channel for transmitting the mapping table is established between the device and the controller.
  • the device applies the resource allocation device to the cloud
  • the data center network is divided into a plurality of independent logical areas, and the tunnel label range is allocated to each of the divided logical areas.
  • the present invention includes the following advantages:
  • the controller may divide the cloud data center network into multiple independent logical areas. Since each logical area is an independent area, when a tunnel label range is allocated for different logical areas, The same tunnel label range is allocated, so that different logical areas can allocate the same tunnel label to different switches in different logical areas when the tunnel label is assigned to the switch in the same logical area, which realizes the reuse of the tunnel label.
  • the tenant when the virtual network request is received, the tenant may be allocated according to the tunnel label range corresponding to the logical area of the tenant in the logical area of the tenant that satisfies the virtual network request. Tunnel label.
  • FIG. 1 is a flowchart of a resource allocation method according to an embodiment of the present invention
  • FIG. 2 is a schematic diagram of a network architecture provided by an embodiment of the present invention.
  • FIG. 3 is another schematic diagram of a network architecture according to an embodiment of the present invention.
  • FIG. 5 is a flowchart of a message communication method according to an embodiment of the present invention.
  • FIG. 6 is a schematic diagram of a message communication method under a network architecture according to an embodiment of the present invention.
  • FIG. 7 is a schematic structural diagram of a resource allocation apparatus according to an embodiment of the present invention.
  • FIG. 8 is a schematic structural diagram of a second allocation unit in a resource allocation apparatus according to an embodiment of the present disclosure.
  • FIG. 9 is another schematic structural diagram of a resource allocation apparatus according to an embodiment of the present invention.
  • FIG. 10 is a schematic structural diagram of a message communication apparatus according to an embodiment of the present invention.
  • FIG. 11 is a schematic structural diagram of a controller according to an embodiment of the present invention.
  • FIG. 12 is a schematic structural diagram of another controller according to an embodiment of the present invention.
  • a resource allocation method is provided in an embodiment of the present invention.
  • the resource allocation method is applied to a cloud data center network, and the controller performs a resource configuration method provided by an embodiment of the present invention, where the controller
  • the controller may be a controller located in the cloud data center network, or may be a controller for monitoring the cloud data center network outside the cloud data center network.
  • the resource allocation method provided by the embodiment of the present invention may include the following steps:
  • the controller divides the cloud data center network into multiple independent logical areas.
  • the logical area is an independent area obtained by dividing the cloud data center network, and the division of the cloud data center network may be based on the network architecture of the cloud data center network.
  • the controller can look up the switches connected to the physical hosts in the cloud data center network, and then divide the physical hosts connected to the switch and the switch into the same logical area.
  • a feasible way to divide the physical hosts connected to the switch and the switch into the same logical area is to divide according to the number of switches, and each switch and each physical host connected to it are divided into the same logical area.
  • Another possible way is to first obtain the total number of virtual hosts carried by the physical hosts connected to the switch, and determine how to divide according to the comparison between the total number of virtual hosts and the preset number of hosts.
  • a feasible manner for determining the division according to the comparison between the total number of virtual hosts and the preset number of hosts is: if the total number of virtual hosts is greater than the preset number of hosts, The physical host connected to the switch is divided according to the preset number of hosts. The divided physical host and the switch connected to the divided physical host are divided into the same logical area. If the total number of virtual hosts is not greater than the preset number of hosts, the switch and each physical host connected to the switch are divided into the same logical area.
  • switch A is connected to physical host B, physical host C, and physical host D
  • the number of virtual hosts hosted by physical host B is 1024
  • the number of virtual hosts hosted by physical host C is 512
  • the virtual host hosted by physical host D is virtual host.
  • the number is 2048
  • the default number of hosts is 2048. Therefore, when dividing the logical area, the controller divides physical host B, physical host C, and switch A into one logical area, and physical host D and switch A are divided into another logic. In the area. If the preset number of hosts is set to 4094, switch A, physical host B, physical host C, and physical host D can be divided into the same logical area.
  • the physical host is the host connected to each physical port of the switch.
  • the virtual host divides the physical host into multiple virtual hosts. Each virtual host can be connected to the virtual port of the switch, and each virtual host has an independent domain name. And full web server functionality. The default number of hosts is set according to different network architectures and network requirements.
  • the cloud data center network shown in FIG. 2 includes a controller 1, multiple aggregation switches 2, multiple top switches 3, and multiple physical hosts 4, where the controller 1 is connected.
  • a plurality of aggregation switches 2, and each aggregation switch 2 is connected to a plurality of physical hosts 4 through the top-of-rack switch 3.
  • the physical host 4 is not divided into multiple virtual hosts, so when the controller performs logical area division, the plurality of physical hosts 4 connected to each of the top switches 3 can be divided into In a logical area, as shown in the dotted line in Figure 2, the area indicated by the dotted line is an independent logical area.
  • the physical host 4 can also be virtualized. As shown in FIG. 3, each physical host 4 carries multiple virtual hosts 5 (each small square in the figure represents a virtual host, that is, the physical host is divided. Out of multiple virtual hosts 5).
  • the total number of virtual hosts 5 carried by the physical hosts 4 connected to the top switch 3 can be obtained first, and then the total number of virtual hosts 5 and the presets are preset. The number of hosts is compared. In the network architecture shown in Figure 3, the number of preset hosts is 1024.
  • the controller 1 takes each of the top switches 3 as The logical area division reference divides the top-of-rack switch 3, the physical host 4 connected to the top-of-rack switch 3, and the virtual host 5 carried by the physical host 4 into the same logical area, as shown by the dotted line in FIG. And it can be seen from FIG. 3 that the total number of virtual hosts in each logical area is not greater than the preset number of hosts.
  • the tunnel technology supported by the switch can also be considered.
  • the controller can divide each physical host that supports multiple switches and multiple switches connected to the same tunnel technology into the same logical area.
  • the controller 1 can divide the two top-of-rack switches 3 and the plurality of physical hosts 4 connected by the two top-of-rack switches 3 into the same logical area.
  • the network architecture shown in FIG. 3 has a logical area including an aggregation switch 2, a top-of-rack switch 3 connected to the aggregation switch 2, a plurality of physical hosts 4 connected to the top-of-rack switch 3, and each physical host 4. Hosted virtual host 5.
  • the total number of virtual hosts carried by the physical host may be further combined.
  • the specific dividing process may be: first, the controller acquires the tunnel technology supported by each switch, and then obtains each of the technologies supporting the same tunneling technology. The total number of virtual hosts hosted by each physical host connected to the switch.
  • the physical hosts connected to the switch are divided into physical addresses.
  • the physical hosts connected to the physical host and the switches connected to the physical host are divided into the same logical area.
  • the total number of virtual hosts carried by the divided physical host is not greater than the preset number of hosts. If the total number of virtual hosts is not greater than the preset number of hosts, the switch and each physical host connected to the switch are divided into the same logical area.
  • the partitioning of the logical area in the embodiment of the present invention is mainly based on: the boundary switches in the cloud data center network, such as the aggregation switch and the top-of-rack switch, as the boundary of the logical area.
  • the divided logical regions are included as edges A virtual host hosted by a border switch, a physical host connected to it, and/or a physical host.
  • the determination of the border switch is related to the number of virtual hosts carried by the physical host in the logical area.
  • the total number of virtual hosts carried by the connected physical host is not greater than the preset number of hosts.
  • the physical switch hosted by the border switch and the border switch and the virtual host hosted by the physical host are divided into the same logical area.
  • the determination of the border switch can also be related to the tunnel technology supported by the logical area.
  • the top switch supporting the same tunnel technology is divided into a logical area, and of course, the virtual area can be defined on the basis of supporting the same tunnel technology.
  • the tunnel label range is used to indicate the number of tunnel labels in the logical area. In this number range, the tunnel label is allocated based on the port of the switch.
  • One of the possible ways is: when the switch is a soft switch, the physical port of the soft switch is virtualized into multiple virtual ports, and the physical host connected to the physical interface is divided into multiple virtual hosts, and each virtual host is connected to a virtual host. Port, based on this soft switch, the controller assigns a tunnel label to each virtual host, where the soft switch is a switch-enabled software.
  • the switch When the switch is a physical switch, the physical port of the physical switch is connected to the physical host. In this case, the controller assigns a tunnel label to each physical host.
  • the controller When receiving a virtual network request for allocating resources to the tenant, the controller looks up the logical area to obtain a logical area that satisfies the virtual network request.
  • the virtual network request indicates that the mobile terminal of a tenant needs to access the cloud data center network, and when the cloud data center network receives the virtual network request, the tunnel label needs to be further allocated.
  • each tunnel resource is marked in the form of a tunnel label, and is allocated.
  • the available tunnel label can be assigned to the tenant.
  • the host corresponding to the available tunnel label is assigned to the tenant.
  • One available tunnel label in one logical area corresponds to one tenant. Is the unassigned tunnel label.
  • An implementation manner may be: determining whether the available tunnel label in a certain logical area meets the tenant requirement, and if so, directly selecting a logical area that satisfies the tenant requirement, and the tenant is in the logical area according to the usage of the tunnel label. Assign available tunnel labels. Otherwise, you need to assign a tunnel label to it across logical areas.
  • the process of assigning tunnel labels across regions is as follows:
  • the virtual network request is divided into multiple sub-requests according to the number of logical areas satisfying the virtual network request, wherein each sub-request is used to request to construct a part of the network of the virtual network, and the virtual network is a network constructed for the tenant according to the virtual network request;
  • a logical area is allocated for each sub-request; the tunnel label is allocated to the tenant according to the tunnel label range corresponding to the logical area allocated for each sub-request.
  • the method for judging whether the logical area meets the requirements of the tenant may be determined by determining the usage of the tunnel label in the logical area. When the number of available tunnel labels in the logical area is within the first quantity, it indicates that the tenant needs can be met. The first number is calculated by counting the number of tunnel labels requested by multiple tenants.
  • the tunnel label When the tunnel label is assigned to the tenant, it is first determined whether the tunnel label corresponding to the mobile terminal that is currently requesting the virtual network request has been assigned a tunnel label, and if so, the logical area to which the tunnel label is previously assigned is obtained, in the logical area. The tunnel tag is assigned to the tenant again, so that the same tenant is allocated in the same logical area, and the core exchange pressure is reduced.
  • One possible way to determine whether a tunnel label has been assigned is to obtain tenant information from the configuration information of the controller to determine.
  • the configuration information is used to record the information about the virtual network for the tenant in the cloud data center network, including but not limited to: the cloud data center network number of the tenant, the tenant number, the logical area number of the tenant, and the host assigned to the tenant in each logical area.
  • Information, the tunneling technology supported by each logical area and the corresponding tunnel label are as follows:
  • the networkId is the network ID of the cloud data center to which the tenant belongs, the tenantId is the tenant number, the zoneId is the logical area number of the tenant, and the log information is allocated to the tenant in the log list.
  • the tunnel technology supported by each logical area and the corresponding available are available. Tunnel label.
  • the virtual network constructed by the controller for the tenant is constructed according to the tenant's virtual network request, and the configuration information assigned to it is a dynamic information.
  • the controller empties the Assign configuration information to save memory.
  • the controller may divide the cloud data center network into multiple independent logical areas. Since each logical area is an independent area, when a tunnel label range is allocated for different logical areas, The same tunnel label range is allocated, so that different logical areas can allocate the same tunnel label to different switches in different logical areas when the tunnel label is assigned to the switch in the same logical area, which realizes the reuse of the tunnel label.
  • the tenant when the virtual network request is received, the tenant may be allocated according to the tunnel label range corresponding to the logical area of the tenant in the logical area of the tenant that satisfies the virtual network request. Tunnel label.
  • the controller may further configure a tunneling technology for each logical area, as shown in FIG. 4, and may further include step 105 on the basis of FIG. 1 : configuring each logical area according to the configuration rule. Tunnel technology.
  • each tunnel area can be assigned different tunnel technologies, so that each tunnel technology only corresponds to it.
  • the logical area is effective, reducing the cloud data center network because of the limitation of the number of physical hosts by a single tunneling technology.
  • the border switch (such as an aggregation switch or a top-of-rack switch) only needs to use this tunneling technology to isolate it from other logical areas, and the isolation efficiency is high, compared to adopting multiple tunnel technologies. Simple implementation and low performance pressure.
  • the same tunneling technology may be allocated to several logical areas, and the configuration manner of the configuration rules is not limited in the embodiment of the present invention.
  • FIG. 5 a message communication method according to an embodiment of the present invention is shown.
  • the message communication method is applied to a cloud data center network, and the cloud data center network is divided into multiple independent logical areas.
  • the division manner of the logical area and the tenant resource allocation may be referred to, but not limited to, the flowcharts shown in FIG. 1 to FIG. 4.
  • the message communication method provided by the embodiment of the present invention is executed by the controller, and the data stream communication in different logical areas is illustrated, which may include the following steps:
  • the data packet forwarding request is used to notify the switch to forward the data packet.
  • the source host (sender) and the destination host (receiver) of the data packet are located in different logical areas of the cloud data center network.
  • the controller Before sending the data packet, the controller first needs to forward the source carried by the request according to the data packet.
  • the information of the host and the destination host acquires resource labels assigned to the source host and the destination host.
  • the controller obtains a resource label of the source host according to the information of the source host.
  • the resource label of the source host includes a label of a logical area where the source host is located and a tunnel label of the source host.
  • the controller acquires the resource label of the destination host, and the purpose is
  • the resource label of the host includes the label of the logical area where the destination host is located and the tunnel label of the destination host.
  • the information of the source host and the destination host may be information for distinguishing different hosts.
  • the controller may obtain the source host according to the information used to distinguish different hosts. And the resource tag of the destination host.
  • the information of the source host and the destination host may be information of a logical area allocated by the controller, such as a logical area number, and the logical area number is also included in the tenant information, so the source host and the destination host can be obtained according to the logical area number.
  • Resource tag The specific process can be:
  • the controller obtains the resource label of the source host from the tenant information of the source host according to the information of the source host.
  • the corresponding controller can obtain the resource label of the destination host from the tenant information of the destination host according to the information of the destination host.
  • the tenant information may include, but is not limited to, a MAC address and an IP address of a host in the logical area (the host is determined according to the network architecture, may be a physical host and/or a virtual host), topology information in the logical area, tunnel technology supported by the logical area, and
  • the tunnel label is shown in the following code:
  • Zone is a logical area
  • zoneId and zoneName are logical zone numbers and logical zone names
  • TUNNELTYPE is the tunneling technology supported by the logical zone
  • Switch list is the information and topology information of the border switches in the logical zone
  • Server list is the host of the logical zone. Information, so the resource labels of the source and destination hosts can be determined from the above tenant information.
  • the above tenant information can be saved in the controller in the form of a mapping table.
  • the tenant information can also be stored in the controller-independent device in the form of a mapping table, and an information channel for transmitting the mapping table is established between the device and the controller, and the controller can search for the tenant information from the device through the information channel.
  • the controller sends the resource label of the source host and the resource label of the destination host to the switch, so that the switch converts the label of the logical area where the source host is located into a logical area label of the destination host, and the The tunnel label of the source host is converted into a tunnel label of the destination host, and the data label converted by the resource label is sent to the destination host.
  • the controller may send the resource label of the source host and the resource label of the destination host to the switch of the logical area where the source host is located, where the switch of the logical area where the source host is located.
  • the label of the logical area where the source host is located is converted into the logical area label of the destination host, and the tunnel label of the source host is converted into the tunnel label of the destination host.
  • the controller may send the resource label of the source host and the resource label of the destination host to the switch of the logical area where the destination host is located, and the switch of the logical area where the destination host is located Converting a label of a logical area where the source host is located to a logical area label of the destination host, and converting a tunnel label of the source host The tunnel label for the destination host.
  • the controller may send the resource label of the source host to the switch of the logical area where the source host is located, and send the resource label of the destination host to the switch of the logical area where the destination host is located, and the source host
  • the switch in the logical area removes the resource label of the source host in the data packet, and then sends the data packet of the resource label of the source host to the switch in the logical area where the destination host is located, where the destination host is located.
  • the switch of the logical area loads the resource label of the destination host in the data packet of the resource label of the source host.
  • the process may be: the controller sends a resource label and a label removal instruction of the source host to the switch in the logical area where the source host is located, so that the switch of the logical area where the source host is located receives the label removal instruction, and then the source host in the data packet Resource label removal.
  • the controller sends the resource label and the label loading instruction of the destination host to the switch in the logical area where the destination host is located, so that the switch in the logical area where the destination host is located receives the label loading instruction, and then removes the data packet of the source host from the resource label. Describe the resource tag of the destination host.
  • the controller may obtain the tunnel technology supported by the logical area where the source host is located according to the information of the source host, and obtain the tunnel technology supported by the logical area where the destination host is located according to the information of the destination host. The controller then sends the tunnel technology supported by the logical area where the source host is located and the tunnel technology supported by the logical area where the destination host is located, so that the switch converts the tunnel technology supported by the logical area where the source host is located. The tunneling technology supported by the logical area where the destination host is located.
  • the controller can obtain the tunnel technology supported by the logical area of the source host from the tenant information of the source host according to the information of the source host; the corresponding controller can obtain the tenant information of the destination host according to the information of the destination host.
  • the tunnel technology supported by the logical area where the destination host is located is obtained.
  • the controller can send the tunnel technology supported by the logical area where the source host is located and the tunnel technology supported by the logical area where the destination host is located to the switch in the logical area where the source host is located, and the tunnel technology is converted by the switch in the logical area where the source host is located. It is also possible to perform a tunnel technology conversion to a switch in a logical area where the destination host is located and by a switch in a logical area where the destination host is located.
  • the network architecture of the cloud data center network is as shown in FIG. 6, and the cloud data center network includes a logical area 1 and a logical area 2.
  • the virtual host in logical area 1 and logical area 2 is connected to an SDN switch supporting SDN (Software Defined Network) technology.
  • SDN switch can be directly connected to the controller. It can also be connected to the controller through the border switch, and the tenant information can be saved. To a device independent of the controller.
  • the source host in the logical area 1 sends a data packet to the destination host in the logical area 2, the source host supports the tunnel technology A and allocates the tunnel label X, and the destination host supports the tunnel technology B and allocates The tunnel label Y.
  • the message communication process is as follows:
  • the SDN switch that receives the logical area 1 of the data packet sends a data packet forwarding request to the controller, where the data message request carries the information of the active host and the information of the destination host.
  • the controller After receiving the data packet forwarding request, the controller obtains the tenant information of the source host and the destination host respectively recorded by the controller according to the logical area 1 of the source host and the logical area where the destination host is located according to the data packet forwarding request.
  • the resource label of the source host, the tunnel technology supported by the source host, the resource label of the destination host, and the tunnel technology supported by the destination host are obtained from the tenant information.
  • the controller may perform path calculation according to the SDN switch of the logical area 1 where the source host is located and the SDN switch position of the logical area 2 where the destination host is located, and calculate the path and logical area 1 of the SDN switch from the virtual machine to the logical area 1 respectively.
  • the controller can also send the tunnel label X operation of the source host to the SDN switch of the logical area 1 and the operation of loading the tunnel label Y of the destination host to the SDN switch of the logical area 2, and the SDN of the logical area 1
  • the switch removes the resource label of the source host in the data packet
  • the SDN switch in the logical area 2 loads the resource label of the destination host in the data packet of the resource label of the source host.
  • the controller may also send the technology conversion instruction to the SDN switch of the logical area 1 or the SDN switch of the logical area 2, so that the SDN switch converts the tunnel technology supported by the logical area where the source host is located into the destination host.
  • the tunneling technology supported by the logical area is not limited to the logical area.
  • the data packet is sent by the SDN switch of the logical area 1 to the SDN switch of the logical area 2, and then the SDN of the logical area 2 forwards the data message to the destination host.
  • the embodiment of the present invention further provides a resource allocation device 700, which is applied to a controller of a cloud data center network, and a schematic structural diagram thereof is shown in FIG. 7 and may include The dividing unit 71, the first allocating unit 72, the obtaining unit 73, and the second allocating unit 74. among them,
  • the dividing unit 71 is configured to divide the cloud data center network into a plurality of independent logical areas.
  • the logical area is an independent area obtained by dividing the cloud data center network, and the logical area may be divided according to the network architecture of the cloud data center network.
  • the dividing unit 71 includes a searching subunit for finding a switch connected to each physical host of the cloud data center network, and an assigning subunit for respectively connecting the switch and each physical host connected to the switch. Divided into the same logical area to realize the division of the cloud data center network based on the network architecture of the cloud data center network.
  • a feasible way to divide the physical hosts connected to the switch and the switch into the same logical area is as follows: the allocation subunits are divided according to the number of switches, and each switch and its connected physical hosts are divided into the same logical area. Inside, as shown in Figure 2.
  • the allocation subunit first obtains the total number of virtual hosts carried by the physical hosts connected to the switch, and determines how to divide according to the comparison result of the total number of virtual hosts and the preset number of hosts.
  • the feasible manner of determining the division according to the comparison between the total number of virtual hosts and the preset number of hosts may be as shown in FIG. 3, and the process may be: if the total number of virtual hosts is greater than the preset The number of hosts is divided into physical hosts connected to the switch according to the preset number of hosts. The divided physical hosts and the switches connected to the physical hosts are divided into the same logical area. If the total number of virtual hosts is not greater than the preset number of hosts, the switch and each physical host connected to the switch are divided into the same logical area.
  • switch A is connected to physical host B, physical host C, and physical host D
  • the number of virtual hosts hosted by physical host B is 1024
  • the number of virtual hosts hosted by physical host C is 512
  • the virtual host hosted by physical host D is virtual host.
  • the number is 2048
  • the default number of hosts is 2048. Therefore, when the allocation sub-unit divides the logical area, physical host B, physical host C, and switch A are divided into one logical area, and physical host D and switch A are divided into another. In the logical area. If the preset number of hosts is set to 4094, switch A, physical host B, physical host C, and physical host D can be divided into the same logical area.
  • the physical host is the host connected to each physical port of the switch.
  • the virtual host divides the physical host into multiple virtual hosts. Each virtual host can be connected to the virtual port of the switch, and each virtual host has an independent domain name. And full web server functionality. The default number of hosts is set according to different network architectures and network requirements.
  • the allocation sub-unit can also consider the tunnel technology supported by the switch when dividing the switch and each physical host connected to the switch into the same logical area.
  • the allocation sub-unit can divide each physical host that supports multiple switches of the same tunnel technology and multiple switches into the same logical area.
  • the allocation sub-unit can further combine the total number of virtual hosts carried by the physical host.
  • the specific dividing process may be: firstly, the sub-unit is allocated to obtain the tunnel technology supported by each switch, and then the same support is obtained. The total number of virtual hosts carried by each physical host connected to each switch of the tunnel technology.
  • the physical hosts connected to the switch are divided into physical addresses.
  • the physical hosts connected to the physical host and the switches connected to the physical host are divided into the same logical area.
  • the total number of virtual hosts carried by the divided physical host is not greater than the preset number of hosts. If the total number of virtual hosts is not greater than the preset number of hosts, the switch and each physical host connected to the switch are divided into the same logical area.
  • the first allocating unit 72 is configured to allocate a corresponding tunnel label range for each logical area.
  • the tunnel label range is used to indicate the number of tunnel labels in the logical area. In this number range, the tunnel label is allocated based on the port of the switch.
  • the switch is a soft switch
  • the physical port of the soft switch is virtualized. Multiple virtual ports, the physical host connected to the physical interface is divided into multiple virtual hosts, and each virtual host is connected to a virtual port. Based on the soft switch, the controller assigns a tunnel label to each virtual host, where soft
  • the switch is a software with switch capabilities.
  • the switch When the switch is a physical switch, the physical port of the physical switch is connected to the physical host. In this case, the controller assigns a tunnel label to each physical host.
  • the obtaining unit 73 is configured to: when receiving a virtual network request for allocating resources for the tenant, look up the logical area to obtain a logical area that satisfies the virtual network request.
  • the second allocating unit 74 is configured to allocate a tunnel label to the tenant according to the tunnel label range corresponding to the logical area that satisfies the virtual network request.
  • the virtual network request indicates that the mobile terminal of a tenant needs to access the cloud data center network, and when the cloud data center network receives the virtual network request, the tunnel label needs to be further allocated.
  • the obtaining unit 73 needs to first find out which logical areas can satisfy the virtual network request.
  • each tunnel resource is marked in the form of a tunnel label
  • the second allocation unit 74 may assign an available tunnel label to the tenant when the tunnel label is allocated, and when the available tunnel label is assigned to the tenant, the available tunnel The host corresponding to the label is assigned to the tenant.
  • One available tunnel label in one logical area corresponds to one tenant, and the available tunnel label is the unassigned tunnel label.
  • An implementation manner may be: the second allocation unit 73 determines whether the available tunnel label in a certain logical area meets the tenant requirement, and if so, directly selects a logical area that satisfies the tenant requirement, and uses the tunnel label in the logical area. In the case, the tenant is assigned an available tunnel label; otherwise, a tunnel label needs to be assigned to it across logical areas.
  • the structure of the second allocation unit 73 is as shown in FIG. 8 , and is used to implement the allocation of the tunnel label across the area, and may include: a dividing subunit 731, a region assigning subunit 732, and a label assigning subunit 733. . among them,
  • the sub-unit 731 is configured to divide the virtual network request into multiple sub-requests according to the number of logical areas satisfying the virtual network request, where each sub-request is used to request to construct a virtual network Part of the network, the virtual network is a network built for tenants based on virtual network requests.
  • the area allocation sub-unit 732 is configured to allocate a logical area for each sub-request within a logical area that satisfies the virtual network request.
  • the label allocation sub-unit 733 is configured to allocate a tunnel label to the tenant according to the tunnel label range corresponding to the logical area allocated for each sub-request.
  • the determining whether the logical area meets the tenant requirement may be determined by determining the usage of the tunnel label in the logical area, and when the number of available tunnel labels in the logical area is within the first quantity, It can meet the needs of tenants.
  • the first number is calculated by counting the number of tunnel labels requested by multiple tenants.
  • the tunnel label When the tunnel label is assigned to the tenant, it is first determined whether the tunnel label corresponding to the mobile terminal that is currently requesting the virtual network request has been assigned a tunnel label, and if so, the logical area to which the tunnel label is previously assigned is obtained, in the logical area.
  • the tunnel tag is assigned to the tenant again, so that the same tenant is allocated in the same logical area, and the core exchange pressure is reduced.
  • the resource allocation apparatus can divide the cloud data center network into multiple independent logical areas. Since each logical area is an independent area, the same can be assigned when the tunnel label range is allocated for different logical areas.
  • the tunnel label range so that different logical areas can assign the same tunnel label to different switches in different logical areas when the tunnel label is assigned to the switch in the same logical area, which realizes the reuse of the tunnel label.
  • the tenant when the virtual network request is received, the tenant may be allocated according to the tunnel label range corresponding to the logical area of the tenant in the logical area of the tenant that satisfies the virtual network request. Tunnel label.
  • the resource allocation apparatus 700 may further include: a configuration unit 75, as shown in FIG.
  • the configuration unit 75 is configured to configure a tunneling technology for each logical area according to a configuration rule.
  • the configuration rule is used to indicate the tunnel technology configured in each logical area. Therefore, when designing the configuration rule, different logical technologies can be assigned to each logical area. Each tunneling technology is only effective for its corresponding logical area, reducing the number of physical hosts in a cloud data center network due to a single tunneling technology.
  • the border switch (such as an aggregation switch or a top-of-rack switch) only needs to use this tunneling technology to isolate it from other logical areas, and the isolation efficiency is high, compared to adopting multiple tunnel technologies. Simple implementation and low performance pressure.
  • the configuration rule is designed, the same tunneling technology may be allocated to several logical areas, and the configuration manner of the configuration rules is not limited in the embodiment of the present invention.
  • the embodiment of the present invention further provides a message communication device 800, which is applied to a controller of a cloud data center network, where the cloud data center network is divided into multiple independent logical regions.
  • the resource allocation apparatus provided by the embodiment of the present invention may perform the logical area division, and allocate the tunnel label range to each of the divided logical areas.
  • a schematic diagram of a structure of a message communication apparatus 800 may include: a receiving unit 81, a first obtaining unit 82, a second obtaining unit 83, and a sending unit 84.
  • the receiving unit 81 is configured to receive a data packet forwarding request, where the data packet forwarding request carries information of the source host and the destination host.
  • the data packet forwarding request is used to notify the switch to forward the data packet. Since the source host (sender) and the destination host (receiver) of the data packet are located in different logical areas of the cloud data center network, the packet communication device needs to forward the source carried according to the data packet before transmitting the data packet. The information of the host and the destination host acquires resource labels assigned to the source host and the destination host.
  • the first obtaining unit 82 is configured to obtain a resource label of the source host according to the information of the source host, where the resource label of the source host includes a label of a logical area where the source host is located and a tunnel label of the source host.
  • the second obtaining unit 83 is configured to obtain a resource label of the destination host according to the information of the destination host, where the resource label of the destination host includes a label of the logical area where the destination host is located and a tunnel label of the destination host.
  • the information of the source host and the destination host may be information for distinguishing different hosts.
  • the first obtaining unit 82 and the second obtaining unit 83 may be used to distinguish The information of different hosts obtains the resource labels of the source host and the destination host.
  • the information of the source host and the destination host may be information of a logical area allocated by the controller, such as a logical area number, and the logical area number is also included in the tenant information, so the source host and the destination host can be obtained according to the logical area number.
  • Resource tag The acquisition process is as follows:
  • the first obtaining unit 82 may obtain the resource label of the source host from the tenant information of the source host according to the information of the source host.
  • the corresponding second obtaining unit 83 can obtain the resource label of the destination host from the tenant information of the destination host according to the information of the destination host.
  • the format of the tenant information can be referred to the related description in the method embodiment.
  • the above tenant information can be saved in the controller in the form of a mapping table.
  • the tenant information can also be stored in the controller-independent device in the form of a mapping table, and an information channel for transmitting the mapping table is established between the device and the controller, and the controller can search for the tenant information from the device through the information channel.
  • the sending unit 84 is configured to send the resource label of the source host and the resource label of the destination host to the switch, so that the switch converts the label of the logical area where the source host is located into the logical area label of the destination host and converts the tunnel label of the source host into a destination.
  • the tunnel label of the host sends the data packet converted by the resource label to the destination host.
  • the sending unit 84 may send the resource label of the source host and the resource label of the destination host to the switch of the logical area where the source host is located, and the switch of the logical area where the source host is located.
  • the label of the logical area where the source host is located is converted into the logical area label of the destination host, and the tunnel label of the source host is converted into the tunnel label of the destination host.
  • the sending unit 84 may send the resource label of the source host and the resource label of the destination host to the switch of the logical area where the destination host is located, and the switch of the logical area where the destination host is located The label of the logical area where the source host is located is converted into a logical area label of the destination host, and the tunnel label of the source host is The sign is converted to the tunnel label of the destination host.
  • the sending unit 84 may send the resource label of the source host to the switch of the logical area where the source host is located, and send the resource label of the destination host to the switch of the logical area where the destination host is located.
  • the switch in the logical area of the host removes the resource label of the source host in the data packet, and then sends the data packet of the resource label of the source host to the switch in the logical area where the destination host is located.
  • the switch in the logical area loads the resource label of the destination host in the data packet of the resource label of the source host.
  • the process may be: the sending unit 84 sends the resource label and the label removal instruction of the source host to the switch in the logical area where the source host is located, so that the switch in the logical area where the source host is located receives the label removal command, and then the source host in the data packet The resource tag is removed.
  • the sending unit 84 sends the resource label and the label loading instruction of the destination host to the switch in the logical area where the destination host is located, so that the switch in the logical area where the destination host is located receives the label loading instruction, and then removes the data packet of the source host from the resource label.
  • the resource tag of the destination host
  • the first obtaining unit 82 is further configured to acquire the tunnel technology supported by the logical area where the source host is located according to the information of the source host.
  • the second obtaining unit 83 is further configured to acquire a tunnel technology supported by the logical area where the destination host is located according to the information of the destination host.
  • the first obtaining unit 82 obtains the tunnel technology supported by the logical area where the source host is located from the tenant information of the source host according to the information of the source host; and the second obtaining unit 83 obtains the tenant information of the destination host according to the information of the destination host.
  • the tunnel technology supported by the logical area where the destination host is located is obtained.
  • the sending unit 84 is further configured to send the tunnel technology supported by the logical area where the source host is located and the tunnel technology supported by the logical area where the destination host is located, so that the switch converts the tunnel technology supported by the logical area where the source host is located into the logical area where the destination host is located. Supported tunneling technology.
  • the sending unit 84 can exchange the logical area where the source host is located.
  • the tunnel technology supported by the logical area where the source host is located and the tunnel technology supported by the logical area where the destination host is located are converted by the switch in the logical area where the source host is located, and can also be sent to the switch in the logical area where the destination host is located.
  • the tunnel technology is switched by the switch in the logical area where the destination host is located.
  • the embodiment of the present invention further provides the controller 900 as shown in FIG.
  • the input device 91, the output device 92, the processor 93, and the memory 94 (wherein the number of the processors 93 in the controller 900 may be one or more, and FIG. 11 takes a processor 93 as an example).
  • the input device 91, the output device 92, the processor 93, and the memory 94 may be connected by a bus or other means, wherein the connection through the bus is taken as an example in FIG.
  • the processor 93 is configured to execute the program stored in the memory 94, and may perform the following steps: dividing the cloud data center network into multiple independent logical areas, and assigning a corresponding tunnel label range to each logical area;
  • the controller searches for a logical area, obtains a logical area that satisfies the virtual network request, and allocates a tunnel label to the tenant according to the tunnel label range corresponding to the logical area that satisfies the virtual network request.
  • the embodiment of the present invention further provides the controller 100 as shown in FIG. 12, which may include:
  • the input device 11, the output device 12, the processor 13, and the memory 14 (wherein the number of the processors 13 in the controller 100 may be one or more, and FIG. 12 takes a processor 13 as an example).
  • the input device 11, the output device 12, the processor 13, and the memory 14 may be connected by a bus or other means, wherein the bus connection is taken as an example in FIG.
  • the processor 13 is configured to execute a program stored in the memory 14, and the program may perform the following steps: receiving a data packet forwarding request, where the data packet forwarding request carries information of the source host and the destination host; and acquiring according to information of the source host The resource label of the source host and the resource label of the destination host according to the information of the destination host, and send the resources of the source host to the switch.
  • the resource label of the label and the destination host so that the switch converts the label of the logical area where the source host is located into the logical area label of the destination host, and converts the tunnel label of the source host into the tunnel label of the destination host, and sends the data label after the resource label conversion.
  • the source-to-destination host where the resource label of the source host includes the label of the logical area where the source host is located and the tunnel label of the source host.
  • the resource label of the destination host includes the label of the logical area where the destination host is located and the tunnel label of the destination host.
  • the present invention can be implemented by means of software plus a necessary general hardware platform. Based on such understanding, the technical solution of the present invention, which is essential or contributes to the prior art, may be embodied in the form of a software product, which may be stored in a storage medium such as a ROM/RAM or a disk. , optical disk, etc., including a number of instructions for causing a computer device (which may be a personal computer, a virtual server, or a network device, etc.) to perform portions of various embodiments or embodiments of the present invention.
  • a computer device which may be a personal computer, a virtual server, or a network device, etc.

Landscapes

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

Abstract

本发明实施例提供一种资源分配方法、报文通信方法及装置,其中资源分配方法包括:控制器将云数据中心网络划分为多个独立的逻辑区域;为每个逻辑区域分配对应的隧道标签范围;当接收到为租户分配资源的虚拟网络请求时查找逻辑区域,获得满足虚拟网络请求的逻辑区域;依据满足虚拟网络请求的逻辑区域对应的隧道标签范围,为租户分配隧道标签。由于每个逻辑区域独立,为不同逻辑区域分配隧道标签范围时可以分配相同的隧道标签范围,这样可以为不同逻辑区域的不同交换机分配相同的隧道标签,实现隧道标签的重用。并且接收到虚拟网络请求时,可以从满足虚拟网络请求的租户的逻辑区域中为租户分配隧道标签。

Description

一种资源分配方法、报文通信方法及装置 技术领域
本发明涉及云计算技术领域,特别涉及一种资源分配方法、报文通信方法及装置。
背景技术
目前云计算技术是网络领域的研究热点,在大规模云计算中,允许租户自定义网络地址已经成为一个必然趋势。在运营模式为云数据中心网络的环境中,需要支持多个用户的服务租用及业务隔离,将其简称为多租户应用模式。在多租户应用模式下使用隧道技术完成多租户之间的报文转发。
其中隧道技术可以为:VLAN(Virtual Local Area Network,虚拟局域网)隔离技术、GRE(Generic Routing Encapsulation,通用路由封装)隧道技术。
VLAN隔离技术是传统云数据中心网络中分割业务和模块的常见技术,用于云计算虚拟网络隔离时,为每一个虚拟网络分配一个VLAN ID,因此同一个虚拟网络之间处于二层隔离状态。在这种情况下租户可以自行定义其虚拟网络的IP(Internet Protocol,网际协议)地址空间,而不需要担心和其他租户的IP地址空间发生冲突和重叠。VLAN隔离技术的主要问题在于VLAN ID本身的范围很小,只能支持4094个独立的VLAN存在。
GRE隧道技术则是通过在源主机发送的报文之外封装上虚拟网络标签,并转发到对应的目的虚拟服务器,在目的虚拟服务器上解除封装并识别对应的虚拟网络,以便将报文送往目的主机。GRE隧道技术的虚拟网络标签长度远远大于VLAN ID,因此从规模上不再受到4094数量的限 制。但是GRE隧道技术中不同的交换机的隧道标签在全网是唯一的,不同交换机之间不能重用。
发明内容
有鉴于此,本发明实施例提供了一种资源分配方法,用于将一个云数据中心网络划分为多个独立的逻辑区域,并在独立的逻辑区域中为虚拟网络请求分配可用的隧道标签。本发明实施例还提供一种报文通信方法,用于不同逻辑区域之间进行报文发送。
本发明实施例还提供一种资源分配装置及报文通信装置,用以保证上述方法在实际中的实现及应用。技术方案如下:
第一方面,本发明实施例提供一种资源分配方法,应用于云数据中心网络中,所述方法包括:
所述控制器将所述云数据中心网络划分为多个独立的逻辑区域;
为每个所述逻辑区域分配对应的隧道标签范围;
当接收到为租户分配资源的虚拟网络请求时,所述控制器查找所述逻辑区域,获得满足所述虚拟网络请求的逻辑区域;
依据所述满足所述虚拟网络请求的逻辑区域对应的隧道标签范围,为所述租户分配隧道标签。
在第一方面的第一种可行方式中,将所述云数据中心网络划分为多个独立的逻辑区域,包括:
查找所述云数据中心网络的各个物理主机所连接的交换机;
将所述交换机和与所述交换机连接的各个物理主机划分至同一个逻辑区域。
结合第一方面的第一种可行方式,在第一方面的第二种可行方式中,所述将所述交换机和与所述交换机连接的各个物理主机划分至同一个逻辑区域,包括:
获取所述交换机连接的各个物理主机所承载的虚拟主机的总数量;
如果所述虚拟主机的总数量大于预设主机数量,则依据预设主机数量,对所述交换机连接的各个物理主机进行划分,划分后的物理主机和 所述划分后的物理主机连接的交换机划分至同一个逻辑区域中,所述划分后的物理主机所承载的虚拟主机的总数量不大于所述预设主机数量;
或者如果所述虚拟主机的总数量不大于预设主机数量,则将所述交换机和与所述交换机连接的各个物理主机划分至同一个逻辑区域中。
结合第一方面的第一种可行方式,在第一方面的第三种可行方式中,所述将所述交换机和与所述交换机连接的各个物理主机划分至同一个逻辑区域,包括:获取支持同一隧道技术的多个交换机;
将支持同一隧道技术的所述多个交换机及所述多个交换机连接的各个物理主机划分至同一个逻辑区域。
结合第一方面或第一方面的第一种可行方式至第三种可行方式中任意一种可行方式,在第一方面的第四种可行方式中,所述方法还包括:按照配置规则,为每个所述逻辑区域配置隧道技术。
在第一方面的第五种可行方式中,当满足所述虚拟网络请求的逻辑区域为至少两个时,依据所述满足所述虚拟网络请求的逻辑区域对应的隧道标签范围,为所述租户分配隧道标签,包括:
按照满足所述虚拟网络请求的逻辑区域的数量,划分所述虚拟网络请求为多个子请求,其中每个子请求用于请求构建虚拟网络的部分网络,所述虚拟网络为根据所述虚拟网络请求为所述租户构建的网络;
在所述满足所述虚拟网络请求的逻辑区域内,为每个子请求分配逻辑区域;
依据所述为每个子请求分配的逻辑区域对应的隧道标签范围,为所述租户分配所述隧道标签。
第二方面,本发明实施例还提供一种报文通信方法,应用于云数据中心网络中,所述云数据中心网络被划分为多个独立的逻辑区域,所述方法包括:
控制器接收数据报文转发请求,所述数据报文转发请求携带源主机和目的主机的信息;
根据所述源主机的信息,所述控制器获取所述源主机的资源标签,所述源主机的资源标签包括所述源主机所在逻辑区域的标签及所述源主机 的隧道标签;
根据所述目的主机的信息,所述控制器获取所述目的主机的资源标签,所述目的主机的资源标签包括所述目的主机所在逻辑区域的标签及所述目的主机的隧道标签;
所述控制器向交换机发送所述源主机的资源标签和所述目的主机的资源标签,以使交换机将所述源主机所在逻辑区域的标签转换为所述目的主机的逻辑区域标签以及将所述源主机的隧道标签转换为所述目的主机的隧道标签,发送资源标签转换后的数据报文至所述目的主机。
在第二方面的第一种可行方式中,所述方法还包括:
根据所述源主机的信息,所述控制器获取所述源主机所在逻辑区域支持的隧道技术;
根据所述目的主机的信息,所述控制器获取所述目的主机所在逻辑区域支持的隧道技术;
所述控制器向所述交换机发送所述源主机所在逻辑区域支持的隧道技术和所述目的主机所在逻辑区域支持的隧道技术,以使所述交换机将所述源主机所在逻辑区域支持的隧道技术转换为所述目的主机所在逻辑区域支持的隧道技术。
结合第二方面或第二方面的第一种可行方式,在第二方面的第二种可行方式中,所述交换机为源主机所在逻辑区域的交换机或者目的主机所在逻辑区域的交换机。
结合第二方面或第二方面的第一种可行方式,在第二方面的第三种可行方式中,所述交换机包括源主机所在逻辑区域的交换机和目的主机所在逻辑区域的交换机,所述交换机将所述源主机所在逻辑区域的标签转换为所述目的主机的逻辑区域标签,以及将所述源主机的隧道标签转换为所述目的主机的隧道标签包括:
所述源主机所在逻辑区域的交换机去除数据报文中的所述源主机的资源标签,然后将所述去除源主机的资源标签的数据报文发送给所述目的主机所在逻辑区域的交换机,所述目的主机所在逻辑区域的交换机在所述去除源主机的资源标签的数据报文中加载所述目的主机的资源标 签。
结合第二方面的第一种可行方式,在第二方面的第四种可行方式中,所述控制器根据所述源主机的信息,从租户信息中获取所述源主机的资源标签和所述源主机所在逻辑区域支持的隧道技术;以及根据所述目的主机的信息,从所述租户信息中获取所述目的主机的资源标签和所述目的主机所在逻辑区域支持的隧道技术。
结合第二方面的第四种可行方式,在第二方面的第五种可行方式中,所述租户信息以映射表形式保存在所述控制器中;
或者所述租户信息以映射表形式保存在独立于所述控制器的设备中,且所述设备与所述控制器之间建立有用于传输所述映射表的信息通道。
结合第二方面或第二方面的第一种可行方式、第四种可行方式以及第五种可行方式中的任意一种可行方式,在第二方面的第六种可行方式中,所述方法应用上述资源分配方法将云数据中心网络划分为多个独立的逻辑区域,并对划分后的每个所述逻辑区域进行隧道标签范围的分配。
第三方面,本发明实施例提供一种资源分配装置,应用于云数据中心网络的控制器中,所述装置包括:
划分单元,用于将所述云数据中心网络划分为多个独立的逻辑区域;
第一分配单元,用于为每个所述逻辑区域分配对应的隧道标签范围;
获取单元,用于当接收到为租户分配资源的虚拟网络请求时,查找所述逻辑区域,获得满足所述虚拟网络请求的逻辑区域;
第二分配单元,用于依据所述满足所述虚拟网络请求的逻辑区域对应的隧道标签范围,为所述租户分配隧道标签。
在第三方面的第一种可行方式中,所述划分单元包括:
查找子单元,用于查找所述云数据中心网络的各个物理主机所连接的交换机;
分配子单元,用于将所述交换机和与所述交换机连接的各个物理主机划分至同一个逻辑区域。
结合第三方面的第一种可行方式,在第三方面的第二种可行方式中,所述分配子单元用于将所述交换机和与所述交换机连接的各个物理主机 划分至同一个逻辑区域具体为:
所述分配子单元,用于获取所述交换机连接的各个物理主机所承载的虚拟主机的总数量,在所述虚拟主机的总数量大于预设主机数量的情况下,依据预设主机数量对所述交换机连接的各个物理主机进行划分,划分后的物理主机和所述划分后的物理主机连接的交换机划分至同一个逻辑区域中,所述划分后的物理主机所承载的虚拟主机的总数量不大于所述预设主机数量;或者用于在所述虚拟主机的总数量不大于预设主机数量的情况下,将所述交换机和与所述交换机连接的各个物理主机划分至同一个逻辑区域中。
结合第三方面的第一种可行方式,在第三方面的第三种可行方式中,所述分配子单元用于将所述交换机和与所述交换机连接的各个物理主机划分至同一个逻辑区域,包括:
所述分配子单元用于获取支持同一隧道技术的多个交换机,将支持同一隧道技术的所述多个交换机及所述多个交换机连接的各个物理主机划分至同一个逻辑区域。
结合第三方面或第三方面的第一种可行方式至第三种可行方式中任意一种可行方式,在第三方面的第四种可行方式中,所述装置还包括:配置单元,用于按照配置规则,为每个所述逻辑区域配置隧道技术。
在第三方面的第五种可行方式中,所述第二分配单元包括:
划分子单元,用于按照满足所述虚拟网络请求的逻辑区域的数量,划分所述虚拟网络请求为多个子请求,其中每个子请求用于请求构建虚拟网络的部分网络,所述虚拟网络为根据所述虚拟网络请求为所述租户构建的网络;
区域分配子单元,用于在所述满足所述虚拟网络请求的逻辑区域内,为每个子请求分配逻辑区域;
标签分配子单元,用于依据所述为每个子请求分配的逻辑区域对应的隧道标签范围,为所述租户分配所述隧道标签。
第四方面,本发明实施例还提供一种报文通信装置,应用于云数据中心网络的控制器中,所述云数据中心网络被划分为多个独立的逻辑区域, 所述装置包括:
接收单元,用于接收数据报文转发请求,所述数据报文转发请求携带源主机和目的主机的信息;
第一获取单元,用于根据所述源主机的信息,获取所述源主机的资源标签,所述源主机的资源标签包括所述源主机所在逻辑区域的标签及所述源主机的隧道标签;
第二获取单元,用于根据所述目的主机的信息,获取所述目的主机的资源标签,所述目的主机的资源标签包括所述目的主机所在逻辑区域的标签及所述目的主机的隧道标签;
发送单元,用于向交换机发送所述源主机的资源标签和所述目的主机的资源标签,以使交换机将所述源主机所在逻辑区域的标签转换为所述目的主机的逻辑区域标签以及将所述源主机的隧道标签转换为所述目的主机的隧道标签,发送资源标签转换后的数据报文至所述目的主机。
在第四方面的第一种可行方式中,所述第一获取单元,还用于根据所述源主机的信息,获取所述源主机所在逻辑区域支持的隧道技术;
所述第二获取单元,还用于根据所述目的主机的信息,获取所述目的主机所在逻辑区域支持的隧道技术;
所述发送单元,还用于向所述交换机发送所述源主机所在逻辑区域支持的隧道技术和所述目的主机所在逻辑区域支持的隧道技术,以使所述交换机将所述源主机所在逻辑区域支持的隧道技术转换为所述目的主机所在逻辑区域支持的隧道技术。
结合第四方面的第一种可行方式,在第四方面的第二种可行方式中,所述第一获取单元,用于根据所述源主机的信息,从租户信息中获取所述源主机的资源标签和所述源主机所在逻辑区域支持的隧道技术;
所述第二获取单元,用于根据所述目的主机的信息,从所述租户信息中获取所述目的主机的资源标签和所述目的主机所在逻辑区域支持的隧道技术。
结合第四方面的第二种可行方式,在第四方面的第三种可行方式中,所述租户信息以映射表形式保存在所述控制器中;或者
所述租户信息以映射表形式保存在独立于所述控制器的设备中,且所述设备与所述控制器之间建立有用于传输所述映射表的信息通道。
结合第四方面或第四方面的第一种可行方式至第三种可行方式中的任意一种可行方式,在第四方面的第四种可行方式中,所述装置应用上述资源分配装置将云数据中心网络划分为多个独立的逻辑区域,并对划分后的每个所述逻辑区域进行隧道标签范围的分配。
与现有技术相比,本发明包括以下优点:
应用本发明实施例提供的资源分配方法,控制器可以将云数据中心网络划分为多个独立的逻辑区域,由于每个逻辑区域是一个独立的区域,在为不同逻辑区域分配隧道标签范围时可以分配相同的隧道标签范围,这样不同逻辑区域为其内的交换机分配隧道标签时可以为不同逻辑区域的不同交换机分配相同的隧道标签,实现了隧道标签的重用。
并且基于上述划分后的云数据中心网络,当接收到虚拟网络请求时,可以从满足虚拟网络请求的租户的逻辑区域中,依据所述租户的逻辑区域对应的隧道标签范围,为所述租户分配隧道标签。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的资源分配方法的一种流程图;
图2是本发明实施例提供的网络架构的一种示意图;
图3是本发明实施例提供的网络架构的另一种示意图;
图4是本发明实施例提供的资源分配方法的另一种流程图;
图5是本发明实施例提供的报文通信方法的一种流程图;
图6是本发明实施例提供的一种网络架构下报文通信方法的示意图;
图7是本发明实施例提供的资源分配装置的一种结构示意图;
图8是本发明实施例提供的资源分配装置中第二分配单元的结构示意图;
图9是本发明实施例提供的资源分配装置的另一种结构示意图;
图10是本发明实施例提供的报文通信装置的一种结构示意图;
图11是本发明实施例提供的一种控制器的结构示意图;
图12是本发明实施例提供的另一种控制器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,其示出了本发明实施例提供的一种资源分配方法,该资源分配方法应用于云数据中心网络中,由控制器执行本发明实施例提供的资源配置方法,其中控制器可以是位于云数据中心网络中的控制器,也可以是位于云数据中心网络之外用于监控所述云数据中心网络的控制器,本发明实施例提供的资源分配方法可以包括以下步骤:
101:控制器将云数据中心网络划分为多个独立的逻辑区域。
在本发明实施例中,逻辑区域是将云数据中心网络划分后得到的一个独立区域,对云数据中心网络的划分可以依据云数据中心网络的网络架构。例如控制器可以查找云数据中心网络中各个物理主机所连接的交换机,然后将交换机和交换机连接的各个物理主机划分至同一个逻辑区域中。
在将交换机和交换机连接的各个物理主机划分至同一个逻辑区域的一种可行方式是:按照交换机的个数进行划分,每个交换机和其连接的各个物理主机划分至同一个逻辑区域内。
另一种可行方式是:首先获取交换机连接的各个物理主机所承载的虚拟主机的总数量,在根据虚拟主机的总数量与预设主机数量的比较结果来确定如何划分。
在本发明实施例中,根据虚拟主机的总数量与预设主机数量的比较结果确定划分的可行方式是:如果虚拟主机的总数量大于预设主机数量, 则依据预设主机数量对交换机连接的各个物理主机进行划分,划分后的物理主机和划分后的物理主机连接的交换机换分至同一个逻辑区域中。如果虚拟主机的总数量不大于预设主机数量,则将交换机和与所述交换机连接的各个物理主机划分至同一个逻辑区域中。
如交换机A连接物理主机B、物理主机C和物理主机D,物理主机B承载的虚拟主机的数量为1024个,物理主机C承载的虚拟主机的数量为512个,物理主机D承载的虚拟主机的数量为2048个,预设主机数量为2048,因此控制器在划分逻辑区域时,将物理主机B、物理主机C和交换机A划分至一个逻辑区域,而物理主机D和交换机A划分至另一个逻辑区域中。如果预设主机数量设为4094,则可以将交换机A、物理主机B、物理主机C和物理主机D划分至同一个逻辑区域中。
其中物理主机是交换机的每个物理端口连接的主机,虚拟主机是将物理主机划分成多个虚拟的主机,每一个虚拟主机可以与交换机的虚拟端口连接,并且每一个虚拟主机都具有独立的域名和完整的网络服务器功能。预设主机数量则依据不同网络架构和网络需求进行设置。
下面以具体的网络架构为例进行说明,如图2所示云数据中心网络,包括控制器1、多个汇聚交换机2、多个架顶交换机3和多个物理主机4,其中控制器1连接多个汇聚交换机2,且每个汇聚交换机2通过架顶交换机3连接多个物理主机4。
在图2所示云数据中心网络中,物理主机4未被划分成多个虚拟主机,所以控制器在进行逻辑区域划分时,可以将每个架顶交换机3连接的多个物理主机4划分至一个逻辑区域中,如图2所示的虚线框中,虚线框所示区域为一个独立的逻辑区域。
在实际网络架构中,物理主机4还可以被虚拟化,如图3所示,每个物理主机4承载多个虚拟主机5(图中每个小方格表示一个虚拟主机,即物理主机被划分出多个虚拟主机5)。基于图3所示的网络架构在进行逻辑区域划分时,可以首先获取架顶交换机3连接的各个物理主机4所承载的虚拟主机5的总数量,然后再将虚拟主机5的总数量与预设主机数量进行对比,在图3所示网络架构中,预设主机数量为1024。
在经过对比后发现,每个架顶交换机3连接的各个物理主机4所承载的虚拟主机5的总数量都小于预设主机数量(例如4094),所以控制器1以每个架顶交换机3作为逻辑区域划分基准,将架顶交换机3、与架顶交换机3连接的物理主机4以及物理主机4承载的虚拟主机5划分至同一个逻辑区域中,如图3所示虚线框。并且从图3可以看出每个逻辑区域内虚拟主机的总数量不大于预设主机数量。
在将交换机和与所述交换机连接的各个物理主机划分至同一个逻辑区域时,还可以考虑交换机所支持的隧道技术。控制器可以将支持同一隧道技术的多个交换机和多个交换机连接的各个物理主机划分至同一个逻辑区域中。
如图3中如果两个架顶交换机3支持同一隧道技术,则控制器1可以将两个架顶交换机3以及这两个架顶交换机3连接的多个物理主机4划分至同一个逻辑区域内,则图3所示的网络架构具有一个逻辑区域,该逻辑区域包括汇聚交换机2、与汇聚交换机2连接的架顶交换机3、与架顶交换机3连接的多个物理主机4以及各个物理主机4所承载的虚拟主机5。
当然在依据隧道技术划分逻辑区域时,还可以进一步结合物理主机所承载的虚拟主机的总数量,具体划分过程可以是:首先控制器获取各个交换机支持的隧道技术,然后获取支持同一隧道技术的各个交换机连接的各个物理主机所承载的虚拟主机的总数量。
如果虚拟主机的总数量大于预设主机数量,则依据预设主机数量,对交换机连接的各个物理主机进行划分,划分后的物理主机和划分后的物理主机连接的交换机划分至同一个逻辑区域中,划分后的物理主机所承载的虚拟主机的总数量不大于预设主机数量。如果虚拟主机的总数量不大于预设主机数量,则将交换机和与交换机连接的各个物理主机划分至同一个逻辑区域中。
从上述列举的划分方式可以看出,本发明实施例在对逻辑区域进行划分时,其主要依据为:将云数据中心网络中的边界交换机,如汇聚交换机和架顶交换机作为逻辑区域的边界,所划分的逻辑区域中包括作为边 界的边界交换机、与其连接的物理主机和/或物理主机所承载的虚拟主机。
其中,边界交换机的确定与逻辑区域内物理主机所承载的虚拟主机的数量相关,当架顶交换机作为边界交换机时,若其连接的物理主机所承载的虚拟主机的总数量不大于预设主机数量,则将边界交换机、边界交换机连接的物理主机以及物理主机所承载的虚拟主机划分至同一个逻辑区域内。
另一方面,边界交换机的确定也可以与逻辑区域支持的隧道技术相关,如支持同一个隧道技术的架顶交换机分为一个逻辑区域,当然还可以在支持同一隧道技术基础上限定逻辑区域内虚拟主机的总数量。
102:为每个逻辑区域分配对应的隧道标签范围。
其中隧道标签范围用于表示逻辑区域内隧道标签的数量范围,在该数量范围内,以交换机的端口为设置依据进行隧道标签分配。其中一种可行方式是:交换机为软交换机的情况下,软交换机的物理端口被虚拟化成多个虚拟端口,物理接口所连接的物理主机被划分出多个虚拟主机,每个虚拟主机连接一个虚拟端口,基于这种软交换机,控制器将隧道标签分配给每个虚拟主机,其中软交换机是一个具有交换机功能的软件。
交换机为物理交换机的情况下,物理交换机的物理端口连接物理主机,此种情况下控制器将隧道标签分配给每个物理主机。
103:当接收到用于为租户分配资源的虚拟网络请求时,控制器查找逻辑区域,获取满足虚拟网络请求的逻辑区域。
104:依据满足虚拟网络请求的逻辑区域对应的隧道标签范围,为租户分配隧道标签。
在本发明实施例中,虚拟网络请求表明某一租户的移动终端需要接入到云数据中心网络中,当云数据中心网络接收到该虚拟网络请求时,需要进一步为其分配隧道标签。
可以理解的是:由于云数据中心网络中各个逻辑区域的隧道标签范围有限,控制器接收到虚拟网络请求后,需要首先查找哪些逻辑区域可以满足虚拟网络请求。
在本发明实施例中,每个隧道资源以隧道标签形式进行标记,在分配 隧道标签时可以将可用隧道标签分配给租户,当将可用隧道标签分配给租户时,该可用隧道标签对应的主机即分配给租户,一个逻辑区域内的一个可用隧道标签对应一个租户,可用隧道标签为未被分配的隧道标签。
一种实现方式可以是:判断某个逻辑区域内的可用隧道标签是否满足租户需求,如果是,则直接选取一个满足租户需求的逻辑区域,在该逻辑区域内依据隧道标签的使用情况,为租户分配可用的隧道标签。否则需要跨逻辑区域为其分配隧道标签。跨区域分配隧道标签的过程如下:
首先,按照满足虚拟网络请求的逻辑区域的数量,划分虚拟网络请求为多个子请求,其中每个子请求用于请求构建虚拟网络的部分网络,虚拟网络为根据虚拟网络请求为租户构建的网络;
其次在满足所述虚拟网络请求的逻辑区域内,为每个子请求分配逻辑区域;依据为每个子请求分配的逻辑区域对应的隧道标签范围,为租户分配所述隧道标签。
其中逻辑区域是否满足租户需求的判断方式可以是:通过对逻辑区域内隧道标签的使用情况判断来确定,当逻辑区域内可用隧道标签的数量在第一数量内,则表示其可以满足租户需求。其中第一数量通过对多个租户请求的隧道标签个数计算得到。
并且,在为租户分配隧道标签时,首先判断是否已为当前发送虚拟网络请求的移动终端对应的租户分配过隧道标签,如果是,则获取之前为其分配隧道标签的逻辑区域,在该逻辑区域内为租户再次分配隧道标签,实现将同一个租户分配在相同的逻辑区域内,减少核心交换压力。
判断是否分配过隧道标签的一种可行方式是:从控制器的配置信息中获取租户信息来确定。其中配置信息用于记录云数据中心网络下为租户构建虚拟网络的信息,可以包括但不仅限于:租户所属云数据中心网络编号、租户编号、租户所属逻辑区域编号、各个逻辑区域为租户分配的主机信息,各个逻辑区域支持的隧道技术及对应的隧道标签,如下所示:
Figure PCTCN2015076568-appb-000001
Figure PCTCN2015076568-appb-000002
其中,networkId为租户所属云数据中心网络编号、tenantId为租户编号、zoneId为租户所属逻辑区域编号、port list下记录各个逻辑区域为租户分配的主机信息,各个逻辑区域支持的隧道技术及对应的可用隧道标签。
需要说明的一点是:控制器为租户构建的虚拟网络是依据租户的虚拟网络请求构建的,为其分配的配置信息是一个动态信息,当租户不再请求构建虚拟网络时,控制器清空为其分配的配置信息,以节省内存。
应用本发明实施例提供的资源分配方法,控制器可以将云数据中心网络划分为多个独立的逻辑区域,由于每个逻辑区域是一个独立的区域,在为不同逻辑区域分配隧道标签范围时可以分配相同的隧道标签范围,这样不同逻辑区域为其内的交换机分配隧道标签时可以为不同逻辑区域的不同交换机分配相同的隧道标签,实现了隧道标签的重用。
并且基于上述划分后的云数据中心网络,当接收到虚拟网络请求时,可以从满足虚拟网络请求的租户的逻辑区域中,依据所述租户的逻辑区域对应的隧道标签范围,为所述租户分配隧道标签。
此外,在上述方法实施例中,控制器还可以进一步为每个逻辑区域配置隧道技术,如图4所示,在图1基础上还可以包括步骤105:按照配置规则,为每个逻辑区域配置隧道技术。
可以理解的是:配置规则用于指示每个逻辑区域所配置的隧道技术,因此在设计配置规则时,可以为每个逻辑区域分配不同的隧道技术,使每一种隧道技术仅对其对应的逻辑区域有效,降低云数据中心网络因为某个单一的隧道技术对物理主机数量的限制。
并且当每个逻辑区域使用单一的隧道技术,边界交换机(如汇聚交换机或架顶交换机)仅需要使用这一隧道技术将其与其他逻辑区域进行隔离,隔离效率高,相对于采用多种隧道技术来说实现简单,性能压力低。
当然在设计配置规则时,还可以为几个逻辑区域分配同一个隧道技术,在本发明实施例中并不限定配置规则的配置方式。
请参阅图5,其示出了本发明实施例提供的一种报文通信方法,该报文通信方法应用于云数据中心网络中,且云数据中心网络被划分为多个独立的逻辑区域,其中逻辑区域的划分方式和租户资源分配可以参阅但不限于图1至图4所示流程图。
本发明实施例提供的报文通信方法由控制器执行,阐述在不同逻辑区域内的数据流通信,可以包括以下步骤:
501:接收数据报文转发请求。
其中,数据报文转发请求用于告知交换机进行数据报文转发。由于数据报文的源主机(发送方)和目的主机(接收方)位于云数据中心网络的不同逻辑区域内,所以在发送数据报文之前,首先控制器需要依据数据报文转发请求携带的源主机和目的主机的信息获取为源主机和目的主机分配的资源标签。
502:根据源主机的信息,控制器获取源主机的资源标签,源主机的资源标签包括源主机所在逻辑区域的标签及源主机的隧道标签。
503:根据目的主机的信息,控制器获取目的主机的资源标签,目的 主机的资源标签包括目的主机所在逻辑区域的标签及目的主机的隧道标签。
在本发明实施例中,源主机和目的主机的信息可以是用于区分不同主机的信息,在控制器接收到数据报文转发请求后,控制器可以依据用于区分不同主机的信息获取源主机和目的主机的资源标签。
例如源主机和目的主机的信息可以是控制器为其分配的逻辑区域的信息,如逻辑区域编号,而租户信息中也包括该逻辑区域编号,因此根据逻辑区域编号可以获取到源主机和目的主机的资源标签。具体过程可以是:
控制器根据源主机的信息,从源主机的租户信息中获取源主机的资源标签。相应的控制器可以依据目的主机的信息,从目的主机的租户信息中获取目的主机的资源标签。
租户信息可以包括但不限于:逻辑区域内主机(主机依据网络架构确定,可以是物理主机和/或虚拟主机)的MAC地址和IP地址、逻辑区域内拓扑信息、逻辑区域所支持的隧道技术以及隧道标签,如下代码所示:
Figure PCTCN2015076568-appb-000003
Figure PCTCN2015076568-appb-000004
其中,Zone为逻辑区域,zoneId和zoneName为逻辑区域编号和逻辑区域名称,TUNNELTYPE为逻辑区域支持的隧道技术,Switch list为逻辑区域内边界交换机的信息和拓扑信息,Server list为逻辑区域内主机的信息,因此从上述租户信息中可以确定源主机和目的主机的资源标签。
上述租户信息可以以映射表形式保存在控制器中。当然租户信息还可以以映射表形式保存在独立于控制器的设备中,且设备与控制器之间建立有用于传输映射表的信息通道,控制器可以通过该信息通道从设备中查找租户信息。
504:控制器向交换机发送所述源主机的资源标签和所述目的主机的资源标签,以使交换机将所述源主机所在逻辑区域的标签转换为所述目的主机的逻辑区域标签以及将所述源主机的隧道标签转换为所述目的主机的隧道标签,发送资源标签转换后的数据报文至所述目的主机。
在本发明实施例中的一种可行方式中,控制器可以向源主机所在逻辑区域的交换机发送源主机的资源标签和所述目的主机的资源标签,由源主机所在逻辑区域的交换机将所述源主机所在逻辑区域的标签转换为所述目的主机的逻辑区域标签,以及将所述源主机的隧道标签转换为所述目的主机的隧道标签。
在本发明实施例中的另一种可行方式中,控制器可以向目的主机所在逻辑区域的交换机发送源主机的资源标签和所述目的主机的资源标签,由目的主机所在逻辑区域的交换机将所述源主机所在逻辑区域的标签转换为所述目的主机的逻辑区域标签,以及将所述源主机的隧道标签转换 为所述目的主机的隧道标签。
在本发明实施例中的再一种可行方式中,控制器可以向源的主机所在逻辑区域的交换机发送源主机的资源标签,向目的主机所在逻辑区域的交换机发送目的主机的资源标签,源主机所在逻辑区域的交换机去除数据报文中的所述源主机的资源标签,然后将所述去除源主机的资源标签的数据报文发送给所述目的主机所在逻辑区域的交换机,所述目的主机所在逻辑区域的交换机在所述去除源主机的资源标签的数据报文中加载所述目的主机的资源标签。
其过程可以是:控制器向源主机所在逻辑区域的交换机发送源主机的资源标签和标签去除指令,这样源主机所在逻辑区域的交换机接收到标签去除指令后,将数据报文中的源主机的资源标签去除。
控制器向目的主机所在逻辑区域的交换机发送目的主机的资源标签和标签加载指令,这样目的主机所在逻辑区域的交换机接收到标签加载指令后,将去除源主机的资源标签的数据报文中加载所述目的主机的资源标签。
此外,在本发明实施例中,控制器还可以根据源主机的信息获取源主机所在逻辑区域支持的隧道技术,以及根据目的主机的信息获取目的主机所在逻辑区域支持的隧道技术。然后控制器向所述交换机发送所述源主机所在逻辑区域支持的隧道技术和所述目的主机所在逻辑区域支持的隧道技术,以使所述交换机将所述源主机所在逻辑区域支持的隧道技术转换为所述目的主机所在逻辑区域支持的隧道技术。
需要说明的一点是:控制器可以根据源主机的信息,从源主机的租户信息中获取源主机所在逻辑区域支持的隧道技术;相应的控制器可以根据目的主机的信息,从目的主机的租户信息中获取目的主机所在逻辑区域支持的隧道技术。然后控制器可以向源主机所在逻辑区域的交换机发送源主机所在逻辑区域支持的隧道技术和所述目的主机所在逻辑区域支持的隧道技术,由源主机所在逻辑区域的交换机进行隧道技术的转换,当然也可以向目的主机所在逻辑区域的交换机发送并由目的主机所在逻辑区域的交换机执行隧道技术的转换。
下面将以一具体的云数据中心网络为例对本发明实施例提供的报文通信方法进行说明,云数据中心网络的网络架构如图6所示,云数据中心网络包括逻辑区域一和逻辑区域二,逻辑区域一和逻辑区域二中的虚拟主机连接支持SDN(Software Defined Network,软件定义网络)技术的SDN交换机,SDN交换机可直接连接控制器,其也可以通过边界交换机连接控制器,租户信息保存至一独立于控制器的设备中。
在图6所示的架构中,逻辑区域一中的源主机向逻辑区域二中的目的主机发送数据报文,源主机支持隧道技术A并分配了隧道标签X,目的主机支持隧道技术B并分配了隧道标签Y。其报文通信过程如下:
首先,接收到该数据报文的逻辑区域一的SDN交换机将数据报文转发请求发送至控制器,数据报文请求中携带有源主机的信息和目的主机的信息。
其次,控制器接收到数据报文转发请求后,根据数据报文转发请求所属的源主机所在逻辑区域一和目的主机所在逻辑区域二,得到控制器分别记录的源主机和目的主机的租户信息,从租户信息中分别获取源主机的资源标签、源主机支持的隧道技术、目的主机的资源标签和目的主机支持的隧道技术。
此外,控制器还可以根据源主机所在逻辑区域一的SDN交换机和目的主机所在逻辑区域二的SDN交换机位置进行路径计算,分别计算由虚拟机到逻辑区域一的SDN交换机的路径、逻辑区域一的SDN交换机到逻辑区域二的SDN交换机之间的路径以及逻辑区域二的SDN交换机至目的主机的路径。
然后,控制器还可以给逻辑区域一的SDN交换机下发去除源主机的隧道标签X操作,以及给逻辑区域二的SDN交换机下发加载目的主机的隧道标签Y的操作,由逻辑区域一的SDN交换机去除数据报文中的源主机的资源标签,由逻辑区域二的SDN交换机在去除源主机的资源标签的数据报文中加载目的主机的资源标签。当然控制器还可以发送技术转换指令至逻辑区域一的SDN交换机或逻辑区域二的SDN交换机中,以由SDN交换机将源主机所在逻辑区域支持的隧道技术转换为所述目的主机 所在逻辑区域支持的隧道技术。
最后,数据报文由逻辑区域一的SDN交换机发送逻辑区域二的SDN交换机,再由逻辑区域二的SDN将数据报文转发至目的主机。
与上述应用于云数据中心网络的资源分配方法相对应,本发明实施例还提供一种资源分配装置700,应用于云数据中心网络的控制器中,其结构示意图如图7所示,可以包括:划分单元71、第一分配单元72、获取单元73和第二分配单元74。其中,
划分单元71,用于将云数据中心网络划分为多个独立的逻辑区域。
在本发明实施例中,逻辑区域是将云数据中心网络划分后得到的一个独立区域,其可以依据云数据中心网络的网络架构进行逻辑区域的划分。
例如划分单元71包括查找子单元和分配子单元,其中查找子单元,用于查找云数据中心网络的各个物理主机所连接的交换机,分配子单元则用于将交换机和与交换机连接的各个物理主机划分至同一个逻辑区域,实现以云数据中心网络的网络架构为基础,对云数据中心网络的划分。
在将交换机和交换机连接的各个物理主机划分至同一个逻辑区域的一种可行方式是:分配子单元按照交换机的个数进行划分,每个交换机和其连接的各个物理主机划分至同一个逻辑区域内,如图2所示。
另一种可行方式是:分配子单元首先获取交换机连接的各个物理主机所承载的虚拟主机的总数量,在根据虚拟主机的总数量与预设主机数量的比较结果来确定如何划分。
在本发明实施例中,分配子单元根据虚拟主机的总数量与预设主机数量的比较结果确定划分的可行方式可以参见图3所示,其过程可以是:如果虚拟主机的总数量大于预设主机数量,则依据预设主机数量对交换机连接的各个物理主机进行划分,划分后的物理主机和划分后的物理主机连接的交换机换分至同一个逻辑区域中。如果虚拟主机的总数量不大于预设主机数量,则将交换机和与所述交换机连接的各个物理主机划分至同一个逻辑区域中。
如交换机A连接物理主机B、物理主机C和物理主机D,物理主机B承载的虚拟主机的数量为1024个,物理主机C承载的虚拟主机的数量为512个,物理主机D承载的虚拟主机的数量为2048个,预设主机数量为2048,因此分配子单元在划分逻辑区域时,将物理主机B、物理主机C和交换机A划分至一个逻辑区域,而物理主机D和交换机A划分至另一个逻辑区域中。如果预设主机数量设为4094,则可以将交换机A、物理主机B、物理主机C和物理主机D划分至同一个逻辑区域中。
其中物理主机是交换机的每个物理端口连接的主机,虚拟主机是将物理主机划分成多个虚拟的主机,每一个虚拟主机可以与交换机的虚拟端口连接,并且每一个虚拟主机都具有独立的域名和完整的网络服务器功能。预设主机数量则依据不同网络架构和网络需求进行设置。
分配子单元在将交换机和与所述交换机连接的各个物理主机划分至同一个逻辑区域时,还可以考虑交换机所支持的隧道技术。分配子单元可以将支持同一隧道技术的多个交换机和多个交换机连接的各个物理主机划分至同一个逻辑区域中。
当然在依据隧道技术划分逻辑区域时,分配子单元还可以进一步结合物理主机所承载的虚拟主机的总数量,具体划分过程可以是:首先分配子单元获取各个交换机支持的隧道技术,然后获取支持同一隧道技术的各个交换机连接的各个物理主机所承载的虚拟主机的总数量。
如果虚拟主机的总数量大于预设主机数量,则依据预设主机数量,对交换机连接的各个物理主机进行划分,划分后的物理主机和划分后的物理主机连接的交换机划分至同一个逻辑区域中,划分后的物理主机所承载的虚拟主机的总数量不大于预设主机数量。如果虚拟主机的总数量不大于预设主机数量,则将交换机和与交换机连接的各个物理主机划分至同一个逻辑区域中。
第一分配单元72,用于为每个逻辑区域分配对应的隧道标签范围。
其中隧道标签范围用于表示逻辑区域内隧道标签的数量范围,在该数量范围内,以交换机的端口为设置依据进行隧道标签分配。其中一种可行方式是:交换机为软交换机的情况下,软交换机的物理端口被虚拟化 成多个虚拟端口,物理接口所连接的物理主机被划分出多个虚拟主机,每个虚拟主机连接一个虚拟端口,基于这种软交换机,控制器将隧道标签分配给每个虚拟主机,其中软交换机是一个具有交换机功能的软件。
交换机为物理交换机的情况下,物理交换机的物理端口连接物理主机,此种情况下控制器将隧道标签分配给每个物理主机。
获取单元73,用于当接收到为租户分配资源的虚拟网络请求时,查找逻辑区域,获得满足虚拟网络请求的逻辑区域。
第二分配单元74,用于依据满足虚拟网络请求的逻辑区域对应的隧道标签范围,为租户分配隧道标签。
在本发明实施例中,虚拟网络请求表明某一租户的移动终端需要接入到云数据中心网络中,当云数据中心网络接收到该虚拟网络请求时,需要进一步为其分配隧道标签。
可以理解的是:由于云数据中心网络中各个逻辑区域的隧道标签范围有限,获取单元73接收到虚拟网络请求后,需要首先查找哪些逻辑区域可以满足虚拟网络请求。
在本发明实施例中,每个隧道资源以隧道标签形式进行标记,第二分配单元74在分配隧道标签时可以将可用隧道标签分配给租户,当将可用隧道标签分配给租户时,该可用隧道标签对应的主机即分配给租户,一个逻辑区域内的一个可用隧道标签对应一个租户,可用隧道标签为未被分配的隧道标签。
一种实现方式可以是:第二分配单元73判断某个逻辑区域内的可用隧道标签是否满足租户需求,如果是则直接选取一个满足租户需求的逻辑区域,在该逻辑区域内依据隧道标签的使用情况,为租户分配可用的隧道标签;否则需要跨逻辑区域为其分配隧道标签。
在本发明实施例中,第二分配单元73的结构示意图可以参阅图8所示,用于实现跨区域分配隧道标签,可以包括:划分子单元731、区域分配子单元732和标签分配子单元733。其中,
划分子单元731,用于按照满足虚拟网络请求的逻辑区域的数量,划分虚拟网络请求为多个子请求,其中每个子请求用于请求构建虚拟网络 的部分网络,虚拟网络为根据虚拟网络请求为租户构建的网络。
区域分配子单元732,用于在满足虚拟网络请求的逻辑区域内,为每个子请求分配逻辑区域。
标签分配子单元733,用于依据为每个子请求分配的逻辑区域对应的隧道标签范围,为租户分配隧道标签。
在本发明实施例中,逻辑区域是否满足租户需求的判断方式可以是:通过对逻辑区域内隧道标签的使用情况判断来确定,当逻辑区域内可用隧道标签的数量在第一数量内,则表示其可以满足租户需求。其中第一数量通过对多个租户请求的隧道标签个数计算得到。
并且,在为租户分配隧道标签时,首先判断是否已为当前发送虚拟网络请求的移动终端对应的租户分配过隧道标签,如果是,则获取之前为其分配隧道标签的逻辑区域,在该逻辑区域内为租户再次分配隧道标签,实现将同一个租户分配在相同的逻辑区域内,减少核心交换压力。而判断是否分配过隧道标签的可行方式可以参阅方法实施例中的相关说明,对此不在阐述。
应用本发明实施例提供的资源分配装置可以将云数据中心网络划分为多个独立的逻辑区域,由于每个逻辑区域是一个独立的区域,在为不同逻辑区域分配隧道标签范围时可以分配相同的隧道标签范围,这样不同逻辑区域为其内的交换机分配隧道标签时可以为不同逻辑区域的不同交换机分配相同的隧道标签,实现了隧道标签的重用。
并且基于上述划分后的云数据中心网络,当接收到虚拟网络请求时,可以从满足虚拟网络请求的租户的逻辑区域中,依据所述租户的逻辑区域对应的隧道标签范围,为所述租户分配隧道标签。
此外,在图7基础上,本发明实施例提供的资源分配装置700还可以包括:配置单元75,如图9所示。其中配置单元75用于按照配置规则,为每个逻辑区域配置隧道技术。
可以理解的是:配置规则用于指示每个逻辑区域所配置的隧道技术,因此在设计配置规则时,可以为每个逻辑区域分配不同的隧道技术,使 每一种隧道技术仅对其对应的逻辑区域有效,降低云数据中心网络因为某个单一的隧道技术对物理主机数量的限制。
并且当每个逻辑区域使用单一的隧道技术,边界交换机(如汇聚交换机或架顶交换机)仅需要使用这一隧道技术将其与其他逻辑区域进行隔离,隔离效率高,相对于采用多种隧道技术来说实现简单,性能压力低。当然在设计配置规则时,还可以为几个逻辑区域分配同一个隧道技术,在本发明实施例中并不限定配置规则的配置方式。
与上述报文通信方法相对应,本发明实施例还提供一种报文通信装置800,应用于云数据中心网络的控制器中,该云数据中心网络被划分为多个独立的逻辑区域,在划分时可以应用本发明实施例提供的资源分配装置进行逻辑区域划分,并对划分后的每个所述逻辑区域进行隧道标签范围的分配。
本发明实施例提供的报文通信装置800的结构示意图请参阅图10,可以包括:接收单元81、第一获取单元82、第二获取单元83和发送单元84。
接收单元81,用于接收数据报文转发请求,数据报文转发请求携带源主机和目的主机的信息。
其中,数据报文转发请求用于告知交换机进行数据报文转发。由于数据报文的源主机(发送方)和目的主机(接收方)位于云数据中心网络的不同逻辑区域内,所以在发送数据报文之前报文通信装置需要依据数据报文转发请求携带的源主机和目的主机的信息获取为源主机和目的主机分配的资源标签。
第一获取单元82,用于根据源主机的信息,获取源主机的资源标签,源主机的资源标签包括源主机所在逻辑区域的标签及源主机的隧道标签。
第二获取单元83,用于根据目的主机的信息,获取目的主机的资源标签,目的主机的资源标签包括目的主机所在逻辑区域的标签及目的主机的隧道标签。
在本发明实施例中,源主机和目的主机的信息可以是用于区分不同主机的信息,在接收到数据报文转发请求后,第一获取单元82和第二获取单元83可以依据用于区分不同主机的信息获取源主机和目的主机的资源标签。
例如源主机和目的主机的信息可以是控制器为其分配的逻辑区域的信息,如逻辑区域编号,而租户信息中也包括该逻辑区域编号,因此根据逻辑区域编号可以获取到源主机和目的主机的资源标签。其获取过程如下:
第一获取单元82可以依据源主机的信息,从源主机的租户信息中获取源主机的资源标签。相应的第二获取单元83可以依据目的主机的信息,从目的主机的租户信息中获取目的主机的资源标签。其中,租户信息的格式可以参阅方法实施例中的相关说明。
上述租户信息可以以映射表形式保存在控制器中。当然租户信息还可以以映射表形式保存在独立于控制器的设备中,且设备与控制器之间建立有用于传输映射表的信息通道,控制器可以通过该信息通道从设备中查找租户信息。
发送单元84,用于向交换机发送源主机的资源标签和目的主机的资源标签,以使交换机将源主机所在逻辑区域的标签转换为目的主机的逻辑区域标签以及将源主机的隧道标签转换为目的主机的隧道标签,发送资源标签转换后的数据报文至目的主机。
在本发明实施例中的一种可行方式中,发送单元84可以向源主机所在逻辑区域的交换机发送源主机的资源标签和所述目的主机的资源标签,由源主机所在逻辑区域的交换机将所述源主机所在逻辑区域的标签转换为所述目的主机的逻辑区域标签,以及将所述源主机的隧道标签转换为所述目的主机的隧道标签。
在本发明实施例中的另一种可行方式中,发送单元84可以向目的主机所在逻辑区域的交换机发送源主机的资源标签和所述目的主机的资源标签,由目的主机所在逻辑区域的交换机将所述源主机所在逻辑区域的标签转换为所述目的主机的逻辑区域标签,以及将所述源主机的隧道标 签转换为所述目的主机的隧道标签。
在本发明实施例中的再一种可行方式中,发送单元84可以向源的主机所在逻辑区域的交换机发送源主机的资源标签,向目的主机所在逻辑区域的交换机发送目的主机的资源标签,源主机所在逻辑区域的交换机去除数据报文中的所述源主机的资源标签,然后将所述去除源主机的资源标签的数据报文发送给所述目的主机所在逻辑区域的交换机,所述目的主机所在逻辑区域的交换机在所述去除源主机的资源标签的数据报文中加载所述目的主机的资源标签。
其过程可以是:发送单元84向源主机所在逻辑区域的交换机发送源主机的资源标签和标签去除指令,这样源主机所在逻辑区域的交换机接收到标签去除指令后,将数据报文中的源主机的资源标签去除。
发送单元84向目的主机所在逻辑区域的交换机发送目的主机的资源标签和标签加载指令,这样目的主机所在逻辑区域的交换机接收到标签加载指令后,将去除源主机的资源标签的数据报文中加载所述目的主机的资源标签。
此外在本发明实施例中提供的报文通信装置中,第一获取单元82,还用于根据源主机的信息,获取源主机所在逻辑区域支持的隧道技术。第二获取单元83,还用于根据目的主机的信息,获取目的主机所在逻辑区域支持的隧道技术。
具体可以是由第一获取单元82根据源主机的信息,从源主机的租户信息中获取源主机所在逻辑区域支持的隧道技术;第二获取单元83根据目的主机的信息,从目的主机的租户信息中获取目的主机所在逻辑区域支持的隧道技术。
发送单元84,还用于向交换机发送源主机所在逻辑区域支持的隧道技术和目的主机所在逻辑区域支持的隧道技术,以使交换机将源主机所在逻辑区域支持的隧道技术转换为目的主机所在逻辑区域支持的隧道技术。
需要说明的一点是:发送单元84可以向源主机所在逻辑区域的交换 机发送源主机所在逻辑区域支持的隧道技术和所述目的主机所在逻辑区域支持的隧道技术,由源主机所在逻辑区域的交换机进行隧道技术的转换,当然也可以向目的主机所在逻辑区域的交换机发送并由目的主机所在逻辑区域的交换机执行隧道技术的转换。
与上述资源分配方法和资源分配装置相对应,本发明实施例还提供如图11所示的控制器900,可以包括:
输入装置91、输出装置92、处理器93和存储器94(其中控制器900中的处理器93的数量可以为一个或多个,图11以一个处理器93为例)。在本发明实施例的一些实施例中,输入装置91、输出装置92、处理器93和存储器94可通过总线或其它方式连接,其中,图11中以通过总线连接为例。
其中,处理器93,用于执行存储器94中存储的程序,可以执行以下步骤:将云数据中心网络划分为多个独立的逻辑区域,为每个逻辑区域分配对应的隧道标签范围;当接收到为租户分配资源的虚拟网络请求时,控制器查找逻辑区域,获得满足虚拟网络请求的逻辑区域,依据满足虚拟网络请求的逻辑区域对应的隧道标签范围,为租户分配隧道标签。
与上述报文通信方法和报文通信装置相对应,本发明实施例还提供如图12所示的控制器100,可以包括:
输入装置11、输出装置12、处理器13和存储器14(其中控制器100中的处理器13的数量可以为一个或多个,图12以一个处理器13为例)。在本发明实施例的一些实施例中,输入装置11、输出装置12、处理器13和存储器14可通过总线或其它方式连接,其中,图12中以通过总线连接为例。
其中,处理器13,用于执行存储器14中存储的程序,该程序可以执行以下步骤:接收数据报文转发请求,数据报文转发请求携带源主机和目的主机的信息;根据源主机的信息获取源主机的资源标签以及根据目的主机的信息获取目的主机的资源标签,并向交换机发送源主机的资源 标签和目的主机的资源标签,以使交换机将源主机所在逻辑区域的标签转换为目的主机的逻辑区域标签以及将源主机的隧道标签转换为目的主机的隧道标签,发送资源标签转换后的数据报文至目的主机,其中源主机的资源标签包括源主机所在逻辑区域的标签及源主机的隧道标签,目的主机的资源标签包括目的主机所在逻辑区域的标签及目的主机的隧道标签。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,虚拟服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分的方法。
以上对本发明所提供的一种资源分配方法、报文通信方法及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了 阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。

Claims (24)

  1. 一种资源分配方法,应用于云数据中心网络中,其特征在于,所述方法包括:
    所述控制器将所述云数据中心网络划分为多个独立的逻辑区域;
    为每个所述逻辑区域分配对应的隧道标签范围;
    当接收到为租户分配资源的虚拟网络请求时,所述控制器查找所述逻辑区域,获得满足所述虚拟网络请求的逻辑区域;
    依据所述满足所述虚拟网络请求的逻辑区域对应的隧道标签范围,为所述租户分配隧道标签。
  2. 根据权利要求1所述的方法,其特征在于,将所述云数据中心网络划分为多个独立的逻辑区域,包括:
    查找所述云数据中心网络的各个物理主机所连接的交换机;
    将所述交换机和与所述交换机连接的各个物理主机划分至同一个逻辑区域。
  3. 根据权利要求2所述的方法,其特征在于,所述将所述交换机和与所述交换机连接的各个物理主机划分至同一个逻辑区域,包括:
    获取所述交换机连接的各个物理主机所承载的虚拟主机的总数量;
    如果所述虚拟主机的总数量大于预设主机数量,则依据预设主机数量,对所述交换机连接的各个物理主机进行划分,划分后的物理主机和所述划分后的物理主机连接的交换机划分至同一个逻辑区域中,所述划分后的物理主机所承载的虚拟主机的总数量不大于所述预设主机数量;
    或者如果所述虚拟主机的总数量不大于预设主机数量,则将所述交换机和与所述交换机连接的各个物理主机划分至同一个逻辑区域中。
  4. 根据权利要求2所述的方法,其特征在于,所述将所述交换机和与所述交换机连接的各个物理主机划分至同一个逻辑区域,包括:获取支持同一隧道技术的多个交换机;
    将支持同一隧道技术的所述多个交换机及所述多个交换机连接的各个物理主机划分至同一个逻辑区域。
  5. 根据权利要求1-4任一所述的方法,其特征在于,所述方法还包括:按照配置规则,为每个所述逻辑区域配置隧道技术。
  6. 根据权利要求1所述的方法,其特征在于,当满足所述虚拟网络请求的逻辑区域为至少两个时,依据所述满足所述虚拟网络请求的逻辑区域对应的隧道标签范围,为所述租户分配隧道标签,包括:
    按照满足所述虚拟网络请求的逻辑区域的数量,划分所述虚拟网络请求为多个子请求,其中每个子请求用于请求构建虚拟网络的部分网络,所述虚拟网络为根据所述虚拟网络请求为所述租户构建的网络;
    在所述满足所述虚拟网络请求的逻辑区域内,为每个子请求分配逻辑区域;
    依据所述为每个子请求分配的逻辑区域对应的隧道标签范围,为所述租户分配所述隧道标签。
  7. 一种报文通信方法,应用于云数据中心网络中,其特征在于,所述云数据中心网络被划分为多个独立的逻辑区域,所述方法包括:
    控制器接收数据报文转发请求,所述数据报文转发请求携带源主机和目的主机的信息;
    根据所述源主机的信息,所述控制器获取所述源主机的资源标签,所述源主机的资源标签包括所述源主机所在逻辑区域的标签及所述源主机的隧道标签;
    根据所述目的主机的信息,所述控制器获取所述目的主机的资源标签,所述目的主机的资源标签包括所述目的主机所在逻辑区域的标签及所述目的主机的隧道标签;
    所述控制器向交换机发送所述源主机的资源标签和所述目的主机的资源标签,以使交换机将所述源主机所在逻辑区域的标签转换为所述目的主机的逻辑区域标签以及将所述源主机的隧道标签转换为所述目的主机的隧道标签,发送资源标签转换后的数据报文至所述目的主机。
  8. 根据权利要求7所述的方法,其特征在于,所述方法还包括:
    根据所述源主机的信息,所述控制器获取所述源主机所在逻辑区域支持的隧道技术;
    根据所述目的主机的信息,所述控制器获取所述目的主机所在逻辑区域支持的隧道技术;
    所述控制器向所述交换机发送所述源主机所在逻辑区域支持的隧道技术和所述目的主机所在逻辑区域支持的隧道技术,以使所述交换机将所述源主机所在逻辑区域支持的隧道技术转换为所述目的主机所在逻辑区域支持的隧道技术。
  9. 根据权利要求7或8所述的方法,其特征在于,所述交换机为源主机所在逻辑区域的交换机或者目的主机所在逻辑区域的交换机。
  10. 根据权利要求7或8所述的方法,其特征在于,所述交换机包括源主机所在逻辑区域的交换机和目的主机所在逻辑区域的交换机,所述交换机将所述源主机所在逻辑区域的标签转换为所述目的主机的逻辑区域标签,以及将所述源主机的隧道标签转换为所述目的主机的隧道标签包括:
    所述源主机所在逻辑区域的交换机去除数据报文中的所述源主机的资源标签,然后将所述去除源主机的资源标签的数据报文发送给所述目的主机所在逻辑区域的交换机,所述目的主机所在逻辑区域的交换机在所述去除源主机的资源标签的数据报文中加载所述目的主机的资源标签。
  11. 根据权利要求8所述的方法,其特征在于,所述控制器根据所述源主机的信息,从租户信息中获取所述源主机的资源标签和所述源主机所在逻辑区域支持的隧道技术;以及根据所述目的主机的信息,从所述租户信息中获取所述目的主机的资源标签和所述目的主机所在逻辑区域支持的隧道技术。
  12. 根据权利要求11所述的方法,其特征在于,所述租户信息以映射表形式保存在所述控制器中;
    或者所述租户信息以映射表形式保存在独立于所述控制器的设备中,且所述设备与所述控制器之间建立有用于传输所述映射表的信息通道。
  13. 根据权利要求7、8、11和12中的任意一项所述的方法,其特征在于,所述方法应用如权利要求1至6任意一项所述的资源分配方法将云数据中心网络划分为多个独立的逻辑区域,并对划分后的每个所述逻辑区域进行隧道标签范围的分配。
  14. 一种资源分配装置,应用于云数据中心网络的控制器中,其特征在于,所述装置包括:
    划分单元,用于将所述云数据中心网络划分为多个独立的逻辑区域;
    第一分配单元,用于为每个所述逻辑区域分配对应的隧道标签范围;
    获取单元,用于当接收到为租户分配资源的虚拟网络请求时,查找所述逻辑区域,获得满足所述虚拟网络请求的逻辑区域;
    第二分配单元,用于依据所述满足所述虚拟网络请求的逻辑区域对应的隧道标签范围,为所述租户分配隧道标签。
  15. 根据权利要求14所述的装置,其特征在于,所述划分单元包括:
    查找子单元,用于查找所述云数据中心网络的各个物理主机所连接的交换机;
    分配子单元,用于将所述交换机和与所述交换机连接的各个物理主机划分至同一个逻辑区域。
  16. 根据权利要求15所述的装置,其特征在于,所述分配子单元用于将所述交换机和与所述交换机连接的各个物理主机划分至同一个逻辑区域具体为:
    所述分配子单元,用于获取所述交换机连接的各个物理主机所承载的虚拟主机的总数量,在所述虚拟主机的总数量大于预设主机数量的情况下,依据预设主机数量对所述交换机连接的各个物理主机进行划分,划分后的物理主机和所述划分后的物理主机连接的交换机划分至同一个逻辑区域中,所述划分后的物理主机所承载的虚拟主机的总数量不大于所述预设主机数量;或者用于在所述虚拟主机的总数量不大于预设主机数量的情况下,将所述交换机和与所述交换机连接的各个物理主机划分至同一个逻辑区域中。
  17. 根据权利要求15所述的装置,其特征在于,所述分配子单元用于将所述交换机和与所述交换机连接的各个物理主机划分至同一个逻辑区域,包括:
    所述分配子单元用于获取支持同一隧道技术的多个交换机,将支持同一隧道技术的所述多个交换机及所述多个交换机连接的各个物理主机划 分至同一个逻辑区域。
  18. 根据权利要求14-17任一所述的装置,其特征在于,所述装置还包括:配置单元,用于按照配置规则,为每个所述逻辑区域配置隧道技术。
  19. 根据权利要求14所述的装置,其特征在于,所述第二分配单元包括:
    划分子单元,用于按照满足所述虚拟网络请求的逻辑区域的数量,划分所述虚拟网络请求为多个子请求,其中每个子请求用于请求构建虚拟网络的部分网络,所述虚拟网络为根据所述虚拟网络请求为所述租户构建的网络;
    区域分配子单元,用于在所述满足所述虚拟网络请求的逻辑区域内,为每个子请求分配逻辑区域;
    标签分配子单元,用于依据所述为每个子请求分配的逻辑区域对应的隧道标签范围,为所述租户分配所述隧道标签。
  20. 一种报文通信装置,应用于云数据中心网络的控制器中,其特征在于,所述云数据中心网络被划分为多个独立的逻辑区域,所述装置包括:
    接收单元,用于接收数据报文转发请求,所述数据报文转发请求携带源主机和目的主机的信息;
    第一获取单元,用于根据所述源主机的信息,获取所述源主机的资源标签,所述源主机的资源标签包括所述源主机所在逻辑区域的标签及所述源主机的隧道标签;
    第二获取单元,用于根据所述目的主机的信息,获取所述目的主机的资源标签,所述目的主机的资源标签包括所述目的主机所在逻辑区域的标签及所述目的主机的隧道标签;
    发送单元,用于向交换机发送所述源主机的资源标签和所述目的主机的资源标签,以使交换机将所述源主机所在逻辑区域的标签转换为所述目的主机的逻辑区域标签以及将所述源主机的隧道标签转换为所述目的主机的隧道标签,发送资源标签转换后的数据报文至所述目的主机。
  21. 根据权利要求20所述的装置,其特征在于,所述第一获取单元,还用于根据所述源主机的信息,获取所述源主机所在逻辑区域支持的隧道技术;
    所述第二获取单元,还用于根据所述目的主机的信息,获取所述目的主机所在逻辑区域支持的隧道技术;
    所述发送单元,还用于向所述交换机发送所述源主机所在逻辑区域支持的隧道技术和所述目的主机所在逻辑区域支持的隧道技术,以使所述交换机将所述源主机所在逻辑区域支持的隧道技术转换为所述目的主机所在逻辑区域支持的隧道技术。
  22. 根据权利要求21所述的装置,其特征在于,所述第一获取单元,用于根据所述源主机的信息,从租户信息中获取所述源主机的资源标签和所述源主机所在逻辑区域支持的隧道技术;
    所述第二获取单元,用于根据所述目的主机的信息,从所述租户信息中获取所述目的主机的资源标签和所述目的主机所在逻辑区域支持的隧道技术。
  23. 根据权利要求22所述的装置,其特征在于,所述租户信息以映射表形式保存在所述控制器中;或者
    所述租户信息以映射表形式保存在独立于所述控制器的设备中,且所述设备与所述控制器之间建立有用于传输所述映射表的信息通道。
  24. 根据权利要求20至23中的任意一项所述的装置,其特征在于,所述装置应用如权利要求14至19任意一项所述的资源分配装置将云数据中心网络划分为多个独立的逻辑区域,并对划分后的每个所述逻辑区域进行隧道标签范围的分配。
PCT/CN2015/076568 2014-04-17 2015-04-14 一种资源分配方法、报文通信方法及装置 WO2015158250A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP15779813.3A EP3125504B1 (en) 2014-04-17 2015-04-14 Resource allocation method, packet communication method and device
US15/294,468 US10425354B2 (en) 2014-04-17 2016-10-14 Resource allocation method, packet communication method, and apparatus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201410155868.9A CN105099950B (zh) 2014-04-17 2014-04-17 一种资源分配方法、报文通信方法及装置
CN201410155868.9 2014-04-17

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/294,468 Continuation US10425354B2 (en) 2014-04-17 2016-10-14 Resource allocation method, packet communication method, and apparatus

Publications (1)

Publication Number Publication Date
WO2015158250A1 true WO2015158250A1 (zh) 2015-10-22

Family

ID=54323484

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/076568 WO2015158250A1 (zh) 2014-04-17 2015-04-14 一种资源分配方法、报文通信方法及装置

Country Status (4)

Country Link
US (1) US10425354B2 (zh)
EP (1) EP3125504B1 (zh)
CN (1) CN105099950B (zh)
WO (1) WO2015158250A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10305761B2 (en) * 2014-07-31 2019-05-28 Corent Technology, Inc. Multi-application SaaS metering engine
US10541966B1 (en) * 2015-07-02 2020-01-21 Aviatrix Systems, Inc. System and method for enabling communication between networks with overlapping IP address ranges
CN106789176A (zh) * 2016-11-30 2017-05-31 国云科技股份有限公司 一种云平台虚拟网络映射机房网络的方法
CN107483258A (zh) * 2017-08-25 2017-12-15 长沙曙通信息科技有限公司 一种云计算划分区域管理实现方法
CN110474829B (zh) * 2018-05-10 2021-07-20 华为技术有限公司 传输报文的方法和装置
CN109218160A (zh) * 2018-09-11 2019-01-15 武汉维力克科技有限公司 一种基于虚拟主机的通信装置
US20230336428A1 (en) * 2020-04-15 2023-10-19 Alkira, Inc. Application-agnostic tenant onboarding onto a multi-tenant system
CN112910997B (zh) * 2021-02-01 2023-11-24 福建升腾资讯有限公司 一种局域网的资源获取方法
CN114928526B (zh) * 2022-02-09 2023-06-16 北京邮电大学 基于sdn的网络隔离和资源规划方法及***
CN115086017A (zh) * 2022-06-14 2022-09-20 杭州安恒信息安全技术有限公司 基于安全域的网络数据处理方法、装置、***和电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101188554A (zh) * 2007-11-20 2008-05-28 中兴通讯股份有限公司 一种动态建立标签交换路径隧道与资源分配的方法
US7836168B1 (en) * 2002-06-04 2010-11-16 Rockwell Automation Technologies, Inc. System and methodology providing flexible and distributed processing in an industrial controller environment
CN103024048A (zh) * 2012-12-17 2013-04-03 南京邮电大学 一种云环境下的资源调度方法
CN103401938A (zh) * 2013-08-07 2013-11-20 西安电子科技大学 分布式云架构下基于业务特性的资源分配***及其方法
CN103703724A (zh) * 2013-08-15 2014-04-02 华为技术有限公司 一种资源发放方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8259571B1 (en) 2010-03-26 2012-09-04 Zscaler, Inc. Handling overlapping IP addresses in multi-tenant architecture
US8671407B2 (en) * 2011-07-06 2014-03-11 Microsoft Corporation Offering network performance guarantees in multi-tenant datacenters
US10091028B2 (en) * 2011-08-17 2018-10-02 Nicira, Inc. Hierarchical controller clusters for interconnecting two or more logical datapath sets
US9009319B2 (en) * 2012-01-18 2015-04-14 Rackspace Us, Inc. Optimizing allocation of on-demand resources using performance
CN102710432B (zh) 2012-04-27 2015-04-15 北京云杉世纪网络科技有限公司 云计算数据中心中的虚拟网络管理***及方法
US20140201375A1 (en) * 2013-01-11 2014-07-17 Anuta Networks, Inc. Method, apparatus and system pertaining to cloud computing
US9900250B2 (en) * 2015-03-26 2018-02-20 Cisco Technology, Inc. Scalable handling of BGP route information in VXLAN with EVPN control plane

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7836168B1 (en) * 2002-06-04 2010-11-16 Rockwell Automation Technologies, Inc. System and methodology providing flexible and distributed processing in an industrial controller environment
CN101188554A (zh) * 2007-11-20 2008-05-28 中兴通讯股份有限公司 一种动态建立标签交换路径隧道与资源分配的方法
CN103024048A (zh) * 2012-12-17 2013-04-03 南京邮电大学 一种云环境下的资源调度方法
CN103401938A (zh) * 2013-08-07 2013-11-20 西安电子科技大学 分布式云架构下基于业务特性的资源分配***及其方法
CN103703724A (zh) * 2013-08-15 2014-04-02 华为技术有限公司 一种资源发放方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3125504A4 *

Also Published As

Publication number Publication date
US20170034076A1 (en) 2017-02-02
CN105099950A (zh) 2015-11-25
US10425354B2 (en) 2019-09-24
EP3125504A1 (en) 2017-02-01
EP3125504B1 (en) 2018-07-04
CN105099950B (zh) 2018-08-14
EP3125504A4 (en) 2017-03-22

Similar Documents

Publication Publication Date Title
WO2015158250A1 (zh) 一种资源分配方法、报文通信方法及装置
JP6605713B2 (ja) クラウドコンピューティングシステムにおけるパケット処理方法、ホスト及びシステム
EP3367638B1 (en) Load balancing method, device and system
CN110088732B (zh) 一种数据包处理方法、主机和***
JP6014254B2 (ja) 通信の方法及びシステム
JP6087922B2 (ja) 通信制御方法及びゲートウェイ
WO2018086013A1 (zh) 云计算***中报文处理的方法、主机和***
US9143582B2 (en) Interoperability for distributed overlay virtual environments
WO2015172574A1 (zh) 一种发送报文的方法及设备
CN111885075A (zh) 容器通信方法、装置、网络设备及存储介质
WO2018028590A1 (zh) 报文传输
US20140376550A1 (en) Method and system for uniform gateway access in a virtualized layer-2 network domain
WO2015149253A1 (zh) 数据中心的虚拟网络管理方法及数据中心***
CN104780088A (zh) 一种业务报文的传输方法和设备
WO2018019092A1 (zh) 一种网络中vlan id分配的方法及控制器
WO2014190791A1 (zh) 一种网关设备身份设置的方法及管理网关设备
WO2015014187A1 (zh) 一种支持多租户的数据转发方法和装置
WO2018103043A1 (zh) 云计算***中的报文处理方法及设备
WO2018019216A1 (zh) Ap接入控制
WO2017000823A2 (zh) 一种OpenFlow协议的资源控制方法、装置和***
WO2018161795A1 (zh) 一种路由优先级配置方法、设备以及控制器
CN104734930B (zh) Vlan接入vf网络的实现方法及装置、fcf

Legal Events

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

Ref document number: 15779813

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

REEP Request for entry into the european phase

Ref document number: 2015779813

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2015779813

Country of ref document: EP