Tunnel creation method, data transmission method, device, equipment and medium

By creating a tunnel on the DPU side for data transmission, the problems of resource consumption and routing failure in sidecar mode are resolved, improving network access stability and data transmission efficiency.

CN117811874BActive Publication Date: 2025-01-10YUSUR TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202311670702.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-12-07
Publication Date
2025-01-10
Estimated Expiration
2043-12-07

AI Technical Summary

Technical Problem

In the service mesh distributed sidecar mode, the increase in sidecar containers and processes on nodes leads to excessive computer resource consumption, affecting system throughput and efficiency. At the same time, after the network function is offloaded to the DPU, the routing function of the original container network address becomes invalid, making it difficult to transfer data between nodes.

Method used

By using the first node service to perceive the underlying network identifier of the DPU, preset rules are sent to the user-space protocol stack of the second node, a tunnel is created between the first and second nodes, and data transmission is carried out through the tunnel. This enables overlay address communication, reduces the issuance of preset rules, and eliminates the latency of routing learning between nodes.

Benefits of technology

It improves the stability of high-speed network access for DPU, reduces the pressure on node CPU, and improves data transmission efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117811874B_ABST
    Figure CN117811874B_ABST
Patent Text Reader

Abstract

The present disclosure relates to a tunnel creation method, a data transmission method, an apparatus, a device and a medium. The present disclosure creates a tunnel on the DPU side, opens up data transmission for mutual access of overlay addresses, reduces the preset rules issued, eliminates the learning delay of routing between nodes, reduces the pressure on the node CPU, and improves the stability of DPU high-speed network access.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of computer technology, and in particular to a tunnel creation method, a data transmission method, a device, a equipment and a medium. Background Art

[0002] In the currently popular service grid distributed sidecar mode, each service instance has at least one sidecar container or process associated with it running as its additional part. The sidecar and the service are deployed on the same host or container and share the same network namespace, enabling efficient communication between the sidecar and the main service. With the increase in the number of services on the node and the complexity of the service types, the number of sidecar containers and processes on the node increases, squeezing the computer resources of the service instance and affecting the throughput and efficiency of the entire system.

[0003] Offloading network functions to the DPU can improve system performance, but since the node network functions are offloaded to the DPU, nodes need to use the network address provided by the DPU to transmit data through the high-speed network built by the DPU. After using the network address provided by the DPU, the routing function of the original container network address becomes invalid, resulting in time consumption of the original service on the node. Therefore, when using the original container network address, how to transmit data packets between nodes has become an urgent problem to be solved. Summary of the invention

[0004] In order to solve the above technical problems or at least partially solve the above technical problems, the present disclosure provides a tunnel creation method, a data transmission method, an apparatus, a device and a medium to improve the stability of DPU high-speed network access.

[0005] In a first aspect, an embodiment of the present disclosure provides a tunnel creation method, including:

[0006] A DPU underlying network identifier of the first node is sensed through the first node service;

[0007] According to the DPU underlying network identifier of the first node, issuing a preset rule to the user state protocol stack of the second node, the preset rule including the DPU underlying network identifier and the tunnel network identifier of the first node;

[0008] According to the DPU underlying network identifier and the tunnel network identifier of the first node, a tunnel between the first node and the second node is created in the DPU through the second node service, and the tunnel is used for data transmission between the first node and the second node.

[0009] In a second aspect, an embodiment of the present disclosure provides a data transmission method, including:

[0010] Get tunnel network packets;

[0011] Based on the matching between the tunnel network data packet and the tunnel network identifier, decapsulating the tunnel network data packet to obtain an upper layer network message;

[0012] According to the upper layer network message matching network address translation rules, obtain the target network address;

[0013] The target network address is sent to a centralized proxy server to obtain a designated address, and the designated address is sent to a designated service corresponding to the designated address.

[0014] In a third aspect, an embodiment of the present disclosure provides a tunnel creation device, including:

[0015] A perception module, configured to perceive a DPU underlying network identifier of the first node through the first node service;

[0016] A sending module, used to send a preset rule to the user-state protocol stack of the second node according to the DPU underlying network identifier of the first node, wherein the preset rule includes the DPU underlying network identifier and the tunnel network identifier of the first node;

[0017] A creation module is used to create a tunnel between the first node and the second node in the DPU through the second node service according to the DPU underlying network identifier and the tunnel network identifier of the first node, and the tunnel is used for data transmission between the first node and the second node.

[0018] In a fourth aspect, an embodiment of the present disclosure provides a data transmission device, including:

[0019] An acquisition module, used for acquiring tunnel network data packets;

[0020] A decapsulation module, configured to decapsulate the tunnel network data packet to obtain an upper layer network message based on the matching between the tunnel network data packet and the tunnel network identifier;

[0021] A matching module, used for matching the network address translation rule according to the upper layer network message to obtain the target network address;

[0022] The sending module is used to send the target network address to a centralized proxy server to obtain a designated address, and send the designated address to a designated service corresponding to the designated address.

[0023] In a fifth aspect, an embodiment of the present disclosure provides an electronic device, including:

[0024] Memory;

[0025] Processor; and

[0026] Computer programs;

[0027] The computer program is stored in the memory and is configured to be executed by the processor to implement the method as described in the first aspect or the second aspect.

[0028] In a sixth aspect, an embodiment of the present disclosure provides a computer-readable storage medium having a computer program stored thereon, wherein the computer program is executed by a processor to implement the method described in the first aspect or the second aspect.

[0029] In a seventh aspect, an embodiment of the present disclosure further provides a computer program product, which includes a computer program or instructions, and when the computer program or instructions are executed by a processor, the method described in the first aspect or the second aspect is implemented.

[0030] The tunnel creation method, data transmission method, device, equipment and medium provided by the embodiments of the present disclosure sense the DPU underlying network identifier of the first node through the first node service; according to the DPU underlying network identifier of the first node, a preset rule is issued to the second node user-mode protocol stack, and the preset rule includes the DPU underlying network identifier and the tunnel network identifier of the first node; according to the DPU underlying network identifier and the tunnel network identifier of the first node, a tunnel is created between the first node and the second node in the DPU through the second node service, and the tunnel is used for data transmission between the first node and the second node. A tunnel is created on the DPU side, and data transmission of mutual access of overlay addresses is opened up, which reduces the preset rules issued, eliminates the learning delay of routing between nodes, reduces the pressure on the node CPU, and improves the stability of DPU high-speed network access. BRIEF DESCRIPTION OF THE DRAWINGS

[0031] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present disclosure and, together with the description, serve to explain the principles of the present disclosure.

[0032] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, for ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative labor.

[0033] Figure 1 A flow chart of a tunnel creation method provided in an embodiment of the present disclosure;

[0034] Figure 2 A schematic diagram of an application scenario provided by an embodiment of the present disclosure;

[0035] Figure 3 A flow chart of a data transmission method provided by an embodiment of the present disclosure;

[0036] Figure 4 A schematic diagram of an application scenario provided by an embodiment of the present disclosure;

[0037] Figure 5 A schematic diagram of the structure of a tunnel creation device provided in an embodiment of the present disclosure;

[0038] Figure 6 A schematic diagram of the structure of a data transmission device provided in an embodiment of the present disclosure;

[0039] Figure 7 A schematic diagram of the structure of an electronic device provided in an embodiment of the present disclosure. DETAILED DESCRIPTION

[0040] In order to more clearly understand the above-mentioned objectives, features and advantages of the present disclosure, the scheme of the present disclosure will be further described below. It should be noted that the embodiments of the present disclosure and the features in the embodiments can be combined with each other without conflict.

[0041] In the following description, many specific details are set forth to facilitate a full understanding of the present disclosure, but the present disclosure may also be implemented in other ways different from those described herein; it is obvious that the embodiments in the specification are only part of the embodiments of the present disclosure, rather than all of the embodiments.

[0042] In the currently popular service grid distributed sidecar mode, each service instance has at least one sidecar container or process associated with it running as its additional part. The sidecar and the service are deployed on the same host or container and share the same network namespace, enabling efficient communication between the sidecar and the main service. With the increase in the number of services on the node and the complexity of the service types, the number of sidecar containers and processes on the node increases, squeezing the computer resources of the service instance and affecting the throughput and efficiency of the entire system.

[0043] Unloading network functions to the DPU can improve system performance, but because the node network functions are unloaded to the DPU, nodes need to use the network address provided by the DPU to transmit data through the high-speed network built by the DPU. After using the network address provided by the DPU, the routing function of the original container network address becomes invalid, resulting in time consumption of the original service on the node. Therefore, when using the original container network address, how to transfer data packets between nodes has become an urgent problem to be solved. In response to this problem, the embodiment of the present disclosure provides a tunnel creation method, which is introduced in conjunction with a specific embodiment below.

[0044] Figure 1The present invention provides a flow chart of a tunnel creation method according to an embodiment of the present invention. The method can be executed by a tunnel creation device, which can be implemented in software and / or hardware, and can be configured in an electronic device, such as a server or a terminal, wherein the terminal specifically includes a mobile phone, a computer or a tablet computer, etc. In addition, the method can be applied to Figure 2 The application scenario of tunnel creation is shown. It can be understood that the tunnel creation method provided in the embodiment of the present disclosure can also be applied in other scenarios.

[0045] Combine the following Figure 2 The application scenario of tunnel creation shown in the figure is Figure 1 The tunnel creation method shown in the figure is introduced. The specific steps of the method are as follows:

[0046] S101. Sense a DPU underlying network identifier of a first node through a first node service.

[0047] The Data Processing Unit (DPU) is a new generation of processors for data-centric computing. It integrates complete data center functions in a single chip and together with the CPU and GPU, it forms the three pillars of new computing. DPU has three implementation paths: Application Specific Integrated Circuit (ASIC), Field Programmable Gate Array (FPGA) and System on Chip (SOC).

[0048] The first node service (node1 server) reads the first node (node1) information, perceives the DPU1 underlying network (underlay1) identifier on the node1 side, and node1 sends the underlay1 identifier perceived by the node1 server to the interface service (api server) between programs on the control plane (master), and the master receives the underlay1 identifier perceived by the node1 server. Similarly, the second node service (node2 server) reads the second node (node2) information, perceives the DPU2 underlying network (underlay2) identifier on the node2 side, and node2 sends the underlay2 identifier perceived by the node2 server to the interface service (api server) between programs on the control plane (master), and the master receives the underlay2 identifier perceived by the node2 server.

[0049] S102. According to the DPU underlying network identifier of the first node, a preset rule is issued to the user-mode protocol stack of the second node, where the preset rule includes the DPU underlying network identifier of the first node and a tunnel network identifier.

[0050] The control plane sends a preset rule to the user-state protocol stack of the second node according to the DPU underlying network identifier of the first node, and the preset rule includes the DPU underlying network identifier and the tunnel network identifier of the first node. Similarly, the control plane sends a preset rule to the user-state protocol stack of the first node according to the DPU underlying network identifier of the second node, and the preset rule includes the DPU underlying network identifier and the tunnel network identifier of the second node.

[0051] Specifically, the master sends a preset rule to the user-state protocol stack of node2 based on the DPU underlay1 identifier of node1, and the preset rule includes the DPU underlay1 identifier of node1 and the tunnel network identifier. The master sends a preset rule to the user-state protocol stack of node1 based on the DPU underlay2 identifier of node2, and the preset rule includes the DPUunderlay2 identifier of node2 and the tunnel network identifier. Since data needs to be transmitted between node1 and node2, that is, a tunnel needs to be created between node1 and node2, the tunnel network identifier received by the user-state protocol stack of node2 is consistent with the tunnel network identifier received by the user-state protocol stack of node1.

[0052] Optionally, the tunnel network identifier is randomly generated, and the tunnel includes: a virtual extensible local area network, a network virtualization protocol, and a general routing encapsulation.

[0053] Specifically, the tunnel network identifier is randomly generated, and the preset rule received by the user-state protocol stack of node2 corresponds to the preset rule received by the user-state protocol stack of node1.

[0054] Specifically, the tunnel includes: Virtual eXtensible Local Area Network (VXLAN), Generic Network Virtualization Encapsulation (GENEVE), Generic Routing Encapsulation (GRE); wherein, VXLAN is a virtualized tunnel communication technology, which uses tunnel technology on the underlying network (underlay) to build a virtual layer 2 network through a three-layer network, and is an Overlay (upper layer network) technology; GENEVE protocol is an encapsulation technology, which aims to create a second-layer overlapping network on the third-layer infrastructure by encapsulating the second-layer frame in a UDP data packet; GRE is a generic routing encapsulation protocol, which can encapsulate the datagram of the network layer protocol so that the encapsulated data can be transmitted in the IPv4 network. This embodiment will be explained by taking the VXLAN tunnel as an example. The network identifier (VXLAN Network Identifier, VNI) of the VXLAN tunnel is consistent on the two DPU nodes that create the VXLAN tunnel, and will not be repeated later.

[0055] S103. Create a tunnel between the first node and the second node in the DPU through the second node service according to the DPU underlying network identifier and the tunnel network identifier of the first node, where the tunnel is used for data transmission between the first node and the second node.

[0056] The Master creates a tunnel between the first node and the second node in the DPU through the second node service according to the DPU underlying network identifier and the tunnel network identifier of the first node. Similarly, the Master creates a tunnel between the second node and the first node in the DPU through the first node service according to the DPU underlying network identifier and the tunnel network identifier of the second node. It can be understood that the tunnel between the first node and the second node and the tunnel between the second node and the first node are the same tunnel.

[0057] Specifically, the Master controls node1 and node2 to create a VXLAN tunnel between node1 and node2 between DPU1 and DPU2 through node1 server and node2server. The VXLAN tunnel is used for data transmission between the first node and the second node.

[0058] It is understandable that there can be multiple DPU nodes under the master, and multiple nodes can create VXLAN tunnels between multiple nodes and multiple nodes corresponding to the nodes according to the tunnel network identifier VNI and the underlay identifiers of the multiple nodes corresponding to the multiple nodes. Exemplarily, if there are n DPU nodes under the master, m VXLAN tunnels can be created, and m is calculated as m=n*(n-1) / 2.

[0059] The disclosed embodiment perceives the DPU underlying network identifier of the first node through the first node service; according to the DPU underlying network identifier of the first node, a preset rule is issued to the second node user-mode protocol stack, the preset rule including the DPU underlying network identifier and the tunnel network identifier of the first node; according to the DPU underlying network identifier and the tunnel network identifier of the first node, a tunnel is created between the first node and the second node in the DPU through the second node service, the tunnel is used for data transmission between the first node and the second node, a tunnel is created on the DPU side, data transmission of mutual access of overlay addresses is opened up, the issued preset rules are reduced, the learning delay of routing between nodes is eliminated, the pressure on the node CPU is reduced, and the stability of DPU high-speed network access is improved.

[0060] Figure 3 The data transmission method flow chart provided in the embodiment of the present disclosure is as follows: Figure 4 The application scenario shown is Figure 3 The data transmission method shown in the figure is introduced, and the method specifically includes the following steps:

[0061] S301, obtaining a tunnel network data packet.

[0062] The DPU obtains tunnel network data packets. The tunnel can be a virtual eXtensible Local Area Network (VXLAN), a Generic Network Virtualization Encapsulation (GENEVE), or a Generic Routing Encapsulation (GRE). The following is an explanation taking the VXLAN tunnel as an example.

[0063] Optionally, obtaining the tunnel network data packet includes: obtaining the tunnel network data packet through an underlying network.

[0064] Specifically, the DPU obtains VXLAN network data packets through the underlying network underlay.

[0065] S302: based on the matching between the tunnel network data packet and the tunnel network identifier, decapsulate the tunnel network data packet to obtain an upper layer network message.

[0066] When the tunnel network data packet and the tunnel network identifier match, the DPU decapsulates the tunnel network data packet to obtain the upper layer network message.

[0067] Specifically, when the VXLAN network data packet matches the VXLAN network identifier VNI, the VXLAN network data packet is decapsulated to obtain an upper-layer network message, which may specifically be an overlay message.

[0068] Optionally, based on the matching of the network data packet and the tunnel network identifier, before unsealing the network data packet to obtain the network message, the method also includes: unsealing the tunnel network data packet through a user-mode protocol stack to obtain a tunnel network message; matching the tunnel network message and the tunnel network identifier.

[0069] Specifically, the DPU decapsulates the VXLAN network data packet through the user mode protocol stack to obtain a VXLAN network message; and matches the VXLAN network message and the VXLAN network identifier VNI.

[0070] Correspondingly, based on the matching of the tunnel network data packet and the tunnel network identifier, the tunnel network data packet is unsealed to obtain the upper layer network message, including: based on the matching of the tunnel network message and the tunnel network identifier, the tunnel network message is unsealed to obtain the upper layer network message.

[0071] Specifically, when the VXLAN network message matches the VXLAN network identifier VNI, the VXLAN network message is decapsulated to obtain an upper-layer network message, which may specifically be an overlay message.

[0072] S303: Match the network address translation rule according to the upper layer network message to obtain the target network address.

[0073] The DPU matches the Network Address Translation (NAT) rule according to the above overlay message to obtain the target network address, that is, the original message for the DPU to access the cluster service matches the NAT rule.

[0074] S304: Send the target network address to a centralized proxy server to obtain a designated address, and send the designated address to a designated service corresponding to the designated address.

[0075] The DPU sends the target network address to a centralized proxy server, obtains the designated address, and sends the designated address to the designated service corresponding to the designated address.

[0076] Optionally, before sending the target network address to the centralized proxy server, the method further includes: converting the port to a target port monitored by the centralized proxy server through target address translation.

[0077] Specifically, the DPU converts the port to the target port monitored by the centralized proxy server (centralized envoy) through Destination Network Address Translation (DNAT), and sends the target network address to the centralized envoy. The centralized envoy collects, monitors, authenticates, and manages the data of the target network address, obtains the processed data, and proxies the processed data to the specified address through the preset strategy. The specified address is sent to the specified service corresponding to the specified address.

[0078] The disclosed embodiment obtains a tunnel network data packet; based on the matching of the tunnel network data packet and the tunnel network identifier, decapsulates the tunnel network data packet to obtain an upper-layer network message; matches the network address conversion rule according to the upper-layer network message to obtain a target network address; sends the target network address to a centralized proxy server to obtain a designated address, and sends the designated address to a designated service corresponding to the designated address, thereby opening up mutual access to the host-side overlay address through the tunnel on the DPU side, avoiding CPU occupancy and time consumption caused by routing learning, and improving data transmission efficiency.

[0079] Figure 5 The schematic diagram of the structure of the tunnel creation device provided in the embodiment of the present disclosure. The tunnel creation device may be the terminal as described in the above embodiment, or the tunnel creation device may be a component or assembly in the terminal. The tunnel creation device provided in the embodiment of the present disclosure may execute the processing flow provided in the tunnel creation method embodiment, such as Figure 5 As shown, the tunnel creation device 50 includes: a perception module 51, a sending module 52 and a creation module 53; wherein the perception module 51 is used to perceive the DPU underlying network identifier of the first node through the first node service; the sending module 52 is used to send preset rules to the second node user-state protocol stack according to the DPU underlying network identifier of the first node, and the preset rules include the DPU underlying network identifier and the tunnel network identifier of the first node; the creation module 53 is used to create a tunnel between the first node and the second node in the DPU through the second node service according to the DPU underlying network identifier and the tunnel network identifier of the first node, and the tunnel is used for data transmission between the first node and the second node.

[0080] Optionally, the tunnel network identifier is randomly generated, and the tunnel includes: a virtual extensible local area network, a network virtualization protocol, and a general routing encapsulation.

[0081] Figure 5 The tunnel creation device of the illustrated embodiment can be used to execute the technical solution of the above-mentioned tunnel creation method embodiment. Its implementation principle and technical effect are similar and will not be repeated here.

[0082] Figure 6 Schematic diagram of the structure of the data transmission device provided in the embodiment of the present disclosure. The data transmission device may be the terminal as described in the above embodiment, or the data transmission device may be a component or assembly in the terminal. The data transmission device provided in the embodiment of the present disclosure may execute the processing flow provided in the data transmission method embodiment, such as Figure 6 As shown, the data transmission device 60 includes: an acquisition module 61, a decapsulation module 62, a matching module 63, and a sending module 64; wherein,

[0083] An acquisition module 61 is used to acquire a tunnel network data packet;

[0084] A decapsulation module 62, configured to decapsulate the tunnel network data packet to obtain an upper layer network message based on the matching between the tunnel network data packet and the tunnel network identifier;

[0085] A matching module 63, configured to match a network address translation rule according to the upper layer network message to obtain a target network address;

[0086] The sending module 64 is used to send the target network address to a centralized proxy server to obtain a designated address, and send the designated address to a designated service corresponding to the designated address.

[0087] Optionally, the acquisition module 61 is further configured to acquire tunnel network data packets through the underlying network.

[0088] Optionally, the decapsulation module 62 is also used to decapsulate the tunnel network data packet through the user-mode protocol stack to obtain a tunnel network message; match the tunnel network message and the tunnel network identifier; and decapsulate the tunnel network message based on the match between the tunnel network message and the tunnel network identifier to obtain an upper-layer network message.

[0089] Optionally, the data transmission device 60 further includes: a conversion module, configured to convert the port into a target port monitored by the centralized proxy server through target address translation.

[0090] Figure 6 The data transmission device of the illustrated embodiment can be used to execute the technical solution of the above-mentioned data transmission method embodiment, and its implementation principle and technical effect are similar, which will not be repeated here.

[0091] Figure 7The electronic device provided in the embodiment of the present disclosure may be a terminal as described in the above embodiment. The electronic device provided in the embodiment of the present disclosure may execute the processing flow provided in the tunnel creation method or the data transmission method embodiment, such as Figure 7 As shown, the electronic device 70 includes: a memory 71, a processor 72, a computer program and a communication interface 73; wherein the computer program is stored in the memory 71 and is configured so that the processor 72 executes the tunnel creation method or data transmission method as described above.

[0092] In addition, an embodiment of the present disclosure further provides a computer-readable storage medium on which a computer program is stored. The computer program is executed by a processor to implement the tunnel creation method or the data transmission method described in the above embodiment.

[0093] In addition, an embodiment of the present disclosure also provides a computer program product, which includes a computer program or instructions, and when the computer program or instructions are executed by a processor, the tunnel creation method or data transmission method as described above is implemented.

[0094] It should be noted that the computer-readable medium disclosed above may be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. The computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present disclosure, a computer-readable storage medium may be any tangible medium containing or storing a program that may be used by or in combination with an instruction execution system, device or device. In the present disclosure, a computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, in which a computer-readable program code is carried. This propagated data signal may take a variety of forms, including but not limited to an electromagnetic signal, an optical signal, or any suitable combination of the above. The computer readable signal medium may also be any computer readable medium other than a computer readable storage medium, which may send, propagate or transmit a program for use by or in conjunction with an instruction execution system, apparatus or device. The program code contained on the computer readable medium may be transmitted using any suitable medium, including but not limited to: wires, optical cables, RF (radio frequency), etc., or any suitable combination of the above.

[0095] In some embodiments, the client and the server may communicate using any currently known or future developed network protocol such as HTTP (HyperText Transfer Protocol), and may be interconnected with any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network ("LAN"), a wide area network ("WAN"), an internet (e.g., the Internet), and a peer-to-peer network (e.g., an ad hoc peer-to-peer network), as well as any currently known or future developed network.

[0096] The computer-readable medium may be included in the electronic device, or may exist independently without being incorporated into the electronic device.

[0097] The computer-readable medium carries one or more programs. When the one or more programs are executed by the electronic device, the electronic device:

[0098] A DPU underlying network identifier of the first node is sensed through the first node service;

[0099] According to the DPU underlying network identifier of the first node, issuing a preset rule to the user state protocol stack of the second node, the preset rule including the DPU underlying network identifier and the tunnel network identifier of the first node;

[0100] According to the DPU underlying network identifier and the tunnel network identifier of the first node, a tunnel between the first node and the second node is created in the DPU through the second node service, and the tunnel is used for data transmission between the first node and the second node.

[0101] In addition, the electronic device may also execute other steps in the tunnel creation method described above.

[0102] Computer program code for performing the operations of the present disclosure may be written in one or more programming languages ​​or a combination thereof, including, but not limited to, object-oriented programming languages, such as Java, Smalltalk, C++, and conventional procedural programming languages, such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as a separate software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., through the Internet using an Internet service provider).

[0103] The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present disclosure. In this regard, each square box in the flow chart or block diagram can represent a module, a program segment or a part of a code, and the module, the program segment or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some implementations as replacements, the functions marked in the square box can also occur in a sequence different from that marked in the accompanying drawings. For example, two square boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each square box in the block diagram and / or flow chart, and the combination of the square boxes in the block diagram and / or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

[0104] The units involved in the embodiments described in the present disclosure may be implemented by software or hardware, wherein the name of a unit does not, in some cases, limit the unit itself.

[0105] The functions described above herein may be performed at least in part by one or more hardware logic components. For example, without limitation, exemplary types of hardware logic components that may be used include: field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), complex programmable logic devices (CPLDs), and the like.

[0106] In the context of the present disclosure, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or equipment. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0107] It should be noted that, in this article, relational terms such as "first" and "second" are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "comprise a ..." do not exclude the existence of other identical elements in the process, method, article or device including the elements.

[0108] The above description is only a specific embodiment of the present disclosure, so that those skilled in the art can understand or implement the present disclosure. Various modifications to these embodiments will be apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the present disclosure. Therefore, the present disclosure will not be limited to the embodiments described herein, but will conform to the widest scope consistent with the principles and novel features disclosed herein.

Claims

1. A tunnel creation method, characterized in that: The method comprises: A DPU underlying network identifier of the first node is sensed through the first node service; According to the DPU underlying network identifier of the first node, issuing a preset rule to the user state protocol stack of the second node, the preset rule including the DPU underlying network identifier and the tunnel network identifier of the first node; According to the DPU underlying network identifier and the tunnel network identifier of the first node, a tunnel between the first node and the second node is created in the DPU through the second node service, and the tunnel is used for data transmission between the first node and the second node.

2. The method according to claim 1, characterized in that The tunnel network identifier is randomly generated, and the tunnel includes: a virtual extensible local area network, a network virtualization protocol, and a general routing encapsulation.

3. A data transmission method, characterized in that: The method comprises: Get tunnel network packets; Based on the matching between the tunnel network data packet and the tunnel network identifier, decapsulating the tunnel network data packet to obtain an upper layer network message; According to the upper layer network message matching network address translation rules, obtain the target network address; Sending the target network address to a centralized proxy server to obtain a designated address, and sending the designated address to a designated service corresponding to the designated address; Among them, the tunnel network identifier is randomly generated, and the tunnel includes: a virtual extensible local area network, a network virtualization protocol, and a general routing encapsulation; the tunnel is created between a first node and a second node of the DPU by a second node service according to a DPU underlying network identifier of a first node and the tunnel network identifier; the tunnel is used for data transmission between the first node and the second node; the DPU underlying network identifier of the first node is used to issue preset rules to a user-state protocol stack of the second node, and the preset rules include the DPU underlying network identifier of the first node and the tunnel network identifier; the DPU underlying network identifier of the first node is perceived by the first node service.

4. The method according to claim 3, characterized in that Get tunnel network packets, including: Get tunnel network packets through the underlying network.

5. The method according to claim 4, characterized in that Based on the matching of the network data packet and the tunnel network identifier, before decapsulating the network data packet and obtaining the network message, the method further includes: Unpack the tunnel network data packet through the user mode protocol stack to obtain a tunnel network message; matching the tunnel network message and the tunnel network identifier; Among them, based on the matching of the tunnel network data packet and the tunnel network identifier, the tunnel network data packet is unsealed to obtain the upper layer network message, including: based on the matching of the tunnel network message and the tunnel network identifier, the tunnel network message is unsealed to obtain the upper layer network message.

6. The method according to claim 3, characterized in that Before sending the target network address to the centralized proxy server, the method further includes: The port is converted to the target port listened by the centralized proxy server through target address translation.

7. A tunnel creation device, characterized in that: The device comprises: A perception module, configured to perceive a DPU underlying network identifier of the first node through the first node service; A sending module, used to send a preset rule to the user-state protocol stack of the second node according to the DPU underlying network identifier of the first node, wherein the preset rule includes the DPU underlying network identifier and the tunnel network identifier of the first node; A creation module is used to create a tunnel between the first node and the second node in the DPU through the second node service according to the DPU underlying network identifier and the tunnel network identifier of the first node, and the tunnel is used for data transmission between the first node and the second node.

8. A data transmission device, characterized in that: The device comprises: An acquisition module, used for acquiring tunnel network data packets; A decapsulation module, configured to decapsulate the tunnel network data packet to obtain an upper layer network message based on the matching between the tunnel network data packet and the tunnel network identifier; A matching module, used for matching the network address translation rule according to the upper layer network message to obtain the target network address; A sending module, used for sending the target network address to a centralized proxy server, obtaining a designated address, and sending the designated address to a designated service corresponding to the designated address; Among them, the tunnel network identifier is randomly generated, and the tunnel includes: a virtual extensible local area network, a network virtualization protocol, and a general routing encapsulation; the tunnel is created between a first node and a second node of the DPU by a second node service according to a DPU underlying network identifier of a first node and the tunnel network identifier; the tunnel is used for data transmission between the first node and the second node; the DPU underlying network identifier of the first node is used to issue preset rules to a user-state protocol stack of the second node, and the preset rules include the DPU underlying network identifier of the first node and the tunnel network identifier; the DPU underlying network identifier of the first node is perceived by the first node service.

9. An electronic device, characterized in that: include: Memory; processor; as well as Computer programs; The computer program is stored in the memory and is configured to be executed by the processor to implement the method according to any one of claims 1 to 6.

10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the method according to any one of claims 1 to 6 is implemented.

Citation Information

Patent Citations

  • Message processing method, device and equipment and machine readable storage medium

    CN116418632A