Communication method and communication device
By configuring a DHCP server in the cloud service system, dynamically allocating multiple IP addresses to the elastic cloud server, the inconvenience of IP address configuration in the cloud service system is solved, and the tenant's business experience and resource utilization are improved.
Patent Information
- Application Number
- PCT/CN2024/097397
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-08-22
- Filing Date
- 2024-06-05
- Publication Date
- 2024-12-12
AI Technical Summary
In cloud service systems, it is difficult for the existing technology to effectively configure multiple Internet protocol IP addresses, resulting in tenants requiring static configuration when temporarily requiring a large number of IP addresses, affecting the business experience.
Receive tenant configuration information through the cloud management platform, configure the Dynamic Host Configuration Protocol (DHCP) server, and dynamically allocate multiple IP addresses to the network card of the elastic cloud server to achieve dynamic acquisition of IP addresses.
It improves the tenant's business experience, simplifies the IP address configuration process, adapts to the tenant's temporary needs, and improves resource utilization.
Smart Images

Figure CN2024097397_12122024_PF_FP_ABST
Abstract
Description
Communication method and communication device
[0001] This application claims priority to the 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 into this application.
[0002] This application claims priority to the Chinese patent application filed with the China Patent Office on August 22, 2023, with application number 202311061513.9 and application name “A Communication Method and Communication Device”, the entire contents of which are incorporated by reference into this application. Technical Field
[0003] The present application relates to the field of cloud service systems, and more specifically, to a communication method and a communication device. Background Art
[0004] Cloud servers are one of the most popular forms of computing resource services today, especially in the era of cloud computing. They are widely used and can be used to host various applications such as websites, applications, and databases. When using cloud servers, it is sometimes necessary 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 multiple services with different network properties are required, or when different clients need to access the Internet, it is necessary to configure multiple IP addresses on the cloud server. In existing solutions, one or more IP addresses can be obtained through manual static configuration, but this static configuration method is very inconvenient in actual use. For example, in certain scenarios, when tenants may temporarily need a large number of IP addresses, they still need to perform static configuration before they can use them. This is very inconvenient and seriously affects the tenant's business experience.
[0005] Therefore, a method for obtaining multiple Internet Protocol addresses is needed in the cloud service system to ensure the service experience of tenants.
[0006] Summary of the Invention
[0007] 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 service experience of tenants.
[0008] In a first aspect, a communication method is provided. The method can be applied to a cloud service system. 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 the communication device in the cloud management platform). In this application, the cloud management platform is used to manage the infrastructure that provides 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).
[0009] The method includes: receiving first configuration information from a tenant, the first configuration information being used to instruct configuration of 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); and 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).
[0010] It should be understood that, under normal circumstances, 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 which VPC network the ECS belongs to in the attribute information of the ECS.
[0011] 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 realizing that in the cloud service system, the elastic network card of the first ECS can dynamically obtain multiple IP addresses through the DHCP server, which is convenient for the tenant's use and ensures the tenant's business experience.
[0012] In this scenario, the DHCP server is dedicated, which can also be understood as each ECS in the VPC can have multiple IP addresses assigned to it 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 server can allocate multiple IP addresses specifically for the first ECS in the first VPC, but cannot allocate multiple IP addresses for other ECSs in the first VPC, nor can it allocate multiple IP addresses for ECSs in the second VPC.
[0013] In combination with the first aspect, in a possible implementation, the method further 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.
[0014] In this application, the range of multiple IP addresses allocated by the first DHCP server to the elastic network interface card of the first ECS may be determined by the tenant.
[0015] In this application, when a tenant enables the elastic network card of a certain ECS 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 addresses. Specifically, after the tenant specifies the range of IP addresses, the tenant can manually fill in the IP addresses, or the IP addresses 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 to allocate to the elastic network card of the first ECS.
[0016] 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 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 based on 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.
[0017] 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 based on the multiple client hardware addresses. The multiple IP addresses correspond one-to-one to the multiple client hardware addresses.
[0018] In this application, once the tenant specifies the function of enabling the elastic network card of a certain ECS to request the DHCP server to allocate multiple IP addresses, the cloud management platform will configure a special DHCP server (for example, DHCP server #A) to allocate multiple IP addresses to 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 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 respectively.
[0019] 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.
[0020] 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.
[0021] 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.
[0022] Illustratively, 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.
[0023] 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 tenants. Based on the display interface, 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.
[0024] In combination with the first aspect, in a possible implementation, the first DHCP server is deployed in a first computing node, which includes a first elastic cloud server (ECS); or, the first DHCP server is deployed in a DHCP server cluster, which is a computing node or a network node.
[0025] This application proposes that DHCP deployment can be distributed or centralized. For example, when the first DHCP server is deployed in a distributed manner, the first DHCP server can be deployed in the first computing node, where the first ECS is also deployed in the first computing node. For another example, when the first DHCP server is deployed in a centralized manner, a DHCP server cluster can be deployed, which 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.
[0026] In a second aspect, a communication method is provided. This method can be applied in a cloud service system. The method can be executed by a cloud management platform (or a communication device in the cloud management platform), or by a component (e.g., a chip or circuit) of the cloud management platform (or the communication device in the cloud management platform). The cloud management platform is used to manage the infrastructure that provides cloud services, wherein the infrastructure includes at least one virtual private cloud (VPC), and each private private cloud VPC includes multiple elastic cloud servers (ECS).
[0027] 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 no further details will be given.
[0028] The method includes: receiving third configuration information from a tenant, the third configuration information being used to instruct the creation of a dynamic host configuration 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 (DHCP) IP address pool according to the third configuration information; receiving fourth configuration information from the tenant, the fourth configuration information being used to instruct 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 (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 (DHCP) IP address pool; receiving fifth configuration information from the tenant, the fifth configuration information being used to instruct the multiple elastic cloud servers (ECS) included in the second virtual private cloud (VPC) to configure the dynamic host configuration protocol (DHCP) IP address pool with the dynamic host configuration protocol (DHCP) IP address pool. 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 second virtual private cloud VPC included in the multiple elastic cloud servers ECS.
[0029] In this application, the DHCP IP address pool is used to store IP addresses, wherein the range of stored IP addresses, the number of IP addresses, and the specific IP addresses 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 them to other clients in a timely manner, thereby maximizing resource utilization and saving IP address resources.
[0030] In this application, in this scenario, the DHCP IP address pool server can be shared. It can also be understood that multiple ECSs in the same VPC can share the IP addresses in the DHCP IP pool. In this case, 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 in this case, the second DHCP server can simultaneously allocate multiple IP addresses to multiple ECSs in the second VPC.
[0031] In this application, the DHCP IP address pool can allocate multiple IP addresses to each of the ECSs in the second VPC. However, the tenant needs to specify which ECS has the capability to request multiple IP addresses enabled. In other words, in this application, the user can specify one or more ECSs in the second VPC to enable this capability.
[0032] 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 in the second VPC. 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. Therefore, 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. This allows the elastic network card of the second ECS to dynamically obtain multiple IP addresses through the DHCP server in the cloud service system, which is convenient for tenants to use and ensures the tenant's business experience.
[0033] In combination with the second aspect, in a possible implementation, the method further includes: receiving sixth configuration information from the tenant, the sixth configuration information being used to configure IP address information for a Dynamic Host Configuration Protocol (DHCP) IP address pool, the sixth configuration information including: a range of multiple IP addresses input by the tenant, and the number of multiple IP addresses input by the tenant and / or multiple IP addresses input by the tenant; and configuring the sixth configuration information to a second Dynamic Host Configuration Protocol (DHCP) server.
[0034] 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 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 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 proposing an IP address, wherein the multiple second response messages correspond one-to-one to the multiple second request messages.
[0035] 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 based on the multiple client hardware addresses, and the multiple IP addresses correspond one-to-one to the multiple client hardware addresses.
[0036] In combination with the second aspect, in one 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; the second mapping relationship is displayed to the tenant.
[0037] 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.
[0038] Illustratively, 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.
[0039] In conjunction with the second aspect, in a possible implementation, the second Dynamic Host Configuration Protocol (DHCP) server is deployed on a second computing node, which includes a second Elastic Cloud Server (ECS); or, the second DHCP server is deployed in a DHCP server cluster, which is a computing node or a network node.
[0040] In a third aspect, the present application proposes a communication device for performing the method of the first or second aspect described above. Specifically, the device may include units and / or modules, such as a transceiver unit and / or a processing unit, for performing a communication method proposed in the present application. In the present application, the communication device is applied to a cloud management platform. Alternatively, the communication device is a cloud management platform.
[0041] In a fourth aspect, the present application provides a communications 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 or second aspect described above. Optionally, the device further comprises a memory configured to store the computer program or instruction. Optionally, the device further comprises a communications interface, and the processor reads the computer program or instruction stored in the memory through the communications interface.
[0042] 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.
[0043] 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.
[0044] 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 configured 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 or second aspect above.
[0045] In a specific implementation, the processor may be one or more chips, the input circuit may be an input pin, the output circuit may be an output pin, and the processing circuit may be a transistor, a gate circuit, a trigger, or various logic circuits. The input signal received by the input circuit may be, for example, but not limited to, received and input by a transceiver, and the signal output by the output circuit may be, for example, but not limited to, output to and transmitted by a transmitter. The input circuit and the output circuit may be the same circuit, which functions as an input circuit and an output circuit at different times. The embodiments of the present application do not limit the specific implementation of the processor and various circuits.
[0046] For the operations such as sending and acquiring / receiving involved in the processor, unless otherwise specified, or if they do not conflict with their actual functions or internal logic in the relevant descriptions, they can be understood as processor output, reception, input and other operations, and can also be understood as sending and receiving operations performed by the radio frequency circuit and antenna. This application does not limit this.
[0047] In a sixth aspect, a processing device is provided, comprising a processor and a memory. The processor is configured to read instructions stored in the memory and receive signals via a transceiver and transmit signals via a transmitter to execute the method of the first or second aspect.
[0048] Optionally, there are one or more processors and one or more memories.
[0049] Optionally, the memory may be integrated with the processor, or the memory may be provided separately from the processor.
[0050] 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. The embodiments of the present application do not limit the type of memory and the setting method of the memory and the processor.
[0051] It should be understood that related data interaction processes, such as sending indication information, can be the process of outputting indication information from the processor, and receiving capability information can be the process of receiving input capability information from the processor. Specifically, data output by the processor can be output to the transmitter, and input data received by the processor can be received from the transceiver. The transmitter and transceiver can be collectively referred to as a transceiver.
[0052] The processing device in the sixth aspect described above may be one or more chips. The processor in the processing device may be implemented in hardware or software. When implemented in hardware, the processor may be a logic circuit, an integrated circuit, or the like; when implemented in software, the processor may be a general-purpose processor implemented by reading software code stored in a memory, which may be integrated into the processor or located independently of the processor.
[0053] 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.
[0054] Optionally, the processor may be a general-purpose processor, which may be implemented in hardware or software. When implemented in hardware, the processor may be a logic circuit, an integrated circuit, or the like; when implemented in software, the processor may be a general-purpose processor implemented by reading software code stored in a memory, which may be integrated into the processor or located independently of the processor.
[0055] 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.
[0056] In a ninth aspect, a computer program product comprising instructions is provided, which, when run on a computer, enables the computer to execute the method in the first or second aspect above.
[0057] 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.
[0058] In an eleventh aspect, a cloud service system is provided, comprising a cloud management platform, and computing nodes and / or network nodes, wherein the cloud management platform is configured to execute the method of any possible implementation of the first aspect, and the computing node is configured to execute related actions for the first ECS and the first DHCP server. Alternatively, the cloud management platform is configured to execute the method of any possible implementation of the second aspect, and the computing node is configured to execute related actions for multiple ECSs in a second VPC and related actions for the second DHCP server. The first DHCP server is deployed in the computing node or network node, and the second DHCP server is deployed in the computing node or network node. BRIEF DESCRIPTION OF THE DRAWINGS
[0059] FIG1 is a schematic diagram of a scenario shown in this application.
[0060] FIG2 is a schematic diagram of a cloud service scenario used in this application.
[0061] FIG3 is a schematic flow chart of a communication method 300 provided in this application.
[0062] FIG4 is a schematic diagram of a tenant enabling the ability to allocate multiple IP addresses to a DHCP request and the IP addresses allocated by the tenant as provided in the present application.
[0063] FIG5 is a schematic diagram of the automatic allocation of IP addresses provided by this application.
[0064] FIG6 is a schematic diagram of the manual allocation of IP addresses by tenants provided in this application.
[0065] FIG7 is a schematic diagram of a tenant viewing an already used IP address provided by the present application.
[0066] FIG8 is a schematic diagram of the distributed architecture of the DHCP server in the exclusive model provided in this application.
[0067] FIG9 is a schematic diagram of a centralized DHCP server architecture in exclusive mode provided by this application.
[0068] FIG10 is a schematic flowchart of a communication method 1000 provided in this application.
[0069] FIG11 is a schematic diagram of a tenant-specified VPC creating a DHCP IP resource pool provided in this application.
[0070] FIG12 is another schematic diagram of the tenant enabling the ability to allocate multiple IP addresses to a DHCP request and the tenant specifying the allocated IP address provided by the present application.
[0071] FIG13 is another schematic diagram of the distributed architecture of the DHCP server in the sharing model provided in this application.
[0072] FIG14 is another schematic diagram of the centralized architecture of the DHCP server in the shared mode provided in this application.
[0073] FIG15 is a schematic diagram of a scenario to which the present application is applicable.
[0074] FIG16 is a schematic diagram of another scenario to which the present application is applicable.
[0075] FIG17 is a schematic block diagram of a communication device 1700 provided in this application.
[0076] FIG18 is a schematic block diagram of a communication device 1800 provided in the present application.
[0077] FIG19 is a schematic diagram of the architecture of a computing device cluster provided in this application.
[0078] FIG20 is a schematic diagram of a connection between computing devices 1100A and 1100B via a network provided by the present application. DETAILED DESCRIPTION
[0079] In order to facilitate understanding of the technical solution of this application, the following first briefly introduces some of the professional terms involved in this application.
[0080] 1. Dynamic Host Configuration Protocol (DHCP)
[0081] DHCP is a network protocol for local area networks (LANs) that allows a server to dynamically assign Internet Protocol (IP) addresses and configuration information to clients. DHCP is typically used by intranets or network service providers to automatically assign IP addresses to users.
[0082] 2. Client hardware address (CHADDR)
[0083] The field in the DHCP message that represents the client's hardware information serves as the client's unique identifier and is 16 bytes long. 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.
[0084] 3. Virtual Private Cloud (VPC)
[0085] VPC is an isolated virtual network environment built for cloud servers, cloud containers, cloud databases, and other resources, which tenants can configure and manage independently. It can improve the security of tenants' cloud resources and simplify their network deployment. Tenants can deploy cloud servers, cloud databases, cloud storage, and other cloud resources on demand in a VPC. VPC provides a rich set of network service functions, such as subnets, security groups, network access control lists (ACLs), routing tables, and domain name system (DNS). It also provides external network access capabilities, such as inter-VPC access based on VPC peering connections, access to the public network based on public IP addresses, and inter-VPC and local access based on VPNs and dedicated gateways.
[0086] 4. Elastic Cloud Server (ECS)
[0087] ECS is a basic computing component consisting of a central processing unit (CPU), memory, operating system, and cloud hard disk. It is readily available and elastically scalable.
[0088] 5. Elastic Network Interface (ENI)
[0089] ENI has a globally unique media access control address (MAC) that is used to bind cloud servers to provide network service capabilities. ENI can be understood as a virtual network card that supports custom or randomly assigned IP addresses.
[0090] 6. Tenants
[0091] "Tenant" is a logical concept. For example, after an individual or enterprise registers an account on a public cloud platform, the platform considers them a "tenant," and the cloud system allocates cloud resources based on "tenants." Typically, tenants lease services from cloud service providers on a cloud computing platform. Tenants are required to provide their identity, contact information, and a debit account for cloud service rental.
[0092] It should be understood that tenants of cloud services can be individuals, enterprises, schools, hospitals, administrative agencies, etc.
[0093] 7. Cloud Management Platform
[0094] The cloud management platform can be used to provide an access interface (for example, an interface or an application programming interface (API)). Tenants 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 successfully purchased, 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 and install and run the tenant's application in the virtual machine.
[0095] Cloud servers are one of the most popular computing resource service forms today, especially in the era of cloud computing. They are widely used and can be used to host various applications such as websites, applications, and databases. When using cloud servers, it is sometimes necessary to configure multiple Internet Protocol (IP) addresses to expand the application's services. For example, when building a cluster of web servers, requiring multiple services with different network properties, or when different clients need to access the internet, it is necessary to configure multiple IP addresses on the cloud server. Figure 1 is a schematic diagram of a scenario applicable to the present application. As shown in Figure 1, 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 allocation of different IP addresses, and then each access network resources based on the different IP addresses. However, existing solutions can obtain one or more IP addresses through manual static configuration, which is very inconvenient in actual use. For example, in certain scenarios, when a tenant may temporarily need a large number of IP addresses, the tenant must first perform static configuration before using them, which is very inconvenient and seriously affects the tenant's service experience. Therefore, in the cloud service system, a method for obtaining multiple Internet Protocol addresses is needed to ensure the service experience of tenants.
[0096] 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 tenant's first configuration information, thereby realizing that in the cloud service system, the elastic network card of the first ECS can dynamically obtain multiple IP addresses through the DHCP server, which is convenient for the tenant's use and ensures the tenant's business experience.
[0097] The communication method provided in the embodiment of the present application can be applied to cloud service scenarios, and the method is executed by a cloud management platform in the cloud service scenario.
[0098] FIG2 is a schematic block diagram of a cloud scenario applicable to an embodiment of the present application. As shown in FIG2 , the cloud scenario may include: a cloud management platform 110 , the Internet 120 , and a client 130 .
[0099] As shown in Figure 2, the cloud management platform 110 is used to manage the infrastructure that provides multiple cloud services. This infrastructure includes multiple cloud data centers, each of which includes multiple servers. Each server includes cloud service resources to provide corresponding cloud services to tenants. In this embodiment of the present application, the cloud service resources may be cloud databases.
[0100] The cloud management platform 110 can be located in a cloud data center, which can provide an access interface (such as an interface or an application program interface (API)). The tenant can 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 can further pay to select and purchase a virtual machine with specific specifications (processor, memory, disk) on the cloud management platform 110. After the payment is successful, the cloud management platform 110 provides the remote login account and password of the purchased virtual machine, and the client 130 can remotely log in to the virtual machine, install and run the tenant's application in the virtual machine. Therefore, the tenant can create, manage, log in and operate virtual machines in the cloud data center through the cloud management platform 110.
[0101] 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 for interacting with tenants. The computing management service is used to manage servers running virtual machines and containers, as well as bare metal servers. The network management service is used to manage network services (such as gateways and firewalls). 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 via the Internet 120 to manage the rented cloud services.
[0102] FIG3 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 that provides 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). As shown in FIG3, the method includes:
[0103] 301. A cloud management platform receives first configuration information from a tenant, where the first configuration information is used to instruct configuration of multiple IP addresses for an elastic network interface card of a first ECS in at least one ECS.
[0104] It should be understood that, under normal circumstances, 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 which VPC network the ECS belongs to in the attribute information of the ECS.
[0105] 302. The cloud management platform configures a first DHCP server according to the first configuration information. The first DHCP server is used to allocate multiple IP addresses to the elastic network interface card of the first ECS.
[0106] 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.
[0107] In this application, a tenant can specify an ECS in a certain VPC to request the allocation of multiple IP addresses, and the cloud management platform can 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. As shown in Figure 4, for example, a tenant can specify the elastic network card of a certain ECS in a certain VPC to enable the ability of multiple IP addresses of DHCP. For example, in the example shown in Figure 4, once the button in the box is turned on, it means that the elastic network card of the ECS has enabled the ability of multiple IP addresses of DHCP.
[0108] 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 multiple IP addresses input by the tenant; the cloud management platform may configure the second configuration information to the first DHCP server.
[0109] Exemplarily, the tenant can also specify multiple IP address ranges for the elastic network card of the elastic cloud server. For example, in the example shown in Figure 4, the IP address range of the elastic network card (e.g., the elastic network card ID is b06a697d-8097-46b4-9694-3ce047e6a83) of the elastic cloud server (e.g., the elastic cloud server ID is ecs-f7dd) is: 192.168.1.126 ~ 192.168.1.127.
[0110] 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. Exemplarily, 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. Exemplarily, as shown in Figure 5, 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. Exemplarily, as shown in Figure 6, 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. Specifically, as shown in Figure 7, before manually filling in the IP address, the tenant can also check 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.
[0111] In a possible implementation, a first Dynamic Host Configuration Protocol (DHCP) server receives multiple first request messages from an elastic network card (ENC) of a first elastic cloud server (ECS), each of which is used to request allocation of an IP address; the first Dynamic Host Configuration Protocol (DHCP) server determines, based on the multiple first request messages and configured second configuration information, an IP address corresponding to each first request message; the first Dynamic Host Configuration Protocol (DHCP) server sends multiple first response messages to the ENIC of the first elastic cloud server (ECS), each of which carries an IP address, wherein the multiple first response messages correspond one-to-one to the multiple first request messages.
[0112] Furthermore, since the MAC address of the same ENI is the same, the MAC address cannot be included in each DHCP request message, as the DHCP server will then interpret it as the same DHCP request message and assign only one IP address. In this case, each DHCP request message (for example, the first request message) can carry the actual hardware address of each client, thereby distinguishing the DHCP request messages and allowing each to obtain a different IP address.
[0113] 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.
[0114] It can also be understood that the DHCP server determines the IP address corresponding to each DHCP 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 be mapped to an IP address.
[0115] In this 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.
[0116] In one 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 the 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.
[0117] 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.
[0118] Specifically, DHCP can be deployed in a distributed or centralized manner, which are described below.
[0119] Method 1: Distributed Architecture
[0120] For example, Figure 8 shows a distributed architecture. 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, both are 192.168.0.0 / 24). For example, each VPC is pre-configured with a DHCP server, denoted as DHCP server#1 and DHCP server#2. DHCP server#1 is used to assign IP addresses to VM#1 to VM#3 in VPC#1. It should be noted that DHCP server#1 can only assign one IP address to each VM in VM#1 to VM#3. Similarly, DHCP server#2 is used to assign IP addresses to VM#5 to VM#6 in VPC#1. It should be noted that DHCP server#1 can only assign one IP address to each VM in VM#5 and VM#6. At this point, if the tenant specifies that a VM in a certain VPC should enable the function of requesting multiple IP addresses from the DHCP server, the cloud management platform will start an additional independent DHCP server for it, so that the DHCP server can support dynamic allocation of multiple IP addresses for the VM. As shown in Figure 8, if the tenant specifies that VM#4 (an example of the first ECS) in VPC#2 should enable the function of requesting multiple IP addresses from the DHCP server, the cloud management platform can configure a separate DHCP server#A in the compute node for it, and DHCP server#A can dynamically allocate multiple IP addresses to VM#4.
[0121] Method 2: Centralized Architecture
[0122] Figure 9 illustrates a centralized architecture, which includes a DHCP server cluster that includes multiple DHCP servers. The centralized architecture shown in Figure 9 includes compute node #1 and compute node #2, where VPC #1 provides network services for different compute nodes, and VPC #2 also provides network services for different compute nodes. For example, VM #1 and VM #3 belong to the VPC #1 network, but VM #1 is deployed on compute node #1, and VM #3 is deployed on compute node #2. For example, VM #2 and VM #4 belong to the VPC #2 network, but VM #2 is deployed on compute node #1, and VM #4 is deployed on compute node #4. If a tenant specifies that a VM in a VPC has enabled the function of requesting multiple IP addresses from a DHCP server, the cloud management platform will configure an additional DHCP server for it, which supports dynamic allocation of IP addresses for the VM. As shown in Figure 9, assuming 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 enabled the function of allocating multiple IP addresses to DHCP requests, 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.
[0123] Illustratively, the DHCP server cluster may be a computing node, or the DHCP server cluster may be a network node, or may be other types of nodes, without limitation.
[0124] The solution proposed in method 300 can also be understood as a "dedicated 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 different actual 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 ECSs included in the VPC.
[0125] FIG10 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 that provides 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). As shown in FIG10 , the method includes:
[0126] 1001. A cloud management platform receives third configuration information from a tenant, where the third configuration information is used to instruct creation of a DHCP IP address pool for a second VPC in at least one VPC.
[0127] As shown in Figure 11, a tenant can create a DHCP IP address pool for a specific VPC.
[0128] 1002. The cloud management platform configures a DHCP IP address pool according to the third configuration information.
[0129] 1003. The cloud management platform receives fourth configuration information from the tenant, where the fourth configuration information is used to instruct to configure multiple IP addresses for the elastic network card of the second ECS.
[0130] In this application, the second elastic cloud server ECS is one of the elastic cloud servers ECS included in the second virtual private cloud VPC.
[0131] It can also be understood that in this application, the DHCP IP address pool can allocate multiple IP addresses to each of all ECSs included in the second VPC, but the tenant needs to specify which ECS has the capability to request multiple IP addresses enabled. In other words, in this application, the user can specify one or more ECSs in the second VPC to enable this capability.
[0132] 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.
[0133] 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.
[0134] 1006. The cloud management platform configures the second DHCP server to configure multiple IP addresses for the elastic network interface card of each of the multiple ECSs included in the second VPC according to the fifth configuration information.
[0135] As shown in Figure 12, a tenant can specify the ENIC of a specific (or several) ECS instances within a VPC to enable the ability to request multiple IP addresses from a DHCP IP address pool. The tenant can also specify which DHCP IP address pool the ENIC of the ECS instance should be associated with. It should be noted that, typically, since a DHCP IP address pool is created for a specific VPC, all subsequent ECS instances within that VPC will be associated with that DHCP IP address pool.
[0136] 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. 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 interface card of each ECS in the multiple ECSs under the second VPC. It can also be understood that multiple ECSs can share the same DHCP IP address pool, that is, the second DHCP server can allocate multiple IP addresses to the elastic network interface card of each ECS in the multiple ECSs.
[0137] In this application, in this scenario, the DHCP IP pool server can be shared. It can also be understood that multiple ECSs in the same VPC can share the IP addresses in the DHCP IP pool. In this case, 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 in this case, the second DHCP server can simultaneously allocate multiple IP addresses to multiple ECSs in the second VPC.
[0138] 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 the specific IP addresses 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 them to other clients in a timely manner, thereby maximizing resource utilization and saving IP address resources.
[0139] In one possible implementation, the cloud management platform may receive sixth configuration information from the tenant, where the sixth configuration information is used to configure information about Internet Protocol IP addresses for the DHCP IP address pool, the sixth configuration information including: the range of multiple IP addresses input by the tenant, and the number of multiple IP addresses input by the tenant and / or multiple IP addresses input by the tenant; and configure the sixth configuration information 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. Furthermore, 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.
[0140] In one 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 being used to request allocation of an IP address; the second DHCP server determines the IP address corresponding to each second request message based on 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 carrying an IP address, wherein the multiple second response messages correspond one-to-one to the multiple second request messages.
[0141] Furthermore, since the MAC address of the same ENI is the same, the MAC address cannot be included in each DHCP request message, as the DHCP server will interpret it as the same DHCP request message and assign only one IP address. In this case, each DHCP request message (for example, the second request message) can carry the actual hardware address of each client, thereby distinguishing the DHCP request messages and allowing each to obtain a different IP address.
[0142] 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.
[0143] It can also be understood that the DHCP server determines the IP address corresponding to each DHCP 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 be mapped to an IP address.
[0144] 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.
[0145] Specifically, DHCP can be deployed in a distributed or centralized manner, which are described below.
[0146] Method 1: Distributed Architecture
[0147] For example, a VPC can start a separate DHCP server for the DHCP IP pool created by a tenant, allowing multiple ECS instances to dynamically request IP addresses from the DHCP server, and tenants can limit the range of IP addresses. Taking Figure 13 as an example, assume there are two compute nodes, compute node #1 and compute node #2. VPC #1 provides network services for different compute nodes, and VPC #2 also provides network services for different compute 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 compute node #1, and VM #5 and VM #6 are deployed on compute 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 compute node #1, and VM #7 and VM #8 are deployed on compute node #2. 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 request multiple IP addresses from the DHCP IP address pool. For example, the cloud management platform can start a separate DHCP server 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 point, although it seems that each computing node has the DHCP server, in fact, the DHCP servers have the same configuration, or it can also be understood that the configurations of the two DHCP servers are synchronized.
[0148] 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.
[0149] Architecture #B: Centralized Architecture
[0150] In a centralized architecture, a separate DHCP server can be started for the DHCP IP address pool in the DHCP server cluster. This DHCP server supports dynamic allocation of multiple IP addresses to multiple ECSs. Taking Figure 14 as an example, assume that there are two compute nodes, compute node #1 and compute node #2, where the tenant specifies that each of the multiple ECSs in VPC #1 has enabled the ability to request 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 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.
[0151] Illustratively, the DHCP server cluster may be a computing node, or the DHCP server cluster may be a network node, or may be other types of nodes, without limitation.
[0152] In this application, the DHCP server can allocate IP addresses within the range specified by the tenant. If all IP addresses have been allocated, the ECS cannot request an IP address. It should be noted that in this application, tenants can view the IP addresses that have been dynamically allocated by the DHCP server.
[0153] In this application, tenants can also adjust the IP address range. For example, a tenant can delete an IP address, but the tenant can only remove unassigned IP addresses to prevent accidental deletion. If a tenant wants to delete an assigned IP address, the DHCP client needs to execute the DHCP release IP address process to abandon the IP address, allowing the DHCP server to return the IP address to an unassigned state. For another example, a tenant device can also add an IP address, for example, a tenant device can add an IP address within the specification limits allowed by the VM.
[0154] Typically, there's a limit on the number of IP addresses a single VM can apply for. This limit depends on the VM's specifications (for example, a 1U 2GB VM can only apply for 2 IP addresses, while a 2U 4GB VM can apply for 4 IP addresses). For example, a single VM might support a maximum of 50 IP addresses.
[0155] The following three scenarios are used as specific examples:
[0156] Scene 1
[0157] Figure 15 illustrates a scenario involving multiple remote desktop protocols (RDPs) in Windows RDSH. In this scenario, the Windows system automatically generates a different hardware address for each RDP request, rather than using the MAC address of its own elastic network interface card (ENIC). Each DHCP request message can carry its own hardware address, allowing multiple IP addresses to be obtained from the DHCP server through multiple DHCP request messages. As shown in Figure 13, a "mapping relationship" (also understood as a "corresponding relationship") exists between each client's hardware address and the IP address assigned by the DHCP server, and the DHCP client can record this mapping relationship.
[0158] Scene 2
[0159] Figure 16 shows a nested virtualization scenario. As shown in Figure 15, in the nested virtualization scenario, three small VMs are virtualized inside an elastic server. The three VMs 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 assign an IP address within the tenant's specified range to each VM and record the mapping relationship between the client hardware address and the assigned IP address.
[0160] Scene 3
[0161] For example, obtaining multiple IP addresses for a single network card in a Linux VM requires tenants to manage different client hardware addresses and obtain different IP addresses based on those addresses. Using the udhcpc command as an example, tenants can manually specify the client hardware address and obtain an IP address assigned to the specified network card by DHCP based on that client hardware address. For example, the IP address assigned is "udhcpc -i eth0:1 -x 0x3d:0100BEEFC0FFEE."
[0162] It should be understood that the term "and / or" in this document simply describes an association between related objects, indicating that three possible relationships exist. For example, "A and / or B" can represent: A exists alone, A and B exist simultaneously, or B exists alone. Furthermore, the character " / " in this document generally indicates that the related objects are in an "or" relationship.
[0163] 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.
[0164] In the embodiment of the present application, the computing device can be divided 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-mentioned 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 functional division. There may be other division methods in actual implementation. The following is an example of dividing each functional module corresponding to each function.
[0165] FIG17 is a schematic block diagram of a communication device 1700 according to an embodiment of the present application. As shown in the figure, the communication device 1700 may include a transceiver module 1710 and a processing module 1720.
[0166] Among them, the above modules are respectively used to execute the various steps of the above methods, which will not be repeated here.
[0167] 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 memory for executing one or more software or firmware programs, combined logic circuits, and / or other suitable components that support the described functionality.
[0168] The communication device 1700 of each of the above-described solutions has the functionality to implement the corresponding steps of the above-described methods 300 and 1000. These functions can be implemented via hardware, or by hardware executing corresponding software implementations. The hardware or software includes one or more modules corresponding to the above-described functions; for example, the determination unit and the like can be replaced by a processor to perform the transceiver operations and related processing operations in each method embodiment. Furthermore, the determination unit can be a processing circuit.
[0169] In one 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.
[0170] 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 .
[0171] It should be noted that the communication device in Figure 17 can be the cloud management platform (or the communication device in the cloud management platform) in the aforementioned 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, microprocessor, or integrated circuit integrated on the chip. This is not limited here.
[0172] Figure 18 is a schematic block diagram of another communication device 1800 provided in accordance with an embodiment of the present application. As shown, the device 1800 includes at least one processor 1820. The processor 1820 is coupled to a memory and configured to execute instructions stored in the memory to transmit 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, with the processor 1820 controlling the transceiver 1810 to transmit and / or receive signals.
[0173] It should be understood that the processor 1820 and memory 1830 may be combined into one processing device, and the processor 1820 is configured to execute program codes stored in the memory 1830 to implement the above functions. In specific implementations, the memory 1830 may also be integrated into the processor 1820 or independent of the processor 1820.
[0174] 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 interface circuit.
[0175] 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.
[0176] 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.
[0177] 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.
[0178] For example, the processor 1820 is configured to execute computer programs or instructions stored in the memory 1830 to implement the various steps in the above methods 300 and 1000.
[0179] Figure 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. As shown in Figure 17, 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 performed by the cloud management platform (or, the communication device in the cloud management platform) in the above-mentioned embodiment 300 and method 1000.
[0180] In some possible implementations, the memory 1030 of one or more computing devices 1000 in the computing device cluster may also respectively store partial instructions for executing the actions performed by the cloud management platform (or, the communication device in the cloud management platform) in the method 300 and method 1000 described in the above embodiments. In other words, the combination of one or more computing devices 1000 can 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 embodiments.
[0181] It should be noted that the memory 1030 in different computing devices 1000 in the computing device cluster may store different instructions, each for executing part of the functions of the computing device 1000. In other words, 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.
[0182] Alternatively, the memory 1030 in different computing devices 1000 in the computing device cluster may store different instructions, each for executing a portion of the functions of the cloud management platform (or the communication devices in the cloud management platform) corresponding to the aforementioned communication devices 1700-1800. That is, the instructions stored in the memory 1030 in different computing devices 1000 may implement the functions of one or more modules in the transceiver module 1710 and the processing module 1720.
[0183] In some possible implementations, one or more computing devices in a computing device cluster can be connected via a network. The network can be a wide area network (WAN) or a local area network (LAN), among others. FIG. 20 illustrates one possible implementation. As shown in FIG. 20 , two computing devices 1100A and 1100B are connected via a network. Specifically, each computing device is connected to the network via a communication interface within the computing device.
[0184] It should be understood that the functionality of the computing device 1100A shown in FIG20 may also be implemented by multiple computing devices 1000. Similarly, the functionality of the computing device 1100B may also be implemented by multiple computing devices 1000.
[0185] This embodiment also provides a computer program product including instructions. The computer program product may be software or a program product including instructions that can be executed on a computing device cluster or stored in any available medium. When executed by a computing device cluster, the computer program product causes the computing device cluster to perform the above-mentioned method or implement the functions of the above-mentioned apparatus.
[0186] This embodiment also provides a computer-readable storage medium. The computer-readable storage medium can be any available medium capable of storing data on 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, or a magnetic tape), an optical medium (e.g., a digital video disc (DVD)), or a semiconductor medium (e.g., a solid-state drive). The computer-readable storage medium includes instructions that, when executed on a computing device, cause the computing device to perform the method provided above.
[0187] This embodiment also provides a computer-readable storage medium. The computer-readable storage medium can be any available medium capable of storing data on a computing device, or a data storage device such as a data center that contains one or more available media. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, or a magnetic tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state drive). The computer-readable storage medium includes instructions that, when executed by a computing device cluster, cause the computing device cluster to perform the method provided above.
[0188] Those skilled 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 beyond the scope of this application.
[0189] Those skilled in the art will 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.
[0190] In the several embodiments provided in this 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 merely schematic. For example, the division of the units is merely a logical function division. In actual implementation, there may be other division methods, 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.
[0191] The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of these units may be selected to achieve the purpose of this embodiment according to actual needs.
[0192] 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.
[0193] 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, or the part that contributes to the prior art, or the part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes several instructions for enabling a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the method 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.
[0194] The above description is merely a specific embodiment of the present application, but the scope of protection of the present application is not limited thereto. Any changes or substitutions that can be easily conceived by a person skilled in the art within the technical scope disclosed in this application should be included in the scope of protection of this application. Therefore, the scope of protection of this application should be based on the scope of protection 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, 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. 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
Patent Citations
Communication method and communication device
CN119094499A
Network configuration method of public cloud and related equipment
CN114338606A
Method and device for managing tenant server
CN114363295A
Domain name resolution method and device and computer readable storage medium
CN114500450A
Systems and methods for providing multi-tenant dynamic host configuration protocol services
US20190097966A1
Cited By
Parameter plane network configuration method, device, equipment, medium and product
CN120880912A
