DPU device for realizing IP fragment message reassembly and IP fragment message reassembly method

Through the cooperation of the data processing module and control module of the DPU device, IP shard message reorganization is directly carried out in the DPU, solving the performance bottlenecks in the reorganization process in the existing technology, achieving efficient message reorganization, and meeting the data center network Demand for increasing computing power.

CN115811504BActive Publication Date: 2025-01-10CORE YUNSHENG (HANGZHOU) ELECTRONIC TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211438333.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-11-16
Publication Date
2025-01-10
Estimated Expiration
2042-11-16

AI Technical Summary

Technical Problem

In the prior art, there are bottlenecks such as the system's internal forwarding bandwidth, CPU reorganization performance, and reorganization forwarding delay in the process of IP shard message reorganization, which is difficult to meet the data center network's demand for computing power improvement.

Method used

A DPU device is designed, including a data processing module and a control module. Through cache, shard information transmission, reorganization execution and message sending units, the DPU internal bus and control module are used to directly reorganize messages in the DPU. , avoid multiple transfers of messages in the system, and improve restructuring efficiency.

Benefits of technology

It realizes efficient IP shard message reorganization, reduces delay and bandwidth consumption, fully utilizes the data processing characteristics of DPU, and meets the increasingly improved packet shard reorganization performance requirements in the network.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115811504B_ABST
    Figure CN115811504B_ABST
Patent Text Reader

Abstract

The DPU device and IP fragment message reassembly method for realizing IP fragment message reassembly of the present invention cache multiple received IP fragment messages respectively through the DPU data processing module, and send the fragment message related information of the corresponding IP fragment message to the DPU control module when judging that reassembly is needed at the current node, and establish a session reassembly bitmap through the DPU control module, and send the generated reassembly instruction to the DPU data processing module when judging that the reassembly condition is met, and then the DPU data processing module executes the reassembly action and sends the reassembled message. The present invention utilizes the effective cooperation between the DPU data processing module and the DPU control module of the DPU device to efficiently realize the IP fragment message reassembly function, does not need to move the message multiple times in the system like the traditional implementation, and can give full play to the characteristics of the DPU, thereby providing the message fragment reassembly performance that meets the increasing demand in the network.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of data processing, and in particular to a DPU device for realizing IP fragment message reassembly and an IP fragment message reassembly method. Background Art

[0002] As one of the three major chips for future computing, DPU has become the hottest and fastest-growing field in the industry in recent years, forming a new pattern of "CPU+GPU+DPU", in which CPU is responsible for general computing, GPU is used for accelerated computing, and DPU is used for data processing. Among them, DPU's advantages lie in virtualization, network, storage and security. With the development of network bandwidth from 10G, 25G to 100G, 200G and even higher bandwidth, and the evolution of cloud networks, the entire network has an increasing demand for computing power. As a chip unit dedicated to processing data, DPU will play an important role in the future development of networks.

[0003] A typical application of DPU is the data center scenario that is generally recognized by the industry. As part of the IP network, the data center network needs to follow the IP network protocol. Among them, fragmentation reassembly is a common function of the IP network protocol. The usual method is to use a general-purpose CPU multi-core processor to implement the fragmentation reassembly of IP packets. With the huge computing power explosion of data centers, it is increasingly difficult for general-purpose processors to meet the performance requirements of fragmentation reassembly. Among them, data processing in the message reassembly process is a key link that affects performance. As a general-purpose processing unit, the CPU is not good at data reassembly.

[0004] The commonly used methods for implementing reorganization are as follows: Figure 1 As shown:

[0005] The reassembly of IP fragmented messages requires the coordination of multiple links, including: caching of fragmented messages, logical judgment of reassembly conditions, and execution of message reassembly. After the data forwarding plane receives the fragmented message, it needs to forward the message to the CPU control plane for secondary caching and reassembly, and then forward the reassembled message to the data plane for transmission. In the above process, there is forwarding of messages between modules within the system. From the system perspective, there are bottlenecks in the following links:

[0006] 1. Forwarding bandwidth between the forwarding plane and the control plane within the system;

[0007] 2.CPU message reassembly performance;

[0008] 3. Internal reassembly and forwarding delay. Summary of the invention

[0009] In view of the above-mentioned shortcomings of the prior art, the object of the present invention is to provide a DPU device and an IP fragment message reassembly method for realizing IP fragment message reassembly, so as to solve the above technical problems in the prior art.

[0010] To achieve the above-mentioned purpose and other related purposes, the present invention provides a DPU device for realizing IP fragment message reassembly, the device comprising: a DPU data processing module, used to cache a plurality of received IP fragment messages respectively, and send fragment message related information of the corresponding IP fragment message when judging that the IP fragment message needs to be reassembled at the current node; a DPU control module, connected to the DPU data processing module, used to establish a session reassembly bitmap based on the information related to each fragment message sent by the DPU data processing module, and send the generated reassembly instruction to the DPU data processing module when judging that the reassembly condition is met; the DPU data processing module is also used to perform reassembly action on each IP fragment message of the same session ID based on the reassembly instruction sent by the DPU control module and send the reassembled message.

[0011] In one embodiment of the present invention, the fragment message related information includes: triplet information, session ID, fragment location and message cache pointer.

[0012] In one embodiment of the present invention, the reassembly instruction includes: a session ID, positions of each fragment, cache pointers of each fragment, a reassembly bitmap, and a total length of the reassembled message.

[0013] In one embodiment of the present invention, the DPU data processing module includes: a message cache unit, used to cache each IP fragment message received by the DPU data processing module; a fragment information sending unit, connected to the message cache unit, used to send the fragment message related information of the corresponding IP fragment message to the DPU control module when it is determined that the IP fragment message needs to be reassembled at this node; a reassembly execution unit, used to receive the reassembly instruction sent by the DPU control module, and perform a reassembly judgment, and when it is determined that reassembly is possible, perform a reassembly action to obtain a reassembled message; a message sending unit, connected to the reassembly execution unit, used to extract the reassembled message and send it.

[0014] In one embodiment of the present invention, the method for performing the reassembly action includes: based on the reassembly instruction, the first IP fragment message and the non-first IP fragment message are processed separately to update the corresponding related fields and cache pointers; all IP fragment messages of the same session ID are linked using the updated cache pointer to obtain the reassembled message, so as to add the reassembled message to the sending queue.

[0015] In one embodiment of the present invention, the DPU control module includes: a fragmentation information collection unit, which is used to collect fragmentation message related information of each IP fragmentation message sent by the message sending unit, and classify them according to the triplet information and session ID, and fill the corresponding fragmentation positions into the reorganization bitmap to obtain a summarized reorganization bitmap; a reorganization judgment unit, connected to the fragmentation information collection unit, used to judge whether the summarized reorganization bitmap of the fragmentation information collection unit is complete within a set time, and notify when it is judged to be complete; a reorganization instruction issuing unit, connected to the reorganization judgment unit, used to extract the reorganization session ID when receiving the notification from the reorganization judgment unit, and sort the IP fragmentation messages belonging to the same session ID according to the fragmentation position and extract the corresponding cache pointer, and then issue the reorganization instruction to the reorganization execution unit.

[0016] In one embodiment of the present invention, the DPU data processing module is connected to the DPU control module via a DPU internal bus.

[0017] In one embodiment of the present invention, the DPU data processing module is further configured to discard each IP fragment message received by the session and release the cache space of each IP fragment message when the reassembly execution unit determines that reassembly is not possible.

[0018] In one embodiment of the present invention, the DPU data processing module is further configured to release the cache space corresponding to the IP fragment message after the reassembled message is sent successfully.

[0019] To achieve the above-mentioned purpose and other related purposes, the present invention provides an IP fragment message reassembly method, which is applied to a DPU device for realizing IP fragment message reassembly, comprising: a DPU data processing module and a DPU control module connected to each other, the method comprising: the DPU data processing module caches a plurality of received IP fragment messages respectively, and sends fragment message related information of the corresponding IP fragment message to the DPU control module when it is determined that the IP fragment message needs to be reassembled at this node; the DPU control module establishes a session reassembly bitmap based on the related information of each fragment message, and sends the generated reassembly instruction to the DPU data processing module when it is determined that the reassembly condition is met; the DPU data processing module performs a reassembly action on each IP fragment message of the same session ID based on the reassembly instruction and sends the reassembled message.

[0020] As described above, the present invention is a DPU device and an IP fragment message reassembly method for realizing IP fragment message reassembly, which has the following beneficial effects: the present invention caches the received multiple IP fragment messages respectively through the DPU data processing module, and sends the fragment message related information of the corresponding IP fragment message to the DPU control module when judging that the IP fragment message needs to be reassembled at this node; the DPU control module establishes a session reassembly bitmap based on the related information of each fragment message, and sends the generated reassembly instruction to the DPU data processing module when judging that the reassembly condition is met, and then the DPU data processing module performs the reassembly action on each IP fragment message of the same session ID based on the reassembly instruction and sends the reassembled message. The present invention utilizes the effective cooperation between the DPU data processing module and the DPU control module of the DPU device to efficiently realize the IP fragment message reassembly function, does not need to move the message multiple times in the system like the traditional implementation, and can give full play to the characteristics of the DPU, thereby providing the message fragment reassembly performance that meets the increasing demand in the network. BRIEF DESCRIPTION OF THE DRAWINGS

[0021] Figure 1 It is a schematic diagram showing the use of a CPU to implement IP fragment message reassembly in one embodiment of the present invention.

[0022] Figure 2 Shown is a schematic diagram of the structure of a DPU device for implementing IP fragment message reassembly in one embodiment of the present invention.

[0023] Figure 3 Shown is a schematic diagram of IP fragment message reassembly in one embodiment of the present invention.

[0024] Figure 4 Shown is a schematic diagram of the structure of a DPU device for implementing IP fragment message reassembly in one embodiment of the present invention.

[0025] Figure 5 Shown is a schematic diagram of the structure of a DPU device for implementing IP fragment message reassembly in one embodiment of the present invention.

[0026] Figure 6 Shown is a flow chart of an IP fragment message reassembly method in one embodiment of the present invention. DETAILED DESCRIPTION

[0027] The following describes the embodiments of the present invention by specific examples, and those skilled in the art can easily understand other advantages and effects of the present invention from the contents disclosed in this specification. The present invention can also be implemented or applied through other different specific embodiments, and the details in this specification can also be modified or changed in various ways based on different viewpoints and applications without departing from the spirit of the present invention. It should be noted that the following embodiments and features in the embodiments can be combined with each other without conflict.

[0028] It should be noted that in the following description, reference is made to the accompanying drawings, which describe several embodiments of the present invention. It should be understood that other embodiments may also be used, and that mechanical composition, structural, electrical and operational changes may be made without departing from the spirit and scope of the present invention. The following detailed description should not be considered restrictive, and the scope of the embodiments of the present invention is limited only by the claims of the published patents. The terms used herein are only for describing specific embodiments and are not intended to limit the present invention. Spatially related terms, such as "upper", "lower", "left", "right", "below", "below", "lower", "above", "upper", etc., may be used in the text to facilitate the description of the relationship between an element or feature shown in the figure and another element or feature.

[0029] Throughout the specification, when a part is said to be "connected" to another part, this includes not only the case of "direct connection" but also the case of "indirect connection" by placing other elements therebetween. In addition, when a part is said to "include" a certain constituent element, unless otherwise stated, it does not exclude other constituent elements, but means that other constituent elements may be included.

[0030] The terms first, second and third mentioned herein are used to describe various parts, components, regions, layers and / or segments, but are not limited thereto. These terms are only used to distinguish a certain part, component, region, layer or segment from other parts, components, regions, layers or segments. Therefore, the first part, component, region, layer or segment described below may refer to the second part, component, region, layer or segment within the scope of the present invention.

[0031] Furthermore, as used herein, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless there is an indication to the contrary in the context. It should be further understood that the terms "comprise", "include" indicate the presence of the described features, operations, elements, components, items, kinds, and / or groups, but do not exclude the presence, occurrence or addition of one or more other features, operations, elements, components, items, kinds, and / or groups. The terms "or" and "and / or" used herein are interpreted as inclusive, or mean any one or any combination. Therefore, "A, B or C" or "A, B and / or C" means "any of the following: A; B; C; A and B; A and C; B and C; A, B and C". Exceptions to this definition will only occur when the combination of elements, functions or operations is inherently mutually exclusive in some way.

[0032] The present invention provides a DPU device and an IP fragment message reassembly method for realizing IP fragment message reassembly, wherein the DPU data processing module caches a plurality of received IP fragment messages respectively, and sends the fragment message related information of the corresponding IP fragment message to the DPU control module when judging that the IP fragment message needs to be reassembled at the current node; the DPU control module establishes a session reassembly bitmap based on the related information of each fragment message, and sends the generated reassembly instruction to the DPU data processing module when judging that the reassembly condition is met, and then the DPU data processing module performs the reassembly action on each IP fragment message of the same session ID based on the reassembly instruction and sends the reassembled message. The present invention utilizes the effective cooperation between the DPU data processing module and the DPU control module of the DPU device to efficiently realize the IP fragment message reassembly function, does not need to move the message multiple times in the system like the traditional implementation, and can give full play to the characteristics of the DPU, thereby providing the message fragment reassembly performance that meets the increasing demand in the network.

[0033] Among them, DPU, as a dedicated unit for data processing, has a natural advantage in storage. At the same time, as a dedicated unit for data processing, its data processing capability is far stronger than that of CPU.

[0034] The following is a detailed description of the embodiments of the present invention with reference to the accompanying drawings so that those skilled in the art can easily implement the present invention. The present invention can be embodied in many different forms and is not limited to the embodiments described herein.

[0035] like Figure 2 A structural schematic diagram of a DPU device for implementing IP fragment message reassembly in an embodiment of the present invention is shown.

[0036] The device comprises:

[0037] DPU data processing module 1, used for caching the received multiple IP fragment messages respectively, and sending the fragment message related information of the corresponding IP fragment message when it is determined that the IP fragment message needs to be reassembled at this node;

[0038] A DPU control module 2, connected to the DPU data processing module 1, is used to establish a session reassembly bitmap based on the relevant information of each fragment message sent by the DPU data processing module, and send the generated reassembly instruction to the DPU data processing module 1 when it is determined that the reassembly condition is met;

[0039] The DPU data processing module 1 is also used to perform a reassembly action on each IP fragment message of the same session ID based on the reassembly instruction sent by the DPU control module 2 and send the reassembled message.

[0040] This application makes full use of the characteristics of the DPU chip and can greatly improve the efficiency of reassembly of IP fragmented messages. Using the cache capacity of the DPU, the network device caches the received fragmented messages in the DPU data processing module, and sends the relevant information of each fragmented message to the DPU internal control module (such as ARM CORE). The DPU control module performs the judgment of the message reassembly conditions, and then notifies the DPU data processing module to perform the message reassembly action, avoiding the performance bottleneck caused by multiple moves of messages in the system.

[0041] In one embodiment, the fragment message related information includes: triplet information, session ID, fragment location and message cache pointer. Specifically, if the DPU data processing module 1 determines that the IP fragment message needs to be reassembled at this node, the DPU data processing module 1 records the storage address pointer, fragment location and other information of the fragment message, and sends it to the DPU control module 2 together with the triplet information and message ID of the fragment message.

[0042] In one embodiment, the reassembly instruction includes: a session ID, positions of each fragment, cache pointers of each fragment, a reassembly bitmap, and a total length of the reassembled message.

[0043] In one embodiment, the DPU data processing module is connected to the DPU control module via the DPU internal bus. Since the DPU chip device exchanges messages via the system internal bus, there is no need to move data multiple times, and indicators such as latency and additional bandwidth consumption are significantly reduced.

[0044] In one embodiment, if Figure 3 As shown, the DPU data processing module includes:

[0045] A message buffer unit, used for buffering each IP fragment message received by the DPU data processing module;

[0046] The fragment information sending unit is connected to the message cache unit and is used to send the fragment message related information of the corresponding IP fragment message to the DPU control module when it is determined that the IP fragment message needs to be reassembled at this node; if it is not reassembled at this node, it is forwarded according to the normal processing flow.

[0047] A reorganization execution unit, configured to receive a reorganization instruction sent by the DPU control module, perform a reorganization judgment, and execute a reorganization action to obtain a reorganized message when it is judged that reorganization is possible;

[0048] The message sending unit is connected to the reassembly execution unit and is used for extracting and sending the reassembled message.

[0049] In one embodiment, the method for performing the reassembly action includes: based on the reassembly instruction, separately processing the first IP fragment message and the non-first IP fragment message to update the corresponding related fields and cache pointers; linking all IP fragment messages of the same session ID using the updated cache pointer to obtain the reassembled message; and adding the reassembled message to the sending queue.

[0050] In a specific embodiment, if Figure 4 As shown, if the reassembly condition is met, the valid bits of the session reassembly bitmap corresponding to the fragmented messages are taken in turn for processing: for the first fragment packet, the IP header message length and other fields are updated according to the reassembly length of the reassembly instruction; the cache pointer offset of each non-first fragment message is adjusted to the IP header length, that is, the pointer points to the payload part; all the fragmented messages of the same session are linked together using the updated cache pointer; the message enters the sending queue for sending.

[0051] In one embodiment, the DPU data processing module is further configured to discard each IP fragment message received by the session and release the cache space of each IP fragment message when the reassembly execution unit determines that reassembly is not possible.

[0052] In one embodiment, the DPU data processing module is further used to release the cache space corresponding to the IP fragment message after the reassembled message is sent successfully.

[0053] In one embodiment, if Figure 3 As shown, the DPU control module includes:

[0054] A fragment information collecting unit, used for collecting fragment message related information of each IP fragment message sent by the message sending unit, classifying them according to the triple information and the session ID, and filling the corresponding fragment positions into the reassembly bitmap to obtain a summarized reassembly bitmap;

[0055] a reorganization judgment unit, connected to the fragmentation information collection unit, for judging whether the reorganization bitmap summarized by the fragmentation information collection unit is complete within a set time, and notifying the reorganization instruction issuing unit when it is judged to be complete;

[0056] The reorganization instruction sending unit is connected to the reorganization judgment unit and is used to extract the reorganization session ID when receiving a notification from the reorganization judgment unit, and sort the IP fragment messages belonging to the same session ID according to the fragment position and extract the corresponding cache pointer, and then send the reorganization instruction to the reorganization execution unit.

[0057] In a specific embodiment, if Figure 3 As shown, the DPU device includes: a DPU data processing module, including: a message cache unit, a fragment information sending unit, a reassembly execution unit and a message sending unit; a DPU data processing module, including: a message cache unit, a fragment information sending unit, a reassembly execution unit and a message sending unit.

[0058] Based on the system structure of the above DPU device, the following IP fragment message reassembly method is implemented:

[0059] Step (1): The DPU data processing module receives the fragmented message and caches it through the message cache unit.

[0060] Step (2): The DPU data processing module determines that reorganization is required at this node, and the fragment information sending unit sends the relevant information of each fragment message to the DPU control module through the DPU internal bus, including: triplet, session ID, fragment location, message cache pointer, etc.;

[0061] Step (3): The fragment information collection unit of the DPU control module summarizes the information of each fragment message, classifies it according to the triplet and session ID, fills the corresponding fragment position into the reassembly bitmap and other information, and sends the summary data to the reassembly judgment unit;

[0062] Step (4): The reassembly judgment unit of the DPU control module judges whether the reassembly condition is met based on the session, that is, whether all fragmented messages are received within a specified time. If the condition is met, the reassembly instruction issuing unit is notified;

[0063] Step (5): The reassembly instruction issuing unit of the DPU control module extracts the reassembly session ID, sorts the fragment messages belonging to the same session according to the fragment positions, extracts the corresponding cache pointers, and then issues them to the reassembly execution unit of the DPU data processing module through the DPU internal bus;

[0064] Step (6): The reassembly execution unit receives the reassembly message and determines whether the reassembly condition is met. If not, each fragment message received by the session is discarded and the cache space of each fragment message is released. Otherwise, the reassembly process is started and the first fragment packet and the non-first fragment packet are processed respectively. After the relevant fields and offset pointers are updated, the pointer links of each fragment message are modified according to the reassembly bitmap sequence. Finally, the modified message is added to the message sending queue.

[0065] Step (7): the message sending unit extracts the reassembled message from the sending queue and sends it;

[0066] Step (8): The reassembled message is sent successfully, the DPU data processing unit releases the cache space of the fragmented message, and the process ends.

[0067] In order to better illustrate the above-mentioned DPU device for implementing IP fragment message reassembly, the present invention provides the following specific embodiments.

[0068] Embodiment 1: A DPU device for realizing IP fragment message reassembly. Figure 5 Shown is a schematic diagram of the structure of the DPU device;

[0069] The structure includes: a data processing module and a DPU control unit ARM CORE;

[0070] The methods for reassembling IP fragmented packets include:

[0071] 1. After the DPU receives the IP fragment message, it processes it as follows:

[0072] 1. The fragmented message enters the DPU data processing module and stores the message in the DPU cache space;

[0073] 2. The data processing module determines whether the fragment message is reassembled at the current node;

[0074] 3. If it is not reassembled at this node, forward it according to the normal processing flow;

[0075] 4. If reorganization is required, the data processing module records the storage address pointer, fragment location and other information of the fragment message, and sends it to ARM CORE together with the triplet information and message ID of the fragment message;

[0076] 2. ARM CORE maintenance and reorganization control information

[0077] ARM CORE establishes a session reassembly bitmap according to the triplet and ID of the fragmented message, determines whether the session bitmap is complete within a set time, and initiates the next action. This process is a common implementation method;

[0078] The present application improves the post-judgment action of the reorganization control of the traditional CPU. The reorganization control module does not directly perform the reorganization processing of the fragmented message, but sends the reorganization instruction to the DPU data processing module. The reorganization instruction includes: session ID, each fragment position, each fragment cache pointer, reorganization bitmap, total length of the reorganized message and other information;

[0079] 3. The fragmented message reassembly unit of the DPU data processing module performs the reassembly action

[0080] After receiving the reassembly instruction issued by ARM CORE, the DPU data processing module performs the reassembly action on the multiple fragment messages of the same ID, which is specifically implemented as follows:

[0081] 1. The DPU data processing module parses the reassembly instruction issued and obtains the cache address pointer and size of each fragment message to be reassembled;

[0082] 2. Determine the action of issuing the instruction: if the reorganization condition is not met, release all the shard cache space of the session and the process ends;

[0083] 3. If the reassembly conditions are met, the valid bits of the session bitmap are taken in turn to process the corresponding fragmented messages:

[0084] a) For the first packet, update the IP header message length and other fields according to the reassembly length of the reassembly instruction;

[0085] b) adjusting the buffer pointer offset of each non-first fragment message to the IP header length, that is, pointing the pointer to the payload part;

[0086] c) linking all fragment messages of the same session using the updated cache pointer;

[0087] d) The message enters the sending queue for sending.

[0088] This embodiment utilizes the effective cooperation of the data processing and control processing units of the DPU system to efficiently implement the IP fragment message reassembly function. It does not need to move the message multiple times within the system as in the traditional implementation, and can fully utilize the characteristics of the DPU, thereby providing the message fragmentation reassembly performance that meets the increasing demand in the network.

[0089] Similar to the principle of the above embodiment, the present invention provides a method for reassembling IP fragmented messages.

[0090] The following provides specific embodiments in conjunction with the accompanying drawings:

[0091] like Figure 6 A schematic flow chart showing a method for reassembling an IP fragment message in an embodiment of the present invention.

[0092] A DPU device for realizing IP fragment message reassembly includes: a DPU data processing module and a DPU control module connected to each other, and the method includes:

[0093] Step S61: the DPU data processing module caches the received multiple IP fragment messages respectively, and sends the fragment message related information of the corresponding IP fragment message to the DPU control module when it is determined that the IP fragment message needs to be reassembled at the current node.

[0094] Step S62: The DPU control module establishes a session reassembly bitmap based on the relevant information of each fragment message, and sends the generated reassembly instruction to the DPU data processing module when it is determined that the reassembly condition is met.

[0095] Step S63: The DPU data processing module performs a reassembly operation on each IP fragment message of the same session ID based on the reassembly instruction and sends the reassembled message.

[0096] Furthermore, since the implementation principle of the IP fragment message reassembly method has been described in the aforementioned embodiment, it will not be repeated here.

[0097] In one embodiment, the fragment message related information includes: triplet information, session ID, fragment location and message cache pointer.

[0098] In one embodiment, the reassembly instruction includes: a session ID, positions of each fragment, cache pointers of each fragment, a reassembly bitmap, and a total length of the reassembled message.

[0099] In one embodiment, the DPU data processing module is connected to the DPU control module via a DPU internal bus.

[0100] In one embodiment, the DPU data processing module caches the received multiple IP fragment messages respectively, and sends the fragment message related information of the corresponding IP fragment message to the DPU control module when determining that the IP fragment message needs to be reassembled at the current node, including:

[0101] Buffering each IP fragment message received by the DPU data processing module through a message buffer unit;

[0102] When the fragment information sending unit determines that the IP fragment message needs to be reassembled at the current node, the fragment message related information of the corresponding IP fragment message is sent to the DPU control module;

[0103] In one embodiment, the establishing of a session reassembly bitmap based on the information related to each fragment message by the DPU control module, and sending the generated reassembly instruction to the DPU data processing module when it is determined that the reassembly condition is met, comprises:

[0104] The fragment information collecting unit collects the fragment message related information of each IP fragment message sent by the message sending unit, classifies them according to the triple information and the session ID, and fills the corresponding fragment positions into the reassembly bitmap to obtain a summarized reassembly bitmap;

[0105] The reorganization judgment unit judges whether the reorganization bitmap summarized by the fragment information collection unit is complete within a set time, and notifies when it is judged to be complete;

[0106] When the reorganization instruction issuing unit receives a notification from the reorganization judgment unit, it extracts the reorganization session ID, sorts the IP fragment messages belonging to the same session ID according to the fragment position, extracts the corresponding cache pointer, and then issues the reorganization instruction to the reorganization execution unit.

[0107] In one embodiment, the performing of the reassembly action on each IP fragment message of the same session ID based on the reassembly instruction by the DPU data processing module and sending the reassembled message includes:

[0108] Receiving the reorganization instruction sent by the DPU control module through the reorganization execution unit, performing reorganization judgment, and executing the reorganization action to obtain the reorganized message when it is judged that reorganization is possible;

[0109] The message sending unit extracts the reassembled message and sends it.

[0110] In one embodiment, the method for performing the reassembly action includes: based on the reassembly instruction, separately processing the first IP fragment message and the non-first IP fragment message to update the corresponding related fields and cache pointers; linking all IP fragment messages of the same session ID using the updated cache pointer to obtain the reassembled message; and adding the reassembled message to the sending queue.

[0111] In one embodiment, when the reassembly execution unit determines that reassembly is not possible, the DPU data processing module discards each IP fragment message received by the session and releases the cache space of each IP fragment message.

[0112] In one embodiment, after the reassembled message is sent successfully, the DPU data processing module releases the cache space corresponding to the IP fragment message.

[0113] In summary, the IP fragment message reassembly method of the present invention caches the received multiple IP fragment messages respectively through the DPU data processing module, and sends the fragment message related information of the corresponding IP fragment message to the DPU control module when it is judged that the IP fragment message needs to be reassembled at this node; the DPU control module establishes a session reassembly bitmap based on the related information of each fragment message, and sends the generated reassembly instruction to the DPU data processing module when it is judged that the reassembly condition is met, and then the DPU data processing module performs the reassembly action on each IP fragment message of the same session ID based on the reassembly instruction and sends the reassembled message. The present invention utilizes the effective cooperation between the DPU data processing module and the DPU control module of the DPU device to efficiently realize the IP fragment message reassembly function, and does not need to move the message multiple times in the system like the traditional implementation, and can also give full play to the characteristics of the DPU, thereby providing the message fragment reassembly performance that meets the increasing network. Therefore, the present invention effectively overcomes the various shortcomings in the prior art and has a high industrial utilization value.

[0114] The above embodiments are merely illustrative of the principles and effects of the present invention, and are not intended to limit the present invention. Anyone familiar with the technology may modify or change the above embodiments without violating the spirit and scope of the present invention. Therefore, all equivalent modifications or changes made by a person of ordinary skill in the art without departing from the spirit and technical ideas disclosed by the present invention shall still be covered by the claims of the present invention.

Claims

1. A DPU device for realizing IP fragment message reassembly, characterized in that: The device comprises: The DPU data processing module is used to cache the received multiple IP fragment messages respectively, and send the fragment message related information of the corresponding IP fragment message when it is determined that the IP fragment message needs to be reassembled at this node; A DPU control module, connected to the DPU data processing module, is used to establish a session reassembly bitmap based on the relevant information of each fragment message sent by the DPU data processing module, and send a generated reassembly instruction to the DPU data processing module when it is determined that the reassembly condition is met; The DPU data processing module is also used to perform a reassembly action on each IP fragment message of the same session ID based on the reassembly instruction sent by the DPU control module and send the reassembled message; The DPU data processing module includes: a message buffer unit, which is used to buffer each IP fragment message received by the DPU data processing module; a fragment information sending unit, which is connected to the message buffer unit and is used to send the fragment message related information of the corresponding IP fragment message to the DPU control module when it is determined that the IP fragment message needs to be reassembled at this node; a reassembly execution unit, which is used to receive the reassembly instruction sent by the DPU control module, make a reassembly judgment, and execute the reassembly action to obtain the reassembled message when it is determined that the reassembly is possible; a message sending unit, which is connected to the reassembly execution unit and is used to extract the reassembled message and send it; The method of performing the reassembly action includes: based on the reassembly instruction, processing the first IP fragment message and the non-first IP fragment message respectively to update the corresponding related fields and cache pointers; linking all IP fragment messages of the same session ID using the updated cache pointer to obtain the reassembled message, and adding the reassembled message to the sending queue; The DPU control module includes: a fragmentation information collection unit, which is used to collect fragmentation message related information of each IP fragmentation message sent by the message sending unit, and classify them according to the triplet information and the session ID, and fill the corresponding fragmentation positions into the reorganization bitmap to obtain a summarized reorganization bitmap; a reorganization judgment unit, which is connected to the fragmentation information collection unit, and is used to judge whether the summarized reorganization bitmap of the fragmentation information collection unit is complete within a set time, and notify when it is judged to be complete; a reorganization instruction sending unit, which is connected to the reorganization judgment unit, and is used to extract the reorganization session ID when receiving the notification from the reorganization judgment unit, and sort the IP fragmentation messages belonging to the same session ID according to the fragmentation position and extract the corresponding cache pointer, and then send the reorganization instruction to the reorganization execution unit.

2. The DPU device for realizing IP fragment message reassembly according to claim 1, characterized in that: The fragment message related information includes: triplet information, session ID, fragment location and message cache pointer.

3. The DPU device for realizing IP fragment message reassembly according to claim 1, characterized in that: The reassembly instruction includes: session ID, location of each fragment, cache pointer of each fragment, reassembly bitmap, and total length of the reassembled message.

4. The DPU device for realizing IP fragment message reassembly according to claim 1, characterized in that: The DPU data processing module is connected to the DPU control module via a DPU internal bus.

5. The DPU device for realizing IP fragment message reassembly according to claim 1, characterized in that: The DPU data processing module is also used to discard each IP fragment message received by the session and release the cache space of each IP fragment message when the reassembly execution unit determines that the reassembly is not possible.

6. The DPU device for realizing IP fragment message reassembly according to claim 1, characterized in that: The DPU data processing module is also used to release the cache space corresponding to the IP fragment message after the reassembled message is sent successfully.

7. A method for reassembling IP fragmented messages, characterized in that: A DPU device for realizing IP fragment message reassembly includes: a DPU data processing module and a DPU control module connected to each other, and the method includes: The DPU data processing module caches the received multiple IP fragment messages respectively, and sends the fragment message related information of the corresponding IP fragment message to the DPU control module when it is determined that the IP fragment message needs to be reassembled at this node; The DPU control module establishes a session reassembly bitmap based on the relevant information of each fragment message, and sends the generated reassembly instruction to the DPU data processing module when it is determined that the reassembly condition is met; The DPU data processing module performs a reassembly action on each IP fragment message of the same session ID based on the reassembly instruction and sends the reassembled message; The DPU data processing module includes: a message buffer unit, which is used to buffer each IP fragment message received by the DPU data processing module; a fragment information sending unit, which is connected to the message buffer unit and is used to send the fragment message related information of the corresponding IP fragment message to the DPU control module when it is determined that the IP fragment message needs to be reassembled at this node; a reassembly execution unit, which is used to receive the reassembly instruction sent by the DPU control module, make a reassembly judgment, and execute the reassembly action to obtain the reassembled message when it is determined that the reassembly is possible; a message sending unit, which is connected to the reassembly execution unit and is used to extract the reassembled message and send it; The method of performing the reassembly action includes: based on the reassembly instruction, processing the first IP fragment message and the non-first IP fragment message respectively to update the corresponding related fields and cache pointers; linking all IP fragment messages of the same session ID using the updated cache pointer to obtain the reassembled message, and adding the reassembled message to the sending queue; The DPU control module includes: a fragmentation information collection unit, which is used to collect fragmentation message related information of each IP fragmentation message sent by the message sending unit, and classify them according to the triplet information and the session ID, and fill the corresponding fragmentation positions into the reorganization bitmap to obtain a summarized reorganization bitmap; a reorganization judgment unit, which is connected to the fragmentation information collection unit, and is used to judge whether the summarized reorganization bitmap of the fragmentation information collection unit is complete within a set time, and notify when it is judged to be complete; a reorganization instruction sending unit, which is connected to the reorganization judgment unit, and is used to extract the reorganization session ID when receiving the notification from the reorganization judgment unit, and sort the IP fragmentation messages belonging to the same session ID according to the fragmentation position and extract the corresponding cache pointer, and then send the reorganization instruction to the reorganization execution unit.

Citation Information

Patent Citations

  • UDP message processing method and apparatus thereof, and network forwarding apparatus

    CN107196879A

  • IP message fragment recombination method

    CN110300074A