Network data transmission method and device based on VRB network system
By adopting a network data transmission method based on VRB network system in high-performance computing or distributed systems and using hardware acceleration components for network processing, the problem of low efficiency and overhead of TCP/IP protocol stack in high-frequency data interaction and large-scale node transmission is solved, and more efficient data transmission and lower system overhead are achieved.
Patent Information
- Application Number
- CN202510057867.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-14
- Publication Date
- 2025-05-06
AI Technical Summary
In high-performance computing or distributed systems, network communication based on TCP/IP protocol stack has problems such as high processing overhead, low efficiency, delay accumulation and low bandwidth utilization, which is difficult to meet the needs of high-frequency data interaction and large-scale node transmission.
The network data transmission method based on the VRB network system is adopted. By determining the network processing functions required for processing when receiving the data packet, and detecting whether the current node has corresponding hardware acceleration components. If so, the network processing is used to simplify the protocol stack, and reduce redundant processing and head overhead.
Through hardware acceleration processing, the processing overhead of network communication is reduced, processing efficiency is improved, latency and system overhead are reduced, and data transmission efficiency is improved. It is suitable for high-performance computing and large-scale distributed system environments.
Smart Images

Figure CN119945910A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of network communication technology, and in particular to a network data transmission method and device based on a VRB network system. Background Art
[0002] In network communications, data packets are usually processed based on the TCP (Transmission Control Protocol) / IP (Internet Protocol) protocol stack. However, when faced with network communication scenarios with large data volumes and high transmission frequencies, the processing method based on the TCP / IP protocol stack has problems such as high overhead and low efficiency, and is difficult to meet the needs. Summary of the invention
[0003] In view of the above problems, a network data transmission method and device based on a VRB network system is proposed to overcome the above problems or at least partially solve the above problems, including:
[0004] A network data transmission method based on a VRB network system, the method comprising:
[0005] Upon receiving a data packet, determining a network processing function required to process the data packet;
[0006] Detecting whether the current node is deployed with a hardware acceleration component corresponding to the network processing function;
[0007] If the current node is deployed with a hardware acceleration component corresponding to the network processing function, the corresponding network processing function is executed on the data packet through the hardware acceleration component.
[0008] Optionally, it also includes:
[0009] Get the preset maximum transmission unit value;
[0010] The data packet is decomposed with the maximum transmission unit value as a target.
[0011] Optionally, it also includes:
[0012] determining a session identifier of a current session from the data packet;
[0013] A temporary connection context for the current session is established according to the session identifier, and data packets of the current session are received and processed based on the temporary connection context.
[0014] Optionally, it also includes:
[0015] Detecting the current cumulative transmission hop count of the data packet;
[0016] If the current cumulative transmission hop count is greater than or equal to the preset hop count limit, the data packet is discarded.
[0017] Optionally, the hardware acceleration component includes a component for performing any one or more of the following network processing functions:
[0018] Flow control, routing selection, and priority management.
[0019] Optionally, the header of the data packet includes: a source address, a destination address, and a session identifier;
[0020] The header of the data packet also includes any one or more of the following:
[0021] Priority, sub-numbered channel, service type, packet length, timestamp, hop limit.
[0022] Optionally, the network is a network in a high performance computing system or a distributed system.
[0023] A network data transmission device based on a VRB network system, the device comprising:
[0024] A network processing function determination module, used for determining the network processing function required to process the data packet when receiving the data packet;
[0025] A hardware acceleration component detection module, used to detect whether the current node is deployed with a hardware acceleration component corresponding to the network processing function;
[0026] The hardware acceleration processing module is used to execute the corresponding network processing function on the data packet through the hardware acceleration component if the current node is deployed with the hardware acceleration component corresponding to the network processing function.
[0027] An electronic device comprises a processor, a memory and a computer program stored in the memory and capable of running on the processor, wherein the computer program implements the method described above when executed by the processor.
[0028] A computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the method described above is implemented.
[0029] The embodiments of the present invention have the following advantages:
[0030] In an embodiment of the present invention, when a data packet is received, the network processing function required to process the data packet is determined, and it is detected whether the current node is deployed with a hardware acceleration component corresponding to the network processing function. If the current node is deployed with a hardware acceleration component corresponding to the network processing function, the corresponding network processing function is performed on the data packet through the hardware acceleration component, thereby realizing the processing of data packets in network communication through hardware acceleration, reducing processing overhead and improving processing efficiency. BRIEF DESCRIPTION OF THE DRAWINGS
[0031] In order to more clearly illustrate the technical solution of the present invention, the accompanying drawings required for use in the description of the present invention will be briefly introduced below. Obviously, the accompanying drawings in the following description are only some embodiments of the present invention. For ordinary technicians in this field, other accompanying drawings can be obtained based on these accompanying drawings without paying creative labor.
[0032] Figure 1 is a flowchart of a method for network data transmission based on a VRB network system provided by some embodiments of the present invention;
[0033] Figure 2 is a flowchart of another method for network data transmission based on a VRB network system provided by some embodiments of the present invention;
[0034] Figure 3 is a flowchart of another method for network data transmission based on a VRB network system provided by some embodiments of the present invention;
[0035] Figure 4 is a flowchart of another method for network data transmission based on a VRB network system provided by some embodiments of the present invention;
[0036] Figure 5 It is a structural block diagram of a network data transmission device based on a VRB network system provided by some embodiments of the present invention. DETAILED DESCRIPTION
[0037] In order to make the above-mentioned purposes, features and advantages of the present invention more obvious and easy to understand, the present invention is further described in detail below in conjunction with the accompanying drawings and specific embodiments. Obviously, the described embodiments are part of the embodiments of the present invention, rather than all the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0038] In high-performance computing (HPC) systems and distributed systems, facing the needs of high-frequency data interaction and transmission between large-scale nodes, especially when the data volume is large and the transmission frequency is high, the multi-layer structure of the TCP / IP protocol stack will cause a series of new problems, mainly as follows:
[0039] 1. Processing overhead caused by too many protocol layers
[0040] The superposition of multiple layers of protocols increases processing complexity: Each layer of the TCP / IP protocol stack is responsible for different functions, such as the physical layer processing signal transmission, the data link layer processing link establishment and maintenance, the network layer responsible for routing selection, and the transport layer processing connection management, flow control, error detection and retransmission, etc. This multi-layered function superposition will introduce a large number of processing operations in each data transmission. In high-frequency data transmission scenarios, the flow control, connection management, error detection, and retransmission mechanisms of the transport layer and network layer will generate additional overhead, increasing the system's processing load and transmission delay.
[0041] Data encapsulation and decapsulation caused by layered structure: In a multi-layer protocol, each layer will add corresponding header information (such as source address, destination address, sequence number, confirmation number, etc.) to the data packet. Data needs to be encapsulated and decapsulated when it is transmitted at each layer. This not only increases the data transmission time, but also leads to redundant information in each layer of the protocol, which brings additional bandwidth consumption in high-throughput data transmission.
[0042] 2. Handshake and connection management overhead in high-frequency interaction scenarios
[0043] TCP's three-way handshake and four-way handshake: In the TCP protocol, establishing a connection requires three-way handshake confirmation, and disconnecting requires four-way handshake. This mechanism is suitable for scenarios where connections are maintained for a long time, but in high-performance computing or distributed systems, data interaction between nodes is usually high-frequency and short-term. Frequent handshake and disconnection operations bring additional delays and resource consumption, especially in scenarios with large amounts of data. Frequent establishment and closing of connections will become a bottleneck for system performance.
[0044] State maintenance overhead: The TCP protocol needs to maintain a large amount of state information in each connection, including connection status, sequence number, confirmation number, congestion window, etc. This state maintenance requires system memory resources. In high-concurrency scenarios, as the number of connections increases, the system overhead will grow exponentially, seriously affecting overall performance.
[0045] 3. Transmission delay caused by congestion control and flow control mechanisms
[0046] Congestion control: The congestion control mechanisms used by TCP (such as slow start, congestion avoidance, and fast recovery) are mainly used to ensure the stability and reliability of the network under high load. In high-performance computing or distributed systems, there are dedicated high-speed network connections between nodes, and excessive congestion control will lead to reduced bandwidth utilization. For example, the slow start mechanism will lead to low bandwidth utilization in the early stages of transmission, while high-throughput transmission requires that the bandwidth be filled up quickly to achieve efficient data transmission.
[0047] Flow control mechanism: TCP's flow control mechanism adjusts the sender's sending rate according to the receiver's processing capacity. This mechanism helps prevent the receiver from being overwhelmed by the data flow in a low-speed network, but in a high-speed network, the flow control mechanism may be too conservative, resulting in a waste of bandwidth.
[0048] 4. Overhead of error detection and retransmission mechanism
[0049] Retransmission overhead: TCP's built-in error detection mechanism triggers retransmission when it detects packet loss or errors, which is very important in unreliable networks (such as the Internet), but in reliable network environments such as high-performance computing or distributed systems, the probability of packet loss is low. The retransmission mechanism introduced by TCP to ensure reliability adds unnecessary delays and overhead, especially in a network environment with a low packet loss rate, where error detection and retransmission drag down the overall performance.
[0050] Timeout mechanism: TCP's retransmission timeout mechanism is often too conservative in high-speed, low-latency networks. When a packet is slightly delayed, TCP may mistakenly believe that the packet is lost and trigger unnecessary retransmissions, further increasing network load and processing overhead.
[0051] 5. Delay accumulation caused by complex protocol stack
[0052] Delay caused by multi-layer processing: In high-performance computing and distributed systems, data interaction between nodes requires low latency and high real-time performance, but the TCP / IP protocol stack will lead to the accumulation of delays due to its multi-layer design. For example, the flow control, retransmission and error detection of the transport layer, the routing selection and data forwarding of the network layer, and the frame checksum and confirmation of the data link layer will all generate processing overhead, which greatly increases the delay of data transmission and cannot meet the requirements of high real-time scenarios.
[0053] 6. Impact on bandwidth utilization
[0054] Inefficient bandwidth utilization: The complexity of the TCP / IP protocol leads to low bandwidth utilization. For example, in high-performance computing, data transmission between nodes needs to maximize bandwidth utilization to improve computing efficiency, but the slow start and congestion control mechanisms in the TCP / IP protocol limit the bandwidth utilization and cannot fully utilize the transmission capacity of high-speed networks.
[0055] Increased header overhead: Due to the multi-layer encapsulation of the TCP / IP protocol, additional header information needs to be added at each layer. Although this header information is necessary in ordinary network transmission, it will increase bandwidth consumption in high-throughput scenarios and reduce the overall effective data transmission rate.
[0056] In summary, in high-performance computing or distributed systems, the TCP / IP protocol stack, due to its multi-level design, redundant handshake and connection management, and complex congestion control and flow control mechanisms, leads to additional processing overhead and delay accumulation. These problems are particularly evident in high-throughput, high-frequency interaction scenarios, affecting bandwidth utilization, data transmission efficiency, and system performance.
[0057] In an embodiment of the present invention, a simplified network communication protocol is designed by simplifying the protocol stack and reducing unnecessary redundant processing. By simplifying handshake and connection management, extremely simplified routing and addressing mechanisms, hardware acceleration and transparent processing, as well as protocol stack transparency and application compatibility, the complex protocol stack layers in network communications are solved, and unnecessary layers and complexities, high processing overhead, and high compatibility requirements for applications in traditional network protocols are eliminated.
[0058] Through the embodiments of the present invention, data transmission efficiency can be improved, delay and system overhead can be reduced, and stronger hardware support can be provided, which is suitable for high-performance computing and large-scale distributed system environments.
[0059] The present invention is exemplarily described below with reference to the accompanying drawings:
[0060] Reference Figure 1 , showing a step flow chart of a network data transmission method based on a VRB network system provided by some embodiments of the present invention, the network can be a network in a high-performance computing system or a distributed system. In the high-performance computing system or the distributed system, the data interaction between nodes is usually high-frequency and short-term, there is a dedicated high-speed network connection between the nodes, and the network environment has high reliability and a low probability of data packet loss.
[0061] Among them, VRB (V2V RDMA Bandwidth, based on virtual machine to virtual machine remote direct memory access bandwidth) system is an architecture for network data transmission and organization. It is a system related to virtual resource allocation and data grouping. It is used to efficiently handle data aggregation and transmission in a network environment containing central nodes and terminal nodes. In the VRB system network environment, there are central nodes and multiple terminal nodes, some of which have the need to aggregate data, that is, to transmit their own data to a specific location for integration and processing. Among them, V2V is a protocol in visual networking.
[0062] Specifically, the following steps may be included:
[0063] Step 101, when a data packet is received, determining a network processing function required to process the data packet.
[0064] During network communication, a source node can send a data packet to the network. After being processed by an intermediate node in the network, the content carried by the data packet is transmitted to the target node.
[0065] For different data packets, the network processing functions that the nodes in the network need to perform on them are different, so the network processing functions required for the data packets can be determined.
[0066] Step 102: Detect whether the current node is deployed with a hardware acceleration component corresponding to the network processing function.
[0067] For some network processing functions, they can be processed by hardware acceleration using corresponding hardware acceleration components. It can be detected whether the hardware acceleration components corresponding to the network processing functions are currently deployed, and then the subsequent processing process can be determined based on the deployment status of the hardware acceleration components.
[0068] In some embodiments of the present invention, the hardware acceleration component may include a component for performing any one or more of the following network processing functions: flow control, routing selection, and priority management.
[0069] In some examples, the hardware acceleration component may include any one or more of the following:
[0070] Application Specific Integrated Circuit (ASIC): ASIC is a hardware chip customized for a specific task that can efficiently perform network processing tasks. For example, many high-end network devices use ASIC to accelerate packet forwarding and routing.
[0071] Field Programmable Gate Array (FPGA): FPGA is a programmable hardware chip that allows users to configure it as needed. The flexibility of FPGA makes it an ideal choice for implementing complex network functions.
[0072] Network Processor (NP): A network processor is a processor designed specifically for network applications, combining the flexibility of a general-purpose processor with the high performance of an ASIC. They usually have powerful parallel processing capabilities and can handle multiple network tasks simultaneously.
[0073] Step 103: If the current node is deployed with a hardware acceleration component corresponding to the network processing function, the corresponding network processing function is executed on the data packet through the hardware acceleration component.
[0074] Among them, the hardware acceleration mechanism transfers the functions in the protocol stack that rely on CPU processing to dedicated hardware for processing, which greatly reduces the computing overhead of the processor and thus improves the overall performance and energy efficiency of the system.
[0075] For example, for packet forwarding acceleration, high-speed packet forwarding functions can be achieved by using hardware accelerators such as ASIC or FPGA. These hardware accelerators usually have efficient search and matching algorithms that can quickly identify and forward packets.
[0076] For example, routing selection acceleration is a complex decision-making process involving multiple factors such as path selection and load balancing. By using a dedicated routing processor or ASIC, the routing selection process can be accelerated and network performance can be improved.
[0077] For example, for priority management acceleration, priority management involves sorting and scheduling different types of data packets to ensure priority transmission of critical data. By using hardware accelerators, efficient priority management functions can be implemented to improve the response speed and reliability of the network.
[0078] In the embodiment of the present invention, by implementing network processing functions (such as flow control, routing selection, priority management, etc.) through hardware, the operation at the software level is simplified. The hardware acceleration method not only reduces the processing overhead, but also ensures the high efficiency of data transmission.
[0079] Moreover, since the hardware processing is transparent, the application layer does not need to be aware of the underlying hardware acceleration, which enhances the transparency of the protocol stack and realizes hardware acceleration and transparent processing. Through the transparent design of the protocol stack, the application layer can use the protocol without complex adaptation work, ensuring that the new protocol can be seamlessly integrated with existing applications, reducing deployment and maintenance costs.
[0080] In some embodiments of the present invention, the header of the data packet includes:
[0081] Source address, destination address, session identifier;
[0082] The header of the data packet also includes any one or more of the following:
[0083] Priority, sub-numbered channel, service type, packet length, timestamp, hop limit.
[0084] In some examples, the header of the data packet is as shown in Table 1 below:
[0085]
[0086]
[0087] Table 1
[0088] In the embodiment of the present invention, by greatly simplifying the protocol header (such as limiting the header to 20 bytes), necessary functional fields such as source address, destination address, priority, sub-number channel, etc. are retained. These fields can support complex network operations (such as priority scheduling, routing selection, etc.) without adding additional header overhead, thereby realizing a network communication protocol with simplified header and powerful functions.
[0089] In some embodiments of the present invention, the further step includes: obtaining a preset maximum transmission unit value; and decomposing the data packet with the maximum transmission unit value as a target.
[0090] In practical applications, a preset maximum transmission unit value (maximum transmission unit value, MTU) can be obtained. For example, the maximum transmission unit of the data link layer is 1500. When decomposing data packets, the maximum transmission unit value can be used as a target. The decomposed data packets should tend to the maximum transmission unit value, that is, when the data packet can be decomposed into the size of the maximum transmission unit value, it should be decomposed as much as possible into the size of the maximum transmission unit value.
[0091] By decomposing data packets based on the maximum transmission unit value, data cutting can be minimized and unnecessary fragmentation operations can be avoided during data transmission. By using larger transmission units, data can be transmitted in larger blocks, reducing fragmentation and reorganization at the network level.
[0092] In the embodiment of the present invention, by simplifying the protocol layer and header design, redundant operations in data packet processing, such as packet decomposition and reassembly, are reduced, and the data transmission speed is accelerated. This can not only improve the data transmission speed but also reduce the processor load, and is particularly suitable for high-throughput and high-frequency distributed systems.
[0093] In some embodiments of the present invention, it also includes: determining a session identifier of the current session from the data packet; establishing a temporary connection context for the current session based on the session identifier, and receiving and processing the data packet of the current session based on the temporary connection context.
[0094] In the initial transmission phase, when the source node wants to initiate data transmission, it does not need to establish a connection through the three-way handshake in TCP, but obtains self-description information containing a session identifier, and then carries the self-description information in a session data packet and sends the session data packet to the target node.
[0095] Since each data packet carries enough information to form a self-describing data packet, such as the source address, destination address, session identifier, etc., each data packet can be routed and transmitted independently without relying on the pre-established connection status. Intermediate nodes can forward data quickly and accurately through this self-describing information, and target nodes can receive and process data through this self-describing information.
[0096] After receiving the session data packet, the target node may establish a temporary connection context for the current session according to the self-description information carried in the session data packet, especially the included session identifier, and start receiving and processing data based on the temporary connection context.
[0097] Specifically, a unique identifier is generated for each transmission session. When subsequent data packets arrive, the destination node uses the session identifier to match the corresponding data stream and puts the data packet into the corresponding session queue, thereby achieving stateless connection-oriented transmission.
[0098] For temporary connection contexts, nodes only maintain temporary session information during a session (such as the life cycle of a set of data transmissions) to maintain short-term connection states, and clear them after the session ends, thereby achieving lightweight session maintenance. Compared with long connection management, this reduces the long-term occupancy of connection states.
[0099] In the connection process of related technologies, releasing the connection usually requires negotiation between the two parties (such as TCP's four handshakes), while in the stateless connection-oriented embodiment of the present invention, the connection release is managed by the node itself. When a session is completed, the node automatically clears the temporary state information related to the session without the need for an additional release process. This makes connection management more flexible and efficient.
[0100] In the embodiments of the present invention, by simplifying the handshake and connection management, the complex three-way handshake and state maintenance process such as TCP is avoided, which greatly reduces the overhead of establishing and maintaining connections, making the network perform better in high-frequency interaction and short-delay scenarios, reducing the complexity of the network protocol, making the network protocol more lightweight, and reducing the protocol processing overhead in a high-concurrency environment.
[0101] In some embodiments of the present invention, the method further includes: detecting the current cumulative transmission hop count of the data packet; and discarding the data packet if the current cumulative transmission hop count is greater than or equal to a preset hop count limit.
[0102] In practical applications, a hop limit can be set in advance. When a data packet is transmitted in the network, the cumulative number of hops of the data packet will be recorded. By comparing the current cumulative number of hops with the hop limit, if the current cumulative number of hops is greater than or equal to the hop limit, the data packet will be discarded. If the current cumulative number of hops is less than the hop limit, subsequent data packet processing will continue.
[0103] In the embodiment of the present invention, the protocol stack can ensure that the data packets will not excessively occupy network resources or have unnecessary delays when being transmitted in a large-scale network topology by limiting the number of hops.
[0104] In some embodiments of the present invention, by adopting a very simplified routing and addressing method, the destination address (DGID, Destination IP Address) and the source address (SGID, Source IP Address) are used for fast forwarding and routing decisions, which reduces complex path search and intermediate routing operations, avoids complex dynamic routing calculations, and can effectively reduce the delay on the data transmission path.
[0105] In an embodiment of the present invention, when a data packet is received, the network processing function required to process the data packet is determined, and it is detected whether the current node is deployed with a hardware acceleration component corresponding to the network processing function. If the current node is deployed with a hardware acceleration component corresponding to the network processing function, the corresponding network processing function is performed on the data packet through the hardware acceleration component, thereby realizing the processing of data packets in network communication through hardware acceleration, reducing processing overhead and improving processing efficiency.
[0106] Reference Figure 2 , shows a flowchart of another method for network data transmission based on a VRB network system provided by some embodiments of the present invention, which may specifically include the following steps:
[0107] Step 201, when a data packet is received, determining a network processing function required to process the data packet.
[0108] Step 202: Detect whether the current node is deployed with a hardware acceleration component corresponding to the network processing function.
[0109] Step 203: If the current node is deployed with a hardware acceleration component corresponding to the network processing function, the corresponding network processing function is executed on the data packet through the hardware acceleration component.
[0110] Step 204: Obtain a preset maximum transmission unit value, and decompose the data packet with the maximum transmission unit value as a target.
[0111] In practical applications, a preset maximum transmission unit value (maximum transmission unit value, MTU) can be obtained. For example, the maximum transmission unit of the data link layer is 1500. When decomposing data packets, the maximum transmission unit value can be used as a target. The decomposed data packets should tend to the maximum transmission unit value, that is, when the data packet can be decomposed into the size of the maximum transmission unit value, it should be decomposed as much as possible into the size of the maximum transmission unit value.
[0112] By decomposing data packets based on the maximum transmission unit value, data cutting can be minimized and unnecessary fragmentation operations can be avoided during data transmission. By using larger transmission units, data can be transmitted in larger blocks, reducing fragmentation and reorganization at the network level.
[0113] In the embodiment of the present invention, by simplifying the protocol layer and header design, redundant operations in data packet processing, such as packet decomposition and reassembly, are reduced, and the data transmission speed is accelerated. This can not only improve the data transmission speed but also reduce the processor load, and is particularly suitable for high-throughput and high-frequency distributed systems.
[0114] Reference Figure 3 , shows a flowchart of another method for network data transmission based on a VRB network system provided by some embodiments of the present invention, which may specifically include the following steps:
[0115] Step 301: upon receiving a data packet, determining a session identifier of a current session from the data packet.
[0116] Step 302: Establish a temporary connection context for the current session according to the session identifier, and receive and process data packets of the current session based on the temporary connection context.
[0117] In the initial transmission phase, when the source node wants to initiate data transmission, it does not need to establish a connection through the three-way handshake in TCP, but obtains self-description information containing a session identifier, and then carries the self-description information in a session data packet and sends the session data packet to the target node.
[0118] Since each data packet carries enough information to form a self-describing data packet, such as the source address, destination address, session identifier, etc., each data packet can be routed and transmitted independently without relying on the pre-established connection status. Intermediate nodes can forward data quickly and accurately through this self-describing information, and target nodes can receive and process data through this self-describing information.
[0119] After receiving the session data packet, the target node may establish a temporary connection context for the current session according to the self-description information carried in the session data packet, especially the included session identifier, and start receiving and processing data based on the temporary connection context.
[0120] Specifically, a unique identifier is generated for each transmission session. When subsequent data packets arrive, the destination node uses the session identifier to match the corresponding data stream and puts the data packet into the corresponding session queue, thereby achieving stateless connection-oriented transmission.
[0121] For temporary connection contexts, nodes only maintain temporary session information during a session (such as the life cycle of a set of data transmissions) to maintain short-term connection states, and clear them after the session ends, thereby achieving lightweight session maintenance. Compared with long connection management, this reduces the long-term occupancy of connection states.
[0122] In the connection process of related technologies, releasing the connection usually requires negotiation between the two parties (such as TCP's four handshakes), while in the stateless connection-oriented embodiment of the present invention, the connection release is managed by the node itself. When a session is completed, the node automatically clears the temporary state information related to the session without the need for an additional release process. This makes connection management more flexible and efficient.
[0123] In the embodiments of the present invention, by simplifying the handshake and connection management, the complex three-way handshake and state maintenance process such as TCP is avoided, which greatly reduces the overhead of establishing and maintaining connections, making the network perform better in high-frequency interaction and short-delay scenarios, reducing the complexity of the network protocol, making the network protocol more lightweight, and reducing the protocol processing overhead in a high-concurrency environment.
[0124] Step 303: determine the network processing function required to process the data packet.
[0125] Step 304: Detect whether the current node is deployed with a hardware acceleration component corresponding to the network processing function.
[0126] Step 305: If the current node is deployed with a hardware acceleration component corresponding to the network processing function, the corresponding network processing function is executed on the data packet through the hardware acceleration component.
[0127] Reference Figure 4 , shows a flowchart of another method for network data transmission based on a VRB network system provided by some embodiments of the present invention, which may specifically include the following steps:
[0128] Step 401: upon receiving a data packet, detecting the current cumulative transmission hop count of the data packet.
[0129] Step 402: If the current cumulative transmission hop count is greater than or equal to a preset hop count limit, discard the data packet.
[0130] Step 403: If the current cumulative transmission hop count is less than the preset hop count limit, determine the network processing function required to process the data packet.
[0131] In actual applications, a hop limit can be set in advance. When a data packet is transmitted in the network, the cumulative number of hops of the data packet will be recorded. By comparing the current cumulative number of hops with the hop limit, if the current cumulative number of hops is greater than or equal to the hop limit, the data packet will be discarded. If the current cumulative number of hops is less than the hop limit, subsequent data packet processing will continue.
[0132] In the embodiment of the present invention, the protocol stack can ensure that the data packets will not excessively occupy network resources or have unnecessary delays when being transmitted in a large-scale network topology by limiting the number of hops.
[0133] In some embodiments of the present invention, by adopting a simplified routing and addressing method, using the destination address and source address for fast forwarding and routing decisions, complex path search and intermediate routing operations are reduced, complex dynamic routing calculations are avoided, and the delay on the data transmission path can be effectively reduced.
[0134] Step 404: Detect whether the current node is deployed with a hardware acceleration component corresponding to the network processing function.
[0135] Step 405: If the current node is deployed with a hardware acceleration component corresponding to the network processing function, the corresponding network processing function is executed on the data packet through the hardware acceleration component.
[0136] It should be noted that, for the sake of simplicity, the method embodiments are described as a series of action combinations, but those skilled in the art should be aware that the embodiments of the present invention are not limited by the order of the actions described, because according to the embodiments of the present invention, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all preferred embodiments, and the actions involved are not necessarily required by the embodiments of the present invention.
[0137] Reference Figure 5 , shows a schematic diagram of the structure of a network data transmission device based on a VRB network system provided by some embodiments of the present invention, which may specifically include the following modules:
[0138] The network processing function determination module 501 is used to determine the network processing function required to process the data packet when the data packet is received;
[0139] A hardware acceleration component detection module 502 is used to detect whether the current node is deployed with a hardware acceleration component corresponding to the network processing function;
[0140] The hardware acceleration processing module 503 is used to execute the corresponding network processing function on the data packet through the hardware acceleration component if the current node is deployed with the hardware acceleration component corresponding to the network processing function.
[0141] In some embodiments of the present invention, it also includes:
[0142] Get the preset maximum transmission unit value;
[0143] The data packet is decomposed with the maximum transmission unit value as a target.
[0144] In some embodiments of the present invention, it also includes:
[0145] determining a session identifier of a current session from the data packet;
[0146] A temporary connection context for the current session is established according to the session identifier, and data packets of the current session are received and processed based on the temporary connection context.
[0147] In some embodiments of the present invention, it also includes:
[0148] Detecting the current cumulative transmission hop count of the data packet;
[0149] If the current cumulative transmission hop count is greater than the preset hop count limit, the data packet is discarded.
[0150] In some embodiments of the present invention, the hardware acceleration component includes a component for performing any one or more of the following network processing functions:
[0151] Flow control, routing selection, and priority management.
[0152] In some embodiments of the present invention, the header of the data packet includes: a source address, a destination address, and a session identifier;
[0153] The header of the data packet also includes any one or more of the following:
[0154] Priority, sub-numbered channel, service type, packet length, timestamp, hop limit.
[0155] In some embodiments of the present invention, the network is a network in a high performance computing system or a distributed system.
[0156] In an embodiment of the present invention, when a data packet is received, the network processing function required to process the data packet is determined, and it is detected whether the current node is deployed with a hardware acceleration component corresponding to the network processing function. If the current node is deployed with a hardware acceleration component corresponding to the network processing function, the corresponding network processing function is performed on the data packet through the hardware acceleration component, thereby realizing the processing of data packets in network communication through hardware acceleration, reducing processing overhead and improving processing efficiency.
[0157] Some embodiments of the present invention further provide an electronic device, comprising a processor, a memory, and a computer program stored in the memory and capable of running on the processor, wherein the above method is implemented when the computer program is executed by the processor.
[0158] Some embodiments of the present invention further provide a computer-readable storage medium, on which a computer program is stored, and the computer program implements the above method when executed by a processor.
[0159] Some embodiments of the present invention further provide a computer program product, including a computer program, which implements the above method when executed by a processor.
[0160] As for the device embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.
[0161] It should be noted that 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, and the collection, use and processing of relevant data must comply with the relevant laws, regulations and standards of the relevant countries and regions, and provide corresponding operation entrances for users to choose to authorize or refuse.
[0162] The various embodiments in this specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the various embodiments can be referenced to each other.
[0163] Those skilled in the art will appreciate that the embodiments of the present invention may be provided as methods, devices, or computer program products. Therefore, the embodiments of the present invention may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the embodiments of the present invention may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program codes.
[0164] The embodiments of the present invention are described with reference to the flowcharts and / or block diagrams of the methods, terminal devices (systems), and computer program products according to the embodiments of the present invention. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of the processes and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing terminal device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing terminal device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0165] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing terminal device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce a manufactured product including an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.
[0166] These computer program instructions can also be loaded onto a computer or other programmable data processing terminal device so that a series of operating steps are executed on the computer or other programmable terminal device to produce a computer-implemented process, thereby providing instructions for executing on the computer or other programmable terminal device to implement the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.
[0167] Although the preferred embodiments of the present invention have been described, those skilled in the art may make additional changes and modifications to these embodiments once they have learned the basic creative concept. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications that fall within the scope of the embodiments of the present invention.
[0168] Finally, it should be noted that, in this article, relational terms such as first and second, etc. 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 terminal 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 terminal device. In the absence of further restrictions, the elements defined by the sentence "including one..." do not exclude the existence of other identical elements in the process, method, article or terminal device including the above elements.
[0169] The above is a detailed introduction to a network data transmission method and device based on a VRB network system. In this article, specific examples are used to illustrate the principles and implementation methods of the present invention. The description of the above embodiments is only used to help understand the method and core idea of the present invention. At the same time, for those skilled in the art, according to the idea of the present invention, there will be changes in the specific implementation method and application scope. In summary, the content of this specification should not be understood as limiting the present invention.
Claims
1. A network data transmission method based on VRB network system, characterized in that: The method comprises: Upon receiving a data packet, determining a network processing function required to process the data packet; Detecting whether the current node is deployed with a hardware acceleration component corresponding to the network processing function; If the current node is deployed with a hardware acceleration component corresponding to the network processing function, the corresponding network processing function is executed on the data packet through the hardware acceleration component.
2. The method according to claim 1, characterized in that Also includes: Get the preset maximum transmission unit value; The data packet is decomposed with the maximum transmission unit value as a target.
3. The method according to claim 1, characterized in that Also includes: determining a session identifier of a current session from the data packet; A temporary connection context for the current session is established according to the session identifier, and data packets of the current session are received and processed based on the temporary connection context.
4. The method according to claim 1, characterized in that: Also includes: Detecting the current cumulative transmission hop count of the data packet; If the current cumulative transmission hop count is greater than or equal to the preset hop count limit, the data packet is discarded.
5. The method according to claim 1, characterized in that The hardware acceleration component includes a component for performing any one or more of the following network processing functions: Flow control, routing selection, and priority management.
6. The method according to any one of claims 1 to 5, characterized in that: The header of the data packet includes: source address, destination address, and session identifier; The header of the data packet also includes any one or more of the following: Priority, sub-numbered channel, service type, packet length, timestamp, hop limit.
7. The method according to claim 1, characterized in that The network is a network in a high performance computing system or a distributed system.
8. A network data transmission device based on VRB network system, characterized in that: The device comprises: A network processing function determination module, used to determine the network processing function required to process the data packet when receiving the data packet; A hardware acceleration component detection module, used to detect whether the current node is deployed with a hardware acceleration component corresponding to the network processing function; The hardware acceleration processing module is used to execute the corresponding network processing function on the data packet through the hardware acceleration component if the current node is deployed with the hardware acceleration component corresponding to the network processing function.
9. An electronic device, characterized in that: The method comprises a processor, a memory, and a computer program stored in the memory and capable of running on the processor, wherein the computer program implements the method according to any one of claims 1 to 7 when executed by the processor.
10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the method according to any one of claims 1 to 7 is implemented.