Data transmission method, network access system, device, medium and program product

By configuring global network address ranges and link-local address ranges for physical servers and network access devices, and using static routing table entries to implement L3 forwarding, the problem of insufficient switch chip capacity is solved, and the reliability and efficiency of data forwarding under the large-scale deployment of container instances are achieved.

CN121728022APending Publication Date: 2026-03-24CLOUD INTELLIGENCE ASSETS HOLDING (SINGAPORE) PTE LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-23
Publication Date
2026-03-24

AI Technical Summary

Technical Problem

In cloud-native scenarios, insufficient switch chip capacity can lead to the inability of switches to effectively manage the IPv6 addresses of a large number of deployed container instances, resulting in insufficient NDP/MAC table entry capacity.

Method used

Assign a unique global network address range to the physical server and configure the same link-local address range for the network interface controller of the network access device. Implement L3 forwarding through static routing table entries to avoid the network access device learning the NDP/MAC entries of all container instances.

Benefits of technology

It solves the problem of insufficient NDP/MAC table entry capacity in network access devices, ensuring the reliability and efficiency of data forwarding when a large number of container instances are deployed.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121728022A_ABST
    Figure CN121728022A_ABST
Patent Text Reader

Abstract

The invention provides a data sending method, a network access system, a device, a medium and a program product, the network access system comprises a plurality of physical servers and a plurality of network access devices, and the physical servers are distributed with unique global network address segments. Global network addresses of a network interface controller and a container instance deployed on the global network address field belong to the global network address field; the network interface controller is connected with a plurality of network access devices; the network access equipment is configured with a plurality of routing table entries which represent a mapping relation among a global network address segment, a next-hop link local address and an interface number of the network access equipment, and the link local address of the network access equipment and the link local address of the network interface controller belong to the same network address segment; the physical server is configured with a routing table entry which indicates that the next hop address of the physical server is the link local address of the network access equipment connected with the physical server. According to the invention, data L3 forwarding is realized, and insufficient table item capacity of network access equipment is avoided.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of network, and in particular to a data sending method, a network access system, an electronic device, a computer readable storage medium and a computer program product, which can be applied to the network deployment field of cloud infrastructure. BACKGROUND

[0002] Since the Internet Protocol Version 4 (IPv4) has the problem of insufficient network address resources, which restricts the application and development of the Internet, the online deployment of the Internet Protocol Version 6 (IPv6) has developed rapidly.

[0003] In the cloud native scenario, a user will deploy a large number of container instances on a single server, and according to the Central Processing Unit (CPU) and memory capacity of the server configuration, the number of container instances is usually in the order of tens to hundreds. According to the design scheme of the IPv6 container network, each container of the server publishes a neighbor discovery message to the switch, and the switch learns all IPv6 network container addresses. If the server connected to the switch deploys a sufficient number of container instances, the number of address entries learned on the switch will easily exceed the upper limit supported by the switch chip, resulting in the technical problem of insufficient capacity of the switch chip. SUMMARY

[0004] The embodiments of the present application provide a data sending method, a network access system, an electronic device, a computer readable storage medium and a computer program product to alleviate or solve one or more technical problems in the prior art.

[0005] In a first aspect, an embodiment of the present application provides a data sending method applied to a network access device, a plurality of device interfaces of the network access device are connected to network interface controllers of a plurality of physical servers one by one, the physical servers are assigned a unique global network address segment, and a link-local address of the network access device and a link-local address of the network interface controller belong to a same network address segment; the method comprises: determining a target control address and a target interface number corresponding to a destination address of target data from a plurality of routing table entries, a plurality of neighbor discovery table entries, and a plurality of control address table entries according to the destination address, wherein the plurality of routing table entries represent a mapping relationship between the global network address segment of the physical server, a link-local address of a network interface controller corresponding to a next hop, and an interface number of the device interface, the plurality of neighbor discovery table entries represent a mapping relationship between the link-local address of the network interface controller and a control address and the interface number of the device interface, and the plurality of control address table entries represent a mapping relationship between the control address of the network interface controller and the interface number of the device interface; and sending the target data to the network interface controller corresponding to the target control address through a device interface corresponding to the target interface number.

[0006] In a second aspect, an embodiment of the present application provides a data sending method applied to a physical server, the physical server is assigned a unique global network address segment, a network interface controller and a plurality of container instances are deployed on the physical server, and global network addresses of the network interface controller and the container instances belong to the global network address segment; the method comprises: in response to a sending request of target data of any container instance, obtaining a routing table entry pre-configured for the physical server, the routing table entry of the physical server indicating that a next hop address of the physical server is a link-local address of a network access device connected to the network interface controller, and an out-interface is the network interface controller, wherein the link-local address of the network access device and the link-local address of the network interface controller belong to a same network address segment; and sending the target data to the link-local address in the routing table entry through the network interface controller.

[0007] In a third aspect, the embodiments of the present application provide a network access system, comprising a plurality of physical servers and a plurality of network access devices, the physical servers are assigned with a unique global network address segment, the global network addresses of the network interface controllers and the plurality of container instances deployed on the physical servers belong to the global network address segment; the network interface controllers of the physical servers are connected to the plurality of network access devices; the network access devices have a plurality of device interfaces, the plurality of device interfaces are connected to the network interface controllers of the plurality of physical servers one by one, the network access devices are preconfigured with a plurality of routing table entries, used to represent the mapping relationship between the global network address segment of the physical servers, the link local address of the next hop network interface controller and the interface number of the device interface, the link local address of the network access device and the link local address of the network interface controller belong to the same network address segment; and the physical servers are preconfigured with routing table entries, used to represent that the next hop address of the physical servers is the link local address of the network access device connected by the physical servers.

[0008] In a fourth aspect, the embodiments of the present application provide an electronic device, comprising a memory, a processor and a computer program stored in the memory, the processor implements the method of any one of the embodiments of the present application when executing the computer program.

[0009] In a fifth aspect, the embodiments of the present application provide a computer readable storage medium, the computer readable storage medium stores a computer program, the computer program is executed by a processor to implement the method of any one of the embodiments of the present application.

[0010] In a sixth aspect, the embodiments of the present application provide a computer program product, comprising a computer program, the computer program is executed by a processor to implement the method of any one of the embodiments of the present application.

[0011] According to the technical solution of this application embodiment, by allocating a unique Global-IP address range to the physical server, and allocating Global-IP addresses from this Global-IP address range to the network interface controller and each container instance deployed on the physical server, while configuring the link-local-IP address of the network interface controller connected to the network access device to be in the same address range as its Link-local-IP address, it is possible to configure the static routing table entries required for L3 forwarding in both the physical server and the network access device. Furthermore, by configuring static routes with the next hop as the Link-local-IP address on both the physical server and the network access device, L3 forwarding of data is achieved. This avoids the need for the network access device to learn the NDP and MAC entries corresponding to all IPv6 addresses on the connected physical server, thus solving the technical problem of insufficient NDP / MAC entry capacity in the network access device when a large number of container instances are deployed.

[0012] Optionally, the physical server periodically sends NS messages containing the Linklocal-IP address and MAC address of the network interface controller. On one hand, this leverages the network access device's existing ability to dynamically learn NDP and MAC entries, ensuring that the network access device always has the corresponding NDP and MAC entries for the Linklocal-IP address of the network interface controller. Even if there is a brief period where the network access device lacks the corresponding NDP and MAC entries, the physical server's periodic sending of NS messages will trigger the network access device to learn the NDP and MAC entries, resuming traffic forwarding. On the other hand, since the NS messages are sent by the physical server, if the physical server malfunctions, the NS message sending will naturally stop. Therefore, no additional scheme is needed to detect the failure of NDP and MAC entries.

[0013] The above description is only an overview of the technical solution of this application. In order to better understand the technical means of this application, it can be implemented according to the contents of the specification. In order to make the above and other objects, features and advantages of this application more obvious and understandable, specific embodiments of this application are given below. Attached Figure Description

[0014] In the accompanying drawings, unless otherwise specified, the same reference numerals throughout the various drawings denote the same or similar parts or elements. These drawings are not necessarily drawn to scale. It should be understood that these drawings depict only some embodiments according to this application and should not be construed as limiting the scope of this application.

[0015] Figure 1 A schematic diagram of a leaf-spine network architecture used in data centers is shown;

[0016] Figure 2 A schematic diagram illustrating the deployment of servers and switches in related technologies is shown;

[0017] Figure 3 A schematic diagram of the network architecture provided in an embodiment of this application is shown;

[0018] Figure 4 This paper illustrates a deployment and configuration diagram of a network access system provided in an embodiment of this application.

[0019] Figure 5 A flowchart of a data transmission method on the physical server side according to an embodiment of this application is shown;

[0020] Figure 6 A flowchart illustrating a data transmission method on the network access device side according to an embodiment of this application is shown;

[0021] Figure 7 A block diagram of an electronic device provided in an embodiment of this application is shown. Detailed Implementation

[0022] In the following description, only certain exemplary embodiments are briefly described. As those skilled in the art will recognize, the described embodiments can be modified in various ways without departing from the concept or scope of this application. Therefore, the drawings and description are considered to be exemplary in nature and not restrictive.

[0023] To facilitate understanding of the technical solutions of the embodiments of this application, the relevant technologies of the embodiments of this application are described below. The following relevant technologies are optional solutions and can be combined with the technical solutions of the embodiments of this application in any way, and all of them fall within the protection scope of the embodiments of this application.

[0024] The following terms will be used in the following text:

[0025] IPv6: Internet Protocol version 6, designed and developed by the Internet Engineering Task Force (IETF) to replace IPv4.

[0026] Media Access Control Address (MAC): A MAC address is a unique identifier for a network device. It is a hardware address programmed into the NIC device by the NIC manufacturer during production. A Network Interface Card (NIC) is a hardware device installed in a computer or other device to connect to a network and conduct data communication. Each NIC has a unique MAC address.

[0027] The Open Systems Interconnection (OSI) model is a network interconnection model that defines a seven-layer framework for network interconnection: Physical Layer (Layer 1), which transmits raw bit streams; Data Link Layer (Layer 2), which provides point-to-point data transmission and handles MAC addresses and frames; Network Layer (Layer 3), which is responsible for path selection and logical address (IP address) processing; Transport Layer (Layer 4), which provides end-to-end communication and handles port and flow control; Session Layer (Layer 5), which manages sessions and data exchange; Presentation Layer (Layer 6), which handles data formatting and encryption; and Application Layer (Layer 7), which provides network services and application programming interfaces (APIs).

[0028] Layer 2 forwarding (L2 forwarding) is a forwarding operation performed at the data link layer (Layer 2) of the OSI model. L2 forwarding is primarily used for communication within a local area network (LAN), where all devices are within the same broadcast domain. It mainly relies on the device's MAC address to determine the forwarding path of data frames. Therefore, the implementation of L2 forwarding requires a MAC address table.

[0029] Layer 3 forwarding is a forwarding operation performed at the network layer (Layer 3) of the OSI model. It primarily determines the forwarding path of data packets based on the device's IP address by consulting the routing table. Layer 3 forwarding is used for communication across different network segments (i.e., cross-segment communication) or internet communication.

[0030] Neighbor Discovery Protocol (NDP) is part of the TCP / IP (Transmission Control Protocol / Internet Protocol) protocol stack, used in IPv6. NDP replaces the Address Resolution Protocol (ARP) in IPv4. It operates at the data link layer, responsible for discovering other nodes and their corresponding IP addresses on the link, determining available routes, and maintaining information about reachability of available paths and other active nodes.

[0031] Neighbor Discovery Entry: Abbreviated as NDP entry, a record in the Neighbor Discovery table describes the neighbor information maintained by the Neighbor Discovery Protocol in an IPv6 network.

[0032] Control Address Table Entry: Abbreviated as MAC entry, it is a record in the MAC address forwarding table (MAC address table) that records each MAC address and its corresponding outgoing interface.

[0033] Neighbor Solicitation (NS) message: The NS message is a type of message defined in NDP. In NDP, the NS message is primarily used to request the discovery of a neighbor's data link layer MAC address based on the neighbor's IPv6 address. In other words, when a neighbor knows the IPv6 address of another neighbor, it can send an NS message to request its data link layer address.

[0034] Global-IP address: In IPv6, the Global-IP address is a globally routable IP address used to transmit data between different networks. It is a unique IPv6 address for a device on the global Internet.

[0035] Link-local IP address: In IPv6, a link-local IP address is an IPv6 address used within a local area network or the same link, and its scope is limited to the link locality.

[0036] Spine-Leaf architecture: This is a data center network architecture consisting of a Core layer, a Spine layer, and a Leaf layer. Leaf switches handle the connection of physical servers, while Spine switches connect to Leaf switches, enabling communication between physical servers connected to different Leaf switches. To improve the reliability of physical server access to switches, data centers can adopt a multi-server access (i.e., multiple accesses or multiple active accesses) networking approach. For example... Figure 1 As shown, taking dual-uplink access of physical servers as an example, two Leaf switches are grouped together, and each physical server uses two physical network interfaces to connect to a group of two Leaf switches respectively; at the same time, the two physical network interfaces adopt link aggregation (bond) technology to form a single logical network interface for easy management.

[0037] In related technologies, when a physical server is dual-connected to two Leaf switches, the network administrator assigns the same IP address range to the two Leaf switches connected to the physical server and configures the gateway IP for that IP address range on both Leaf switches. The physical servers connected to the Leaf switches, as well as the container instances deployed on those physical servers, all receive IP addresses from this IP address range and belong to the same broadcast domain. The Leaf switches learn the NDP and MAC entries of all connected physical servers and all container instances. Typically, the NDP and MAC entry capacity of commercial Ethernet switching chips is generally in the 10K to 100K range. When the IPv6 address range mask configured on the switch is less than 110, if the connected physical servers deploy a sufficient number of container instances, the number of NDP and MAC entries learned by the Leaf switches can easily exceed the upper limit supported by the switching chip.

[0038] by Figure 1 Taking physical server 1, physical server 2, leaf switch 1, and leaf switch 2 as an example, physical server 1 and physical server 2 are both connected to leaf switch 1 and leaf switch 2, respectively. The specific deployment configuration is as follows:

[0039] (1) Both Leaf switch 1 and Leaf switch 2 are configured with the same IPv6 address 2001::ffff / 64 as the gateway IP;

[0040] (2) Configure network card 1 of physical server 1 with IPv6 address 2001::1 / 64, and configure network card 2 of physical server 2 with IPv6 address 2001::2:1 / 64;

[0041] (3) n container instances are deployed on physical server 1, and n IPv6 addresses need to be allocated: 2001::11 / 64~2001::x / 64; m container instances are deployed on physical server 2, and m IPv6 addresses need to be allocated: 2001::2:1 / 64~2001:2::y / 64, where n and m are both integers greater than 1.

[0042] Leaf switch 1 and Leaf switch 2 perform L2 forwarding. This means that during data forwarding, they need to look up NDP entries to determine the mapping between IPv6 addresses and MAC addresses, and then look up MAC entries to determine the mapping between MAC addresses and the switch's device interfaces (including interface 1 and interface 2). Therefore, Leaf switch 1 and Leaf switch 2 need to learn the NDP and MAC entries corresponding to network interface card 1, network interface card 2, the n container instances on physical server 1, and the m container instances on physical server 2. Specifically:

[0043] (1) Leaf switch 1 and Leaf switch 2 each need to learn 2+n+m NDP entries: 2001::1is atmac_NIC1frominterface1; 2001::2:1is atmac_NIC2frominterface2; 2001::11is atmac_Container11frominterface1; 2001::2:11is atmac_Container21frominterface2; ...; 2001::x is atmac_Containernfrominterface1; 2001::2:y is atmac_Containermfrominterface2;

[0044] (2) Leaf switch 1 and Leaf switch 2 each need to learn 2+n+m MAC entries: mac_NIC1 out interface 1; mac_NIC2 out interface 2; mac_container1 out interface 1; mac_container2 out interface 2; ...; mac_containern out interface 1; mac_containerm out interface 2.

[0045] Since the IPv6 subnet mask length configured on the Leaf switch is 64, a maximum of 2 subnets can be allocated within this subnet. 64 The number of IPv6 addresses far exceeds the NDP / MAC table capacity of the switch chip. Therefore, if the number of container instances deployed on physical server 1 and physical server 2 is large enough, it will exceed the NDP / MAC table capacity of the switch chip, leading to forwarding anomalies.

[0046] In cloud-native (distributed cloud) scenarios, container instances are the basic runtime units of cloud-native applications, containing the application and all its dependent environments. To meet the high concurrency, high reliability, and elastic scaling requirements of cloud-native applications, large-scale deployment and management of container instances are necessary. To address the technical problem of insufficient NDP / MAC entry capacity in network access devices when large numbers of container instances are deployed, embodiments of this application provide a data transmission method, a network access system, an electronic device, a computer-readable storage medium, and a computer program product.

[0047] The technical solution of this application and how it solves the aforementioned technical problems are described in detail below with specific embodiments. The listed specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described again in some embodiments. The embodiments of this application will be described in detail below with reference to the accompanying drawings.

[0048] Figure 3 A schematic diagram of the network architecture according to an embodiment of this application is shown. For example... Figure 3 As shown, the network architecture includes multiple network backbone devices and multiple network access systems. Each network access system includes multiple physical servers and multiple network access devices. This application does not specifically limit the number of network backbone devices and network access systems, nor does it specifically limit the number of network access devices and physical servers in each network access system; deployment can be selected according to business needs. Figure 3 Taking four network backbone devices (network backbone device 1, network backbone device 2, network backbone device 3, and network backbone device 4), four physical servers (physical server 1, physical server 2, physical server 3, and physical server 4), and four network access devices (network access device 1, network access device 2, network access device 3, and network access device 4) as an example, network access system 1 includes physical server 1, physical server 2, network access device 1, and network access device 2; network access system 2 includes physical server 3, physical server 4, network access device 3, and network access device 4.

[0049] The physical server is equipped with a Network Interface Controller (NIC), which converts the data of the physical server into the format required by network protocols and sends and receives the data through network media (such as Ethernet cables or fiber optic cables). The physical server also hosts multiple container instances for deploying, running, and managing individual containerized applications or microservices.

[0050] Network access devices are used to connect physical servers to a network, establishing physical and logical connections between the physical servers and the network, enabling data transmission within the network. For example, they may include switches (such as Leaf switches), routers, or any other suitable devices; this application does not specifically limit the specific devices described herein.

[0051] Network backbone equipment connects each network access device in each network access system, enabling physical servers connected to different network access devices to communicate with each other.

[0052] In a network access system, each physical server connects to multiple network access devices in the system based on its network interface controller; each network access device has multiple device interfaces for connecting one-to-one with the multiple network interface controllers in the system.

[0053] For example, such as Figure 3 As shown, in network access system 1: physical server 1 is connected to network access device 1 and network access device 2 via network interface controller 1; physical server 2 is connected to network access device 1 and network access device 2 via network interface controller 2. Network access device 1 has two device interfaces, namely interface 1 and interface 2. Interface 1 of network access device 1 is connected to network interface controller 1, and interface 2 of network access device 1 is connected to network interface controller 2. Network access device 2 has two device interfaces. Interface 1 of network access device 2 is connected to network interface controller 1, and interface 2 of network access device 2 is connected to network interface controller 2.

[0054] Similarly, in network access system 2: physical server 3 is connected to network access device 3 and network access device 4 via network interface controller 3; physical server 4 is connected to network access device 3 and network access device 4 via network interface controller 4. Network access device 3 has two device interfaces: interface 1 of network access device 3 is connected to network interface controller 3, and interface 2 of network access device 3 is connected to network interface controller 4; network access device 4 has two device interfaces: interface 1 of network access device 4 is connected to network interface controller 3, and interface 2 of network access device 4 is connected to network interface controller 4.

[0055] For ease of understanding, the following example uses network access system 1, combined with... Figure 3 and Figure 4 This application describes the deployment and configuration of the network access system in its embodiments. Figure 4 In the example, the network access device is a Leaf switch, and the network interface controller is a network card.

[0056] like Figure 3 and Figure 4As shown, each physical server is assigned a unique Global-IP address range. The Global-IP addresses of the network interface controller and multiple container instances deployed on the physical server belong to this Global-IP address range. For example, each physical server can be assigned an independent Global-IP address range based on the maximum number of container instances that need to be deployed on a single physical server. Then, Global-IP addresses can be assigned from this Global-IP address range to the network interface controller and each container instance deployed on it.

[0057] For example, such as Figure 4 As shown, a Global IP address range of 2001::1 / 64 is assigned to physical server 1. The network interface controller of physical server 1 is network interface card 1, and the Global IP address assigned to network interface card 1 is 2001::1 / 64. There are n container instances deployed on physical server 1, exemplified as container 11, container 12, container 13... container n, with corresponding Global IP addresses of 2001::11 / 64, 2001::12 / 64, 2001::13 / 64... 2001::x / 64, where n is an integer greater than 1.

[0058] Assign a Global IP address range of 2002::1 / 64 to physical server 2. The network interface controller of physical server 2 is network interface card 2, and the Global IP address assigned to network interface card 2 is 2002::1 / 64. There are m container instances deployed on physical server 2, exemplified as container 21, container 22, container 23... container m, with corresponding Global IP addresses of 2002::21 / 64, 2002::22 / 64, 2002::23 / 64... 2002::y / 64, where m is an integer greater than 1.

[0059] Furthermore, the link-local IP address of the network access device and the link-local IP address of the network interface controller belong to the same network address range. In other words, each device interface of the network access device connected to a network interface controller and the link-local IP address of the connected network interface controller belong to the same network address range.

[0060] For example, such as Figure 4As shown, network interface card 1 is assigned the Linklocal-IP address fe80::1 / 64, which is in the same network address segment as the Linklocal-IP address fe80::ffff / 64 of Leaf switch 1. Network interface card 2 is also assigned the Linklocal-IP address fe80::1 / 64, which is in the same network address segment as the Linklocal-IP address fe80::ffff / 64 of Leaf switch 1. It can be seen that in the same network access system, the two network access devices have the same Linklocal-IP address, which is the gateway IP of the network access device.

[0061] Configure static routes with the Linklocal IP address as the next hop on both the physical server and the network access device. Specifically, the network access device is pre-configured with multiple routing table entries to represent the mapping relationship between the physical server's global network address range, the link local address of the network interface controller corresponding to the next hop, and the interface number of the device interface. The link local address of the network access device and the link local address of the network interface controller belong to the same network address range. The physical server is pre-configured with routing table entries to indicate that the next hop address of the physical server is the link local address of the network access device connected to the physical server's network interface controller, and the outgoing interface is the physical server's network interface controller.

[0062] In this embodiment of the application, "pre-configuration" can be understood as static configuration, such as pre-configuring routing table entries, i.e., configuring static routing table entries. "The next-hop address of the physical server" can be understood as the next-hop address from which traffic flows out of the physical server, or as the next-hop address for data transmission on the physical server.

[0063] For example, such as Figure 4 As shown, a static default route is configured on physical server 1, with the next hop being the Linklocal-IP address fe80::ffff of the Leaf switch, and the outgoing interface being network interface card 1. An example of the routing table entry is: Default next hop fe80::ffffout_if network interface card 1. Similarly, a static default route is configured on physical server 2, with the next hop being the Linklocal-IP address fe80::ffff of the Leaf switch, and the outgoing interface being network interface card 2. An example of the routing table entry is: Default next hop fe80::ffffout_if network interface card 2. Therefore, the default next hop for data sent by each container instance on the physical server is the Linklocal-IP address of the network access device.

[0064] Static routes are configured on Leaf switch 1 and Leaf switch 2, including: (1) the routing table entry corresponding to physical server 1, the static route points to the Global-IP address range of physical server 1, the next hop is the Linklocal-IP address of network card 1, and the outgoing interface is interface 1 of Leaf switch; (2) the routing table entry corresponding to physical server 2, the static route points to the Global-IP address range of physical server 2, the next hop is the Linklocal-IP address of network card 2, and the outgoing interface is interface 2 of Leaf switch.

[0065] Based on this, regardless of how many container instances are deployed on the physical server, when the network access device forwards data to the corresponding physical server, it performs L3 forwarding according to the configured static route. Therefore, the network access device only needs to learn one NDP entry and one MAC entry corresponding to the network interface controller of the connected physical server, and no longer needs to learn the NDP entries and MAC entries corresponding to all container instances.

[0066] For example, such as Figure 4 As shown, Leaf switch 1 connects to two physical servers. Only the NDP and MAC entries corresponding to these two physical servers need to be learned. Specifically, for physical server 1, one NDP entry and one MAC entry are learned. An example of the NDP entry for physical server 1 is: `fe80::1is at mac_NIC1frominterface1`, indicating that when Leaf switch 1 sends data to `fe80::1` through interface 1, the MAC address of NIC 1 should be used as the destination MAC address. An example of the MAC entry for physical server 1 is: `mac_NIC1outinterface1`, indicating that if the destination MAC address of the data is NIC 1, then the data should be forwarded out through interface 1. Similarly, for physical server 2, one corresponding NDP entry and one MAC entry will also be learned. An example of the NDP entry for physical server 2 is: fe80::1is at mac_NIC2frominterface2, which means that when Leaf switch 1 sends data to fe80::1 through interface 2, the MAC address of NIC2 should be used as the destination MAC address; an example of the MAC entry for physical server 2 is: mac_NIC2outinterface2, which means that if the destination MAC address of the data is NIC2, then the data should be forwarded out from interface 2.

[0067] Based on the network access system provided in this application embodiment, a unique Global-IP address range is allocated to the physical server, and Global-IP addresses are allocated from this Global-IP address range to the network interface controller and each container instance deployed on the physical server. Simultaneously, the Linklocal-IP address of the network interface controller connected to the network access device is configured to be in the same address range as its Linklocal-IP address. This enables the configuration of static routing table entries required for L3 forwarding in both the physical server and the network access device. Furthermore, static routes with the Linklocal-IP address as the next hop are configured on both the physical server and the network access device to achieve L3 forwarding of data. This avoids the need for the network access device to learn the NDP and MAC entries corresponding to all IPv6 addresses on the connected physical server, thus solving the technical problem of insufficient NDP / MAC entry capacity in the network access device when a large number of container instances are deployed.

[0068] The following describes the implementation methods for data transmission based on the aforementioned network access system, using physical servers and network access devices as the main execution entities.

[0069] Figure 5 A flowchart of a data transmission method according to an embodiment of this application is shown. This data transmission method can be applied to any physical server in the aforementioned network access system and executed by that physical server. Figure 5 As shown, the data transmission method includes steps S501 and S502.

[0070] Step S501: In response to any container instance's request to send target data, obtain the routing table entry pre-configured for the physical server. The routing table entry of the physical server indicates that the next-hop address of the physical server is the link-local address of the network access device connected to the network interface controller, and the outgoing interface is the network interface controller. The link-local address of the network access device and the link-local address of the network interface controller belong to the same network address segment.

[0071] The physical server can be any physical server in the aforementioned network access system. This means that the physical server hosts a network interface controller and multiple container instances, and is assigned a unique Global IP address range. The Global IP addresses of the network interface controller and each container instance belong to this Global IP address range; that is, the Global IP addresses of the network interface controller and the multiple container instances deployed on this physical server are all allocated from this Global IP address range. See the description of the network access system for details.

[0072] For example, when a physical server receives a request from a container instance to send target data, it retrieves the static route table entry configured for that container, i.e., it retrieves the configured static route. This static route is the default route, indicating that the next-hop address for the default traffic forwarding from the physical server is the Linklocal-IP address of the network access device, and the outgoing interface is the network interface controller of the physical server. Furthermore, as mentioned above, the Linklocal-IP address of the network access device and the Linklocal-IP address of the network interface controller of the physical server are in the same network address range.

[0073] Step S502: Send target data to the link-local address in the routing table entry through the network interface controller.

[0074] As mentioned above, in the same network access system, the link-local addresses of network access devices are the same. When the physical server in the network access system sends target data to the link-local address in the routing table entry, it can broadcast the target data to the network access devices in the network access system.

[0075] According to the data transmission method of this application embodiment, a unique Global-IP address range is allocated to the physical server, and Global-IP addresses are allocated from this Global-IP address range to the network interface controller and each container instance deployed on the physical server. Simultaneously, the Linklocal-IP address of the network interface controller connected to the network access device is configured to be in the same address range as its Linklocal-IP address. This enables the configuration of static routing table entries required for L3 forwarding in both the physical server and the network access device. Furthermore, configuring a static route with the Linklocal-IP address as the next hop on the physical server prepares for L3 forwarding of data on the physical server side. This avoids the need for the network access device to learn the NDP and MAC entries corresponding to all IPv6 addresses on the connected physical server, thus solving the technical problem of insufficient NDP / MAC entry capacity in the network access device when a large number of container instances are deployed.

[0076] In one embodiment, the network access device includes multiple device interfaces, each with an interface number. Among the multiple device interfaces is a target device interface connected to a network interface controller. The data transmission method may include: sending a neighbor request message to the network access device, the neighbor request message carrying the link-local address and control address of the network interface controller, so that the network access device generates a neighbor discovery table entry and a control address table entry corresponding to the network interface controller based on the neighbor request message. The neighbor discovery table entry represents the matching relationship between the link-local address of the network interface controller, the control address of the network interface controller, and the interface number of the target device interface, and the control address table entry represents the matching relationship between the control address of the network interface controller and the interface number of the target device interface.

[0077] For example, the Neighbor Request message is an NS message, the control address is the MAC address, the Neighbor Discovery table entry is an NDP entry, and the control address table entry is a MAC entry. By modifying the physical server's operating system kernel, the physical server can periodically send NS messages to the network access devices connected to it. The NS message carries the Linklocal-IP address and MAC address of the physical server's network interface controller.

[0078] If a network access device receives an NS message from the physical server, it will generate a corresponding NDP entry and a MAC entry. For example, Figure 4 As shown, physical server 1 periodically sends NS messages to the Leaf switches (Leaf switch 1 and Leaf switch 2). These NS messages carry the Linklocal-IP address and MAC address of network interface card 1 (NIC 1). The Leaf switches receive the NS messages and learn one NDP entry and one MAC entry. The NDP entry for physical server 1, `fe80::1is at mac_NIC1frominterface1`, represents the matching relationship between NIC 1's Linklocal-IP address (fe80::1), NIC 1's MAC address (mac_NIC1), and Leaf switch 1's interface number (interface1). Specifically, when Leaf switch 1 sends target data to `fe80::1` through interface1, it should use NIC 1's MAC address as the target MAC address. The MAC entry for physical server 1, mac_network1outinterface1, indicates the matching relationship between the MAC address of network card 1 (mac_network1) and the interface number of Leaf switch 1 (interface1). Specifically, it can be understood that if the target MAC address of the target data is network card 1, then the target data should be forwarded out from interface1.

[0079] The physical server sends NS messages containing the Linklocal-IP address and MAC address of the network interface controller from multiple physical links. On one hand, it leverages the network access devices' existing ability to dynamically learn NDP and MAC entries, ensuring that the network access devices always have NDP and MAC entries corresponding to the Linklocal-IP address of the network interface controller. Therefore, even if there is a brief period where the network access devices lack the corresponding NDP and MAC entries, the physical server's periodic sending of NS messages will trigger the network access devices to learn the NDP and MAC entries, resuming traffic forwarding. On the other hand, since the NS messages are sent periodically by the physical server, if the physical server malfunctions, the NS message sending will naturally stop. Therefore, no additional scheme is needed to detect the failure of NDP and MAC entries.

[0080] In one implementation, the neighbor request message is sent at a frequency shorter than the aging period of the neighbor discovery table entries configured on the network access device.

[0081] The aging period of an NDP entry can be understood as the time limit for which an NDP entry remains valid. Each NDP entry has a specific aging period after its creation. If no NS message is received within the aging period, the NDP entry is considered invalid. Therefore, setting the NS message sending period to be shorter than the NDP entry's aging period ensures that the NDP entry remains valid throughout its aging period. If the physical server malfunctions and fails to send an NS message, the NDP entry will automatically become invalid, preventing forwarding errors and eliminating the need for additional mechanisms or components to detect NDP entry invalidation events.

[0082] In one implementation, the network access system may include a central control component capable of communicating with physical servers and network access devices within the system. If a physical server comes online, the central control component configures corresponding static NDP and MAC entries in the network access devices connected to that physical server. If a physical server goes offline or experiences a failure, the central control component deletes the corresponding static NDP and MAC entries from the network access devices connected to that physical server. This method of statically configuring and deleting NDP and MAC entries allows for the configuration of corresponding NDP and MAC entries in the network access devices when the physical server comes online, ensuring normal L3 data forwarding. Furthermore, it allows for the deletion of corresponding NDP and MAC entries when a physical server malfunctions, preventing forwarding errors.

[0083] Figure 6A flowchart of a data transmission method according to an embodiment of this application is shown. This data transmission method can be applied to any network access device in the above-described network access system and executed by that network access device. Figure 6 As shown, the data transmission method includes steps S601 and S602.

[0084] Step S601: Based on the destination address of the target data, determine the target control address and target interface number corresponding to the destination address from multiple routing table entries, multiple neighbor discovery table entries, and multiple control address table entries. Among them, the multiple routing table entries represent the mapping relationship between the global network address range of the physical server, the link-local address of the next-hop network interface controller, and the interface number of the device interface; the multiple neighbor discovery table entries represent the mapping relationship between the link-local address and control address of the network interface controller and the interface number of the device interface; and the multiple control address table entries represent the mapping relationship between the control address of the network interface controller and the interface number of the device interface.

[0085] In this system, any network access device can be connected to any of the network access devices described above. This means that multiple device interfaces of a network access device are connected one-to-one with the network interface controllers of multiple physical servers. Each physical server is assigned a unique Global IP address range, and the link-local address of the network access device and the link-local IP address of the network interface controller belong to the same network address range. The multiple routing table entries, NDP entries, and MAC entries on the network access device are described above and will not be repeated here.

[0086] After receiving the target data to be forwarded, the network access device will sequentially search the routing table, NDP table, and MAC table based on the destination address of the target data to find the target MAC address of the corresponding network interface controller and the target interface number of the network access device.

[0087] Step S602: Send the target data to the network interface controller corresponding to the target control address through the device interface corresponding to the target interface number.

[0088] After determining the target MAC address and target interface number, the network access device can encapsulate the target data into an Ethernet frame with the target MAC address as the destination MAC address, and send the target data to the network interface controller of the corresponding physical server through the device interface corresponding to its target interface number.

[0089] According to the data transmission method of this application embodiment, by allocating a unique Global-IP address range to the physical server and configuring the Linklocal-IP address of the network interface controller connected to the network access device to be in the same address range as its Linklocal-IP address, and configuring a static route with the Linklocal-IP address as the next hop in the network access device, when the network access device forwards data to the corresponding physical server, it performs L3 forwarding according to the configured static route. Therefore, the network access device only needs to learn one NDP entry and one MAC entry corresponding to the network interface controller connected to the physical server, and no longer needs to learn the NDP entries and MAC entries corresponding to all container instances. This solves the technical problem of insufficient table capacity in the network access device when a large number of container instances are deployed.

[0090] In one implementation, step S601, determining the target control address and target interface number corresponding to the destination address from multiple routing table entries, multiple neighbor discovery table entries, and multiple control address table entries based on the destination address of the target data, may include: selecting a target routing table entry from the multiple routing table entries whose global network address segment matches the destination address; matching a target neighbor discovery table entry from the multiple neighbor discovery table entries based on the next-hop link local address and interface number in the target routing table entry; matching a target control address table entry from the multiple control address table entries based on the control address in the target neighbor discovery table entry; and parsing the target control address table entry to obtain the target control address and target interface number.

[0091] Combination Figure 4Taking Leaf switch 1 as an example, Leaf switch 1 receives a target data packet, which is typically an IPv6 packet with a destination address of 2001::11 / 64. Leaf switch 1 has two routing table entries configured, and the Global-IP address range of the destination address 2001::11 / 64 is 2001:: / 64. Therefore, the routing table entry "2001:: / 64 next hop fe80::1out_if interface 1" is matched as the target routing table entry. Leaf switch 1 resolves the next hop address to fe80::1 and the outgoing interface to interface 1 from the target routing table entry "2001:: / 64 next hop fe80::1out_if interface 1", and then matches the corresponding target NDP entry "fe80::1is at mac_NIC1from interface 1". Leaf switch 1 resolves the MAC address corresponding to the next-hop address fe80::1 from the target NDP entry "fe80::1is at mac_NIC1frominterface1" to the MAC address of NIC 1, and then matches the corresponding target MAC entry "mac_NIC1outinterface1". Therefore, the target MAC address is the MAC address of NIC 1, and the target interface number is interface 1.

[0092] Further, in step S602, Leaf switch 1 encapsulates the target data into an Ethernet frame with the MAC address of network card 1 as the destination MAC address, and sends the target data to network card 1 of physical server 1 through its interface 1.

[0093] Based on this, L3 forwarding can be implemented on the network access device side according to the NDP protocol. There is no need to change the logical connection relationship between the network access device and the physical server. The network access device only needs to learn one NDP entry and one MAC entry corresponding to the network interface controller of the physical server, instead of learning the NDP entries and MAC entries corresponding to all IPv6 addresses on the physical server.

[0094] In one implementation, the plurality of physical servers includes a target physical server. The data transmission method of this application embodiment may further include: receiving a neighbor request message sent by the target physical server, wherein the neighbor request message carries the link-local address and control address of the target network interface controller deployed on the target physical server; and generating a neighbor discovery table entry and a control address table entry corresponding to the target network interface controller based on the neighbor request message.

[0095] If a network access device receives an NS message from a target physical server, it will generate an NDP entry and a MAC entry for that target physical server. See the description above for details. Based on this, the network access device can leverage its existing ability to dynamically learn NDP and MAC entries, ensuring that the network access device always has NDP and MAC entries corresponding to the Linklocal-IP address of the network interface controller. Therefore, even if there is a brief period where the network access device does not have corresponding NDP and MAC entries, it can still learn the NDP and MAC entries and resume traffic forwarding after the target physical server periodically sends NS messages.

[0096] In one embodiment, the method of this application embodiment may further include: pre-configuring a route activation policy, wherein the route activation policy includes: activating the route entry corresponding to the target network interface controller when a neighbor discovery entry and a control address entry corresponding to the target network interface controller are generated; and deactivating the route entry corresponding to the target network interface controller when no neighbor discovery entry and a control address entry corresponding to the target network interface controller are generated.

[0097] For example, a static route activation policy is configured for the NDP and MAC entries configured on the Leaf switch, including: if the Leaf switch learns the NDP and MAC entries corresponding to the next-hop Linklocal-IP address in the static route, the route entry becomes effective; if the Leaf switch does not learn the NDP and MAC entries corresponding to the next-hop Linklocal-IP address in the static route, the route entry becomes invalid.

[0098] Therefore, if the physical server malfunctions, the network access device will be unable to learn the NDP and MAC entries. In this case, invalidating the static routing table entries in the network access device can prevent forwarding errors from occurring.

[0099] In one implementation, when the target physical server is online, the network access device is configured with neighbor discovery entries and control address entries corresponding to the target network interface controller deployed on the target physical server; when the physical server is abnormal, the neighbor discovery entries and control address entries corresponding to the target network interface controller are deleted.

[0100] For example, a network access system may include a central control component capable of communicating with physical servers and network access devices within the system. If a physical server comes online, the central control component will configure corresponding static NDP and MAC entries in the network access devices connected to that physical server. If a physical server malfunctions (e.g., goes offline or fails), the central control component will delete the corresponding static NDP and MAC entries in the network access devices connected to that physical server.

[0101] This method of statically configuring and deleting NDP and MAC entries allows for configuring corresponding NDP and MAC entries for the physical server in the network access device when the physical server comes online, enabling normal L3 data forwarding. In the event of a physical server malfunction, the corresponding NDP and MAC entries are deleted to prevent forwarding errors.

[0102] It should be noted that the application scenarios or examples provided in this application embodiment are for ease of understanding, and this application embodiment does not specifically limit the application of the technical solution. Furthermore, 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, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties. The collection, use, and processing of related 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.

[0103] Corresponding to the method provided in the embodiments of this application, the embodiments of this application also provide a data sending device applied to a physical server. The physical server is allocated a unique global network address range, and a network interface controller and multiple container instances are deployed on the physical server. The global network addresses of the network interface controller and the container instances belong to the global network address range. The data sending device includes: a routing table entry acquisition module, used to acquire a routing table entry pre-configured for the physical server in response to a sending request for target data from any of the container instances. The routing table entry of the physical server indicates that the next-hop address of the physical server is the link-local address of the network access device connected to the network interface controller, and the outgoing interface is the network interface controller. The link-local address of the network access device and the link-local address of the network interface controller belong to the same network address range. A first target data sending module is used to send the target data to the link-local address in the routing table entry through the network interface controller.

[0104] In one embodiment, the network access device includes multiple device interfaces, each with a corresponding interface number. Among the multiple device interfaces is a target device interface connected to the network interface controller. The data transmission device further includes a neighbor request message transmission module, used to send a neighbor request message to the network access device. The neighbor request message carries the link-local address and control address of the network interface controller, enabling the network access device to generate a neighbor discovery table entry and a control address table entry corresponding to the network interface controller based on the neighbor request message. The neighbor discovery table entry represents the matching relationship between the link-local address of the network interface controller, the control address of the network interface controller, and the interface number of the target device interface. The control address table entry represents the matching relationship between the control address of the network interface controller and the interface number of the target device interface.

[0105] In one implementation, the neighbor request message is sent at a period shorter than the aging period of the neighbor discovery entry configured on the network access device.

[0106] In one embodiment, the network access device pre-stores routing table entries corresponding to the network interface controller, which are used to indicate that the next-hop address of data belonging to the global network address segment is the link-local address of the network interface controller, and the outgoing interface is the interface number of the target device interface.

[0107] Corresponding to the method provided in the embodiments of this application, the embodiments of this application also provide a data transmission device applied to a network access device. Multiple device interfaces of the network access device are connected one-to-one with network interface controllers of multiple physical servers. Each physical server is allocated a unique global network address range. The link-local address of the network access device and the link-local address of the network interface controller belong to the same network address range. The data transmission device includes a target control address and target interface number determination module, used to determine the target control address corresponding to the destination address from multiple routing table entries, multiple neighbor discovery table entries, and multiple control address table entries based on the destination address of the target data. The target interface number is specified in the multiple routing table entries, which represent the mapping relationship between the global network address range of the physical server, the link-local address of the network interface controller corresponding to the next hop, and the interface number of the device interface. The multiple neighbor discovery table entries represent the mapping relationship between the link-local address and control address of the network interface controller and the interface number of the device interface. The multiple control address table entries represent the mapping relationship between the control address of the network interface controller and the interface number of the device interface. The second target data sending module is used to send the target data to the network interface controller corresponding to the target control address through the device interface corresponding to the target interface number.

[0108] In one implementation, the target control address and target interface number determination module includes: a target routing table entry matching submodule, configured to select a target routing table entry from the plurality of routing table entries whose global network address segment matches the destination address; a target neighbor discovery table entry matching submodule, configured to match a target neighbor discovery table entry from the plurality of neighbor discovery table entries based on the link-local address and interface number of the next hop in the target routing table entry; a target control address table entry matching submodule, configured to match a target control address table entry from the plurality of control address table entries based on the control address in the target neighbor discovery table entry; and a parsing submodule, configured to parse the target control address table entry to obtain the target control address and the target interface number.

[0109] In one embodiment, the plurality of physical servers includes a target physical server, and the data sending device further includes: a neighbor request message receiving module, configured to receive a neighbor request message sent by the target physical server, wherein the neighbor request message carries the link-local address and control address of a target network interface controller deployed on the target physical server; and an entry generation module, configured to generate a neighbor discovery entry and a control address entry corresponding to the target network interface controller based on the neighbor request message.

[0110] In one embodiment, the data sending device further includes a route activation policy configuration module for pre-configuring a route activation policy, wherein the route activation policy includes: activating the route entry corresponding to the target network interface controller when a neighbor discovery entry and a control address entry corresponding to the target network interface controller are generated; and deactivating the route entry corresponding to the target network interface controller when no neighbor discovery entry and a control address entry corresponding to the target network interface controller are generated.

[0111] In one implementation, when the target physical server is online, the network access device is configured with a neighbor discovery entry and a control address entry corresponding to the target network interface controller deployed on the target physical server; when the physical server is abnormal, the neighbor discovery entry and the control address entry corresponding to the target network interface controller are deleted.

[0112] The functions of each module in each device in the embodiments of this application can be found in the corresponding description in the above method, and they have corresponding beneficial effects, which will not be repeated here.

[0113] Figure 7 This is a block diagram of an electronic device used to implement embodiments of this application. For example... Figure 7As shown, the electronic device includes a memory 701 and a processor 702. The memory 701 stores a computer program that can run on the processor 702. When the processor 702 executes the computer program, it implements the method described in the above embodiments. The number of memories 701 and processors 702 can be one or more. In a specific implementation, the electronic device may also include a communication interface 703 for communicating with external devices and performing data exchange and transmission.

[0114] In practical implementation, if the memory 701, processor 702, and communication interface 703 are implemented independently, they can be interconnected via a bus to communicate with each other. This bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus, etc. This bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 7 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.

[0115] Optionally, in a specific implementation, if the memory 701, processor 702, and communication interface 703 are integrated on a single chip, the memory 701, processor 702, and communication interface 703 can communicate with each other through an internal interface.

[0116] This application provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the method provided in this application.

[0117] This application provides a computer program product, including a computer program that, when executed by a processor, implements the method provided in this application.

[0118] This application also provides a chip including a processor for calling and executing instructions stored in a memory, causing a communication device with the chip installed to perform the method provided in this application.

[0119] This application also provides a chip, including: an input interface, an output interface, a processor, and a memory. The input interface, output interface, processor, and memory are connected through an internal connection path. The processor is used to execute code in the memory. When the code is executed, the processor is used to execute the method provided in the application embodiment.

[0120] It should be understood that the aforementioned processor can be a Central Processing Unit (CPU), or other general-purpose processors, Digital Signal Processors (DSPs), Application Specific Integrated Circuits (ASICs), Field-Programmable Gate Arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. General-purpose processors can be microprocessors or any conventional processor. It is worth noting that the processor can be a processor supporting Advanced Reduced Instruction Set Machines (ARM) architecture.

[0121] Further, optionally, the aforementioned memory may include read-only memory and random access memory. The memory may be volatile memory or non-volatile memory, or may include both. Non-volatile memory may include 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. Volatile memory may include random access memory (RAM), which serves as an external cache. By way of example, but not limitation, many forms of RAM are available. Examples include Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), Synchronous DRAM (SDRAM), Double Data Rate SDRAM (DDR SDRAM), Enhanced Synchronous DRAM (ESDRAM), Synchronous Link DRAM (SLDRAM), and Direct Rambus RAM (DR RAM).

[0122] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, as a computer program product. A computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions according to this application are 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 transferred from one computer-readable storage medium to another.

[0123] In the description of this specification, the references to terms such as "one embodiment," "some embodiments," "example," "specific example," or "some examples," etc., indicate that a specific feature, structure, material, or characteristic described in connection with that embodiment or example is included in at least one embodiment or example of this application. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples. Moreover, without contradiction, those skilled in the art can combine and integrate the different embodiments or examples described in this specification, as well as the features of those different embodiments or examples.

[0124] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one of that feature. In the description of this application, "a plurality of" means two or more, unless otherwise explicitly specified.

[0125] Any process or method described in the flowchart or otherwise herein can be understood as representing a module, segment, or portion of code comprising one or more executable instructions for implementing a particular logical function or process. Furthermore, the scope of the preferred embodiments of this application includes additional implementations in which functions may be performed not in the order shown or discussed, including substantially simultaneously or in reverse order depending on the functionality involved.

[0126] The logic and / or steps described in the flowchart or otherwise herein, for example, can be considered as a sequenced list of executable instructions for implementing logical functions, and can be embodied in any computer-readable medium for use by, or in conjunction with, an instruction execution system, apparatus or device (such as a computer-based system, a processor-included system or other system that can fetch and execute instructions from, an instruction execution system, apparatus or device).

[0127] It should be understood that various parts of this application can be implemented using hardware, software, firmware, or a combination thereof. In the above embodiments, multiple steps or methods can be implemented using software or firmware stored in memory and executed by a suitable instruction execution system. All or part of the steps of the methods in the above embodiments can be implemented by a program instructing related hardware, the program being stored in a computer-readable storage medium, which, when executed, includes one or a combination of the steps of the method embodiments.

[0128] Furthermore, the functional units in the various embodiments of this application can be integrated into a processing module, or each unit can exist physically separately, or two or more units can be integrated into a module. The integrated module can be implemented in hardware or as a software functional module. If the integrated module is implemented as a software functional module and sold or used as an independent product, it can also be stored in a computer-readable storage medium. This storage medium can be a read-only memory, a disk, or an optical disk, etc.

[0129] The above description is merely an exemplary embodiment of this application, but the scope of protection of this application is not limited thereto. Any person skilled in the art can easily conceive of various variations or substitutions within the technical scope described in this application, and these should all 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 data transmission method applied to a network access device, wherein multiple device interfaces of the network access device are connected one-to-one with network interface controllers of multiple physical servers, the physical servers are assigned a unique global network address range, and the link-local address of the network access device and the link-local address of the network interface controller belong to the same network address range; the method includes: Based on the destination address of the target data, the target control address and target interface number corresponding to the destination address are determined from multiple routing table entries, multiple neighbor discovery table entries, and multiple control address table entries. The multiple routing table entries represent the mapping relationship between the physical server's global network address range, the link-local address of the network interface controller corresponding to the next hop, and the interface number of the device interface. The multiple neighbor discovery table entries represent the mapping relationship between the link-local address and control address of the network interface controller and the interface number of the device interface. The multiple control address table entries represent the mapping relationship between the control address of the network interface controller and the interface number of the device interface. The target data is sent to the network interface controller corresponding to the target control address through the device interface corresponding to the target interface number.

2. The method according to claim 1, wherein, Based on the destination address of the target data, the target control address and target interface number corresponding to the destination address are determined from multiple routing table entries, multiple neighbor discovery table entries, and multiple control address table entries, including: From the multiple routing table entries, select the target routing table entry that matches the global network address range and the destination address; Based on the link-local address and interface number of the next hop in the target routing table entry, the target neighbor discovery table entry is matched from the multiple neighbor discovery table entries; Based on the control address in the target neighbor discovery table entry, the target control address table entry is matched from the multiple control address table entries; The target control address and the target interface number are obtained by parsing the target control address table entry.

3. The method according to claim 1 or 2, wherein, The plurality of physical servers includes the target physical server, and the method further includes: Receive a neighbor request message sent by the target physical server, the neighbor request message carrying the link-local address and control address of the target network interface controller deployed on the target physical server; Based on the neighbor request message, a neighbor discovery entry and a control address entry corresponding to the target network interface controller are generated.

4. The method according to claim 3, further comprising: Configure a routing activation policy, wherein the routing activation policy includes: activating the routing table entry corresponding to the target network interface controller when a neighbor discovery table entry and a control address table entry corresponding to the target network interface controller are generated; and deactivating the routing table entry corresponding to the target network interface controller when no neighbor discovery table entry and a control address table entry corresponding to the target network interface controller are generated.

5. The method according to claim 1 or 2, wherein, When the target physical server is online, the network access device is configured with neighbor discovery entries and control address entries corresponding to the target network interface controller deployed on the target physical server; when the physical server is abnormal, the neighbor discovery entries and control address entries corresponding to the target network interface controller are deleted.

6. A data transmission method applied to a physical server, wherein the physical server is allocated a unique global network address range, a network interface controller and multiple container instances are deployed on the physical server, and the global network addresses of the network interface controller and the container instances belong to the global network address range; the method includes: In response to any of the container instances sending target data, a routing table entry pre-configured for the physical server is obtained. The routing table entry of the physical server indicates that the next-hop address of the physical server is the link-local address of the network access device connected to the network interface controller, and the outgoing interface is the network interface controller. The link-local address of the network access device and the link-local address of the network interface controller belong to the same network address segment. The target data is sent to the link-local address in the routing table entry through the network interface controller.

7. The method according to claim 6, wherein, The network access device includes multiple device interfaces, each device interface corresponding to an interface number, and the multiple device interfaces include a target device interface connected to the network interface controller. The method further includes: A neighbor request message is sent to the network access device. The neighbor request message carries the link-local address and control address of the network interface controller, so that the network access device generates a neighbor discovery table entry and a control address table entry corresponding to the network interface controller based on the neighbor request message. The neighbor discovery table entry represents the matching relationship between the link-local address of the network interface controller, the control address of the network interface controller, and the interface number of the target device interface. The control address table entry represents the matching relationship between the control address of the network interface controller and the interface number of the target device interface.

8. The method according to claim 7, wherein, The neighbor request message is sent at a period shorter than the aging period of the neighbor discovery entry configured on the network access device.

9. The method according to claim 7 or 8, wherein, The network access device pre-stores routing table entries corresponding to the network interface controller, which are used to indicate that the next-hop address of data belonging to the global network address segment is the link-local address of the network interface controller, and the outgoing interface is the interface number of the target device interface.

10. A network access system, comprising multiple physical servers and multiple network access devices. The physical server is assigned a unique global network address range, and the global network addresses of the network interface controller and multiple container instances deployed on the physical server belong to the global network address range; the network interface controller of the physical server is connected to the multiple network access devices; The network access device has multiple device interfaces, each of which is connected to a network interface controller of one of the multiple physical servers. The network access device is pre-configured with multiple routing table entries to represent the mapping relationship between the global network address range of the physical server, the link-local address of the next-hop network interface controller, and the interface number of the device interface. The link-local address of the network access device and the link-local address of the network interface controller belong to the same network address range. The physical server is pre-configured with routing table entries to indicate that the next-hop address of the physical server is the link-local address of the network access device to which the physical server is connected.

11. An electronic device comprising a memory, a processor, and a computer program stored in the memory, wherein the processor, when executing the computer program, implements the method of any one of claims 1 to 9.

12. A computer-readable storage medium storing a computer program that, when executed by a processor, implements the method of any one of claims 1 to 9.

13. A computer program product comprising a computer program that, when executed by a processor, implements the method according to any one of claims 1 to 9.