Network system, node and communication method based on virtual extended local area network

CN116488959BActive Publication Date: 2026-10-09ALIBABA (CHINA) CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202310537263.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-05-11
Publication Date
2026-10-09
Estimated Expiration
2043-05-11

AI Technical Summary

Technical Problem

[0003]相关技术中的一种基于VXLAN的网络系统是采用VXLAN隧道端点(VXLAN TunnelEndpoint,VTEP)之间网状互联以及未知广播全网广播的方式实现通信,在网络规模较大的情况下,上述方式会造成广播包环路震荡,导致网络不通

Benefits of technology

[0043] The network system, nodes, and communication method based on Virtual Extended Local Area Network (VXLAN) provided in this application enable the VXLAN gateway node in the network system to learn the precise forwarding table entries of the virtual network element communication nodes inside the communication nodes. Each communication node obtains the precise forwarding table entries of the virtual network element communication nodes inside other ordinary nodes from the VXLAN gateway node. Therefore, communication between communication nodes does not need to be achieved through mutual broadcasting, which avoids the problem of broadcast packet loop oscillation, ensures smooth network operation, and supports large-scale network deployment.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116488959B_ABST
    Figure CN116488959B_ABST
Patent Text Reader

Abstract

The embodiment of the application provides a network system based on a virtual extended local area network, a node and a communication method. The network system comprises: a VXLAN gateway node and a plurality of communication nodes; the VXLAN gateway node is used for learning the correspondence between the MAC address of a virtual network element communication node in the communication node and the virtual network card IP address of the communication node, and is used for sending the correspondence between the MAC address of the virtual network element communication node in the communication node and the virtual network card IP address of the communication node to a first communication node except the first communication node; and the first communication node is used for sending data to the virtual network element communication node in the other communication node through a first VXLAN tunnel interface based on the correspondence between the MAC address of the virtual network element communication node in the other communication node and the virtual network card IP address of the other communication node obtained from the gateway node, thereby avoiding the generation of a broadcast packet loop oscillation in the network system and ensuring network smoothness.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of networking, and more specifically, to network systems, nodes, and communication methods based on Virtual Extensible Local Area Network (VXLAN). Background Technology

[0002] When using cloud server virtual machines as server nodes, the agile and enterprise versions of hybrid cloud platform software have complex data sources and unpredictable precise locations due to the virtual network element nodes in the virtual machines, such as Docker containers. Therefore, the traditional Software Defined Network (SDN) unified control plane cannot be used to issue accurate forwarding tables, and VXLAN technology is required to achieve communication.

[0003] One type of VXLAN-based network system in related technologies uses mesh interconnection between VXLAN Tunnel Endpoints (VTEPs) and unknown broadcasting to achieve communication. When the network is large in scale, the above method will cause broadcast packet loop oscillation, resulting in network failure. Summary of the Invention

[0004] This application provides a network system, nodes, and communication methods based on a virtual extended local area network (VLAN) to avoid broadcast packet loop oscillations in the network system and ensure smooth network operation.

[0005] In a first aspect, this application provides a network system based on Virtual Extended Local Area Network (VXLAN), including: a VXLAN gateway node and multiple communication nodes;

[0006] The VXLAN gateway node is used to learn the correspondence between the MAC addresses of the virtual network element communication nodes inside the communication node and the virtual network card IP addresses of the communication node, and is used to send the correspondence between the MAC addresses of the virtual network element communication nodes inside other communication nodes and the virtual network card IP addresses of the other communication nodes to the first communication node, wherein the first communication node is any one of the plurality of communication nodes.

[0007] The first communication node is used to send data to the virtual network element communication nodes inside the other communication nodes through the first VXLAN tunnel interface, based on the correspondence between the MAC addresses of the virtual network element communication nodes inside the other communication nodes and the virtual network card IP addresses of the other communication nodes obtained from the gateway node.

[0008] In one implementation, the first communication node is configured to include:

[0009] The first VXLAN tunnel interface uses the virtual network card of the first communication node as the data entry and exit point;

[0010] The first bridge device, wherein the first VXLAN tunnel interface is configured to join the first bridge device;

[0011] The first virtual network interface card (VETH) pair, wherein the first VETH in the first VETH pair is configured to join the first bridge device, and the second VETH in the first VETH pair is configured as the data entry / exit point of the virtual network element communication node inside the first communication node.

[0012] In one implementation, the first communication node is configured to include:

[0013] The first static forwarding table from the first communication node to the other communication nodes contains a destination IP address that is the virtual network interface IP address of the VXLAN gateway node, and a destination MAC address that is all zeros.

[0014] In one implementation, the second VETH is configured to include multiple virtual local area network (VLAN) sub-interfaces, and the VLAN sub-interfaces of the second VETH are configured as data entry and exit points for virtual network element communication nodes within the first communication node.

[0015] In one implementation, the VXLAN gateway node is configured to include:

[0016] The second VXLAN tunnel interface uses the virtual network card of the VXLAN gateway node as the data entry and exit point, and the second VXLAN tunnel interface is used to send and receive data from the communication node;

[0017] The second bridge device, wherein the second VXLAN tunnel interface is configured to join the second bridge device;

[0018] The second virtual network interface card (VETH) pair, in which the third VETH is configured to join the second bridge device, and the fourth VETH is configured as the data forwarding interface for communication nodes across network segments.

[0019] In one implementation, the VXLAN gateway node is configured to include:

[0020] The second static forwarding table from the VXLAN gateway node to the communication node has a destination IP address that is the virtual network interface card IP address of the VXLAN gateway node, and a destination MAC address that is all zeros.

[0021] In one implementation, the fourth VETH is configured to include multiple virtual local area network (VLAN) sub-interfaces, and the different VLAN sub-interfaces of the fourth VETH are configured as data forwarding interfaces for communication nodes in different network segments.

[0022] Secondly, this application provides a communication method applied to a network system based on Virtual Extended Local Area Network (VXLAN), the network system including a VXLAN gateway node and multiple communication nodes, the method comprising:

[0023] The first communication node sends a query request to the VXLAN gateway node. The query request is used to query the correspondence between the MAC addresses of the virtual network element communication nodes inside other communication nodes and the virtual network card IP addresses of the other communication nodes. The first communication node is any one of the plurality of communication nodes.

[0024] The VXLAN gateway node sends the mapping relationship between the MAC addresses of the virtual network element communication nodes inside the other communication nodes and the virtual network card IP addresses of the other communication nodes to the first communication node;

[0025] The first communication node sends data to the virtual network element communication nodes within the other communication nodes through the VXLAN tunnel interface, based on the correspondence between the MAC addresses of the virtual network element communication nodes within the other communication nodes and the virtual network interface card IP addresses of the other communication nodes.

[0026] In one implementation, the first communication node sends a query request to the VXLAN gateway node, including:

[0027] The first communication node sends a query request to the VXLAN gateway node at preset time intervals; and / or,

[0028] When the first communication node needs to send data to the target MAC address, and there is no correspondence between the target MAC address and the virtual network interface card (NIC) IP address in the first communication node, the first communication node sends a query request to the VXLAN gateway node. The query request is used to query the correspondence between the target MAC address and the virtual NIC IP address.

[0029] Thirdly, this application provides a communication method applied to a first communication node in a network system based on a Virtual Extended Local Area Network (VXLAN), wherein the network system includes a VXLAN gateway node and multiple communication nodes, and the first communication node is any one of the multiple communication nodes, the method comprising:

[0030] Send a query request to the VXLAN gateway node. The query request is used to query the correspondence between the MAC addresses of the virtual network element communication nodes inside the other communication nodes (excluding the first communication node) and the virtual network interface IP addresses of the other communication nodes.

[0031] The VXLAN gateway node receives the mapping relationship between the MAC addresses of the virtual network element communication nodes within the other communication nodes and the virtual network interface card IP addresses of the other communication nodes.

[0032] Based on the correspondence between the MAC addresses of the virtual network element communication nodes within the other communication nodes and the IP addresses of the virtual network interface cards of the other communication nodes, data is sent to the virtual network element communication nodes within the other communication nodes through the VXLAN tunnel interface.

[0033] Fourthly, this application provides a communication method applied to a VXLAN gateway node in a network system based on Virtual Extended Local Area Network (VXLAN), wherein the network system includes a VXLAN gateway node and multiple communication nodes, and the method includes:

[0034] The system receives a query request sent by a first communication node. The query request is used to query the correspondence between the MAC addresses of virtual network element communication nodes inside other communication nodes besides the first communication node and the virtual network card IP addresses of the other communication nodes. The first communication node is any one of the plurality of communication nodes.

[0035] Send the first communication node the mapping relationship between the MAC addresses of the virtual network element communication nodes inside the other communication nodes and the virtual network card IP addresses of the other communication nodes.

[0036] Fifthly, this application provides a communication node, including: a memory and a processor;

[0037] The memory is used to store computer programs;

[0038] The processor is configured to execute a computer program stored in the memory, wherein the computer program, when executed, causes the processor to perform the method described in the third aspect.

[0039] Sixthly, this application provides a Virtual Extended Local Area Network (VXLAN) gateway node, including: a memory and a processor;

[0040] The memory is used to store computer programs;

[0041] The processor is configured to execute a computer program stored in the memory, wherein the computer program, when executed, causes the processor to perform the method described in the third aspect.

[0042] In a seventh aspect, this application provides a computer-readable storage medium storing a computer program that, when executed by a processor, causes the processor to perform the method described in the third or fourth aspect.

[0043] The network system, nodes, and communication method based on Virtual Extended Local Area Network (VXLAN) provided in this application enable the VXLAN gateway node in the network system to learn the precise forwarding table entries of the virtual network element communication nodes inside the communication nodes. Each communication node obtains the precise forwarding table entries of the virtual network element communication nodes inside other ordinary nodes from the VXLAN gateway node. Therefore, communication between communication nodes does not need to be achieved through mutual broadcasting, which avoids the problem of broadcast packet loop oscillation, ensures smooth network operation, and supports large-scale network deployment. Attached Figure Description

[0044] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0045] Figure 1 This is a schematic diagram of the structure of a VXLAN-based network system provided in an embodiment of this application. Figure 1 ;

[0046] Figure 2 This is a schematic diagram of the structure of a VXLAN-based network system provided in an embodiment of this application. Figure 2 ;

[0047] Figure 3 This is a flowchart illustrating a communication method provided in an embodiment of this application. Figure 1 ;

[0048] Figure 4 This is a flowchart illustrating a communication method provided in an embodiment of this application. Figure 2 ;

[0049] Figure 5 This is a flowchart illustrating a communication method provided in an embodiment of this application. Figure 3 ;

[0050] Figure 6 This is a schematic block diagram of the electronic device provided in the embodiments of this application. Detailed Implementation

[0051] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0052] First, the terminology used in the embodiments of this application will be introduced.

[0053] VXLAN: A network tunneling and isolation technology based on the User Datagram Protocol (UDP), which encapsulates raw data link layer network data in UDP packets for transmission.

[0054] Virtual Ethernet interface (VETH): A type of virtual network interface card that comes with Linux systems and appears in pairs. Their transmitting and receiving ends are directly connected together. For example, a pair of VETH network interfaces: A and B. Packets sent by A are directly received by B, and packets sent by B are directly received by A.

[0055] Elastic Compute Service (ECS): Provides virtual machines and related infrastructure and service layer services.

[0056] Overlay network: refers to building a tunnel layer on the traditional IP network, with the underlying network running on top of the tunnel.

[0057] Underlay network: In contrast to Overlay, it refers to the underlying basic network that carries the Overlay network.

[0058] VTEP: Responsible for converting and forwarding local Overlay and Underlay based on the local forwarding table.

[0059] One type of VXLAN-based network system uses a mesh interconnection architecture between VTEPs and employs a network-wide Underlay broadcast for unknown broadcasts. In this approach, each communication node in the network system needs to learn forwarding entries based on broadcast packets. When the network is large, this method can cause broadcast packet loop oscillations, leading to network outages.

[0060] In view of this, embodiments of this application provide a VXLAN-based network system. In addition to communication nodes, i.e., ordinary nodes, the network system also includes VXLAN gateway nodes. Unlike the mesh interconnection architecture in related technologies, the VXLAN gateway nodes and ordinary nodes in this network system adopt a star topology. The VXLAN gateway nodes learn the precise forwarding table entries of the virtual network element communication nodes inside the ordinary nodes. Each ordinary node obtains the precise forwarding table entries of the virtual network element communication nodes inside other ordinary nodes from the gateway node. Therefore, ordinary nodes do not need to communicate with each other through broadcasting, and the problem of broadcast packet loop oscillation is avoided, thus supporting large-scale network deployment.

[0061] Figure 1 This is a schematic diagram of the structure of a VXLAN-based network system provided in an embodiment of this application. Figure 1 .like Figure 1 As shown, the network includes a VXLAN gateway node and multiple communication nodes. The communication nodes can also be called ordinary nodes, which are virtual machine server nodes that need to communicate.

[0062] The VXLAN gateway node is used to self-learn the mapping between the MAC addresses of the virtual network element communication nodes within the communication node and the virtual network interface card (NIC) IP addresses of the communication node. It is also used to send the mapping between the MAC addresses of the virtual network element communication nodes within other communication nodes (excluding the first communication node) and the NIC IP addresses of other communication nodes to the first communication node, which can be any one of multiple communication nodes. The virtual network element communication nodes within the communication node can be containers, etc.

[0063] The first communication node is used to send data to the virtual network element communication nodes inside other communication nodes through the first VXLAN tunnel interface, based on the correspondence between the MAC addresses of the virtual network element communication nodes inside other communication nodes obtained from the gateway node and the virtual network card IP addresses of other communication nodes.

[0064] In a VXLAN-based network system, communication nodes communicate by establishing VXLAN tunnels. These communication nodes need to send data to other communication nodes' virtual network element communication nodes via the VXLAN tunnel interface, based on the mapping between the MAC addresses of the virtual network element communication nodes within other communication nodes and the virtual network interface card (NIC) IP addresses of other communication nodes in the precise forwarding table entries. In this embodiment, the VXLAN gateway node automatically learns the precise forwarding table entries of all communication nodes' virtual network element communication nodes with active traffic. Communication nodes uniformly obtain these precise forwarding table entries from the VXLAN gateway node, instead of learning them through mutual broadcasting between communication nodes.

[0065] To achieve the above functionality, the following describes the configuration of the VXLAN gateway node and multiple communication nodes. The VXLAN gateway node and multiple communication nodes all use ECS virtual machines. ECS creates virtual machine instances as the basic resource. These virtual machines need to be configured with management-level network interface cards (NICs). The IP addresses of these NICs are automatically assigned and configured internally by ECS. These NICs are assumed to be recorded as eth0.

[0066] Taking the first communication node as an example, the first communication node is configured to include: a virtual network interface card (NIC) and a first VXLAN tunnel interface with the virtual NIC of the first communication node as the data entry and exit point; a first bridge device, the first VXLAN tunnel interface being configured to join the first bridge device; and a first virtual NIC VETH pair, the first VETH in the first VETH pair being configured to join the first bridge device, and the second VETH in the first VETH pair being configured as the data entry and exit point for the virtual network element communication node within the first communication node. Optionally, the second VETH is configured to include multiple virtual local area network (VLAN) sub-interfaces, and the VLAN sub-interfaces of the second VETH are configured as the data entry and exit point for the virtual network element communication node within the first communication node.

[0067] Optionally, the first communication node is configured to include: a first static forwarding database (FDB) from the first communication node to other communication nodes, wherein the destination IP address in the first static forwarding table is the virtual network interface IP address of the VXLAN gateway node, and the destination MAC address in the first static forwarding table is all zeros. The first static forwarding table is used to guide the forwarding of the first packet of data link layer broadcast and unknown unicast.

[0068] The VXLAN gateway node is configured to include: a virtual network interface card (NIC) and a second VXLAN tunnel interface using the NIC as the data entry and exit point, the second VXLAN tunnel interface being used to send and receive data from communication nodes; a second bridge device, the second VXLAN tunnel interface being configured to join the second bridge device; and a second virtual NIC VETH pair, the third VETH in the second VETH pair being configured to join the second bridge device, and the fourth VETH in the second VETH pair being configured as a data forwarding interface for communication nodes across network segments. Optionally, the fourth VETH is configured to include multiple virtual LAN (VLAN) sub-interfaces, and different VLAN sub-interfaces of the fourth VETH are configured as data forwarding interfaces for communication nodes in different network segments.

[0069] Optionally, the VXLAN gateway node is configured to include: a second static forwarding table from the VXLAN gateway node to the communication node, wherein the destination IP address in the second static forwarding table is the virtual network interface IP address of the VXLAN gateway node, and the destination MAC address in the second static forwarding table entries is all zeros. The second static forwarding table is used to guide the forwarding of the first packet of data link layer broadcast and unknown unicast packets.

[0070] The following combination Figure 2 The network system shown is explained.

[0071] For VXLAN gateway nodes:

[0072] 1. The ECS virtual machine acting as the VXLAN gateway node requests one virtual network interface card (NIC) for eth0.

[0073] 2. Within the default network namespace, create a VXLAN tunnel interface vxlan0 with a Linux-provided driver. This VXLAN tunnel interface uses the virtual network card eth0 as the data entry and exit point.

[0074] 3. Within the default network namespace, create a bridge device based on Linux bridge and add the VXLAN tunnel interface (also known as a tunnel device) to this bridge device.

[0075] 4. In the default network namespace, configure static FDB entries for all ordinary nodes, where the MAC address is 00:00:00:00:00:00 and the destination address (dst) is specified as the IP address of the virtual network interface eth0 of the VXLAN gateway node. This static FDB entry is used to guide the forwarding of the first packet of broadcast and unknown unicast at the data link layer.

[0076] 5. Create a pair of VETH network interfaces, namely veth-br and eth1, in the default network namespace. Add veth-br to the bridge device. VLAN sub-interfaces can be created on eth1.

[0077] 6. The VXLAN gateway node will automatically learn the precise FDB entries of all internal virtual network element communication nodes with active traffic on all ordinary nodes. These are also called dynamic FDB entries, which are the correspondence between the MAC address of the virtual network element communication node and the IP address of the virtual network card eth0 (i.e., the Underlay layer) of the ordinary node to which it resides.

[0078] 7. Deploy the FDB distribution service on the VXLAN gateway node. This service is responsible for querying the precise FDB entries of all ordinary nodes in the locally self-learned precise FDB entries and then replying to the ordinary nodes.

[0079] For ordinary nodes:

[0080] 1. The ECS virtual machine, which is a regular node, requests one virtual network interface card (NIC) named eth0.

[0081] 2. Within the default network namespace, create a VXLAN tunnel interface vxlan0 with a Linux-provided driver. This VXLAN tunnel interface uses the virtual network card eth0 as the data entry and exit point.

[0082] 3. Within the default network namespace, create a bridge device based on Linux bridge and add the VXLAN tunnel interface to this bridge device.

[0083] 4. In the default network namespace, configure static FDB entries for all ordinary nodes, where the MAC address is 00:00:00:00:00:00 and the destination address (dst) is specified as the IP address of the virtual network interface eth0 of the VXLAN gateway node. This static FDB entry is used to guide the forwarding of the first packet of data link layer broadcast and unknown unicast.

[0084] 5. Create a pair of VETH network interfaces, veth-br and eth1, within the default network namespace. Add veth-br to the bridge device. A VLAN sub-interface can be created on eth1, and this sub-interface can be configured as the data entry / exit point for upper-layer Docker containers. Based on the above configuration, taking a container on eth1 of virtual machine 1 as an example, the data sent by this container passes through eth1, veth-br, and vxlan0 before being sent out from eth0. The data paths for other containers and other virtual machines are similar.

[0085] 6. Deploy the FDB local agent service on ordinary nodes. This service can periodically query the FDB distribution service of the VXLAN gateway node for the exact FDB entries of all ordinary nodes and configure them locally.

[0086] 7. Ordinary nodes can only automatically learn the exact FDB entries of the VXLAN gateway node. If they need to communicate with virtual network element communication nodes within other ordinary nodes, they will first check if there is a matching entry for that virtual network element communication node in their local exact FDB entries. If no matching entry is found, L2Miss and L3Miss system alarms will be triggered. At this time, the local FDB agent service of the ordinary node can separately query the FDB distribution service of the VXLAN gateway node for the exact FDB entries of the virtual network element communication nodes within other ordinary nodes required for this communication and configure them locally.

[0087] by Figure 2Taking the example of a container on virtual machine 1 sending data to a container on virtual machine 2, during the initial communication, the container on virtual machine 1 only has the IP address of the container on virtual machine 2. Therefore, the first data packet sent by the container on virtual machine 1 is an ARP packet. The container on virtual machine 1 sends the ARP packet to the gw node based on a static FDB entry to obtain the MAC address of the container on virtual machine 2 corresponding to its IP address from the gw node. Subsequently, the container on virtual machine 1, based on the precise FDB entry obtained periodically or according to the needs of this communication, retrieves the IP address of the virtual network interface eth0 of virtual machine 2 corresponding to the MAC address of the container on virtual machine 2 from the gw node. It then sends the data packet to the virtual network interface eth0 of virtual machine 2 through the VXLAN tunnel interfaces vxlan0 and eth0 on virtual machine 1. Virtual machine 2 then internally forwards the data packet to the corresponding container. When virtual machines 1 and 2 belong to different network segments, the gw node handles the data packet forwarding. For GW nodes, since the first packets of virtual network element communication nodes within ordinary nodes are all sent to GW nodes, GW nodes can learn the MAC address and IP address information of all virtual network element communication nodes within ordinary nodes.

[0088] The VXLAN-based network system provided in this application enables large-scale network deployments without introducing a separate and complex control plane system when upper-layer business systems on ECS use VXLAN to build overlay networks supporting multi-VLAN architectures. Through VLAN sub-interface partitioning or network namespace isolation, this network system supports multi-tenant scenarios and allows for isolated configuration of tenant networks. The network system is simple to configure, lacks a complex control system, and all FDB entries are self-learned by the VXLAN gateway node. It eliminates the need for mesh interconnection between ordinary nodes and communication via broadcast packets, remaining unaware of and intrusive to upper-layer services. All components use native Linux components or are custom-written, making it extremely lightweight.

[0089] Figure 3 This is a flowchart illustrating a communication method provided in an embodiment of this application. Figure 1 This method is applied to the VXLAN-based network system in the foregoing embodiments, such as... Figure 3 As shown, the method includes:

[0090] S301. The first communication node sends a query request to the VXLAN gateway node. The query request is used to query the correspondence between the MAC addresses of the virtual network element communication nodes and the virtual network card IP addresses of other communication nodes besides the first communication node. The first communication node is any one of the multiple communication nodes in the network system.

[0091] S302, the VXLAN gateway node sends the mapping relationship between the MAC addresses of the virtual network element communication nodes inside other communication nodes and the virtual network card IP addresses of other communication nodes to the first communication node.

[0092] S303. The first communication node sends data to the virtual network element communication nodes inside other communication nodes through the VXLAN tunnel interface, based on the correspondence between the MAC addresses of the virtual network element communication nodes inside other communication nodes and the virtual network card IP addresses of other communication nodes.

[0093] Optionally, the first communication node sends a query request to the VXLAN gateway node, including:

[0094] The first communication node sends a query request to the VXLAN gateway node at preset time intervals; and / or,

[0095] When the first communication node needs to send data to a target MAC address, and there is no mapping between the target MAC address and the virtual network interface card (NIC) IP address within the first communication node, it sends a query request to the VXLAN gateway node. This query request is used to find the mapping between the target MAC address and the virtual NIC IP address. The target MAC address is the MAC address of the virtual network element communication node within the other communication nodes involved in this communication by the first communication node.

[0096] Figure 4 This is a flowchart illustrating a communication method provided in an embodiment of this application. Figure 2 This method is applied in the first communication node, and the method includes:

[0097] S401. Send a query request to the VXLAN gateway node. The query request is used to query the correspondence between the MAC addresses of the virtual network element communication nodes and the virtual network card IP addresses of other communication nodes, excluding the first communication node.

[0098] S402, Receive the mapping relationship between the MAC addresses of virtual network element communication nodes and the virtual network card IP addresses of other communication nodes sent by the VXLAN gateway node;

[0099] S403. Based on the correspondence between the MAC addresses of the virtual network element communication nodes inside other communication nodes and the IP addresses of the virtual network cards of other communication nodes, data is sent to the virtual network element communication nodes inside other communication nodes through the VXLAN tunnel interface.

[0100] Figure 5 This is a flowchart illustrating a communication method provided in an embodiment of this application. Figure 3 This method is applied to VXLAN gateway nodes, such as... Figure 5 As shown, the method includes:

[0101] S501. Receive a query request sent by the first communication node. The query request is used to query the correspondence between the MAC addresses of the virtual network element communication nodes inside other communication nodes and the virtual network card IP addresses of other communication nodes. The first communication node is any one of multiple communication nodes.

[0102] S502: Send the mapping relationship between the MAC addresses of the virtual network element communication nodes inside other communication nodes and the virtual network card IP addresses of other communication nodes to the first communication node.

[0103] Figure 6 This is a schematic block diagram of the electronic device provided in an embodiment of this application. Figure 6 As shown, the electronic device 600 may include at least one processor 601 for implementing the communication method provided in the embodiments of this application. The electronic device 600 may be a communication node or a VXLAN gateway node in the foregoing embodiments. It is understood that when the communication node or VXLAN gateway node uses a virtual machine, the electronic device 600 refers to the physical device where the communication node or VXLAN gateway node is located, such as the physical server where the ECS virtual machine is located.

[0104] Optionally, the electronic device 600 further includes at least one memory 602 for storing program instructions and / or data. The memory 602 is coupled to the processor 601. The coupling in this embodiment is an indirect coupling or communication connection between devices, units, or modules, and can be electrical, mechanical, or other forms, used for information exchange between devices, units, or modules. The processor 601 may operate in conjunction with the memory 602. The processor 601 may execute program instructions stored in the memory 602. At least one of the at least one memory may be included in the processor.

[0105] Optionally, the electronic device 600 further includes a communication interface 603 for communicating with other devices via a transmission medium, thereby enabling the electronic device 600 to communicate with other devices. The communication interface 603 may be, for example, a transceiver, interface, bus, circuit, or a device capable of transmitting and receiving functions. The processor 601 can utilize the communication interface 603 to transmit and receive data and / or information, and to implement the methods provided in the embodiments of this application. For details, please refer to the detailed descriptions in the preceding embodiments; further elaboration is not repeated here.

[0106] This application embodiment does not limit the specific connection medium between the processor 601, memory 602, and communication interface 603. This application embodiment... Figure 6 The processor 601, memory 602, and communication interface 603 are connected via bus 604. Bus 604 is... Figure 6The connections between other components are shown in thick lines only and are not intended to be limiting. This bus can be divided into address bus, data bus, control bus, etc. For ease of illustration, Figure 6 The bus is represented by a single thick line, but this does not mean that there is only one bus or one type of bus.

[0107] It should be understood that the processor in the embodiments of this application can be an integrated circuit chip with signal processing capabilities. In implementation, each step of the above method embodiments can be completed by the integrated logic circuits in the processor's hardware or by instructions in software form. The processor can be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. It can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of this application can be directly embodied in the execution of a hardware decoding processor, or executed by a combination of hardware and software modules in the decoding processor. The software modules can be located in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other mature storage media in the art. This storage medium is located in memory, and the processor reads the information in the memory and, in conjunction with its hardware, completes the steps of the above method.

[0108] It should also be understood that the memory in the embodiments of this application can be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. The non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous linked dynamic random access memory (SLDRAM), and direct rambus RAM (DR RAM). It should be noted that the memory used in the systems and methods described herein is intended to include, but is not limited to, these and any other suitable types of memory.

[0109] This application also provides a computer-readable storage medium storing a computer program (also referred to as code or instructions). When the computer program is run, it causes the computer to perform the methods as described in any of the foregoing embodiments.

[0110] The terms “unit”, “module”, etc., used in this specification may be used to refer to computer-related entities, hardware, firmware, combinations of hardware and software, software, or software in execution.

[0111] Those skilled in the art will recognize that the various illustrative logical blocks and steps 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 implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art 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. In the several embodiments provided in this application, it should be understood that the disclosed apparatus, devices, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for example, the division of units is merely a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the shown or discussed mutual couplings or direct couplings or communication connections may be through some interfaces; indirect couplings or communication connections between devices or units may be electrical, mechanical, or other forms.

[0112] The unit described as a separate component may or may not be physically separate. The component shown as a unit may or may not be a physical unit; that is, it may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0113] In addition, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.

[0114] In the above embodiments, the functions of each functional unit can be implemented entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially in the form of a computer program product. This computer program product includes one or more computer instructions (programs). When the computer program instructions (programs) are loaded and executed on a computer, all or part of the flow or function according to the embodiments of this application is generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available medium can be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., digital video discs (DVDs)), or semiconductor media (e.g., solid-state disks (SSDs)).

[0115] If this function is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, ROM, RAM, magnetic disks, or optical disks.

[0116] The user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties. Furthermore, the collection, use and processing of the relevant data must comply with the relevant laws, regulations and standards of the relevant countries and regions, and corresponding operation entry points are provided for users to choose to authorize or refuse.

[0117] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A network system based on Virtual Extended Local Area Network (VXLAN), characterized in that, include: VXLAN gateway node and multiple communication nodes; The VXLAN gateway node is used to learn the correspondence between the MAC addresses of the virtual network element communication nodes inside the communication node and the virtual network card IP addresses of the communication node, and is used to send the correspondence between the MAC addresses of the virtual network element communication nodes inside other communication nodes and the virtual network card IP addresses of the other communication nodes to the first communication node, wherein the first communication node is any one of the plurality of communication nodes. The first communication node is used to send data to the virtual network element communication nodes inside the other communication nodes through the first VXLAN tunnel interface, based on the correspondence between the MAC addresses of the virtual network element communication nodes inside the other communication nodes and the virtual network card IP addresses of the other communication nodes obtained from the gateway node. The first communication node is configured to include: a first static forwarding table from the first communication node to the other communication nodes, wherein the destination IP address in the first static forwarding table is the virtual network interface IP address of the VXLAN gateway node, and the destination MAC address in the first static forwarding table is all 0s.

2. The network system according to claim 1, characterized in that, The first communication node is configured to include: The first VXLAN tunnel interface uses the virtual network card of the first communication node as the data entry and exit point; The first bridge device, wherein the first VXLAN tunnel interface is configured to join the first bridge device; The first virtual network interface card (VETH) pair, wherein the first VETH in the first VETH pair is configured to join the first bridge device, and the second VETH in the first VETH pair is configured as the data entry / exit point of the virtual network element communication node inside the first communication node.

3. The network system according to claim 2, characterized in that, The second VETH is configured to include multiple virtual local area network (VLAN) sub-interfaces, and the VLAN sub-interfaces of the second VETH are configured as data entry and exit points for virtual network element communication nodes within the first communication node.

4. The network system according to claim 1, characterized in that, The VXLAN gateway node is configured to include: The second VXLAN tunnel interface uses the virtual network card of the VXLAN gateway node as the data entry and exit point, and the second VXLAN tunnel interface is used to send and receive data from the communication node; The second bridge device, wherein the second VXLAN tunnel interface is configured to join the second bridge device; The second virtual network interface card (VETH) pair, in which the third VETH is configured to join the second bridge device, and the fourth VETH is configured as the data forwarding interface for communication nodes across network segments.

5. The network system according to claim 4, characterized in that, The VXLAN gateway node is configured to include: The second static forwarding table from the VXLAN gateway node to the communication node has a destination IP address that is the virtual network interface card IP address of the VXLAN gateway node, and a destination MAC address that is all zeros.

6. The network system according to claim 4, characterized in that, The fourth VETH is configured to include multiple virtual local area network (VLAN) sub-interfaces, and the different VLAN sub-interfaces of the fourth VETH are configured as data forwarding interfaces for communication nodes in different network segments.

7. A communication method, characterized in that, Applied to a network system based on Virtual Extended Local Area Network (VXLAN), the network system including a VXLAN gateway node and multiple communication nodes, the method includes: The first communication node sends a query request to the VXLAN gateway node. The query request is used to query the correspondence between the MAC addresses of the virtual network element communication nodes inside other communication nodes and the virtual network card IP addresses of the other communication nodes. The first communication node is any one of the plurality of communication nodes. The VXLAN gateway node sends the mapping relationship between the MAC addresses of the virtual network element communication nodes inside the other communication nodes and the virtual network card IP addresses of the other communication nodes to the first communication node; The first communication node sends data to the virtual network element communication node inside the other communication node through the VXLAN tunnel interface based on the correspondence between the MAC address of the virtual network element communication node inside the other communication node and the virtual network card IP address of the other communication node. The first communication node is configured to include: a first static forwarding table from the first communication node to the other communication nodes, wherein the destination IP address in the first static forwarding table is the virtual network interface IP address of the VXLAN gateway node, and the destination MAC address in the first static forwarding table is all 0s.

8. The method according to claim 7, characterized in that, The first communication node sends a query request to the VXLAN gateway node, including: The first communication node sends a query request to the VXLAN gateway node at preset time intervals; and / or, When the first communication node needs to send data to the target MAC address, and there is no correspondence between the target MAC address and the virtual network interface card (NIC) IP address in the first communication node, the first communication node sends a query request to the VXLAN gateway node. The query request is used to query the correspondence between the target MAC address and the virtual NIC IP address.

9. A communication method, characterized in that, The method is applied to a first communication node in a network system based on Virtual Extended Local Area Network (VXLAN), wherein the network system includes a VXLAN gateway node and multiple communication nodes, and the first communication node is any one of the multiple communication nodes. The method includes: Send a query request to the VXLAN gateway node. The query request is used to query the correspondence between the MAC addresses of the virtual network element communication nodes inside the other communication nodes (excluding the first communication node) and the virtual network interface IP addresses of the other communication nodes. The VXLAN gateway node receives the mapping relationship between the MAC addresses of the virtual network element communication nodes within the other communication nodes and the virtual network interface card IP addresses of the other communication nodes. Based on the correspondence between the MAC addresses of the virtual network element communication nodes within the other communication nodes and the IP addresses of the virtual network cards of the other communication nodes, data is sent to the virtual network element communication nodes within the other communication nodes through the VXLAN tunnel interface. The first communication node is configured to include: a first static forwarding table from the first communication node to the other communication nodes, wherein the destination IP address in the first static forwarding table is the virtual network interface IP address of the VXLAN gateway node, and the destination MAC address in the first static forwarding table is all 0s.

10. A communication method, characterized in that, In a VXLAN gateway node of a network system based on Virtual Extended Local Area Network (VXLAN), the network system includes a VXLAN gateway node and multiple communication nodes, the method includes: The system receives a query request sent by a first communication node. The query request is used to query the correspondence between the MAC addresses of virtual network element communication nodes inside other communication nodes (excluding the first communication node) and the virtual network interface card (NIC) IP addresses of the other communication nodes. The first communication node is any one of the plurality of communication nodes. Send the mapping relationship between the MAC addresses of the virtual network element communication nodes inside the other communication nodes and the virtual network card IP addresses of the other communication nodes to the first communication node; The first communication node is configured to include: a first static forwarding table from the first communication node to the other communication nodes, wherein the destination IP address in the first static forwarding table is the virtual network interface IP address of the VXLAN gateway node, and the destination MAC address in the first static forwarding table is all 0s.

11. A communication node, characterized in that, Including memory and processor; The memory is used to store computer programs; The processor is configured to execute a computer program stored in the memory, wherein the computer program, when executed, causes the processor to perform the method of claim 9.

12. A Virtual Extended Local Area Network (VXLAN) gateway node, characterized in that, Including memory and processor; The memory is used to store computer programs; The processor is configured to execute a computer program stored in the memory, wherein the computer program, when executed, causes the processor to perform the method of claim 10.

13. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, causes the processor to perform the method as described in claim 9 or 10.

Citation Information

Patent Citations

  • Multi-tenant communication isolation method and hybrid networking method

    CN114640554A

  • Cross-VPC traffic forwarding method

    CN115499434A

  • Forwarding method and system node of VXLAN (Virtual eXtensible Local Area Network) cluster system

    CN116055398A