Communication method and communication device

By using DHCP servers to dynamically allocate IP addresses in the cloud service system, the problem of tenants in the cloud service system being difficult to obtain multiple IP addresses easily, and the business experience and resource utilization rate are improved.

CN119094499APending Publication Date: 2024-12-06HUAWEI CLOUD COMPUTING TECHNOLOGIES CO LTD
View PDF 0 Cites 2 Cited by

Patent Information

Application Number
CN202311061513.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-06-06
Filing Date
2023-08-22
Publication Date
2024-12-06

AI Technical Summary

Technical Problem

In cloud service systems, it is difficult for the prior art to dynamically configure multiple Internet protocol IP addresses for tenants, resulting in the impact of the service experience when tenants temporarily need a large number of IP addresses.

Method used

The Dynamic Host Configuration Protocol (DHCP) server is configured through the cloud management platform, and multiple IP addresses are dynamically allocated to the network card of the elastic cloud server, so that tenants can flexibly obtain and manage IP addresses according to their needs.

Benefits of technology

It improves the tenant's business experience, simplifies the configuration and management of IP addresses, meets the needs of temporary large-scale IP addresses, and improves resource utilization and efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119094499A_ABST
    Figure CN119094499A_ABST
Patent Text Reader

Abstract

According to the communication method and the communication device, a first dynamic host configuration protocol (DHCP) server used for distributing a plurality of internet protocol (IP) addresses for an elastic network card of a first elastic cloud server (ECS) can be configured based on first configuration information of a tenant, and therefore the purpose that in a cloud service system, a plurality of IP addresses are allocated to the elastic network card of the first ECS is achieved. The elastic network card of the first ECS can dynamically acquire a plurality of IP addresses through the DHCP server, so that the use of the tenant is facilitated, and the service experience of the tenant is guaranteed.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application claims priority to a Chinese patent application filed with the China Patent Office on June 6, 2023, with application number 202310664580.3 and application name “A method and computing device for obtaining multiple Internet Protocol IP addresses”, the entire contents of which are incorporated by reference in this application. Technical Field

[0002] The present application relates to the field of cloud service systems, and more specifically, to a communication method and a communication device. Background Art

[0003] Cloud servers are one of the most popular computing resource service forms today, especially in the era of cloud computing, and are widely used for hosting websites, applications, databases and other applications. When using cloud servers, sometimes you need to configure multiple Internet Protocol (IP) addresses to expand the services of the application. For example, when building a cluster of Web servers, or when you need services of multiple different network properties, or when different clients need to access the Internet, you need to configure multiple IP addresses on the cloud server. In the existing solutions, one or more IP addresses can be obtained by manual static configuration, which is very inconvenient in actual use. For example, in some scenarios, when tenants may temporarily need a large number of IP addresses, they also need to perform static configuration before they can use them, which is very inconvenient and seriously affects the tenants' business experience.

[0004] Therefore, a method for obtaining multiple Internet Protocol addresses is needed in the cloud service system to ensure the service experience of tenants. Summary of the invention

[0005] The present application provides a communication method and a communication device, which enable the elastic network card of the elastic cloud server ECS in the cloud service system to dynamically obtain multiple Internet Protocol IP addresses to ensure the business experience of tenants.

[0006] In a first aspect, a communication method is provided, which can be applied in a cloud service system, and the method can be executed by a cloud management platform (or a communication device in the cloud management platform), or can also be executed by a component (such as a chip or circuit) of the cloud management platform (or a communication device in the cloud management platform). In the present application, the cloud management platform is used to manage the infrastructure for providing cloud services, and the infrastructure includes at least one virtual private cloud VPC, and each virtual private cloud VPC includes at least one elastic cloud server ECS.

[0007] The method includes: receiving first configuration information from a tenant, the first configuration information being used to indicate configuring multiple Internet Protocol IP addresses for an elastic network card of a first elastic cloud server ECS in at least one elastic cloud server ECS; configuring a first Dynamic Host Configuration Protocol DHCP server according to the first configuration information, the first Dynamic Host Configuration Protocol DHCP server being used to allocate multiple IP addresses to the elastic network card of the first elastic cloud server ECS.

[0008] It should be understood that, usually, the attribute information of an ECS includes the VPC network to which it belongs. In other words, when a tenant specifies an ECS to enable the ability to request allocation of multiple IP addresses, the tenant can see in the attribute information of the ECS which VPC network the ECS belongs to.

[0009] Based on the above technical solution, in this application, a first DHCP server for allocating multiple IP addresses to the elastic network card of the first ECS can be configured based on the first configuration information of the tenant, thereby achieving in the cloud service system that the elastic network card of the first ECS can dynamically obtain multiple IP addresses through the DHCP server, which is convenient for the tenant to use and ensures the tenant's business experience.

[0010] In this scenario, the DHCP server is exclusive, which can also be understood as that each ECS in the VPC can be assigned multiple IP addresses by a dedicated DHCP server. In this case, for example, the first ECS in the first VPC has its own dedicated first DHCP server. In this case, the first DHCP service can allocate multiple IP addresses specifically for the first ECS in the first VPC, but cannot allocate multiple IP addresses for the remaining ECS ​​in the first VPC, nor can it allocate multiple IP addresses for the ECS in the second VPC.

[0011] In combination with the first aspect, in a possible implementation, the method also includes: receiving second configuration information from the tenant, the second configuration information including: the range of multiple IP addresses entered by the tenant, and the number of multiple IP addresses entered by the tenant and / or the multiple IP addresses entered by the tenant; configuring the second configuration information to the first Dynamic Host Configuration Protocol DHCP server.

[0012] In the present application, the range of multiple IP addresses allocated by the first DHCP server to the elastic network card of the first ECS may be determined by the tenant.

[0013] In this application, when a tenant enables the ability of an ECS elastic network card to request the allocation of multiple IP addresses, the tenant can further specify the range of the allocated IP addresses, the number of IP addresses, and the tenant can also manually fill in the IP address. Specifically, when the tenant specifies the range of IP addresses, the tenant can manually fill in the IP address, or the IP address can be automatically allocated by the VPC. For example, when a tenant manually allocates an IP address, the tenant can first query which IP addresses are currently available within the specified range of IP addresses, and then the tenant can manually fill in multiple IP addresses. For another example, the tenant can fill in the number of IP addresses required, and the DHCP server will automatically allocate IP addresses based on the range of IP addresses and the number of IP addresses. In this application, the cloud management platform can configure the second configuration information entered by the tenant to the first DHCP server, and the first DHCP server can subsequently determine which IP addresses are specifically allocated to the elastic network card of the first ECS.

[0014] In combination with the first aspect, in a possible implementation, the method also includes: a first Dynamic Host Configuration Protocol DHCP server receives multiple first request messages from an elastic network card of a first elastic cloud server ECS, each first request message is used to request allocation of an IP address; the first Dynamic Host Configuration Protocol DHCP server determines the IP address corresponding to each first request message according to the multiple first request messages and the configured second configuration information; the first Dynamic Host Configuration Protocol DHCP server sends multiple first response messages to the elastic network card of the first elastic cloud server ECS, each first response message carries an IP address, wherein the multiple first response messages correspond one-to-one to the multiple first request messages.

[0015] In combination with the first aspect, in a possible implementation, each first request message carries a client hardware address, and the multiple IP addresses are allocated by the first DHCP server to the elastic network card of the first elastic cloud server ECS according to the multiple client hardware addresses, and the multiple IP addresses correspond one-to-one to the multiple client hardware addresses.

[0016] In this application, once the tenant specifies and enables the function of requesting the DHCP server to allocate multiple IP addresses for the elastic network card of a certain ECS, the cloud management platform will configure a special DHCP server (for example, DHCP server #A) to allocate multiple IP addresses for the elastic network card of the ECS. Considering that the MAC address of the same elastic network card is the same, the MAC address cannot be filled in each DHCP request message, because the DHCP server will think that it is the same DHCP request message and will only allocate one IP address. At this time, the DHCP request message can carry the actual hardware address corresponding to each client, so as to distinguish the DHCP request messages, so that different IP addresses can be obtained separately.

[0017] It should be understood that, generally, in some scenarios, the client hardware address needs to be managed and generated by each client itself; in other scenarios, the client hardware address can be allocated and specified by the tenant itself.

[0018] In combination with the first aspect, in a possible implementation, the method also includes: obtaining a first mapping relationship, the first mapping relationship including a mapping relationship between multiple IP addresses and multiple client hardware addresses, wherein the multiple IP addresses correspond one-to-one to the multiple client hardware addresses; and displaying the first mapping relationship to the tenant.

[0019] Exemplarily, a query message is sent to a first Dynamic Host Configuration Protocol DHCP server, where the query message is used to query allocation information of multiple IP addresses; a response message is received from the first Dynamic Host Configuration Protocol DHCP server, where the response message carries a first mapping relationship, where the first mapping relationship includes a one-to-one correspondence between multiple IP addresses and multiple client hardware addresses; and based on the response message, the first mapping relationship is displayed to the tenant.

[0020] Exemplarily, the first Dynamic Host Configuration Protocol DHCP server may periodically report the first mapping relationship to the cloud management platform, and the cloud management platform may display the received first mapping relationship to the tenant.

[0021] In this application, the cloud management platform can query the DHCP server for the allocation of IP addresses, and display the allocation of IP addresses to the tenants. Based on the display interface, the tenants can know that a certain IP address is allocated to a certain client. For example, IP address #1 is allocated to client #A (for example, the hardware address of client #A is: 5453286ed489b8082020202020330000) for use; IP address #2 is allocated to client #B (the hardware address of client #B is: 5453286ed489b8082020202020330001) for use; IP address #3 is allocated to client #C (the hardware address of client #C is: 5453286ed489b8082020202020330002) for use.

[0022] In combination with the first aspect, in a possible implementation, the first DHCP server is deployed in a first computing node, and the first computing node includes a first elastic cloud server ECS; or, the first DHCP server is deployed in a DHCP server cluster, and the DHCP server cluster is a computing node or a network node.

[0023] In this application, it is proposed that the DHCP deployment method can be distributed deployment or centralized deployment. For example, when the first DHCP server is distributed deployment, the first DHCP server can be deployed in the first computing node, wherein the first ECS is also deployed in the first computing node; for another example, when the first DHCP server is centrally deployed, a DHCP server cluster can be deployed, and the DHCP server cluster includes multiple DHCP servers. For example, the DHCP server cluster can be a computing node; for another example, the DHCP server cluster can be a network node.

[0024] In a second aspect, a communication method is provided, which can be applied in a cloud service system, and the method can be executed by a cloud management platform (or a communication device in the cloud management platform), or can also be executed by a component (such as a chip or circuit) of the cloud management platform (or a communication device in the cloud management platform). The cloud management platform is used to manage the infrastructure for providing cloud services, and the infrastructure includes at least one virtual private cloud VPC, and each private cloud VPC includes multiple elastic cloud servers ECS.

[0025] It should be understood that the beneficial effects achieved by each solution in the second aspect can be understood by referring to the beneficial effects achieved by the corresponding solution in the above-mentioned first aspect, and will not be repeated here.

[0026] The method includes: receiving third configuration information from a tenant, the third configuration information being used to indicate the creation of a dynamic host configuration protocol Internet Protocol DHCP IP address pool for a second virtual private cloud VPC in at least one virtual private cloud VPC; configuring the dynamic host configuration protocol Internet Protocol DHCP IP address pool according to the third configuration information; receiving fourth configuration information from the tenant, the fourth configuration information being used to indicate the configuration of multiple Internet Protocol IP addresses for an elastic network card of a second elastic cloud server ECS in at least one elastic cloud server ECS, wherein the second elastic cloud server ECS is one of the elastic cloud servers ECS included in the second virtual private cloud VPC; configuring a second dynamic host configuration protocol DHCP server for the dynamic host configuration protocol Internet Protocol DHCP IP address pool according to the fourth configuration information, the second dynamic host configuration protocol DHCP server being used to manage addresses in the dynamic host configuration protocol Internet Protocol DHCP IP address pool; receiving fifth configuration information from the tenant, the fifth configuration information being used to indicate the configuration of multiple elastic cloud servers ECS included in the second virtual private cloud VPC with the dynamic host configuration protocol Internet Protocol DHCP IP address pool association; according to the fifth configuration information, the second dynamic host configuration protocol DHCP server is configured to configure multiple IP addresses for the elastic network card of each elastic cloud server ECS in the multiple elastic cloud servers ECS included in the second virtual private cloud VPC.

[0027] In this application, the DHCP IP address pool is used to store IP addresses, wherein the range of the stored IP addresses, the number of IP addresses, and which IP addresses are specifically included are configured by the tenant. This application proposes a DHCP IP address pool in order to maximize the utilization of IP addresses and avoid IP address fragmentation. The use of a DHCP IP address pool can recycle IP addresses that are not needed by the client and allocate the IP addresses to other clients in a timely manner, thereby maximizing resource utilization and saving IP address resources.

[0028] In this application, in this scenario, the DHCP IP address pool server can be shared. It can also be understood that multiple ECSs under the same VPC can share the IP addresses in the DHCP IP pool. At this time, for example, ECS#1, ECS#2, and ECS#3 in the second VPC can share the same DHCP IP address pool. It can also be understood that at this time, the second DHCP server can simultaneously allocate multiple IP addresses to multiple ECSs in the second VPC.

[0029] In this application, the DHCP IP address pool can allocate multiple IP addresses to each ECS of all ECSs included in the second VPC, but the tenant needs to specify which ECS has enabled the ability to request allocation of multiple IP addresses. In other words, in this application, the user can specify one or some ECSs in the second VPC to enable this capability.

[0030] Based on the above technical solution, in this application, based on the third configuration information of the tenant, the cloud management platform can configure a DHCP IP pool for allocating multiple Internet Protocol IP addresses to the elastic network cards of multiple ECSs of the second VPC, and based on the fourth and fifth configuration information of the tenant, a second DHCP server can be configured for the DHCP IP pool, and the DHCP IP pool is associated with the second VPC, so the second DHCP server can configure multiple IP addresses for the elastic network card of each ECS in the multiple ECSs included in the second VPC. In this way, in the cloud service system, the elastic network card of the second ECS can dynamically obtain multiple IP addresses through the DHCP server, which is convenient for the tenant to use and ensures the tenant's business experience.

[0031] In combination with the second aspect, in a possible implementation, the method also includes: receiving sixth configuration information from the tenant, the sixth configuration information is used to configure IP address information for a Dynamic Host Configuration Protocol Internet Protocol DHCP IP address pool, the sixth configuration information including: the range of multiple IP addresses entered by the tenant, and the number of multiple IP addresses entered by the tenant and / or the multiple IP addresses entered by the tenant; configuring the sixth configuration information to a second Dynamic Host Configuration Protocol DHCP server.

[0032] In combination with the second aspect, in a possible implementation, the method also includes: a second Dynamic Host Configuration Protocol DHCP server receives multiple second request messages from an elastic network card of a second elastic cloud server ECS, each second request message is used to request allocation of an IP address; the second Dynamic Host Configuration Protocol DHCP server determines the IP address corresponding to each second request message based on the multiple first request messages and the configured fifth configuration information; the second Dynamic Host Configuration Protocol DHCP server sends multiple second response messages to the elastic network card of the second elastic cloud server ECS, each second response message proxies an IP address, wherein the multiple second response messages correspond one-to-one to the multiple second request messages.

[0033] In combination with the second aspect, in a possible implementation, each first request message carries a client hardware address, and multiple IP addresses are allocated by the second Dynamic Host Configuration Protocol DHCP server to the elastic network card of the second elastic cloud server ECS according to the multiple client hardware addresses, and the multiple IP addresses correspond one-to-one to the multiple client hardware addresses.

[0034] In combination with the second aspect, in a possible implementation, a second mapping relationship is obtained, the second mapping relationship including a mapping relationship between multiple IP addresses and multiple client hardware addresses, wherein the multiple IP addresses correspond one-to-one to the multiple client hardware addresses; and the second mapping relationship is displayed to the tenant.

[0035] Exemplarily, a query message is sent to a second Dynamic Host Configuration Protocol DHCP server, where the query message is used to query allocation information of multiple IP addresses; a response message is received from the second Dynamic Host Configuration Protocol DHCP server, where the response message carries a second mapping relationship, where the second mapping relationship includes a one-to-one correspondence between multiple IP addresses and multiple client hardware addresses; and based on the response message, the second mapping relationship is displayed to the tenant.

[0036] Exemplarily, the second Dynamic Host Configuration Protocol DHCP server may periodically report the second mapping relationship to the cloud management platform, and the cloud management platform may display the received second mapping relationship to the tenant.

[0037] In combination with the second aspect, in a possible implementation, the second Dynamic Host Configuration Protocol DHCP server is deployed on a second computing node, and the second computing node includes a second elastic cloud server ECS; or, the second DHCP server is deployed in a DHCP server cluster, and the DHCP server cluster is a computing node or a network node.

[0038] In a third aspect, the present application proposes a communication device, which is used to perform the method of the first aspect or the second aspect above. Specifically, the device may include a unit and / or module for performing a communication method proposed in the present application, such as a transceiver unit and / or a processing unit. In the present application, the communication device is applied to a cloud management platform. Alternatively, the communication device is a cloud management platform.

[0039] In a fourth aspect, the present application provides a communication device, the device comprising: at least one processor, configured to execute a computer program or instruction stored in a memory to perform the method of the first aspect or the second aspect. Optionally, the device further comprises a memory, configured to store a computer program or instruction. Optionally, the device further comprises a communication interface, and the processor reads the computer program or instruction stored in the memory through the communication interface.

[0040] In one implementation, the device is a communication device used in a cloud management platform for implementing the functions of the above communication method in a chip. Alternatively, the device is a cloud management platform.

[0041] In another implementation, the device is a chip, a chip system or a circuit applied to a cloud management platform for implementing the functions of the above-mentioned communication method in a chip.

[0042] In a fifth aspect, the present application provides a processor, comprising: an input circuit, an output circuit, and a processing circuit. The processing circuit is used to receive a signal through the input circuit and transmit a signal through the output circuit, so that the processor executes the method of the first aspect or the second aspect.

[0043] In the specific implementation process, the processor can be one or more chips, the input circuit can be an input pin, the output circuit can be an output pin, and the processing circuit can be a transistor, a gate circuit, a trigger, and various logic circuits. The input signal received by the input circuit can be received and input by, for example, but not limited to, a transceiver, and the signal output by the output circuit can be, for example, but not limited to, output to a transmitter and transmitted by the transmitter, and the input circuit and the output circuit can be the same circuit, which is used as an input circuit and an output circuit at different times. The embodiments of the present application do not limit the specific implementation methods of the processor and various circuits.

[0044] For the operations such as sending and acquiring / receiving involved in the processor, unless otherwise specified, or unless they conflict with their actual function or internal logic in the relevant description, they can be understood as operations such as processor output, reception, input, etc., or as sending and receiving operations performed by the radio frequency circuit and antenna, and this application does not limit this.

[0045] In a sixth aspect, a processing device is provided, comprising a processor and a memory. The processor is used to read instructions stored in the memory, and can receive signals through a transceiver and transmit signals through a transmitter to execute the method of the first aspect or the second aspect.

[0046] Optionally, the number of the processors is one or more, and the number of the memories is one or more.

[0047] Optionally, the memory may be integrated with the processor, or the memory may be provided separately from the processor.

[0048] In the specific implementation process, the memory can be a non-transitory memory, such as a read-only memory (ROM), which can be integrated with the processor on the same chip or can be set on different chips respectively. The embodiments of the present application do not limit the type of memory and the setting method of the memory and the processor.

[0049] It should be understood that the related data interaction process, such as sending indication information, can be a process of outputting indication information from the processor, and receiving capability information can be a process of receiving input capability information by the processor. Specifically, the data output by the processor can be output to the transmitter, and the input data received by the processor can come from the transceiver. Among them, the transmitter and the transceiver can be collectively referred to as a transceiver.

[0050] The processing device in the sixth aspect may be one or more chips. The processor in the processing device may be implemented by hardware or by software. When implemented by hardware, the processor may be a logic circuit, an integrated circuit, etc.; when implemented by software, the processor may be a general-purpose processor implemented by reading software code stored in a memory, which may be integrated in the processor or located outside the processor and exist independently.

[0051] In the seventh aspect, a computing cluster is provided, comprising at least one computing device, each computing device comprising a processor and a memory; the processor of the at least one computing device is used to execute instructions stored in the memory of the at least one computing device, so that the computing device cluster executes the method described in any possible implementation of the first aspect or the second aspect, or so that the computing device cluster executes the method described in any possible implementation of the second aspect.

[0052] Optionally, the processor may be a general-purpose processor, which may be implemented by hardware or software. When implemented by hardware, the processor may be a logic circuit, an integrated circuit, etc.; when implemented by software, the processor may be a general-purpose processor implemented by reading software code stored in a memory, which may be integrated in the processor or located outside the processor and exist independently.

[0053] In an eighth aspect, a computer-readable storage medium is provided, which stores a program code for execution by a device, wherein the program code includes a method for executing the first aspect or the second aspect.

[0054] In a ninth aspect, a computer program product comprising instructions is provided, which, when executed on a computer, enables the computer to execute the method in the first or second aspect.

[0055] In a tenth aspect, a chip system is provided, comprising a processor for calling and running a computer program from a memory, so that a device equipped with the chip system executes the method of the first or second aspect above.

[0056] In the eleventh aspect, a cloud service system is provided, which includes a cloud management platform, and a computing node and / or a network node, wherein the cloud management platform is used to execute the method in any possible implementation of the first aspect, and the computing node is used to execute the related actions of the first ECS and the first DHCP server. Alternatively, the cloud management platform is used to execute the method in any possible implementation of the second aspect, and the computing node is used to execute the related actions of multiple ECSs in the second VPC and the related actions of the second DHCP server. The first DHCP server is deployed in the computing node or the network node; the second DHCP server is deployed in the computing node or the network node. BRIEF DESCRIPTION OF THE DRAWINGS

[0057] Figure 1 It is a schematic diagram of a scenario shown in this application.

[0058] Figure 2 It is a schematic diagram of a cloud service scenario used in this application.

[0059] Figure 3 It is a schematic flow chart of a communication method 300 provided in the present application.

[0060] Figure 4 It is a schematic diagram of the tenant enabling the ability to allocate multiple IP addresses to DHCP requests and the tenant specifying the allocated IP addresses provided by the present application.

[0061] Figure 5 It is a schematic diagram of the automatic allocation of IP addresses provided by this application.

[0062] Figure 6 This is a schematic diagram of the manual allocation of IP addresses by tenants provided in this application.

[0063] Figure 7 This is a schematic diagram provided by this application for tenants to view the IP addresses that have been used.

[0064] Figure 8 It is a schematic diagram of the distributed architecture of the DHCP server in the exclusive model provided in this application.

[0065] Fig. 9 It is a schematic diagram of the centralized architecture of the DHCP server in the exclusive mode provided by this application.

[0066] Fig.10 It is a schematic flow chart of a communication method 1000 provided in this application.

[0067] Fig.11 This is a schematic diagram of creating a DHCP IP resource pool for a tenant-specified VPC provided in this application.

[0068] Fig.12 This is another schematic diagram of the tenant enabling the ability to allocate multiple IP addresses to DHCP requests and the tenant specifying the allocated IP addresses provided by the present application.

[0069] Fig.13 This is another schematic diagram of the distributed architecture of the DHCP server in the sharing model provided in this application.

[0070] Fig.14 This is another schematic diagram of the centralized architecture of the DHCP server in the shared mode provided by this application.

[0071] Fig.15 This is a schematic diagram of a scenario to which this application is applicable.

[0072] Fig.16 This is another scenario schematic diagram applicable to this application.

[0073] Fig.17 It is a schematic block diagram of the communication device 1700 provided in this application.

[0074] Fig.18 It is a schematic block diagram of the communication device 1800 provided in this application.

[0075] Fig.19 This is a schematic diagram of the architecture of a computing device cluster provided by this application.

[0076] Fig. 20 It is a schematic diagram of the connection between computing devices 1100A and 1100B provided by the present application through a network. DETAILED DESCRIPTION

[0077] In order to facilitate understanding of the technical solution of the present application, the following first briefly introduces some of the professional terms involved in the present application.

[0078] 1. Dynamic host configuration protocol (DHCP)

[0079] DHCP is a network protocol for local area networks. The protocol allows a server to dynamically assign Internet Protocol (IP) addresses and configuration information to clients. DHCP is usually used to automatically assign IP addresses to users in an intranet or network service provider.

[0080] 2. Client hardware address (CHADDR)

[0081] The field in the DHCP message that represents the client's hardware information is used as the client's unique identifier. It is 16 bytes in size. When the client sends a DHCP request, it can fill in its own hardware address. For Ethernet, CHADDR is the MAC address of the network card.

[0082] 3. Virtual private cloud (VPC)

[0083] VPC is a virtual network environment that is isolated and independently configured and managed by tenants for cloud servers, cloud containers, cloud databases and other resources. It can improve the security of tenants' cloud resources and simplify tenants' network deployment. Tenants can deploy cloud resources such as cloud servers, cloud databases, and cloud storage on demand in VPC. VPC provides a variety of network service functions, such as subnets, security groups, network access control lists (ACLs), routing tables, and domain name systems (DNS). It also provides external network access capabilities, such as VPC peering connections to achieve VPC inter-access, public network access based on public IP, and VPC and local inter-access based on VPN and dedicated gateways.

[0084] 4. Elastic cloud server (ECS)

[0085] ECS is a basic computing component consisting of a central processing unit (CPU), memory, operating system, and cloud hard disk. It is available at any time and is elastic and scalable.

[0086] 5. Elastic network interface (ENI)

[0087] ENI has a globally unique media access control address (MAC), which is used to bind the cloud server to provide network service capabilities. ENI can be understood as a virtual network card, which supports custom and randomly specified IP addresses.

[0088] 6. Tenants

[0089] "Tenant" is a logical concept. For example, after a person or an enterprise registers an account on a public cloud platform, the platform considers us to be a "tenant". The cloud system will allocate cloud resources based on "tenants" as the basic unit. Usually, tenants can rent services provided by cloud service providers on cloud computing platforms. Tenants need to provide identity information, contact information and contact information, as well as debit account information for paying cloud service rental.

[0090] It should be understood that tenants of cloud services can be individuals, enterprises, schools, hospitals, administrative agencies, etc.

[0091] 7. Cloud Management Platform

[0092] The cloud management platform can be used to provide an access interface (for example, an interface or an application programming interface (API). The tenant can operate the client remote access access interface to register a cloud account and password on the cloud management platform and log in to the cloud management platform. After the cloud management platform successfully authenticates the cloud account and password, the tenant can further pay to select and purchase a virtual machine with specific specifications (processor, memory, disk) on the cloud management platform. After the payment is successful, the cloud management platform provides the remote login account and password of the purchased virtual machine, and the client can remotely log in to the virtual machine to install and run the tenant's application in the virtual machine.

[0093] Cloud servers are one of the most popular computing resource service forms today, especially in the era of cloud computing. They are widely used to host websites, applications, databases and other applications. When using cloud servers, sometimes you need to configure multiple Internet Protocol (IP) addresses to expand the service of the application. For example, when building a cluster of Web servers, or when you need multiple services of different network properties, or when different clients need to access the Internet, you need to configure multiple IP addresses on the cloud server. Figure 1 This is a schematic diagram of a scenario applicable to this application, such as Figure 1 As shown, in a cloud service system, multiple clients, such as client #1, client #2, and client #3, actually need to apply to the remote desktop session host software (RDSH) for different IP addresses, and then access network resources based on different IP addresses. However, in existing solutions, one or more IP addresses can be obtained through manual static configuration, which is very inconvenient in actual use. For example, in some scenarios, when a tenant may temporarily need a large number of IP addresses, the tenant needs to perform static configuration before using them, which is very inconvenient and seriously affects the tenant's business experience. Therefore, in a cloud service system, a method for obtaining multiple Internet Protocol addresses is needed to ensure the tenant's business experience.

[0094] In view of this, the present application proposes a communication method, which can configure a first DHCP server for allocating multiple Internet Protocol IP addresses to the elastic network card of the first ECS based on the first configuration information of the tenant, thereby achieving in the cloud service system that the elastic network card of the first ECS can dynamically obtain multiple IP addresses through the DHCP server, which is convenient for the tenant to use and ensures the tenant's business experience.

[0095] The communication method provided in the embodiment of the present application can be applied to the cloud service scenario, and the method is executed by the cloud management platform in the cloud service scenario. Figure 2 , describe the cloud service scenarios in detail.

[0096] Figure 2 is a schematic block diagram of a cloud scenario applicable to an embodiment of the present application. Figure 2 As shown, the cloud scenario may include: a cloud management platform 110 , the Internet 120 , and a client 130 .

[0097] like Figure 2 As shown, the cloud management platform 110 is used to manage the infrastructure that provides multiple cloud services. The infrastructure includes multiple cloud data centers, each of which includes multiple servers, and each server includes cloud service resources to provide corresponding cloud services to tenants. In the embodiment of the present application, the cloud service resources can be cloud databases.

[0098] The cloud management platform 110 may be located in a cloud data center, which may provide an access interface (such as an interface or an application program interface (API)). The tenant may operate the client 130 to remotely access the access interface to register a cloud account and password on the cloud management platform 110, and log in to the cloud management platform 110. After the cloud management platform 110 successfully authenticates the cloud account and password, the tenant may further pay to select and purchase a virtual machine of specific specifications (processor, memory, disk) on the cloud management platform 110. After the paid purchase is successful, the cloud management platform 110 provides the remote login account and password of the purchased virtual machine, and the client 130 may remotely log in to the virtual machine, install and run the tenant's application in the virtual machine. Therefore, the tenant may create, manage, log in and operate virtual machines in the cloud data center through the cloud management platform 110.

[0099] The functions of the cloud management platform 110 include, but are not limited to, a tenant console, computing management services, network management services, storage management services, authentication services, and image management services. The tenant console provides an interface or API to interact with tenants. The computing management service is used to manage servers running virtual machines and containers and bare metal servers. The network management service is used to manage network services (such as gateways, firewalls, etc.). The storage management service is used to manage storage services (such as data bucket services). The authentication service is used to manage tenant accounts and passwords. The image management service is used to manage virtual machine images. Tenants can use the client 130 to log in to the cloud management platform 110 through the Internet 120 to manage the rented cloud services.

[0100] Figure 3 This is a schematic flow chart of a communication method 300 provided by the present application. The method can be applied to a cloud management platform, which is used to manage the infrastructure for providing cloud services. The infrastructure includes at least one virtual private cloud VPC, and each virtual private cloud VPC includes at least one elastic cloud server ECS. Figure 3 As shown, the method includes:

[0101] 301. A cloud management platform receives first configuration information from a tenant, where the first configuration information is used to indicate configuration of multiple IP addresses for an elastic network card of a first ECS in at least one ECS.

[0102] It should be understood that, usually, the attribute information of an ECS includes the VPC network to which it belongs. In other words, when a tenant specifies an ECS to enable the ability to request allocation of multiple IP addresses, the tenant can see in the attribute information of the ECS which VPC network the ECS belongs to.

[0103] 302. The cloud management platform configures a first DHCP server according to the first configuration information, where the first DHCP server is used to allocate multiple IP addresses to the elastic network card of the first ECS.

[0104] It should be understood that in this application, elastic cloud server (ECS) may also be referred to as "virtual machine", "elastic instance", etc., and has different names in different cloud service providers.

[0105] In the present application, a tenant may specify an ECS in a VPC to request allocation of multiple IP addresses, and the cloud management platform may configure the first DHCP server to allocate multiple IP addresses to the ECS. Figure 4 is a schematic diagram of a tenant interface in a cloud service system shown in this application, such as Figure 4 As shown in the figure, for example, a tenant can specify an ECS elastic network card in a VPC to enable the ability to use multiple DHCP IP addresses. Figure 4 In the example shown, once the button in the box is turned on, it means that the ENIC of the ECS has enabled the capability of multiple DHCP IP addresses.

[0106] In one possible implementation, the cloud management platform may receive second configuration information from the tenant, where the second configuration information includes: the range of multiple IP addresses input by the tenant, and the number of multiple IP addresses input by the tenant and / or the multiple IP addresses input by the tenant; the cloud management platform may configure the second configuration information to the first DHCP server.

[0107] For example, the tenant can also specify the range of multiple IP addresses of the elastic network card of the elastic cloud server. Figure 4 In the example shown, the IP address range of the elastic network card (for example, the ID of the elastic network card is: b06a697d-8097-46b4-9694-3ce047e6a83) of the elastic cloud server (for example, the ID of the elastic cloud server is ecs-f7dd) is: 192.168.1.126 ~ 192.168.1.127.

[0108] Specifically, after the tenant specifies the range of IP addresses, the tenant can manually allocate IP addresses or the VPC can automatically allocate IP addresses. For example, in this application, it is supported to allocate multiple IP addresses in the subnet to which the elastic network card currently belongs. The multiple IP addresses of the elastic network card can be automatically allocated by the DHCP server or manually allocated by the tenant. For example, Figure 5 As shown, in the automatic allocation mode, the tenant needs to specify the number of IP addresses to be allocated, and then the DHCP server can automatically allocate the available private IP addresses in the subnet. Figure 6 As shown, in the manual allocation mode, the tenant can manually fill in the IP address, for example, the tenant can manually fill in multiple IP addresses. Figure 7 As shown in the figure, before manually filling in the IP address, the tenant can also view the currently used IP addresses, and then manually fill in the unused IP addresses in the subnet, thereby allocating multiple IP addresses to the elastic network card of the ECS.

[0109] In a possible implementation, a first Dynamic Host Configuration Protocol DHCP server receives multiple first request messages from an elastic network card of a first elastic cloud server ECS, each first request message is used to request allocation of an IP address; the first Dynamic Host Configuration Protocol DHCP server determines the IP address corresponding to each first request message according to the multiple first request messages and the configured second configuration information; the first Dynamic Host Configuration Protocol DHCP server sends multiple first response messages to the elastic network card of the first elastic cloud server ECS, each response message carries an IP address, wherein the multiple first response messages correspond one-to-one to the multiple first request messages.

[0110] Furthermore, considering that the MAC address of the same elastic network card is the same, the MAC address cannot be filled in each DHCP request message, because the DHCP server will think it is the same DHCP request message and will only assign one IP address. At this time, each DHCP request message (example of the first request message) can carry the actual hardware address corresponding to each client, so as to distinguish the DHCP request messages, so that different IP addresses can be obtained respectively.

[0111] It should be understood that, generally, in some scenarios, the client hardware address needs to be managed and generated by each client itself; in other scenarios, the client hardware address can be allocated and specified by the tenant itself.

[0112] It can also be understood that the DHCP server determines the IP address corresponding to each request message based on the client hardware address carried in each DHCP request message, and the IP address corresponds to the client hardware address. It can also be understood that the multiple IP addresses assigned by the DHCP server correspond one-to-one with multiple client hardware addresses, that is, each client hardware address can correspond to an IP address.

[0113] In the present application, the cloud management platform can obtain a first mapping relationship, which includes a mapping relationship between multiple IP addresses and multiple client hardware addresses, wherein the multiple IP addresses correspond one-to-one to the multiple client hardware addresses; the cloud management platform can display the first mapping relationship to the tenant.

[0114] In a possible implementation, the cloud management platform can send a query message to a first Dynamic Host Configuration Protocol DHCP server, where the query message is used to query allocation information of multiple IP addresses; the cloud management platform can receive a response message from the first Dynamic Host Configuration Protocol DHCP server, where the response message carries a first mapping relationship, where the first mapping relationship includes a one-to-one correspondence between multiple IP addresses and multiple client hardware addresses; the cloud management platform can display the first mapping relationship to the tenant based on the response message.

[0115] In another possible implementation, the first Dynamic Host Configuration Protocol DHCP server may periodically report the first mapping relationship to the cloud management platform, and the cloud management platform may display the received first mapping relationship to the tenant.

[0116] Specifically, DHCP can be deployed in a distributed deployment architecture or a centralized deployment architecture, which are introduced below.

[0117] Method 1: Distributed architecture

[0118] For example, Figure 8 The distributed architecture is shown. In the distributed architecture, the computing node includes two VPCs, VPC#1 and VPC#2. Different VPCs are isolated from each other because the private network addresses of different VPCs may overlap (for example, they are all 192.168.0.0 / 24). For example, a DHCP server is pre-configured in each VPC, denoted as DHCP server#1 and DHCP server#2, where DHCP server#1 is used to allocate IP addresses for VM#1 to VM#3 in VPC#1. It should be noted that DHCP server#1 can only allocate one IP address to each VM in VM#1 to VM#3. Similarly, DHCP server#2 is used to allocate IP addresses for VM#5 to VM#6 in VPC#1. It should be noted that DHCP server#1 can only allocate one IP address to each VM in VM#5 and VM#6. At this time, if the tenant specifies a VM under a VPC to enable the function of requesting the DHCP server to allocate multiple IP addresses, the cloud management platform will start an additional independent DHCP server for it, so that the DHCP server supports dynamic allocation of multiple IP addresses for the VM. like Figure 8 In the example, it is assumed that the tenant specifies that VM#4 (an example of the first ECS) in VPC#2 has enabled the function of requesting the DHCP server to allocate multiple IP addresses. The cloud management platform can configure a separate DHCP server #A for it in the computing node, and the DHCP server #A can dynamically allocate multiple IP addresses for VM#4.

[0119] Method 2: Centralized architecture

[0120] Fig. 9 A centralized architecture is shown, in which a DHCP server cluster is included, and the DHCP server cluster includes multiple DHCP servers. Fig. 9The centralized architecture shown includes computing node #1 and computing node #2, wherein VPC #1 implements the provision of network services for different computing nodes, and VPC #2 also implements the provision of network services for different computing nodes. For example, VM #1 and VM #3 belong to the VPC #1 network, but VM #1 is deployed in computing node #1, and VM #3 is deployed in computing node #2; for example, VM #2 and VM #4 belong to the VPC #2 network, but VM #2 is deployed in computing node #1, and VM #4 is deployed in computing node #4. If a tenant specifies a VM in a VPC and enables the function of requesting the DHCP server to allocate multiple IP addresses, the cloud management platform will configure an additional DHCP server for it, and the DHCP server supports dynamic allocation of IP addresses for the VM. Fig. 9 In the example, it is assumed that the tenant specifies that VM#4 in VPC#2 (an example of the first ECS) and VM#1 in VPC#1 (another example of the first ECS) both have the function of allocating multiple IP addresses to DHCP requests enabled. The cloud management platform can configure a DHCP server for each of the two VMs. For example, the cloud management platform can configure DHCP server #A for VM#1 and DHCP server #B for VM#2. DHCP server #A can allocate multiple IP addresses to VM#1, and DHCP server #B can dynamically allocate multiple IP addresses to VM#4.

[0121] Exemplarily, the DHCP server cluster may be a computing node, or the DHCP server cluster may be a network node, or the DHCP server cluster may be other types of nodes, without limitation.

[0122] The solution proposed in method 300 can also be understood as an "exclusive DHCP server", that is, a DHCP server is associated with a certain ECS in a certain VPC. For example, it can be understood that the cloud management platform can allocate a separate DHCP server to the elastic network card of each ECS. Taking into account the actual different application scenarios, the following method 900 proposes a "shared DHCP IP address pool" solution, that is, multiple ECS under a certain VPC can share the same DHCP IP address pool, and the DHCP IP address pool can allocate multiple IP addresses to the elastic network of each ECS in the multiple ECS included in the VPC.

[0123] Fig.10 1 is a schematic flow chart of a communication method 1000 provided by the present application. The method can be applied to a cloud management platform, which is used to manage the infrastructure for providing cloud services. The infrastructure includes at least one virtual private cloud VPC, and each virtual private cloud VPC includes at least one elastic cloud server ECS. Fig.10As shown, the method includes:

[0124] 1001. A cloud management platform receives third configuration information from a tenant, where the third configuration information is used to instruct to create a DHCP IP address pool for a second VPC in at least one VPC.

[0125] like Fig.11 As shown in the figure, tenants can specify a DHCP IP address pool to be created for a VPC.

[0126] 1002. The cloud management platform configures a DHCP IP address pool according to the third configuration information.

[0127] 1003. The cloud management platform receives fourth configuration information from the tenant, where the fourth configuration information is used to indicate configuration of multiple IP addresses for the elastic network card of the second ECS.

[0128] In the present application, the second elastic cloud server ECS is one of the elastic cloud servers ECS included in the second virtual private cloud VPC.

[0129] It can also be understood that, in this application, the DHCP IP address pool can allocate multiple IP addresses to each ECS of all ECSs included in the second VPC, but the tenant needs to specify which ECS has enabled the ability to request the allocation of multiple IP addresses. In other words, in this application, the user can specify one or some ECSs in the second VPC to enable this capability.

[0130] 1004. According to the fourth configuration information, the cloud management platform configures a second DHCP server for the DHCP IP address pool, wherein the second DHCP server is used to manage addresses in the DHCP IP address pool.

[0131] 1005. The cloud management platform receives fifth configuration information from the tenant, where the fifth configuration information is used to indicate that multiple ECSs included in the second VPC are associated with the DHCP IP address pool.

[0132] 1006. The cloud management platform configures the second DHCP server to configure multiple IP addresses for the elastic network card of each of the multiple ECSs included in the second VPC according to the fifth configuration information.

[0133] like Fig.12As shown, the tenant can specify the elastic network card of a certain (or several) elastic cloud server ECS under a certain VPC to enable the ability to request multiple IPs from the DHCP IP address pool, and the tenant can specify which DHCP IP address pool the elastic network card of the elastic cloud server ECS is associated with. It should be noted that, usually, since a DHCP IP address pool is created for a certain VPC, the ECS in the VPC will be associated with the DHCP IP address pool in the future.

[0134] In this application, the cloud management platform can create a dedicated DHCP server for the DHCP IP address pool based on the fourth configuration information, and the DHCP server can manage the addresses in the DHCP IP address pool and be used to allocate multiple IP addresses to the elastic network card of each ECS in the multiple ECS under the second VPC. It can also be understood that multiple ECS can share the same DHCP IP address pool, that is, the second DHCP server can allocate multiple IP addresses to the elastic network card of each ECS in the multiple ECS.

[0135] In this application, in this scenario, the DHCP IP pool server can be shared. It can also be understood that multiple ECSs under the same VPC can share the IP addresses in the DHCP IP pool. At this time, for example, ECS#1, ECS#2, and ECS#3 in the second VPC can share the same DHCP IP pool. It can also be understood that at this time, the second DHCP server can simultaneously allocate multiple IP addresses to multiple ECSs in the second VPC.

[0136] In this application, the DHCP IP pool is used to store IP addresses, wherein the range of stored IP addresses, the number of IP addresses, and which IP addresses are specifically included are configured by the tenant. This application proposes a DHCP IP address pool in order to maximize the utilization of IP addresses and avoid IP address fragmentation. The use of a DHCP IP address pool can recycle IP addresses that are not needed by the client and allocate the IP addresses to other clients in a timely manner, thereby maximizing resource utilization and saving IP address resources.

[0137] In one possible implementation, the cloud management platform may receive sixth configuration information from the tenant, the sixth configuration information being used to configure Internet Protocol IP address information for the DHCP IP address pool, the sixth configuration information including: the range of multiple IP addresses entered by the tenant, and the number of multiple IP addresses entered by the tenant and / or multiple IP addresses entered by the tenant; the sixth configuration information is configured to the second DHCP server. For example, the tenant may also view the currently used IP addresses, and then add unused IP addresses to the DHCP IP pool. Further, the cloud management platform may configure the sixth configuration information to the second DHCP server. Specifically, method 900 also supports automatic allocation of IP addresses and manual allocation of IP addresses. For specific implementation, please refer to the relevant introduction to IP address allocation in the above method 300, which will not be repeated here.

[0138] In a possible implementation, the second DHCP server receives multiple second request messages from the elastic network card of the second elastic cloud server ECS, each second request message is used to request allocation of an IP address; the second DHCP server determines the IP address corresponding to each second request message according to the multiple second request messages and the configured fifth configuration information; the second DHCP server sends multiple second response messages to the elastic network card of the second ECS, each second response message carries an IP address, wherein the multiple second response messages correspond one-to-one to the multiple second request messages.

[0139] Furthermore, considering that the MAC address of the same elastic network card is the same, the MAC address cannot be filled in each DHCP request message, because the DHCP server will think it is the same DHCP request message and will only assign one IP address. At this time, each DHCP request message (an example of the second request message) can carry the actual hardware address corresponding to each client, so as to distinguish the DHCP request messages, so that different IP addresses can be obtained respectively.

[0140] It should be understood that, generally, in some scenarios, the client hardware address needs to be managed and generated by each client itself; in other scenarios, the client hardware address can be allocated and specified by the tenant itself.

[0141] It can also be understood that the DHCP server determines the IP address corresponding to each request message based on the client hardware address carried in each DHCP request message, and the IP address corresponds to the client hardware address. It can also be understood that the multiple IP addresses assigned by the DHCP server correspond one-to-one with multiple client hardware addresses, that is, each client hardware address can correspond to an IP address.

[0142] In one possible implementation, the cloud management platform can send a query message to the second Dynamic Host Configuration Protocol DHCP server, where the query message is used to query the allocation information of multiple IP addresses; the cloud management platform can receive a response message from the second Dynamic Host Configuration Protocol DHCP server, where the response message carries a second mapping relationship, where the second mapping relationship includes a one-to-one correspondence between multiple IP addresses and multiple client hardware addresses; the cloud management platform can display the second mapping relationship to the tenant based on the response message.

[0143] Specifically, DHCP can be deployed in a distributed deployment architecture or a centralized deployment architecture, which are introduced below.

[0144] Method 1: Distributed architecture

[0145] For example, VPC can start a separate DHCP server for the DHCP IP pool created by the tenant, support multiple ECSs to dynamically request IP addresses from the DHCP server, and the tenant can limit the range of IP addresses. Fig.13For example, suppose there are two computing nodes, computing node #1 and computing node #2, where VPC #1 implements network services for different computing nodes, and VPC #2 also implements network services for different computing nodes. For example, VM #1, VM #2, VM #5, and VM #6 belong to the VPC #1 network, but VM #1 and VM #2 are deployed on computing node #1, and VM #5 and VM #6 are deployed on computing node #2; VM #3, VM #4, VM ​​#7, and VM #8 belong to the VPC #2 network, but VM #3 and VM #4 are deployed on computing node #1, and VM #7 and VM #8 are deployed on computing node #2. Among them, VM #1 in VPC #1 has enabled the ability to request multiple IP addresses from the DHCP IP address pool, and VM #5 in VPC #2 has enabled the ability to apply for multiple IP addresses from the DHCP IP address pool. For example, at this time, the cloud management platform can start a DHCP server separately for the DHCP IP address pool. For example, the DHCP server is DHCP#A, which is used to allocate multiple IP addresses to VM#1. At the same time, since VM#5 is also associated with the DHCP IP address pool, the DHCP server can also allocate multiple IP addresses to VM#5. It can also be understood that the DHCP server can allocate multiple IP addresses to VM#1 and VM#5 at the same time. It should be understood that since VM#1 is deployed in computing node #1 and VM#5 is deployed in computing node #2, it can also be understood that the DHCP server is deployed in computing node #1, and the same configuration of the DHCP service can also be deployed in computing node #2. At this time, although it seems that each computing node has the DHCP server, in fact, the DHCP server has the same configuration, or it can also be understood that the configurations of the two DHCP servers are synchronized.

[0146] It should be noted that in this scenario, the same DHCP server between different computing nodes needs to synchronize the allocated IP addresses to prevent IP addresses from being allocated to different VMs at the same time.

[0147] Architecture #B: Centralized Architecture

[0148] In a centralized architecture, you can start an independent DHCP server for the DHCP IP address pool in the DHCP server cluster. The DHCP server supports dynamically allocating multiple IP addresses to multiple ECS instances. Fig.14For example, suppose there are two computing nodes, computing node #1 and computing node #2, wherein the tenant specifies that each of the multiple ECSs in VPC #1 has enabled the ability to apply for multiple IP addresses from the DHCP IP address pool. For example, VM #2 and VM #4 can request multiple IP addresses from the DHCP IP address pool. Since the tenant can specify that the multiple ECSs included in VPC #1 are associated with the DHCP IP resource pool, DHCP server #A can allocate multiple IP addresses to VM #2 and VM #4 respectively. It can also be understood that the DHCP server can allocate multiple IP addresses to VM #2 and VM #4 at the same time.

[0149] Exemplarily, the DHCP server cluster may be a computing node, or the DHCP server cluster may be a network node, or the DHCP server cluster may be other types of nodes, without limitation.

[0150] In this application, the DHCP server can allocate IP addresses within the range specified by the tenant. If the IP addresses have been allocated, the ECS cannot request an IP address. It should be noted that in this application, the tenant can view the IP addresses that the current DHCP server has dynamically allocated.

[0151] In this application, tenants can also adjust the IP address range. For example, tenants can delete IP addresses, but tenants can only remove unassigned IP addresses to prevent accidental deletion; if tenants want to delete assigned IP addresses, the DHCP client needs to execute the DHCP release IP address process to abandon the IP address, so that the DHCP server can return the IP address to an unassigned state. For another example, tenant devices can also add IP addresses, such as tenant devices can add IP addresses within the specification limits allowed by the VM.

[0152] Usually, there is a limit on the number of IP addresses that a single virtual machine can apply for. Usually, the number of IP addresses that a single virtual machine can apply for is related to the specifications of the virtual machine (for example, a 1U2G virtual machine can only apply for 2 IP addresses, and a 2U4G virtual machine can apply for 4 IP addresses). For example, a virtual machine may support a maximum of 50 IP addresses.

[0153] The following three scenarios are used as specific examples:

[0154] Scene 1

[0155] Fig.15A scenario of multiple remote desktop protocols (RDP) in Windows RDSH is shown. In this scenario, when the Windows system applies for an IP address for each RDP, it will automatically generate a different hardware address instead of using the MAC address of its own elastic network card. Each DHCP request message can carry its own hardware address, so multiple IP addresses can be obtained from the DHCP server through multiple DHCP request messages. Fig.13 As shown, there is a "mapping relationship" ("mapping relationship" can also be understood as a "corresponding relationship") between the hardware address of each client and the IP address allocated by the DHCP server to each client, and the DHCP client can record the mapping relationship.

[0156] Scene 2

[0157] Fig.16 A nested virtualization scenario is shown, such as Fig.15 As shown in the figure, in the nested virtualization scenario, three small VMs are virtualized inside an elastic server. The three VMs inside are independent and have their own independent MAC addresses. After the VM is started, each will send a DHCP request message to the DHCP server through the elastic network card. At this time, the client hardware address in the DHCP request message is the MAV address of each VM. After receiving each DHCP request message, the DHCP server will allocate an IP address within the range specified by the tenant to each VM, and record the mapping relationship between the client hardware address and the allocated IP address.

[0158] Scene 3

[0159] Taking the example of obtaining multiple IP addresses for a single network card in a Linux virtual machine, tenants need to manage different client hardware addresses by themselves in the Linux virtual machine, and obtain different IP addresses based on different client hardware addresses. Taking the udhcpc command as an example, tenants can manually specify the client hardware address, and obtain the IP address assigned to the specified network card by DHCP based on different client hardware addresses. For example, the assigned IP address is "udhcpc-i eth0:1-x 0x3d:0100BEEFC0FFEE".

[0160] It can be understood that the term "and / or" in this article is only a description of the association relationship of the associated objects, indicating that there can be three relationships. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. In addition, the character " / " in this article generally indicates that the associated objects before and after are in an "or" relationship.

[0161] Those skilled in the art should be aware that, in combination with the units and algorithm steps of each example described in the embodiments disclosed herein, the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is performed in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.

[0162] The embodiment of the present application can divide the computing device into functional modules according to the above method example. For example, each functional module can be divided corresponding to each function, or two or more functions can be integrated into one processing module. The above integrated module can be implemented in the form of hardware or in the form of software functional modules. It should be noted that the division of modules in the embodiment of the present application is schematic and is only a logical function division. There may be other division methods in actual implementation. The following is an example of dividing each functional module corresponding to each function.

[0163] Fig.17 17 is a schematic block diagram of a communication device 1700 provided in an embodiment of the present application. As shown in the figure, the computing device 1700 may include: a transceiver module 1710 and a processing module 1720.

[0164] Among them, the above-mentioned modules are respectively used to execute the steps of the above-mentioned methods, which will not be repeated here.

[0165] It should also be understood that the communication device 1700 herein is embodied in the form of a functional unit. The term "unit" herein may refer to an application specific integrated circuit (ASIC), an electronic circuit, a processor (e.g., a shared processor, a dedicated processor, or a group processor, etc.) and a memory for executing one or more software or firmware programs, a combined logic circuit, and / or other suitable components that support the described functions.

[0166] The communication device 1700 of each of the above schemes has the function of implementing the corresponding steps of the above method 300 and method 1000. The function can be implemented by hardware, or by hardware executing the corresponding software. The hardware or software includes one or more modules corresponding to the above functions; for example, the determination unit can be replaced by a processor to respectively perform the transceiver operations and related processing operations in each method embodiment. In addition, the determination unit can be a processing circuit.

[0167] In a possible implementation, device 1700 may be a communication device used in the cloud management platform in the above-mentioned method 300 or method 1000, and the device is used to execute the actions in the above-mentioned method 300 or method 1000.

[0168] In another possible implementation, the device 1700 may be the cloud management platform in the above-mentioned method 300 or method 1000, and the cloud management platform is used to execute the actions in the above-mentioned method 300 or method 1000.

[0169] It should be pointed out that Fig.17 The communication device in the above method can be the cloud management platform (or the communication device in the cloud management platform) in the above method embodiment, or it can be a chip or chip system corresponding to the cloud management platform (or the communication device in the cloud management platform), such as a system on chip (SoC). The processing unit is a processor or microprocessor or integrated circuit integrated on the chip. This is not limited here.

[0170] Fig.18 1 is a schematic block diagram of another communication device 1800 provided in an embodiment of the present application. As shown in the figure, the device 1800 includes: at least one processor 1820. The processor 1820 is coupled to the memory and is used to execute instructions stored in the memory to send signals and / or receive signals. Optionally, the device 1800 also includes a memory 1830 for storing instructions. Optionally, the device 1800 also includes a transceiver 1810, and the processor 1820 controls the transceiver 1810 to send signals and / or receive signals.

[0171] It should be understood that the processor 1820 and the memory 1830 may be combined into one processing device, and the processor 1820 is used to execute the program code stored in the memory 1830 to implement the above functions. In specific implementation, the memory 1830 may also be integrated into the processor 1820 or independent of the processor 1820.

[0172] It should also be understood that the transceiver 1810 may include a transceiver (or receiver) and a transmitter (or transmitter). The transceiver may further include an antenna, and the number of antennas may be one or more. The transceiver 1810 may also be a communication interface or an interface circuit.

[0173] Specifically, the processor 1820 in the device 1800 may correspond to the processing module 1720 in the device 1700. The transceiver 1810 in the device 1800 may correspond to the processing module 1710 in the device 1700.

[0174] As a solution, the device 1800 is used to implement the steps corresponding to the communication device applied in the cloud management platform in the above method 300 embodiment and method 1000.

[0175] As another solution, the device 1800 is used to implement the steps corresponding to the cloud management platform in the above method 300 embodiment and method 1000.

[0176] For example, the processor 1820 is used to execute the computer program or instructions stored in the memory 1830 to implement the various steps in the above methods 300 and 1000.

[0177] Fig.19 : is a schematic diagram of the architecture of a computing device cluster provided in an embodiment of the present application. The computing device cluster includes at least one computing device. The computing device may be a server, such as a central server, an edge server, or a local server in a local data center. In some embodiments, the computing device may also be a terminal device such as a desktop computer, a laptop computer, or a smart phone. Fig.17 As shown, the computing device cluster includes at least one computing device 1000. The memory 1030 in one or more computing devices 1000 in the computing device cluster may store the same instructions for executing the actions executed by the cloud management platform (or the communication device in the cloud management platform) in the above embodiment 300 and method 1000.

[0178] In some possible implementations, the memory 1030 of one or more computing devices 1000 in the computing device cluster may also store partial instructions for executing the method 300 described in the above embodiment and the actions performed by the cloud management platform (or, the communication device in the cloud management platform) in the method 1000. In other words, the combination of one or more computing devices 1000 may jointly execute instructions for executing the actions performed by the cloud management platform (or, the communication device in the cloud management platform) described in the above embodiment.

[0179] It should be noted that the memory 1030 in different computing devices 1000 in the computing device cluster may store different instructions, which are respectively used to execute part of the functions of the computing device 1000. That is, the instructions stored in the memory 1030 in different computing devices 1000 may implement the functions of one or more modules of the transceiver module 1710 and the processing module 1720.

[0180] Alternatively, the memory 1030 in different computing devices 1000 in the computing device cluster may store different instructions, which are respectively used to execute part of the functions of the cloud management platform (or the communication devices in the cloud management platform) corresponding to the above communication devices 1700 to 1800. That is, the instructions stored in the memory 1030 in different computing devices 1000 can implement the functions of one or more modules in the transceiver module 1710 and the processing module 1720.

[0181] In some possible implementations, one or more computing devices in the computing device cluster may be connected via a network, which may be a wide area network or a local area network. Fig. 20 A possible implementation is shown. Fig. 20 As shown, two computing devices 1100A and 1100B are connected via a network. Specifically, they are connected to the network via a communication interface in each computing device.

[0182] It should be understood that Fig. 20 The functions of the computing device 1100A shown in FIG. 1 may also be completed by multiple computing devices 1000. Similarly, the functions of the computing device 1100B may also be completed by multiple computing devices 1000.

[0183] In this embodiment, a computer program product including instructions is also provided, and the computer program product may be software or a program product including instructions that can be run on a computing device cluster or stored in any available medium. When the computer program product is run by a computing device cluster, the computing device cluster executes the method provided above, or the computing device cluster implements the function of the apparatus provided above.

[0184] In this embodiment, a computer-readable storage medium is also provided, and the computer-readable storage medium can be any available medium that can be stored by a computing device or a data storage device such as a data center containing one or more available media. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a magnetic tape), an optical medium (e.g., a digital video disc (DVD)), or a semiconductor medium (e.g., a solid-state hard disk), etc. The computer-readable storage medium includes instructions, and when the instructions in the computer-readable storage medium are executed on a computing device, the computing device executes the method provided above.

[0185] In this embodiment, a computer-readable storage medium is also provided, and the computer-readable storage medium can be any available medium that can be stored by a computing device or a data storage device such as a data center that includes one or more available media. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state hard disk), etc. The computer-readable storage medium includes instructions, and when the instructions in the computer-readable storage medium are executed by a computing device cluster, the computing device cluster executes the method provided above.

[0186] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.

[0187] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.

[0188] In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0189] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0190] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.

[0191] If the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application can be essentially or partly embodied in the form of a software product that contributes to the prior art. The computer software product is stored in a storage medium and includes several instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the methods described in each embodiment of the present application. The aforementioned storage medium includes: various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.

[0192] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.

Claims

1. A communication method, characterized in that: The method is applied to a cloud management platform, the cloud management platform is used to manage the infrastructure for providing cloud services, the infrastructure includes at least one virtual private cloud VPC, each virtual private cloud VPC includes at least one elastic cloud server ECS, the method includes: Receive first configuration information from a tenant, where the first configuration information is used to indicate configuration of multiple Internet Protocol IP addresses for an elastic network card of a first elastic cloud server ECS in the at least one elastic cloud server ECS; A first Dynamic Host Configuration Protocol DHCP server is configured according to the first configuration information, where the first Dynamic Host Configuration Protocol DHCP server is used to allocate multiple IP addresses to the elastic network card of the first elastic cloud server ECS.

2. The method according to claim 1, characterized in that The method further comprises: receiving second configuration information from the tenant, the second configuration information comprising: a range of the IP addresses input by the tenant, and the number of the multiple IP addresses input by the tenant and / or the multiple IP addresses input by the tenant; The second configuration information is configured to the first Dynamic Host Configuration Protocol DHCP server.

3. The method according to claim 2, characterized in that: The method further comprises: The first Dynamic Host Configuration Protocol DHCP server receives multiple first request messages from the elastic network card of the first elastic cloud server ECS, each first request message is used to request allocation of an IP address; The first Dynamic Host Configuration Protocol DHCP server determines the IP address corresponding to each first request message according to the multiple first request messages and the configured second configuration information; The first Dynamic Host Configuration Protocol DHCP server sends multiple first response messages to the elastic network card of the first elastic cloud server ECS, each first response message carries an IP address, wherein the multiple first response messages correspond one-to-one to the multiple first request messages.

4. The method according to claim 3, characterized in that Each first request message carries a client hardware address, and the multiple IP addresses are allocated by the first Dynamic Host Configuration Protocol DHCP server to the elastic network card of the first elastic cloud server ECS according to the multiple client hardware addresses, and the multiple IP addresses correspond one-to-one to the multiple client hardware addresses.

5. The method according to claim 4, characterized in that The method further comprises: Acquire a first mapping relationship, wherein the first mapping relationship includes a mapping relationship between the multiple IP addresses and the multiple client hardware addresses, wherein the multiple Internet Protocol IP addresses correspond to the multiple client hardware addresses one by one; The first mapping relationship is displayed to the tenant.

6. The method according to any one of claims 1 to 5, characterized in that The first DHCP server is deployed in a first computing node, and the first computing node includes the first elastic cloud server ECS; or, The first DHCP server is deployed in a DHCP server cluster, and the DHCP server cluster is a computing node or a network node.

7. A communication method, characterized in that: The method is applied to a cloud management platform, the cloud management platform is used to manage the infrastructure for providing cloud services, the infrastructure includes at least one virtual private cloud VPC, each private cloud VPC includes multiple elastic cloud servers ECS, the method includes: receiving third configuration information from the tenant, wherein the third configuration information is used to instruct to create a Dynamic Host Configuration Protocol Internet Protocol DHCP IP address pool for a second virtual private cloud VPC in the at least one virtual private cloud VPC; According to the third configuration information, configure the Dynamic Host Configuration Protocol Internet Protocol DHCP IP address pool; Receive fourth configuration information from the tenant, the fourth configuration information being used to instruct to configure multiple Internet Protocol IP addresses for an elastic network card of a second elastic cloud server ECS in the at least one elastic cloud server ECS, wherein the second elastic cloud server ECS is one of the elastic cloud servers ECS included in the second virtual private cloud VPC; According to the fourth configuration information, configuring a second dynamic host configuration protocol DHCP server for the dynamic host configuration protocol Internet Protocol DHCP IP address pool, wherein the second dynamic host configuration protocol DHCP server is used to manage addresses in the dynamic host configuration protocol Internet Protocol DHCP IP address pool; Receive fifth configuration information from the tenant, where the fifth configuration information is used to indicate that a plurality of elastic cloud servers (ECS) included in the second virtual private cloud (VPC) are associated with the dynamic host configuration protocol (Internet protocol) (DHCP) IP address pool; According to the fifth configuration information, the second Dynamic Host Configuration Protocol DHCP server is configured to configure the multiple IP addresses for the elastic network card of each elastic cloud server ECS in the multiple elastic cloud servers ECS included in the second virtual private cloud VPC.

8. The method according to claim 7, characterized in that The method further comprises: receiving sixth configuration information from the tenant, the sixth configuration information being used to configure the information of the IP address for the Dynamic Host Configuration Protocol Internet Protocol DHCP IP address pool, the sixth configuration information comprising: the range of the multiple IP addresses input by the tenant, and the number of the multiple IP addresses input by the tenant and / or the multiple IP addresses input by the tenant; The sixth configuration information is configured to the second Dynamic Host Configuration Protocol DHCP server.

9. The method according to claim 7 or 8, characterized in that: The method further comprises: The second Dynamic Host Configuration Protocol DHCP server receives multiple second request messages from the elastic network card of the second elastic cloud server ECS, each second request message is used to request allocation of an IP address; The second Dynamic Host Configuration Protocol DHCP server determines the IP address corresponding to each second request message according to the multiple second request messages and the configured fifth configuration information; The second Dynamic Host Configuration Protocol DHCP server sends multiple second response messages to the elastic network card of the second elastic cloud server ECS, each second response message carries an IP address, wherein the multiple second response messages correspond one-to-one to the multiple second request messages.

10. The method according to claim 9, characterized in that Each first request message carries a client hardware address, and the multiple IP addresses are allocated by the second Dynamic Host Configuration Protocol DHCP server to the elastic network card of the second elastic cloud server ECS according to the multiple client hardware addresses, and the multiple IP addresses correspond one-to-one to the multiple client hardware addresses.

11. The method according to claim 10, characterized in that The method further comprises: Acquire a second mapping relationship, wherein the second mapping relationship includes a mapping relationship between the multiple IP addresses and the multiple client hardware addresses, wherein the multiple IP addresses correspond to the multiple client hardware addresses one-to-one; The second mapping relationship is displayed to the tenant.

12. The method according to any one of claims 7 to 11, characterized in that The second Dynamic Host Configuration Protocol DHCP server is deployed on a second computing node, and the second computing node includes the second elastic cloud server ECS; or, The second DHCP server is deployed in a DHCP server cluster, and the DHCP server cluster is a computing node or a network node.

13. A communication device, characterized in that: The communication device is applied to a cloud management platform, and the cloud management platform is used to manage the infrastructure for providing cloud services, the infrastructure includes at least one virtual private cloud VPC, each virtual private cloud VPC includes at least one elastic cloud server ECS, and the device includes: a transceiver module and a processing module, The transceiver module is used to receive first configuration information from a tenant, where the first configuration information is used to indicate configuration of multiple Internet Protocol IP addresses for an elastic network card of a first elastic cloud server ECS in the at least one elastic cloud server ECS; The processing module is used to configure a first Dynamic Host Configuration Protocol DHCP server according to the first configuration information, and the first Dynamic Host Configuration Protocol DHCP server is used to allocate multiple IP addresses to the elastic network card of the first elastic cloud server ECS.

14. The communication device according to claim 13, characterized in that The transceiver module is used to receive second configuration information from the tenant, wherein the second configuration information includes: a range of the multiple IP addresses input by the tenant, and the number of the multiple IP addresses input by the tenant and / or the multiple IP addresses input by the tenant; The processing module is used to configure the second configuration information to the first Dynamic Host Configuration Protocol DHCP server.

15. The communication device according to claim 13, characterized in that The transceiver module is used to obtain a first mapping relationship, wherein the first mapping relationship includes a mapping relationship between the multiple IP addresses and the multiple client hardware addresses, wherein the multiple IP addresses correspond to the multiple client hardware addresses one by one; The processing module is used to display the first mapping relationship to the tenant.

16. The communication device according to any one of claims 13 to 15, characterized in that: The first DHCP server is deployed in a second computing node, and the second computing node includes the second elastic cloud server ECS; or, The first DHCP server is deployed in a DHCP server cluster, and the DHCP server cluster is a computing node or a network node.

17. A communication device, characterized in that: The communication device is applied to a cloud management platform, and the cloud management platform is used to manage the infrastructure for providing cloud services, and the infrastructure includes at least one virtual private cloud VPC, and each private cloud VPC includes multiple elastic cloud servers ECS. The communication device includes: a transceiver module and a processing module, The transceiver module is used to receive third configuration information from the tenant, where the third configuration information is used to instruct to create a dynamic host configuration protocol Internet protocol DHCP IP address pool for a second virtual private cloud VPC in the at least one virtual private cloud VPC; The processing module is used to configure the Dynamic Host Configuration Protocol Internet Protocol DHCP IP address pool according to the third configuration information; The transceiver module is used to receive fourth configuration information from the tenant, and the fourth configuration information is used to indicate that a plurality of Internet Protocol IP addresses are configured for an elastic network card of a second elastic cloud server ECS in the at least one elastic cloud server ECS, wherein the second elastic cloud server ECS is one of the elastic cloud servers ECS included in the second virtual private cloud VPC; The processing module is used to configure a second dynamic host configuration protocol DHCP server for the dynamic host configuration protocol Internet Protocol DHCP IP address pool according to the fourth configuration information, wherein the second dynamic host configuration protocol DHCP server is used to manage addresses in the dynamic host configuration protocol Internet Protocol DHCP IP address pool; The transceiver module is used to receive fifth configuration information from the tenant, where the fifth configuration information is used to indicate that a plurality of elastic cloud servers ECS included in the second virtual private cloud VPC are associated with the dynamic host configuration protocol Internet protocol DHCP IP address pool; The processing module is used to configure the second dynamic host configuration protocol DHCP server to configure the multiple IP addresses for the elastic network card of each elastic cloud server ECS in the multiple elastic cloud servers ECS included in the second virtual private cloud VPC according to the fifth configuration information.

18. The communication device according to claim 17, characterized in that The transceiver module is used to receive sixth configuration information from the tenant, the sixth configuration information is used to configure IP address information for the Dynamic Host Configuration Protocol Internet Protocol DHCP IP address pool, and the sixth configuration information includes: the range of the multiple IP addresses input by the tenant, and the number of the multiple IP addresses input by the tenant and / or the multiple IP addresses input by the tenant; The processing module is used to configure the sixth configuration information to the second Dynamic Host Configuration Protocol DHCP server.

19. The communication device according to claim 17 or 18, characterized in that: The transceiver module is used to obtain a second mapping relationship, wherein the second mapping relationship includes a mapping relationship between the multiple IP addresses and the multiple client hardware addresses, wherein the multiple IP addresses correspond to the multiple client hardware addresses one by one; The processing module is used to display the second mapping relationship to the tenant.

20. The communication device according to any one of claims 17 to 19, characterized in that: The second Dynamic Host Configuration Protocol DHCP server is deployed on a second computing node, and the second computing node includes the second elastic cloud server ECS; or, The second DHCP server is deployed in a DHCP server cluster, and the DHCP server cluster is a computing node or a network node.

21. A computing device, characterized in that The method comprises a processor and a memory, wherein the processor runs instructions in the memory so that the processor executes the method according to any one of claims 1 to 6, or the processor executes the method according to any one of claims 7 to 12.

22. A computing device cluster, characterized in that: comprising at least one computing device, each computing device comprising a processor and a memory; The processor of the at least one computing device is used to execute instructions stored in the memory of the at least one computing device, so that the computing device cluster executes the method as claimed in any one of claims 1 to 6, or so that the computing device cluster executes the method as claimed in any one of claims 7 to 12.

23. A computer program product comprising instructions, characterized in that When the instruction is executed by a computing device cluster, the computing device cluster executes the method according to any one of claims 1 to 6, or the computing device cluster executes the method according to any one of claims 7 to 12.

24. A computer-readable storage medium, characterized in that: The method comprises computer program instructions. When the computer program instructions are executed by a computing device cluster, the computing device cluster executes the method according to any one of claims 1 to 6, or the computing device cluster executes the method according to any one of claims 7 to 12.

Citation Information

Cited By

  • Communication method and communication device

    EP4712439A1

  • Communication method and communication device

    WO2024251128A1