Information synchronization method, apparatus, device, and computer-readable storage medium

By registering tunnel endpoint device information with the registry service center and generating unicast data packets when creating a virtual machine, the problem of broadcast data packet overload in VXLAN networks is solved, and network link utilization is improved.

CN117255099BActive Publication Date: 2026-07-14CHINA UNIONPAY

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
CHINA UNIONPAY
Filing Date
2023-09-27
Publication Date
2026-07-14

AI Technical Summary

Technical Problem

In existing technologies, the proliferation of broadcast packets in VXLAN networks leads to low network link utilization.

Method used

By sending a registration request to the registry service center when creating a new virtual machine, adding tunnel endpoint device information, and generating unicast data packets for address synchronization, the amount of broadcast data packets sent to other private clouds is reduced.

Benefits of technology

Reduce broadcast packets in the network and improve network link utilization.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117255099B_ABST
    Figure CN117255099B_ABST
Patent Text Reader

Abstract

The application discloses an information synchronization method and device, equipment and a computer readable storage medium. The information synchronization method comprises the following steps: in the case that a first virtual machine belonging to a target virtual private cloud is newly created in a first tunnel endpoint device, a first registration request for the first virtual machine is sent to a registration service center to instruct the registration service center to add device information of the first tunnel endpoint device in device registration information corresponding to the target virtual private cloud; in the case that a target broadcast data packet sent by a second virtual machine in a second tunnel endpoint device according to the device information is received, the target broadcast data packet is forwarded to the first virtual machine; and a unicast data packet generated by the first virtual machine is sent to the second tunnel endpoint device, so that the second tunnel endpoint device synchronizes address information of the first virtual machine in the unicast data packet to a local second forwarding information table. The application can reduce broadcast data packets in the network, thereby improving the network link utilization of the whole network.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the field of cloud network technology, and in particular relates to an information synchronization method, apparatus, device and computer-readable storage medium. Background Technology

[0002] With the continuous development of cloud network technology, more and more business services can be realized through cloud network technology.

[0003] In existing virtualized networks, VXLAN (Virtual eXtensible Local Area Network) is the most widely used data encapsulation protocol in network virtualization scenarios. VXLAN defines the standard encapsulation format for the data plane, and data plane connectivity depends on control plane information. The control plane is used to synchronize Layer 2 MAC (Media Access Control) information, completing the data path. Currently, the synchronization of VXLAN control plane data information mainly adopts a flooding learning mechanism to achieve Layer 2 information synchronization between different VTEP (VXLAN Tunnel Endpoint) devices.

[0004] Existing large-scale flooding learning methods result in a large number of broadcast packets in the network, thereby reducing the utilization of network links throughout the network. Summary of the Invention

[0005] This application provides an information synchronization method, apparatus, device, and computer-readable storage medium, which can reduce broadcast data packets in the network and thereby improve the network link utilization of the entire network.

[0006] In a first aspect, embodiments of this application provide an information synchronization method applied to a first tunnel endpoint device, the method comprising:

[0007] In the case of creating a first virtual machine belonging to the target virtual private cloud in the first tunnel endpoint device, a first registration request for the first virtual machine is sent to the registration service center. The first registration request is used to instruct the registration service center to add the device information of the first tunnel endpoint device to the device registration information corresponding to the target virtual private cloud, so that the tunnel endpoint device involved in the target virtual private cloud can send broadcast data packets according to the device information in the device registration information.

[0008] Upon receiving a target broadcast data packet sent by a second virtual machine in a second tunnel endpoint device, the target broadcast data packet is forwarded to the first virtual machine. If the first virtual machine determines that the target broadcast data packet is a broadcast data packet for the first virtual machine, a unicast data packet is generated, wherein the unicast data packet includes the address information of the first virtual machine.

[0009] The unicast data packet is sent to the second virtual machine in the second tunnel endpoint device so that the second tunnel endpoint device synchronizes the address information of the first virtual machine to the local second forwarding information table.

[0010] Secondly, embodiments of this application provide an information synchronization method applied to a second tunnel endpoint device, the method comprising:

[0011] In the case where the second virtual machine in the second tunnel endpoint device needs to send a second data packet to the first virtual machine in an unknown location, based on the device registration information corresponding to the target virtual private cloud in the registration service center, the device information of multiple tunnel endpoint devices involved in the target virtual private cloud is obtained, wherein the first virtual machine and the second virtual machine both belong to the target virtual private cloud, and the multiple tunnel endpoint devices include the first tunnel endpoint device where the first virtual machine is located.

[0012] Based on the device information of the plurality of tunnel endpoint devices, a target broadcast data packet is sent to the plurality of tunnel endpoint devices, so that when the first tunnel endpoint device receives the broadcast data packet, it forwards the target broadcast data packet to the first virtual machine, and when the first virtual machine determines that the target broadcast data packet is a broadcast data packet for the first virtual machine, it generates a unicast data packet, the unicast data packet including the address information of the first virtual machine;

[0013] Receive the unicast data packet sent by the first tunnel endpoint device;

[0014] The address information of the first virtual machine in the unicast data packet is synchronized to the local second forwarding information table.

[0015] Thirdly, embodiments of this application provide an information synchronization device configured in a first tunnel endpoint device, the device comprising:

[0016] The first request module is used to send a first registration request for the first virtual machine to the registration service center when a first virtual machine belonging to the target virtual private cloud is created in the first tunnel endpoint device. The first registration request is used to instruct the registration service center to add the device information of the first tunnel endpoint device to the device registration information corresponding to the target virtual private cloud, so that the tunnel endpoint device involved in the target virtual private cloud can send broadcast data packets according to the device information in the device registration information.

[0017] The data forwarding module is used to forward the target broadcast data packet to the first virtual machine when it receives the target broadcast data packet sent by the second virtual machine in the second tunnel endpoint device, so as to generate a unicast data packet when the first virtual machine determines that the target broadcast data packet is a broadcast data packet for the first virtual machine, wherein the unicast data packet includes the address information of the first virtual machine.

[0018] The unicast sending module is used to send the unicast data packet to the second virtual machine in the second tunnel endpoint device, so that the second tunnel endpoint device synchronizes the address information of the first virtual machine to the local second forwarding information table.

[0019] Fourthly, embodiments of this application provide an information synchronization device configured in a second tunnel endpoint device, the device comprising:

[0020] The information acquisition module is used to acquire device information of multiple tunnel endpoint devices involved in the target virtual private cloud based on the device registration information corresponding to the target virtual private cloud in the registration service center when the second virtual machine in the second tunnel endpoint device needs to send a second data packet to the first virtual machine in an unknown location. The first virtual machine and the second virtual machine both belong to the target virtual private cloud, and the multiple tunnel endpoint devices include the first tunnel endpoint device where the first virtual machine is located.

[0021] The broadcast sending module is used to send a target broadcast data packet to the multiple tunnel endpoint devices according to the device information of the multiple tunnel endpoint devices, so that when the first tunnel endpoint device receives the broadcast data packet, it forwards the target broadcast data packet to the first virtual machine, and when the first virtual machine determines that the target broadcast data packet is a broadcast data packet for the first virtual machine, it generates a unicast data packet, the unicast data packet including the address information of the first virtual machine;

[0022] The data receiving module is used to receive the unicast data packets sent by the first tunnel endpoint device;

[0023] The address synchronization module is used to synchronize the address information of the first virtual machine in the unicast data packet to the local second forwarding information table.

[0024] Fifthly, embodiments of this application provide an electronic device, which includes: a processor and a memory storing computer program instructions;

[0025] When the processor executes the computer program instructions, it implements the steps of the information synchronization method as described in any embodiment of the first or second aspect.

[0026] In a sixth aspect, embodiments of this application provide a computer-readable storage medium storing computer program instructions, which, when executed by a processor, implement the steps of the information synchronization method as described in any of the embodiments of the first or second aspect.

[0027] In a seventh aspect, embodiments of this application provide a computer program product in which instructions, when executed by a processor of an electronic device, cause the electronic device to perform the steps of the information synchronization method as described in any embodiment of the first or second aspect.

[0028] The information synchronization method, apparatus, device, and computer-readable storage medium in this application embodiment, when a first virtual machine belonging to the target virtual private cloud is newly created, sends a first registration request for the first virtual machine to the registration service center, so that the registration service center adds the device information of the first tunnel endpoint device to the device registration information corresponding to the target virtual private cloud. Based on this, when the second virtual machine in the second tunnel endpoint device needs to send data packets to the first virtual machine, the second tunnel endpoint device can send broadcast data packets to multiple tunnel endpoint devices involved in the target virtual private cloud according to the device information contained in the device registration information corresponding to the target virtual private cloud in the registration service center. In this way, since this application embodiment does not need to send broadcast data packets to tunnel endpoint devices involved in other private clouds besides the target virtual private cloud during the information synchronization process, it can reduce the number of broadcast data packets in the network, thereby improving the network link utilization of the entire network. Attached Figure Description

[0029] To more clearly illustrate the technical solutions of the embodiments of this application, the accompanying drawings used in the embodiments of this application will be briefly introduced below. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0030] Figure 1 It is an architecture diagram applicable to information synchronization methods in related technologies;

[0031] Figure 2 This is a flowchart illustrating an information synchronization method provided in one embodiment of this application;

[0032] Figure 3 This is an architecture diagram applicable to the information synchronization method provided in this application;

[0033] Figure 4 This is another architecture diagram applicable to the information synchronization method provided in this application;

[0034] Figure 5 This is a flowchart illustrating an information synchronization method provided in another embodiment of this application;

[0035] Figure 6 This is a schematic diagram of the structure of an information synchronization device provided in one embodiment of this application;

[0036] Figure 7 This is a schematic diagram of the structure of an information synchronization device provided in another embodiment of this application;

[0037] Figure 8 This is a schematic diagram of the structure of an electronic device provided in one embodiment of this application. Detailed Implementation

[0038] The features and exemplary embodiments of various aspects of this application will be described in detail below. To make the objectives, technical solutions, and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings and specific embodiments. It should be understood that the specific embodiments described herein are only intended to explain this application and not to limit it. For those skilled in the art, this application can be implemented without some of these specific details. The following description of the embodiments is merely to provide a better understanding of this application by illustrating examples.

[0039] It should be noted that, in this document, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising..." does not exclude the presence of additional identical elements in the process, method, article, or apparatus that includes said element.

[0040] Currently, the synchronization of VXLAN control plane data information mainly adopts a flooding learning mechanism to achieve the synchronization of virtual machine address information between different tunnel endpoint devices.

[0041] For example, such as Figure 1 As shown, the cloud network may include three host machines, each of which is a VXLAN tunnel endpoint device. Tunnel endpoint device 11 hosts virtual machine 111, tunnel endpoint device 12 hosts virtual machine 121, and tunnel endpoint device 13 hosts virtual machine 131. Virtual machines 111 and 121 belong to the same VPC (Virtual Private Cloud), namely Virtual Private Cloud 10, with a VNI (VXLAN Network Identifier) ​​of 1. Virtual machine 131 belongs to Virtual Private Cloud 20, with a VNI of 2. Different VPCs are logically isolated, meaning that virtual machines in different VPCs generally do not need to communicate with each other. Tunnel endpoint devices 11, 12, and 13 are connected via Ethernet (Ethernet, physical network interface card).

[0042] In addition, tunnel endpoint device 11 also has a forwarding information table 112, tunnel endpoint device 12 has a forwarding information table 122, and tunnel endpoint device 13 has a forwarding information table 132. These tables are used to record information such as the location and address of each virtual machine, specifically including the virtual machine's MAC address, IP address, device identifier of the tunnel endpoint device where the virtual machine resides, and VNI of the virtual private cloud to which the virtual machine belongs. For example, the location and address information of virtual machine 111 can be MAC1, IP1, VTEP1, and VNI1; the location and address information of virtual machine 121 can be MAC2, IP2, VTEP2, and VNI1; and the location and address information of virtual machine 131 can be MAC3, IP3, VTEP3, and VNI2. Virtual machines in each tunnel endpoint device can communicate with other virtual machines by querying their respective device's local forwarding information table.

[0043] Based on this, in related technologies, the information about virtual machines recorded in the forwarding information table of each host machine is synchronized and loaded through flooding learning.

[0044] For example, suppose virtual machine 111 is initially created on tunnel endpoint device 11. When virtual machine 121 on tunnel endpoint device 12 needs to communicate with virtual machine 111, since tunnel endpoint device 12 lacks relevant information about virtual machine 111, such as its location and MAC address, virtual machine 121 needs to broadcast a data packet to all surrounding tunnel endpoint devices, such as tunnel endpoint device 11 and tunnel endpoint device 13. After receiving the broadcast data packet, tunnel endpoint device 11 will reply with its own location and address information to tunnel endpoint device 12. This allows tunnel endpoint device 12 to record the location and MAC address of virtual machine 111 in its forwarding information table 122, such as MAC1, IP1, VTEP1, and VNI1. Based on the information recorded in the forwarding information table 122, tunnel endpoint device 121 can then communicate with virtual machine 111.

[0045] Thus, the above-mentioned method of synchronizing virtual machine address information between different tunnel endpoint devices through flooding learning has drawbacks. Since the target of the tunnel endpoint device flooding is all other tunnel endpoint devices, some of these tunnel endpoint devices may not be carrying virtual machines in the same VPC as the virtual machine currently initiating the flooding. For example, in the above scheme example, tunnel endpoint device 13 only carries virtual machine 131 belonging to virtual private cloud 20. Therefore, the broadcast data packets sent by virtual machine 121 to tunnel endpoint device 13 are redundant data packets. Similarly, this results in a large number of broadcast data packets in the network, thereby reducing the network link utilization in the entire network.

[0046] To address the aforementioned technical problems, embodiments of this application provide an information synchronization method, apparatus, device, and computer-readable storage medium. This information synchronization method can be applied to scenarios involving the synchronization of virtual machine address information between different VTEP devices. The information synchronization method provided in this application embodiment is described below.

[0047] Figure 2 This is a flowchart illustrating an embodiment of an information synchronization method provided in this application. The information synchronization method can be executed by a first tunnel endpoint device, which may be, for example, a... Figure 1 Tunnel endpoint device 11.

[0048] like Figure 2 As shown, this information synchronization method may specifically include the following steps:

[0049] S210. In the case of creating a first virtual machine belonging to the target virtual private cloud in the first tunnel endpoint device, a first registration request for the first virtual machine is sent to the registration service center. The first registration request is used to instruct the registration service center to add the device information of the first tunnel endpoint device to the device registration information corresponding to the target virtual private cloud, so that the tunnel endpoint devices involved in the target virtual private cloud can send broadcast data packets according to the device information in the device registration information.

[0050] S220. Upon receiving a target broadcast data packet sent by the second virtual machine in the second tunnel endpoint device, forward the target broadcast data packet to the first virtual machine. If the first virtual machine determines that the target broadcast data packet is a broadcast data packet for the first virtual machine, generate a unicast data packet, the unicast data packet including the address information of the first virtual machine.

[0051] S230. Send a unicast data packet to the second virtual machine in the second tunnel endpoint device so that the second tunnel endpoint device synchronizes the address information of the first virtual machine to the local second forwarding information table.

[0052] Therefore, when a new virtual machine belonging to the target virtual private cloud is created, the first tunnel endpoint device where the first virtual machine resides sends a first registration request for the first virtual machine to the registration service center, so that the registration service center adds the device information of the first tunnel endpoint device to the device registration information corresponding to the target virtual private cloud. Based on this, when the second virtual machine in the second tunnel endpoint device needs to send data packets to the first virtual machine, the second tunnel endpoint device can send broadcast data packets to multiple tunnel endpoint devices involved in the target virtual private cloud according to the device information contained in the device registration information corresponding to the target virtual private cloud in the registration service center. In this way, since this embodiment of the application does not need to send broadcast data packets to tunnel endpoint devices involved in other private clouds besides the target virtual private cloud during the information synchronization process, the number of broadcast data packets in the network can be reduced, thereby improving the network link utilization of the entire network.

[0053] The specific implementation methods for each of the above steps are described below.

[0054] In some implementations, in S210, the registration service center can be a platform for registering information. Third-party registration callback service software, such as ZooKeeper, can listen for updates to relevant information from this registration service center. The registration service center can store device registration information corresponding to multiple different virtual private clouds (VPNs). The device registration information for each VPN can include device information corresponding to the tunnel endpoint device that loads a virtual machine belonging to that VPN.

[0055] In addition, the first registration request sent by the first tunnel endpoint device to the registration service center may include the device information of the first tunnel endpoint device, such as the device identifier VTPE1 corresponding to the first tunnel endpoint device.

[0056] For example, such as Figure 3 As shown, when a user creates a new virtual machine (VM), namely the first VM 311, in the target virtual private cloud 40 and schedules it to the first tunnel endpoint device 31, the first agent 313 in the first tunnel endpoint device 31 can observe the VM belonging to the target virtual private cloud 40. At this time, the first agent 313 can send a first registration request to the registration service center 30, and carry the device information of the first tunnel endpoint device 31, such as VTEP1, in the first registration request, so that the registration service center 30 can add VTEP1 to the device registration information 301 corresponding to the target virtual private cloud 40 when registering the first tunnel endpoint device 31.

[0057] It should be noted that, Figure 3 Since a second virtual machine 321 belonging to the target virtual private cloud 40 was already loaded in the second tunnel endpoint device 32 before the creation of the first virtual machine 311, the device information of the second tunnel endpoint device 32, i.e., VTEP2, has been pre-added to the device registration information 301 corresponding to the target virtual private cloud 40 in the registration service center 30. The process of creating the second virtual machine 321 and registering its device information with the registration service center 30 is similar to the process of creating the first virtual machine 311 and registering it, and will not be described in detail here.

[0058] In this way, other tunnel endpoint devices that are loaded with virtual machines in the target virtual private cloud can obtain the device information of all tunnel endpoint devices involved in the target virtual private cloud based on the device registration information 301, and then send broadcast data packets to the tunnel endpoint devices involved in the target virtual private cloud according to this device information, so as to find the virtual machine with an unknown address in the target virtual private cloud among the tunnel endpoint devices involved in the target virtual private cloud.

[0059] In addition, Figure 3 In the first tunnel endpoint device 31, a first forwarding information table 312 is also set up, which can be used to record the device information of the tunnel endpoint devices corresponding to each virtual private cloud locally. If there are no other virtual machines belonging to the target virtual private cloud 40 in the first tunnel endpoint device 31 before the first virtual machine 311 is created, the device information of other tunnel endpoint devices involved in the target virtual private cloud 40 can be obtained from the registration service center 30 and synchronized to the local first forwarding information table 312.

[0060] Additionally, it should be noted that the forwarding information table involved in this application embodiment can be recorded and maintained by a data plane encapsulation / decapsulation device, such as an OVS (Open vSwitch, virtual soft switch) or similar functional device. When extracting information from data packets, this encapsulation / decapsulation device can be used to encapsulate and decapsulate the data packets.

[0061] Based on this, in some embodiments, after S210 described above, the information synchronization method provided in this application embodiment may further include:

[0062] Obtain device registration information corresponding to the target virtual private cloud from the registration service center;

[0063] Synchronize the device information of the tunnel endpoint devices involved in the target virtual private cloud in the device registration information to the local first forwarding information table.

[0064] For example, such as Figure 3 As shown, during the process of the first tunnel endpoint device 31 registering its own device information in the registration service center 30, it can pull the device registration information 301 corresponding to the target virtual private cloud 40 from the registration service center 30. Then, based on the device information VTEP1 and VTEP2 contained in the device registration information 301, it can send the device information of other tunnel endpoint devices other than itself in the local first forwarding information table 312, namely VTEP2.

[0065] In this way, when the first tunnel endpoint device 31 needs to find other newly created virtual machines in the target virtual private cloud 40, it can send broadcast data to the tunnel endpoint device associated with the target virtual private cloud 40 based on the device information of the tunnel endpoint device associated with the target virtual private cloud 40 in the first forwarding information table 312.

[0066] In some implementations, in S220, if a second virtual machine belonging to the target virtual private cloud in the second tunnel endpoint device needs to communicate for the first time with a newly created first virtual machine in the first tunnel endpoint device, the second tunnel endpoint device can send a target broadcast data packet for the second virtual machine to all tunnel endpoint devices involved in the target virtual private cloud. The target broadcast data packet may include the IP address of the second virtual machine.

[0067] Thus, when the first tunnel endpoint device receives the target broadcast data packet, it can forward the target broadcast data packet to the first virtual machine within its device. If the first virtual machine determines that the target broadcast data packet is directed to itself, it can respond via unicast. Specifically, determining whether the target broadcast data packet is directed to itself can be done by checking if the destination IP address contained in the target broadcast data packet is the same as the machine's IP address. If they are the same, the first virtual machine can determine that the target broadcast data packet is directed to itself; otherwise, it is not. Alternatively, the first virtual machine can respond via unicast by generating a unicast data packet carrying its own address information and sending it via unicast to the second virtual machine in the second tunnel endpoint device.

[0068] It should be noted that all data packets involved in the embodiments of this application can be ARP (Address Resolution Protocol) data packets.

[0069] Furthermore, in some embodiments, when there are other virtual machines besides the first virtual machine in the first tunnel endpoint device, the step of forwarding the target broadcast data packet to the first virtual machine in S220 may specifically include:

[0070] Broadcast the target broadcast data packet to all virtual machines in the first tunnel endpoint device.

[0071] For example, if there are multiple virtual machines in the first tunnel endpoint device, after receiving the target broadcast data packet, the first tunnel endpoint device can forward the target broadcast data packet to all virtual machines already existing in the device via broadcast.

[0072] In some implementations, in S230, after obtaining the unicast data packet generated by the first virtual machine, the first tunnel endpoint device can send the unicast data packet to the second tunnel endpoint device via unicast. After receiving the unicast data packet, the second tunnel endpoint device can obtain the address information of the first virtual machine from the unicast data packet, and then learn the address information of the first virtual machine, such as the MAC address, IP address, device identifier of the first tunnel endpoint device, and VNI of the target virtual private cloud to which it belongs, and synchronize it to the local second forwarding information table.

[0073] In addition, since the address information of the first virtual machine is sent to the second tunnel endpoint device via unicast, when there are also virtual machines belonging to the target virtual private cloud in other tunnel endpoint devices, the virtual machines in the other tunnel endpoint devices still need to communicate with the first virtual machine through flooding learning, which leads to unnecessary flooding behavior.

[0074] Based on this, in order to solve the above-mentioned technical problems, further reduce the number of broadcast data packets in the network, and improve the network link utilization of the entire network, in some embodiments, after S230 above, the information synchronization method provided in this application embodiment may further include:

[0075] A second registration request for the first virtual machine is sent to the registration service center. The second registration request is used to instruct the registration service center to add the address information of the first virtual machine to the virtual machine registration information corresponding to the target virtual private cloud, so that the tunnel endpoint devices involved in the target virtual private cloud can send data packets according to the address information in the virtual machine registration information.

[0076] Here, in addition to sending unicast data packets to the second tunnel endpoint device, the first tunnel endpoint device can also send a second registration request for the first virtual machine to the registration service center to register the first virtual machine in the registration service center. This second registration request may include the address information of the first virtual machine.

[0077] For example, such as Figure 4 As shown, after receiving the unicast data packet sent by the first virtual machine 311, the first agent 313 in the first tunnel endpoint device 31 can send the unicast data packet to the second tunnel endpoint device 32. After receiving the unicast data packet, the second agent 323 in the second tunnel endpoint device 32 can obtain the address information MAC1, IP1, VTEP1, and VN1 of the first virtual machine from it and add the information to the second forwarding information table 322.

[0078] In addition, the first tunnel endpoint device 31 can also send a second registration request for the first virtual machine 311 to the registration service center 30, so that the registration service center 30 can register the first virtual machine 311. Specifically, the address information MAC1, IP1, VTEP1, and VN1 of the first virtual machine 311 carried in the unicast data packet can be added to the virtual machine registration information 302.

[0079] In this way, when a virtual machine in another device that also belongs to the target virtual private cloud 40 (such as the third virtual machine 331 in the third tunnel endpoint device 33) needs to communicate with the first virtual machine 311, the first virtual machine 311 can be found based on the address information in the virtual machine registration information without having to send broadcast data packets again.

[0080] Furthermore, in some embodiments, after S230 described above, the information synchronization method provided in this application embodiment may further include:

[0081] The address information of the first virtual machine in the unicast data packet is synchronized to the local first forwarding information table.

[0082] For example, such as Figure 4 As shown, after receiving the unicast data packet sent by the first virtual machine 311, the first agent 313 in the first tunnel endpoint device 31 can also add the address information MAC1, IP1, VTEP1, and VN1 of the first virtual machine 311 carried in the unicast data packet locally. For example, the address information MAC1, IP1, VTEP1, and VN1 can be added to the local first forwarding information table 312.

[0083] In this way, when the first agent 313 in the first tunnel endpoint device 31 sends a data packet to the first virtual machine 311, there is no need to broadcast it.

[0084] In addition, in some embodiments, the information synchronization method provided in this application may further include:

[0085] Upon receiving an information update notification for the target virtual private cloud from the registration service center, the updated target registration information is obtained from the registration service center. The target registration information includes at least one of device registration information and virtual machine registration information.

[0086] Update the local first forwarding information table based on the target registration information.

[0087] For example, such as Figure 4 As shown, since the first tunnel endpoint device 31 has registered its device information and the address information of the first virtual machine 311 with the registration service center, it can trigger callback updates for each tunnel endpoint device involved in the target virtual private cloud. Each tunnel endpoint device can learn the relevant information of the first virtual machine 311 through the registration callback. Taking the third tunnel endpoint device 33 as an example, when the third tunnel endpoint device 33 detects an update in the information corresponding to the target virtual private cloud 40 in the registration service center 30, the third agent 333 in the third tunnel endpoint device 33 can pull the updated device registration information 301 and / or virtual machine registration information 302 from the registration service center 30, and then synchronously update the information in the local third forwarding information table 332 according to the information. In this way, when the third virtual machine 331 needs to communicate with the first virtual machine 311 in the target virtual private cloud 40, it can directly query the address information MAC1, IP1, VTEP1, and VNI1 of the first virtual machine 311 in the local third forwarding information table 332, without having to broadcast to find the first virtual machine 311.

[0088] Similarly, the first tunnel endpoint device 31 can also promptly retrieve the updated information from the registration service center 30 when it detects an update in the information corresponding to the target virtual private cloud 40 in the registration service center 30, and update the local first forwarding information table 312 accordingly. In this way, when there is a newly created virtual machine in the target virtual private cloud, only one flooding operation is needed within the scope of the devices involved in the target virtual private cloud, so that all tunnel endpoint devices involved in the target virtual private cloud in the entire network can synchronously learn the relevant information of the virtual machine.

[0089] Based on this, in some implementations, the information synchronization method provided in this application embodiment may further include:

[0090] When the first virtual machine needs to send the first data packet to the third virtual machine belonging to the target virtual private cloud in other tunnel endpoint devices, the address information of the third virtual machine is queried from the first forwarding information table;

[0091] According to the address information of the third virtual machine, the first data packet is sent to the third tunnel endpoint device where the third virtual machine is located, so that the third tunnel endpoint device forwards the first data packet to the third virtual machine.

[0092] Here, the first data packet can be any ARP data packet.

[0093] For example, such as Figure 4 As shown, if the first virtual machine 311 in the first tunnel endpoint device 31 needs to send a first data packet to the third virtual machine 331 in the third tunnel endpoint device 33, the first agent 313 can query the address information MAC3, IP3, VTEP3, and VNI1 of the third virtual machine 331 from the first forwarding information table 312, and then send the first data packet to the third tunnel endpoint device 33 according to the address information, and the third agent 333 in the third tunnel endpoint device 33 forwards the first data packet to the third virtual machine 331.

[0094] Similarly, other tunnel endpoint devices can also obtain the address information of the first virtual machine 311 by querying the local forwarding information table, and then send data packets to the first virtual machine 311 through the address information.

[0095] Figure 5 This is a flowchart illustrating an embodiment of an information synchronization method provided in this application. This information synchronization method can be executed by a second tunnel endpoint device, which may be, for example, a... Figure 1 Tunnel endpoint device 12.

[0096] like Figure 5 As shown, the information synchronization method may specifically include the following steps S510-S540, as detailed below.

[0097] S510. When the second virtual machine in the second tunnel endpoint device needs to send a second data packet to the first virtual machine in an unknown location, based on the device registration information corresponding to the target virtual private cloud in the registration service center, obtain the device information of multiple tunnel endpoint devices involved in the target virtual private cloud, wherein the first virtual machine and the second virtual machine both belong to the target virtual private cloud, and the multiple tunnel endpoint devices include the first tunnel endpoint device where the first virtual machine is located.

[0098] Here, the second data packet can be any ARP data packet.

[0099] Based on the above embodiments, such as Figure 3 As shown, if the second virtual machine 321 in the second tunnel endpoint device 32 needs to send a second data packet to the first virtual machine 311, since the first virtual machine 311 is a newly created virtual machine in the first tunnel endpoint device 31, the second agent 323 in the second tunnel endpoint device 32 does not know the location and address of the first virtual machine 311. However, in the above embodiment, the first virtual machine 311 has registered its device information VTEP1 of the first tunnel endpoint device 31 to the registration service center 30 when it is created. Therefore, the second tunnel endpoint device 32 can obtain the device information VTEP1 and VTEP2 of all tunnel endpoint devices involved in the target virtual private cloud 40 based on the device registration information 301 corresponding to the target virtual private cloud 40 in the registration service center 30, and then search for the first virtual machine 311 from the tunnel endpoint devices corresponding to these device information.

[0100] Additionally, the second tunnel endpoint device 32 can also synchronize the device registration information 301 corresponding to the target virtual private cloud 40 in the registration service center 30 to the local second forwarding information table 322. In some embodiments, after S510 described above, the information synchronization method provided in this application embodiment may further include:

[0101] Upon receiving an information update notification from the registration service center regarding the target virtual private cloud, the device registration information is retrieved from the registration service center.

[0102] Update the local second forwarding information table based on the device registration information.

[0103] Based on this, in some implementations, the above-mentioned S510 may specifically include:

[0104] Retrieve device information for multiple tunnel endpoint devices involved in the target virtual private cloud from the second forwarding information table.

[0105] For example, such as Figure 3As shown, after the first tunnel endpoint device 31 registers its device information with the registration service center 30, it can trigger the second agent 323 in the second tunnel endpoint device 32 to perform a callback update. Specifically, the second agent 323 can retrieve the latest device registration information 301 corresponding to the target virtual private cloud 40 from the registration service center 30, and then add the device information VTEP1 of the first tunnel endpoint device 31 to the local second forwarding information table 322 according to the device registration information 301.

[0106] Thus, when the second virtual machine 321 in the second tunnel endpoint device 32 needs to find the newly created first virtual machine 311, the second agent 323 can directly obtain the device information of multiple tunnel endpoint devices involved in the target virtual private cloud 40 to which the second virtual machine 321 belongs from the second forwarding information table 322, such as the device information VTEP1 of the first tunnel endpoint device 31.

[0107] S520. Based on the device information of multiple tunnel endpoint devices, send a target broadcast data packet to multiple tunnel endpoint devices, so that when the first tunnel endpoint device receives the broadcast data packet, it forwards the target broadcast data packet to the first virtual machine. If the first virtual machine determines that the target broadcast data packet is a broadcast data packet for the first virtual machine, it generates a unicast data packet, which includes the address information of the first virtual machine.

[0108] For example, such as Figure 3 As shown, the second proxy 323 in the second tunnel endpoint device 32 can broadcast target broadcast data packets to tunnel endpoint devices including the first tunnel endpoint device 31, based on the device information (not shown) of VTEP1 and other tunnel endpoint devices involved in the target virtual private cloud 40. When the first tunnel endpoint device 31 receives the target broadcast data packet, it can forward it to the first virtual machine 311. If the first virtual machine 311 determines that the destination IP address contained in the target broadcast data packet is the same as its own IP address, it can generate a unicast data packet containing the address information (MAC1, IP1, VTEP1, VNI1) of the first virtual machine 311 and return it to the second tunnel endpoint device 32 in a unicast manner to inform it of its address. The specific process can be referred to the relevant parts of the above embodiments, and will not be elaborated here.

[0109] S530: Receive unicast data packets sent by the first tunnel endpoint device.

[0110] S540. Synchronize the address information of the first virtual machine in the unicast data packet to the local second forwarding information table.

[0111] For example, such as Figure 4As shown, after receiving the unicast data packet, the second tunnel endpoint device 32 can extract the address information (MAC1, IP1, VTEP1, VNI1) of the first virtual machine 311 from the unicast data packet and synchronize the address information to the local second forwarding information table 322.

[0112] Additionally, the third tunnel endpoint device 33 can also learn information related to the first virtual machine 311 from the device registration information 301 and virtual machine address information 302 corresponding to the target virtual private cloud 40 in the registration service center 30, and synchronize it to the local third forwarding information table 332. For detailed procedures, please refer to the relevant parts of the above embodiments, which will not be repeated here.

[0113] Based on this, in some embodiments, after S540 described above, the information synchronization method provided in this application embodiment may further include:

[0114] Retrieve the address information of the first virtual machine from the second forwarding information table;

[0115] According to the address information of the first virtual machine, a second data packet is sent to the first tunnel endpoint device so that the first tunnel endpoint device forwards the second data packet to the first virtual machine.

[0116] For example, such as Figure 4 As shown, when the second virtual machine 321 needs to send the second data packet to the first virtual machine 311, the second agent 323 in the second tunnel endpoint device 32 can query the address information (MAC1, IP1, VTEP1, VNI1) of the first virtual machine 311 from the second forwarding information table 322, and then accurately send the second data packet to the first virtual machine 311 according to the address information.

[0117] Therefore, when a new virtual machine belonging to the target virtual private cloud is created, the first tunnel endpoint device where the first virtual machine resides sends a first registration request for the first virtual machine to the registration service center, so that the registration service center adds the device information of the first tunnel endpoint device to the device registration information corresponding to the target virtual private cloud. Based on this, when the second virtual machine in the second tunnel endpoint device needs to send data packets to the first virtual machine, the second tunnel endpoint device can send broadcast data packets to multiple tunnel endpoint devices involved in the target virtual private cloud according to the device information contained in the device registration information corresponding to the target virtual private cloud in the registration service center. In this way, since this embodiment of the application does not need to send broadcast data packets to tunnel endpoint devices involved in other private clouds besides the target virtual private cloud during the information synchronization process, the number of broadcast data packets in the network can be reduced, thereby improving the network link utilization of the entire network.

[0118] It should be noted that the application scenarios described in the above embodiments of this application are for the purpose of more clearly illustrating the technical solutions of the embodiments of this application, and do not constitute a limitation on the technical solutions provided by the embodiments of this application. As those skilled in the art will know, with the emergence of new application scenarios, the technical solutions provided by the embodiments of this application are also applicable to similar technical problems.

[0119] Based on the same inventive concept, this application also provides two information synchronization devices. Specifically, in combination... Figure 6 and Figure 7 Please provide a detailed explanation.

[0120] Figure 6 This is a schematic diagram of the structure of an information synchronization device provided in one embodiment of this application. The information synchronization device 600 can be configured on a first tunnel endpoint device, which may be, for example, a... Figure 1 Tunnel endpoint device 11.

[0121] like Figure 6 As shown, the information synchronization device 600 may include:

[0122] The first request module 601 is used to send a first registration request for the first virtual machine to the registration service center when a first virtual machine belonging to the target virtual private cloud is created in the first tunnel endpoint device. The first registration request is used to instruct the registration service center to add the device information of the first tunnel endpoint device to the device registration information corresponding to the target virtual private cloud, so that the tunnel endpoint device involved in the target virtual private cloud can send broadcast data packets according to the device information in the device registration information.

[0123] The data forwarding module 602 is used to forward the target broadcast data packet to the first virtual machine when it receives the target broadcast data packet sent by the second virtual machine in the second tunnel endpoint device, so as to generate a unicast data packet when the first virtual machine determines that the target broadcast data packet is a broadcast data packet for the first virtual machine, wherein the unicast data packet includes the address information of the first virtual machine.

[0124] The unicast sending module 603 is used to send the unicast data packet to the second virtual machine in the second tunnel endpoint device, so that the second tunnel endpoint device synchronizes the address information of the first virtual machine to the local second forwarding information table.

[0125] The information synchronization device 600 described above will be explained in detail below:

[0126] In some embodiments, the information synchronization device 600 further includes:

[0127] The second request module is used to send a second registration request for the first virtual machine to the registration service center after sending the unicast data packet to the second virtual machine in the second tunnel endpoint device. The second registration request is used to instruct the registration service center to add the address information of the first virtual machine to the virtual machine registration information corresponding to the target virtual private cloud, so that the tunnel endpoint device involved in the target virtual private cloud can send data packets according to the address information in the virtual machine registration information.

[0128] In some embodiments, the information synchronization device 600 further includes:

[0129] The first synchronization module is used to synchronize the address information of the first virtual machine in the unicast data packet to the local first forwarding information table after sending the unicast data packet to the second virtual machine in the second tunnel endpoint device.

[0130] In some embodiments, the information synchronization device 600 further includes:

[0131] The first acquisition module is used to acquire device registration information corresponding to the target virtual private cloud from the registration service center after sending a first registration request for the first virtual machine to the registration service center.

[0132] The second synchronization module is used to synchronize the device information of the tunnel endpoint device involved in the target virtual private cloud in the device registration information to the local first forwarding information table.

[0133] In some embodiments, the method further includes:

[0134] The second acquisition module is used to acquire updated target registration information from the registration service center when it receives an information update notification for the target virtual private cloud sent by the registration service center. The target registration information includes at least one of device registration information and virtual machine registration information.

[0135] The first update module is used to update the local first forwarding information table according to the target registration information.

[0136] In some embodiments, the information synchronization device 600 further includes:

[0137] The first query module is used to query the address information of the third virtual machine from the first forwarding information table when the first virtual machine needs to send a first data packet to a third virtual machine belonging to the target virtual private cloud in other tunnel endpoint devices.

[0138] The first sending module is configured to send the first data packet to the third tunnel endpoint device where the third virtual machine is located, according to the address information of the third virtual machine, so that the third tunnel endpoint device forwards the first data packet to the third virtual machine.

[0139] In some embodiments, when there are other virtual machines besides the first virtual machine in the first tunnel endpoint device, the data forwarding module 602 is specifically used for:

[0140] The target broadcast data packet is broadcast to all virtual machines in the first tunnel endpoint device.

[0141] Therefore, when a new virtual machine belonging to the target virtual private cloud is created, the first tunnel endpoint device where the first virtual machine resides sends a first registration request for the first virtual machine to the registration service center, so that the registration service center adds the device information of the first tunnel endpoint device to the device registration information corresponding to the target virtual private cloud. Based on this, when the second virtual machine in the second tunnel endpoint device needs to send data packets to the first virtual machine, the second tunnel endpoint device can send broadcast data packets to multiple tunnel endpoint devices involved in the target virtual private cloud according to the device information contained in the device registration information corresponding to the target virtual private cloud in the registration service center. In this way, since this embodiment of the application does not need to send broadcast data packets to tunnel endpoint devices involved in other private clouds besides the target virtual private cloud during the information synchronization process, the number of broadcast data packets in the network can be reduced, thereby improving the network link utilization of the entire network.

[0142] Figure 7 This is a schematic diagram of the structure of an information synchronization device provided in one embodiment of this application. The information synchronization device 700 can be configured on a second tunnel endpoint device, which may be, for example, a... Figure 1 Tunnel endpoint device 12.

[0143] like Figure 7 As shown, the information synchronization device 700 may include:

[0144] The information acquisition module 701 is used to acquire device information of multiple tunnel endpoint devices involved in the target virtual private cloud based on the device registration information corresponding to the target virtual private cloud in the registration service center when the second virtual machine in the second tunnel endpoint device needs to send a second data packet to the first virtual machine in an unknown location. The first virtual machine and the second virtual machine both belong to the target virtual private cloud, and the multiple tunnel endpoint devices include the first tunnel endpoint device where the first virtual machine is located.

[0145] The broadcast sending module 702 is used to send a target broadcast data packet to the plurality of tunnel endpoint devices according to the device information of the plurality of tunnel endpoint devices, so that when the first tunnel endpoint device receives the broadcast data packet, it forwards the target broadcast data packet to the first virtual machine, and when the first virtual machine determines that the target broadcast data packet is a broadcast data packet for the first virtual machine, it generates a unicast data packet, the unicast data packet including the address information of the first virtual machine;

[0146] Data receiving module 703 is used to receive the unicast data packet sent by the first tunnel endpoint device;

[0147] The address synchronization module 704 is used to synchronize the address information of the first virtual machine in the unicast data packet to the local second forwarding information table.

[0148] The information synchronization device 700 described above will be explained in detail below:

[0149] In some embodiments, the information synchronization device 700 further includes:

[0150] The third acquisition module is used to acquire updated device registration information from the registration service center before acquiring device information of multiple tunnel endpoint devices involved in the target virtual private cloud based on device registration information corresponding to the target virtual private cloud in the registration service center. This is done upon receiving an information update notification for the target virtual private cloud sent by the registration service center.

[0151] The second update module is used to update the local second forwarding information table according to the device registration information;

[0152] The information acquisition module 701 is specifically used for:

[0153] Retrieve device information for multiple tunnel endpoint devices involved in the target virtual private cloud from the second forwarding information table.

[0154] In some embodiments, the information synchronization device 700 further includes:

[0155] The second query module is used to query the address information of the first virtual machine from the second forwarding information table after synchronizing the address information of the first virtual machine in the unicast data packet to the local second forwarding information table;

[0156] The second sending module is used to send the second data packet to the first tunnel endpoint device according to the address information of the first virtual machine, so that the first tunnel endpoint device forwards the second data packet to the first virtual machine.

[0157] Therefore, when a new virtual machine belonging to the target virtual private cloud is created, the first tunnel endpoint device where the first virtual machine resides sends a first registration request for the first virtual machine to the registration service center, so that the registration service center adds the device information of the first tunnel endpoint device to the device registration information corresponding to the target virtual private cloud. Based on this, when the second virtual machine in the second tunnel endpoint device needs to send data packets to the first virtual machine, the second tunnel endpoint device can send broadcast data packets to multiple tunnel endpoint devices involved in the target virtual private cloud according to the device information contained in the device registration information corresponding to the target virtual private cloud in the registration service center. In this way, since this embodiment of the application does not need to send broadcast data packets to tunnel endpoint devices involved in other private clouds besides the target virtual private cloud during the information synchronization process, the number of broadcast data packets in the network can be reduced, thereby improving the network link utilization of the entire network.

[0158] Figure 8 This is a schematic diagram of the structure of an electronic device provided in one embodiment of this application.

[0159] Electronic device 800 may include processor 801 and memory 802 storing computer program instructions.

[0160] Specifically, the processor 801 may include a central processing unit (CPU), an application-specific integrated circuit (ASIC), or one or more integrated circuits that can be configured to implement the embodiments of this application.

[0161] Memory 802 may include mass storage for data or instructions. For example, and not limitingly, memory 802 may include a hard disk drive (HDD), floppy disk drive, flash memory, optical disk, magneto-optical disk, magnetic tape, or Universal Serial Bus (USB) drive, or a combination of two or more of these. Where appropriate, memory 802 may include removable or non-removable (or fixed) media. Where appropriate, memory 802 may be internal or external to the integrated gateway disaster recovery device. In a particular embodiment, memory 802 is non-volatile solid-state memory.

[0162] In certain embodiments, the memory may include read-only memory (ROM), random access memory (RAM), disk storage media devices, optical storage media devices, flash memory devices, and electrical, optical, or other physical / tangible memory storage devices. Thus, typically, memory includes one or more tangible (non-transitory) computer-readable storage media (e.g., memory devices) encoded with software including computer-executable instructions, and when the software is executed (e.g., by one or more processors), it is operable to perform the operations described with reference to the method according to one aspect of this application.

[0163] The processor 801 implements any of the information synchronization methods described in the above embodiments by reading and executing computer program instructions stored in the memory 802.

[0164] In some examples, the electronic device 800 may also include a communication interface 803 and a bus 810. For example, Figure 8 As shown, the processor 801, memory 802, and communication interface 803 are connected through bus 810 and complete communication with each other.

[0165] The communication interface 803 is mainly used to realize communication between various modules, devices, units and / or equipment in the embodiments of this application.

[0166] Bus 810 includes hardware, software, or both, that couples components of an online data traffic metering device together. For example, and not as a limitation, bus 810 may include an Accelerated Graphics Port (AGP) or other graphics bus, an Enhanced Industry Standard Architecture (EISA) bus, a Front Side Bus (FSB), HyperTransport (HT) interconnect, an Industry Standard Architecture (ISA) bus, an Infinite Bandwidth Interconnect, a Low Pin Count (LPC) bus, a memory bus, a Microchannel Architecture (MCA) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express (PCI-X) bus, a Serial Advanced Technology Attachment (SATA) bus, a Video Electronics Standards Association Local (VLB) bus, or other suitable buses, or combinations of two or more of these. Where appropriate, bus 810 may include one or more buses. Although specific buses are described and illustrated in embodiments of this application, any suitable bus or interconnect is contemplated herein.

[0167] For example, the electronic device 800 can be a mobile phone, tablet computer, laptop computer, handheld computer, in-vehicle electronic device, ultra-mobile personal computer (UMPC), netbook, or personal digital assistant (PDA), etc.

[0168] The electronic device 800 can execute the information synchronization method in the embodiments of this application, thereby realizing the information synchronization method and apparatus described in conjunction with the accompanying drawings.

[0169] Furthermore, in conjunction with the information synchronization methods in the above embodiments, this application embodiment can provide a computer-readable storage medium for implementation. This computer-readable storage medium stores computer program instructions; when these computer program instructions are executed by a processor, they implement any of the information synchronization methods in the above embodiments. Examples of computer-readable storage media include non-transitory computer-readable storage media, such as portable disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, etc.

[0170] It should be clarified that this application is not limited to the specific configurations and processes described above and shown in the figures. For the sake of brevity, detailed descriptions of known methods are omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method process of this application is not limited to the specific steps described and shown. Those skilled in the art can make various changes, modifications, and additions, or change the order of steps, after understanding the spirit of this application.

[0171] The functional blocks shown in the above-described structural diagram can be implemented as hardware, software, firmware, or a combination thereof. When implemented in hardware, they can be, for example, electronic circuits, application-specific integrated circuits (ASICs), appropriate firmware, plug-ins, function cards, etc. When implemented in software, the elements of this application are programs or code segments used to perform the required tasks. Programs or code segments can be stored on a machine-readable medium or transmitted over a transmission medium or communication link via data signals carried on a carrier wave. "Machine-readable medium" can include any medium capable of storing or transmitting information. Examples of machine-readable media include electronic circuits, semiconductor memory devices, ROM, flash memory, erasable ROM (EROM), floppy disks, CD-ROMs, optical disks, hard disks, fiber optic media, radio frequency (RF) links, etc. Code segments can be downloaded via computer networks such as the Internet, intranets, etc.

[0172] It should also be noted that the exemplary embodiments mentioned in this application describe methods or systems based on a series of steps or apparatus. However, this application is not limited to the order of the above steps; that is, the steps can be performed in the order mentioned in the embodiments, or in a different order, or several steps can be performed simultaneously.

[0173] The aspects of this application have been described above with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It should be understood that each block in the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to produce a machine such that these instructions, executable via the processor of the computer or other programmable data processing apparatus, enable the implementation of the functions / actions specified in one or more blocks of the flowchart illustrations and / or block diagrams. Such a processor can be, but is not limited to, a general-purpose processor, a special-purpose processor, a special application processor, or a field-programmable logic circuit. It is also understood that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can also be implemented by dedicated hardware performing the specified functions or actions, or can be implemented by a combination of dedicated hardware and computer instructions.

[0174] The above description is merely a specific implementation of this application. Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, modules, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here. It should be understood that the protection scope of this application is not limited thereto. Any person skilled in the art can easily conceive of various equivalent modifications or substitutions within the technical scope disclosed in this application, and these modifications or substitutions should all be covered within the protection scope of this application.

Claims

1. An information synchronization method, applied to a first tunnel endpoint device, characterized in that, include: In the case of creating a first virtual machine belonging to the target virtual private cloud in the first tunnel endpoint device, a first registration request for the first virtual machine is sent to the registration service center. The first registration request is used to instruct the registration service center to add the device information of the first tunnel endpoint device to the device registration information corresponding to the target virtual private cloud, so that the tunnel endpoint device involved in the target virtual private cloud can send broadcast data packets according to the device information in the device registration information. Upon receiving a target broadcast data packet sent by a second virtual machine in a second tunnel endpoint device, the target broadcast data packet is forwarded to the first virtual machine. If the first virtual machine determines that the target broadcast data packet is a broadcast data packet for the first virtual machine, a unicast data packet is generated, wherein the unicast data packet includes the address information of the first virtual machine. The unicast data packet is sent to the second virtual machine in the second tunnel endpoint device so that the second tunnel endpoint device synchronizes the address information of the first virtual machine to the local second forwarding information table.

2. The method according to claim 1, characterized in that, After sending the unicast data packet to the second virtual machine in the second tunnel endpoint device, the method further includes: A second registration request for the first virtual machine is sent to the registration service center. The second registration request is used to instruct the registration service center to add the address information of the first virtual machine to the virtual machine registration information corresponding to the target virtual private cloud, so that the tunnel endpoint device involved in the target virtual private cloud can send data packets according to the address information in the virtual machine registration information.

3. The method according to claim 1, characterized in that, After sending the unicast data packet to the second virtual machine in the second tunnel endpoint device, the method further includes: The address information of the first virtual machine in the unicast data packet is synchronized to the local first forwarding information table.

4. The method according to claim 1, characterized in that, After sending a first registration request for the first virtual machine to the registration service center, the method further includes: Obtain device registration information corresponding to the target virtual private cloud from the registration service center; The device information of the tunnel endpoint device involved in the target virtual private cloud in the device registration information is synchronized to the local first forwarding information table.

5. The method according to claim 3 or 4, characterized in that, The method further includes: Upon receiving an information update notification for the target virtual private cloud sent by the registration service center, the updated target registration information is obtained from the registration service center, wherein the target registration information includes at least one of device registration information and virtual machine registration information; Update the local first forwarding information table according to the target registration information.

6. The method according to claim 5, characterized in that, The method further includes: When the first virtual machine needs to send a first data packet to a third virtual machine belonging to the target virtual private cloud in other tunnel endpoint devices, the address information of the third virtual machine is queried from the first forwarding information table; According to the address information of the third virtual machine, the first data packet is sent to the third tunnel endpoint device where the third virtual machine is located, so that the third tunnel endpoint device forwards the first data packet to the third virtual machine.

7. The method according to claim 1, characterized in that, If there are other virtual machines besides the first virtual machine in the first tunnel endpoint device, the forwarding of the target broadcast data packet to the first virtual machine includes: The target broadcast data packet is broadcast to all virtual machines in the first tunnel endpoint device.

8. An information synchronization method applied to a second tunnel endpoint device, characterized in that, include: In the case where the second virtual machine in the second tunnel endpoint device needs to send a second data packet to the first virtual machine in an unknown location, based on the device registration information corresponding to the target virtual private cloud in the registration service center, the device information of multiple tunnel endpoint devices involved in the target virtual private cloud is obtained, wherein the first virtual machine and the second virtual machine both belong to the target virtual private cloud, and the multiple tunnel endpoint devices include the first tunnel endpoint device where the first virtual machine is located. Based on the device information of the plurality of tunnel endpoint devices, a target broadcast data packet is sent to the plurality of tunnel endpoint devices, so that when the first tunnel endpoint device receives the broadcast data packet, it forwards the target broadcast data packet to the first virtual machine, and when the first virtual machine determines that the target broadcast data packet is a broadcast data packet for the first virtual machine, it generates a unicast data packet, the unicast data packet including the address information of the first virtual machine; Receive the unicast data packet sent by the first tunnel endpoint device; The address information of the first virtual machine in the unicast data packet is synchronized to the local second forwarding information table.

9. The method according to claim 8, characterized in that, Before obtaining device information of multiple tunnel endpoint devices involved in the target virtual private cloud based on device registration information corresponding to the target virtual private cloud in the registration service center, the method further includes: Upon receiving an information update notification for the target virtual private cloud sent by the registration service center, the updated device registration information is obtained from the registration service center; Update the local second forwarding information table according to the device registration information; The process of obtaining device information for multiple tunnel endpoint devices involved in the target virtual private cloud based on device registration information corresponding to the target virtual private cloud in the registration service center includes: Retrieve device information for multiple tunnel endpoint devices involved in the target virtual private cloud from the second forwarding information table.

10. The method according to claim 8, characterized in that, After synchronizing the address information of the first virtual machine in the unicast data packet to the local second forwarding information table, the method further includes: Retrieve the address information of the first virtual machine from the second forwarding information table; According to the address information of the first virtual machine, the second data packet is sent to the first tunnel endpoint device, so that the first tunnel endpoint device forwards the second data packet to the first virtual machine.

11. An information synchronization device, configured at a first tunnel endpoint device, characterized in that, include: The first request module is used to send a first registration request for the first virtual machine to the registration service center when a first virtual machine belonging to the target virtual private cloud is created in the first tunnel endpoint device. The first registration request is used to instruct the registration service center to add the device information of the first tunnel endpoint device to the device registration information corresponding to the target virtual private cloud, so that the tunnel endpoint device involved in the target virtual private cloud can send broadcast data packets according to the device information in the device registration information. The data forwarding module is used to forward the target broadcast data packet to the first virtual machine when it receives the target broadcast data packet sent by the second virtual machine in the second tunnel endpoint device, so as to generate a unicast data packet when the first virtual machine determines that the target broadcast data packet is a broadcast data packet for the first virtual machine, wherein the unicast data packet includes the address information of the first virtual machine. The unicast sending module is used to send the unicast data packet to the second virtual machine in the second tunnel endpoint device, so that the second tunnel endpoint device synchronizes the address information of the first virtual machine to the local second forwarding information table.

12. An information synchronization device, configured at a second tunnel endpoint device, characterized in that, include: The information acquisition module is used to acquire device information of multiple tunnel endpoint devices involved in the target virtual private cloud based on the device registration information corresponding to the target virtual private cloud in the registration service center when the second virtual machine in the second tunnel endpoint device needs to send a second data packet to the first virtual machine in an unknown location. The first virtual machine and the second virtual machine both belong to the target virtual private cloud, and the multiple tunnel endpoint devices include the first tunnel endpoint device where the first virtual machine is located. The broadcast sending module is used to send a target broadcast data packet to the multiple tunnel endpoint devices according to the device information of the multiple tunnel endpoint devices, so that when the first tunnel endpoint device receives the broadcast data packet, it forwards the target broadcast data packet to the first virtual machine, and when the first virtual machine determines that the target broadcast data packet is a broadcast data packet for the first virtual machine, it generates a unicast data packet, the unicast data packet including the address information of the first virtual machine; The data receiving module is used to receive the unicast data packets sent by the first tunnel endpoint device; The address synchronization module is used to synchronize the address information of the first virtual machine in the unicast data packet to the local second forwarding information table.

13. An electronic device, characterized in that, The device includes: a processor and a memory storing computer program instructions; When the processor executes the computer program instructions, it implements the steps of the information synchronization method as described in any one of claims 1-7 or 8-10.

14. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer program instructions, which, when executed by a processor, implement the steps of the information synchronization method as described in any one of claims 1-7 or 8-10.