Method, system, chip, network card and device for automatic diagnosis of network based on DPU
By integrating a data processing engine and processor into the DPU, error packets are automatically detected and stored, solving the problem of low efficiency due to manual intervention in existing technologies. This achieves efficient error packet processing and resource optimization, improving the DPU's operational efficiency and network reliability.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SHENZHEN JAGUAR MICROSYSTEMS CO LTD
- Filing Date
- 2025-12-11
- Publication Date
- 2026-04-17
AI Technical Summary
In existing technologies, the detection and analysis of error packets by DPU devices in high-throughput network environments relies on manual intervention, which is inefficient, wasteful of resources, and complex to operate and maintain. It also cannot dynamically adjust processing strategies, increasing operation and maintenance costs and complexity.
By integrating a data processing engine into the DPU, erroneous data packets are automatically detected and mirrored messages are generated. The processor dynamically stores these packets based on the load status, enabling automated response and storage of erroneous packets and reducing manual intervention.
It enables automated response and dynamic storage of error packets, improving the operational efficiency and network reliability of the DPU, optimizing resource utilization, and reducing operational complexity and cost.
Smart Images

Figure CN121309333B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of network chip development technology, specifically to a method, system, chip, network card, and device for automatic network diagnostics based on a DPU. Background Technology
[0002] With the development of cloud computing and data center technologies, Data Processing Units (DPUs), as a new type of intelligent network interface card (NIC) device, are widely used in network data processing. DPUs typically integrate a Data Processing Engine (DPE), responsible for functions such as receiving, parsing, and forwarding network packets. However, in high-throughput network environments, the occurrence of erroneous packets (such as packet loss, checksum errors, or malformed packets) is inevitable. These erroneous packets can lead to network performance degradation, service interruptions, or security vulnerabilities.
[0003] In existing DPU technologies, error packet detection and analysis typically rely on manual intervention. Operations personnel need to locate problems using packet capture tools (such as tcpdump) or log analysis. This approach has the following drawbacks: low efficiency (requiring manual configuration of packet capture rules and difficulty in real-time response to error packets); resource waste (unable to dynamically adjust processing strategies based on error type, leading to unnecessary performance overhead); and complex operation and maintenance (error packet analysis depends on external devices, increasing operational costs and complexity).
[0004] Therefore, a technical solution is needed to achieve automated response and dynamic storage of error packets, reduce manual intervention, and improve the operational efficiency of the DPU and network reliability. Summary of the Invention
[0005] This invention aims to provide a method for automatic network diagnosis based on DPU, as well as a DPU system, DPU chip, DPU smart network card and computing device with automatic network diagnosis function, which can realize automatic response and dynamic storage of error packets, reduce manual intervention, and improve the operation and maintenance efficiency of DPU and network reliability.
[0006] According to one aspect of the present invention, a method for automatic network diagnostics based on a Data Processing Unit (DPU) is provided, wherein the DPU includes a data processing engine and a processor, the method comprising:
[0007] The data processing engine obtains the preset configuration information from the configuration table;
[0008] The data processing engine receives network data packets and detects whether the data packets are erroneous based on the preset configuration information.
[0009] If the data processing engine detects that the data packet is an erroneous data packet, it performs a data mirroring operation on the erroneous data packet according to the preset configuration information to generate a mirrored message.
[0010] The image message is sent to the processor;
[0011] The processor stores the image message in different ways depending on the current load status.
[0012] According to some embodiments, the preset configuration information includes: abnormal traffic check items, load threshold, remote device storage location, storage policy, error type of erroneous data packets, mirroring switch and sampling rate, wherein the storage policy includes a first storage policy and a second storage policy.
[0013] According to some embodiments, the error types of the erroneous data packets include: cyclic redundancy check error, abnormal length, and illegal protocol fields.
[0014] According to some embodiments, the data processing engine receives network data packets and detects whether the data packets are erroneous based on the preset configuration information, including:
[0015] The data processing engine determines whether the received network data packet is an erroneous data packet through hardware checksum and / or protocol parsing.
[0016] According to some embodiments, the protocol parsing is used to detect IP layer error packets, TCP layer error packets, UDP layer error packets, and ICMP layer error packets.
[0017] According to some embodiments, the data mirroring operation of the erroneous data packet is performed based on the preset configuration information to generate a mirrored message, including:
[0018] The data processing engine copies the error packet into a mirror message and adds metadata.
[0019] According to some embodiments, sending the mirror message to the processor includes:
[0020] The data processing engine sends the mirror message to the processor through an internal channel.
[0021] According to some embodiments, the processor stores the mirrored packets in different ways based on the current load state, including:
[0022] After receiving the image message, the processor detects the current load status;
[0023] Based on the load status and the load threshold in the preset configuration information, the first storage strategy or the second storage strategy is selected to store the mirrored message. The first storage strategy is to store the mirrored message locally, and the second storage strategy is for the motherboard management controller to send the mirrored message to an external device for storage via the network.
[0024] According to some embodiments, the method further includes: the processor periodically evaluating the load state and dynamically adjusting the sampling rate of the mirrored packets or the storage strategy.
[0025] According to another aspect of the present invention, a DPU system with automatic network diagnostic function is provided, the system comprising:
[0026] The configuration module is used to set preset configuration information in the configuration table;
[0027] The data processing engine module is used to receive network data packets, detect whether the data packets are erroneous according to the preset configuration information; if the data processing engine receives the erroneous data packets, it performs a data mirroring operation on the erroneous data packets according to the preset configuration information; generates a mirrored message, and sends it to the processor;
[0028] The processor module is used to receive and process mirror messages and store the mirror messages according to the load status.
[0029] According to another aspect of the present invention, a DPU chip is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps of the method as described above.
[0030] According to another aspect of the present invention, a DPU smart network card is provided, the DPU smart network card comprising: a DPU chip as described above and a plurality of interfaces, wherein the DPU chip communicates externally through the interfaces.
[0031] According to another aspect of the present invention, a computing device is provided, comprising: a DPU smart network interface card and a central processing unit as described above, wherein the DPU smart network interface card is configured to schedule data to the central processing unit for processing or to schedule data to the DPU smart network interface card itself for processing, and the central processing unit is configured to process the data scheduled by the DPU smart network interface card.
[0032] According to an embodiment of the present invention, preset configuration information of the configuration table is obtained. The data processing engine receives network data packets and detects whether the data packets are erroneous according to the preset configuration information. If the data processing engine receives erroneous data packets, it performs data mirroring operations on the erroneous data packets according to the preset configuration information, then generates mirrored packets and sends them to the processor. The processor stores the mirrored packets according to the load status. This invention, by automatically mirroring and intelligently and dynamically reporting erroneous packets, enables automated response and dynamic storage of erroneous packets, reducing manual intervention and improving the operational efficiency of the DPU and network reliability.
[0033] According to some embodiments, the present invention can automatically detect and mirror faulty packets in real time, reducing manual intervention; efficiently and dynamically adjust storage strategies to optimize resource utilization; and scalably support multiple error types and configurations to adapt to different operation and maintenance needs.
[0034] It should be understood that the above general description and the following detailed description are merely exemplary and do not limit the invention. Attached Figure Description
[0035] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below.
[0036] Figure 1 A flowchart of a method for automatic network diagnostics according to an example embodiment is shown.
[0037] Figure 2 A schematic diagram of a network-based automatic diagnostic system is shown according to an example embodiment.
[0038] Figure 3 This diagram illustrates the data flow of automatic network diagnostics according to an example embodiment.
[0039] Figure 4 This diagram illustrates the process of automatic network diagnostics according to an example embodiment.
[0040] Figure 5 A schematic diagram of a DPU smart network interface card is shown according to an example embodiment.
[0041] Figure 6 A block diagram of a computing device according to an exemplary embodiment is shown. Detailed Implementation
[0042] Exemplary embodiments will now be described more fully with reference to the accompanying drawings. However, these exemplary embodiments can be implemented in many forms and should not be construed as limited to the embodiments set forth herein; rather, they are provided so that the invention will be thorough and complete, and the concept of the exemplary embodiments will be fully conveyed to those skilled in the art. The same reference numerals in the drawings denote the same or similar parts, and therefore repeated descriptions of them will be omitted.
[0043] Furthermore, the described features, structures, or characteristics can be combined in any suitable manner in one or more embodiments. Numerous specific details are provided in the following description to give a full understanding of embodiments of the invention. However, those skilled in the art will recognize that the technical solutions of the invention can be practiced without one or more of the specific details, or other methods, components, apparatuses, steps, etc., can be employed. In other instances, well-known methods, apparatuses, implementations, or operations are not shown or described in detail to avoid obscuring various aspects of the invention.
[0044] The block diagrams shown in the accompanying drawings are merely functional entities and do not necessarily correspond to physically independent entities. That is, these functional entities can be implemented in software, in one or more hardware modules or integrated circuits, or in different network and / or processor devices and / or microcontroller devices.
[0045] The flowcharts shown in the accompanying drawings are merely illustrative and do not necessarily include all content and operations / steps, nor do they necessarily have to be performed in the described order. For example, some operations / steps can be broken down, while others can be combined or partially combined; therefore, the actual execution order may change depending on the specific circumstances.
[0046] It should be understood that although the terms first, second, third, etc., may be used herein to describe various components, these components should not be limited by these terms. These terms are used to distinguish one component from another. Therefore, the first component discussed below may be referred to as the second component without departing from the teachings of the present invention. As used herein, the term "and / or" includes all combinations of any one and more of the associated listed items.
[0047] Those skilled in the art will understand that the accompanying drawings are merely schematic diagrams of exemplary embodiments, and the modules or processes in the drawings are not necessarily essential for implementing the present invention, and therefore cannot be used to limit the scope of protection of the present invention.
[0048] With the rapid development of cloud computing and data center technologies, Data Processing Units (DPUs), as a new type of intelligent network interface card (NIC) device, are increasingly being deployed in modern computing architectures to undertake the task of efficiently processing network data. By integrating dedicated computing and processing capabilities at the NIC level, DPUs significantly reduce the load on the host CPU and improve the overall system's data throughput and energy efficiency. Their core components typically include a highly optimized Data Processing Engine (DPE), designed specifically for high-speed network data streams, capable of performing key functions such as real-time network packet reception, deep parsing, intelligent forwarding, and security policy enforcement.
[0049] However, in high-speed, high-throughput network environments, such as 100Gbps or even higher speed network interfaces, the occurrence of erroneous packets becomes a real challenge that cannot be completely avoided. These errors can manifest in various forms, such as packet loss due to buffer overflows or congestion, cyclic redundancy check (CRC) errors caused by transmission interference or hardware failure, and malformed packets with non-standard formats or containing invalid fields. If these errors are not effectively detected and handled, they may not only lead to data loss or service interruption, but also cause deeper system stability and security problems.
[0050] To address this, the present invention proposes a method for automatic network diagnosis, which enables automated response and dynamic storage of error packets, reduces manual intervention, and improves the operational efficiency of the DPU and network reliability.
[0051] The following description, in conjunction with the accompanying drawings, illustrates exemplary embodiments of the present invention.
[0052] Figure 1 A flowchart of a method for automatic network diagnostics according to an example embodiment is shown.
[0053] See Figure 1 In S101, the data processing engine obtains the preset configuration information of the configuration table.
[0054] According to some embodiments, the preset configuration information includes abnormal traffic check items, load threshold, remote device storage location, storage policy, error packet type, mirroring switch and sampling rate, wherein the storage policy includes a first storage policy and a second storage policy.
[0055] According to some embodiments, abnormal traffic includes: a large number of short-interval ping packets; denial-of-service attacks (DoS attacks, DDoS attacks); when a target machine replies with an Internet Control Message Protocol (ICMP) port unreachable message when User Datagram Protocol (UDP) messages are sent to a random port, the target machine will reply with an "ICMP port unreachable" message, etc.
[0056] According to some embodiments, the error types of the erroneous data packets include, but are not limited to: cyclic redundancy check errors, length anomalies, and invalid protocol fields.
[0057] According to some embodiments, error packet types include checksum errors and length errors. A length error occurs when the length in the data header (DP header) does not match the length of the actual data payload. Error packet types also include cyclic redundancy check (CRC) errors, a very common error type in data transmission, storage, and communication, used to indicate that data may have been corrupted during transmission or storage.
[0058] In some implementations, the configuration table includes parameters such as error type, mirroring switch, and sampling rate. Configuration items in the table can be customized according to actual needs. For example, when a sudden surge in traffic is suspected to be a network attack (i.e., a large number of short-interval ping packets appear), the processor (CPU) will isolate the source IP of the ping packet, blocking the attack packet, based on the configured packet mirroring storage over a period of time, thus enabling sampling, mirroring, and analysis according to the rules in the configuration table. When erroneous packets are detected and processed automatically, packets are stored according to the storage location selected by the user, optimizing resource utilization.
[0059] In S103, the data processing engine receives network data packets and detects whether the data packets are erroneous based on the preset configuration information.
[0060] According to some embodiments, the data processing engine determines whether the received network data packet is an erroneous data packet through hardware verification or protocol parsing. The protocol parsing is used to detect IP layer erroneous packets, TCP layer erroneous packets, UDP layer erroneous packets, and ICMP layer erroneous packets.
[0061] According to some implementations, errors that may occur in IP layer packet errors include: abnormal length field, i.e., the total length of the IP header is less than the length of the IP header, or greater than the actual length of the packet; checksum error, i.e., the IP header checksum is incorrect; fragmentation error, i.e., overlapping fragments, invalid fragment offset values, and missing fragments that cannot be reassembled; and invalid source / destination addresses, such as source addresses of 0.0.0.0, 127.0.0.1, broadcast addresses, or reserved addresses.
[0062] According to some implementations, errors that may occur in TCP layer packets include: checksum errors; abnormal combinations of flag bits, such as establishing and closing a connection simultaneously (SYN+FIN set at the same time), establishing and resetting a connection simultaneously (SYN+RST set at the same time), or all flag bits being 0 (null); invalid sequence number / acknowledgment number, such as exceeding the window range, the message acknowledgment flag (ACK bit) not set to 1 but the acknowledgment number not being 0; and length mismatch, such as an unreasonable TCP header length field (less than 20 bytes or greater than the datagram length).
[0063] According to some implementations, errors that may occur in UDP layer packet errors include: inconsistent length field: the Length in the User Datagram Protocol (UDP) header does not match the actual payload length; checksum error, although UDP checksum is optional to enable, but if enabled, it must be correct.
[0064] According to some embodiments, errors in ICMP layer packets include: the type / code does not comply with Internet technology standards (RFCs), such as reserved field values; the original IP header referenced by the ICMP payload is incomplete or incorrect.
[0065] In S105, if the data processing engine detects that the data packet is an erroneous data packet, it performs a data mirroring operation on the erroneous data packet according to the preset configuration information to generate a mirrored message.
[0066] According to some embodiments, the data processing engine copies the error packet as a mirror message and adds metadata.
[0067] According to some embodiments, if the DPE determines that an error data packet has been received in S103, the DPE reads the preset configuration items in the configuration table and determines whether to mirror a specific type of error packet based on the configuration information, such as error packet type, sampling rate and other parameters.
[0068] In S107, the mirror message is sent to the processor.
[0069] According to some embodiments, the data processing engine sends the mirrored message to the processor via an internal channel.
[0070] According to some embodiments, if the configuration table indicates that mirroring is required, the DPE will copy the error data packet into a mirror. After completing the data mirroring operation of the error data packet, the data processing engine will copy the error data packet into a mirror message, add metadata (such as timestamp, error type, etc.), and then send the mirror message to the CPU side of the DPU through an internal channel (such as PCIe or a dedicated queue).
[0071] In S109, the processor stores the mirror message in different ways according to the current load state.
[0072] According to some embodiments, after receiving the image packet, the processor detects the current load status; based on the load status and the load threshold in the preset configuration information, it selects to store the image packet using either the first storage strategy or the second storage strategy. The first storage strategy involves local storage of the image packet, while the second storage strategy involves the motherboard management controller sending the image packet to an external storage device via a network. After receiving the image packet, the CPU detects the current load status, including CPU utilization and memory availability, and selects a storage strategy based on the load thresholds (storage threshold, CPU utilization, etc.) set in the configuration table. Storage strategies include local storage and BMC transmission. Local storage stores the image packet in the DPU's local storage, such as NVMe or a memory buffer. BMC transmission sends the image packet to an external management device via the BMC network.
[0073] According to some embodiments, the processor periodically evaluates the load status, the load, and the storage capacity, and dynamically adjusts the sampling rate of the mirrored packets or the storage strategy. For example, if the storage threshold is set to 70% and the CPU utilization threshold is set to 60% in the configuration table, when the CPU receives a mirrored packet and detects that the current storage capacity is 40% and the CPU utilization is 50%, which is within the threshold, local storage is selected. If the storage capacity subsequently reaches 71%, the sampling rate can be reduced, and subsequent mirrored packets can be sent to an external management device via the BMC.
[0074] This invention utilizes a data processing engine to automatically mirror error data packets. Through the collaborative work of the DPE on the DPU and the CPU, it achieves automated mirroring and dynamic storage of error packets, reducing manual intervention and improving operational efficiency. The technical solution of this invention automates processing based on a configuration table, enabling flexible storage, optimizing resource utilization, and making the operation and maintenance process more convenient. This, in turn, reduces manual input and lowers the complexity and time cost of analyzing error packets.
[0075] Figure 2 A schematic diagram of a network-based automatic diagnostic system is shown according to an example embodiment.
[0076] See Figure 2 The system includes a configuration module, a data processing engine module, and a processor module. The configuration module is used to configure preset configuration information in the configuration table. The data processing engine module receives network data packets and detects whether the data packets are erroneous based on the preset configuration information; if the data processing engine receives an erroneous data packet, it performs a data mirroring operation on the erroneous data packet according to the preset configuration information; it generates a mirrored message and sends it to the processor. The processor module receives and processes the mirrored message and stores it according to the load status.
[0077] See Figure 3 , Figure 3 This demonstrates the data flow for automatic network diagnostics. The host communicates with the DPU via PCIe. The DPE in the DPU receives data packets, performs error packet analysis, and mirrors the erroneous data upon detection, generating a mirrored message which is then sent to the CPU on the DPU for processing. The CPU, based on the parameters configured in the configuration table, chooses to either store the mirrored message locally on the DPU or send it to an external device for storage via the network.
[0078] A specific implementation method is described below. See [link to implementation details]. Figure 4 Users can mirror packets with CRC errors by configuring error packet mirroring through the BMC, obtaining a 100% sampling rate from the configuration table. The DPE receives network packets from the host and checks for CRC errors. Upon receiving an error packet, it reads the configuration table to confirm the need for mirroring. The DPE generates a mirror packet, including the original packet, timestamp, and "CRC_ERROR" label. The mirror packet is sent to the CPU via the PCIe channel. The CPU detects that its local storage capacity is 30%, lower than the preset threshold of 70%, and chooses to store it on the local NVMe (path: / var / log / mirror_packets). Finally, maintenance personnel can analyze error packets through local files without external devices. Assuming the CPU load is 80%, higher than the 70% threshold, and local storage is insufficient, the mirror packet is transmitted to the management server (IP: 192.168.1.100) through the BMC network. This enables successful external storage of mirror packets under high system load, avoiding exhaustion of local resources.
[0079] According to some embodiments, in high-speed, high-throughput, or complex business scenarios and under full-volume business conditions, the memory pressure on the DPU side can be very high. Traditional solutions suffer from significant IO latency after triggering memory swapping. The design of this invention optimizes the automated processing of erroneous data packets by utilizing the DPE and CPU on the DPU side to work collaboratively, thereby improving system performance, accurately detecting and processing erroneous data packets, and improving system operation and maintenance efficiency.
[0080] The present invention also provides a computing device, including a DPU smart network card and a central processing unit as described above, wherein the DPU smart network card is used to schedule data to the central processing unit for processing or to schedule data to the DPU smart network card itself for processing, and the central processing unit is used to process the data scheduled from the DPU smart network card.
[0081] This application also provides a DPU chip, which includes a memory and a processor. The memory stores a computer program, and the processor executes the computer program to implement the steps of the method described above.
[0082] Figure 5 A schematic diagram of a DPU smart network interface card is shown according to an example embodiment.
[0083] According to some embodiments, the present invention provides a DPU smart network interface card (NIC), which includes a DPU chip as described above and multiple interfaces, wherein the DPU chip communicates externally through the interfaces. See also... Figure 5 The design scheme of the present invention can be applied to the design of DPU smart network card 300, which includes: DPU chip 200 as described above and multiple interfaces 310, and the DPU chip 200 communicates with the outside world through the multiple interfaces 310.
[0084] According to some embodiments, the design of the present invention is based on the automatic error packet mirroring function of the Data Processing Engine (DPE). After automatically mirroring the error packet according to the user's preset configuration, the mirrored packet is sent to the CPU side of the DPU for further processing. The mirrored packet can be flexibly stored locally or transmitted to an external device through the BMC network. The collaborative work of DPE and CPU realizes the automatic mirroring and dynamic storage of error packets, reduces manual intervention, and improves operation and maintenance efficiency.
[0085] Figure 6 A block diagram of a computing device according to an example embodiment is shown.
[0086] like Figure 6As shown, the computing device 30 includes a processor 12 and a memory 14. The computing device 30 may also include a bus 22, a DPU smart network interface card 16, and an I / O interface 18. The processor 12, memory 14, network interface 16, and I / O interface 18 can communicate with each other via the bus 22.
[0087] Processor 12 may include one or more general-purpose CPUs (Central Processing Units), microprocessors, or application-specific integrated circuits, for executing relevant program instructions. According to some embodiments, cloud computing device 30 may also include a high-performance display adapter (GPU) 20 for accelerating processor 12.
[0088] Memory 14 may include machine-readable media in the form of volatile memory, such as random access memory (RAM), read-only memory (ROM), and / or cache memory. Memory 14 is used to store one or more programs containing instructions and data. Computing device 30 may also communicate with one or more networks via DPU smart network interface card 16. The DPU smart network interface card is used to process data or perform external communication, and the central processing unit is used to process data scheduled by the DPU smart network interface card. The DPU smart network interface card includes a network chip. The network chip stores a computer program, which, when executed, implements the method according to embodiments of the present invention. Bus 22 may include an address bus, a data bus, a control bus, etc. Bus 22 provides a path for exchanging information between components. Computing device 30 may also communicate with one or more networks via network interface 16 (e.g., DPU network interface).
[0089] Bus 22 can include address bus, data bus, control bus, etc. Bus 22 provides a path for exchanging information between components.
[0090] According to some embodiments, the design of the present invention can also be applied to the design of cloud computing devices, the cloud computing devices including: the DPU smart network card and the central processing unit as described above, the DPU smart network card being used to process data or external communication, and the central processing unit being used to process the data scheduled by the DPU smart network card.
[0091] It should be noted that, in specific implementations, the computing device 30 may also include other components necessary for normal operation. Furthermore, those skilled in the art will understand that the device described above may only include the components necessary for implementing the embodiments of this specification, and not necessarily all the components shown in the figures.
[0092] This application also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of the above-described method. The computer-readable storage medium may include, but is not limited to, any type of disk, including floppy disks, optical disks, DVDs, CD-ROMs, microdrives, as well as magneto-optical disks, ROMs, RAMs, EPROMs, EEPROMs, DRAMs, VRAMs, flash memory devices, magnetic cards or optical cards, nanosystems (including molecular memory ICs), network storage devices, cloud storage devices, or any type of medium or device suitable for storing instructions and / or data.
[0093] This application also provides a computer program product including a non-transitory computer-readable storage medium storing a computer program operable to cause a computer to perform some or all of the steps of any of the methods described in the above method embodiments.
[0094] Those skilled in the art will clearly understand that the technical solutions of this application can be implemented using software and / or hardware. In this specification, "unit" and "module" refer to software and / or hardware capable of independently performing or cooperating with other components to perform a specific function, where the hardware may be, for example, a field-programmable gate array (FPGA), integrated circuit, etc.
[0095] It should be noted that, for the sake of simplicity, the foregoing method embodiments are all described as a series of actions. However, those skilled in the art should understand that this application is not limited to the described order of actions, as some steps may be performed in other orders or simultaneously according to this application. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are preferred embodiments, and the actions and modules involved are not necessarily essential to this application.
[0096] In the above embodiments, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions in other embodiments.
[0097] In the several embodiments provided in this application, it should be understood that the disclosed apparatus can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some service interface; the indirect coupling or communication connection between apparatuses or units may be electrical or other forms.
[0098] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment, depending on actual needs.
[0099] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0100] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage device. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a memory and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of the various embodiments of this application.
[0101] In the above embodiments, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions in other embodiments.
[0102] The exemplary embodiments of this application have been specifically shown and described above. It should be understood that this application is not limited to the detailed structures, arrangements, or implementation methods described herein; rather, this application is intended to cover various modifications and equivalent arrangements contained within the spirit and scope of the appended provisions.
Claims
1. A method for DPU-based network auto-diagnosis, the DPU comprising a data processing engine and a processor, the method comprising: The method includes: The data processing engine obtains the preset configuration information of the configuration table, wherein the preset configuration information includes: abnormal traffic check items, load threshold, remote device storage location, storage policy, error type of erroneous data packet, mirroring switch and sampling rate, wherein the storage policy includes a first storage policy and a second storage policy; The data processing engine receives network data packets and detects whether the data packets are erroneous based on the preset configuration information. If the data processing engine detects that the data packet is an erroneous data packet, it performs a data mirroring operation on the erroneous data packet according to the preset configuration information to generate a mirror message and add metadata. The image message is sent to the processor; After receiving the image message, the processor detects the current load status; Based on the load status and the load threshold in the preset configuration information, the mirrored packet is stored using either the first storage strategy or the second storage strategy. The first storage strategy involves storing the image packets locally, while the second storage strategy involves the motherboard management controller sending the image packets to an external storage device via the network. The processor periodically evaluates the load status and dynamically adjusts the sampling rate of the mirrored packets or the storage strategy.
2. The method of claim 1, wherein, The error types of the erroneous data packets include: cyclic redundancy check error, abnormal length, and invalid protocol fields.
3. The method of claim 1, wherein, The data processing engine receives network data packets and detects whether the data packets are erroneous based on the preset configuration information, including: The data processing engine determines whether the received network data packet is an erroneous data packet through hardware checksum and / or protocol parsing.
4. The method of claim 3, wherein, The protocol parsing is used to detect IP layer error packets, TCP layer error packets, UDP layer error packets, and ICMP layer error packets.
5. The method of claim 1, wherein, Sending the mirror message to the processor includes: The data processing engine sends the mirror message to the processor through an internal channel.
6. A DPU system with network automatic diagnosis function, characterized in that, The system includes: The configuration module is used to set preset configuration information in the configuration table. The preset configuration information includes: abnormal traffic check items, load threshold, remote device storage location, storage policy, error type of erroneous data packets, mirroring switch and sampling rate. The storage policy includes a first storage policy and a second storage policy. The data processing engine module is used to receive network data packets, detect whether the data packets are erroneous data packets according to the preset configuration information; if the data processing engine receives the erroneous data packets, it performs a data mirroring operation on the erroneous data packets according to the preset configuration information; generates a mirrored message and sends it to the processor, wherein the data processing engine copies the erroneous packet into a mirrored message and adds metadata; The processor module is configured to, after receiving the mirrored message, detect the current load status; and, based on the load status and the load threshold in the preset configuration information, select either the first storage strategy or the second storage strategy to store the mirrored message. The first storage strategy involves storing the image packets locally, while the second storage strategy involves the motherboard management controller sending the image packets to an external storage device via the network. The processor periodically evaluates the load status and dynamically adjusts the sampling rate of the mirrored packets or the storage strategy.
7. A DPU chip comprising a memory and a processor, the memory storing a computer program, characterized in that, When the processor executes the computer program, it implements the method of any one of claims 1-5.
8. A DPU smartNIC, comprising: The DPU smart network card includes: the DPU chip according to claim 7 and multiple interfaces, wherein the DPU chip communicates externally through the interfaces.
9. A computing device, comprising: include: According to claim 8, the DPU smart network card and the central processing unit are used to schedule data to the central processing unit for processing or to schedule data to the DPU smart network card itself for processing, and the central processing unit is used to process the data scheduled by the DPU smart network card.
Citation Information
Patent Citations
RDMA traffic DDoS attack detection method and system in edge computing power network environment
CN120979753A