A cross-device traffic processing method, device, equipment and storage medium

By encapsulating and parsing packets in the network environment of the data center, the problem of over-consumption of resources and processing bottlenecks when FPGAs deal with complex network operations is solved, and the effect of reducing the processing pressure of FPGAs and maintaining the originality of packets is achieved.

CN119341984BActive Publication Date: 2025-03-18YUNHE ZHIWANG (SHANGHAI) TECHNOLOGY CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202411885702.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-12-20
Publication Date
2025-03-18
Estimated Expiration
2044-12-20

AI Technical Summary

Technical Problem

In data centers and complex network environments, FPGAs can cause over-consumption of resources and processing bottlenecks when handling complex network operations, especially when dealing with large traffic.

Method used

By receiving the message to be processed, and determining whether advanced processing is needed based on the specific fields of the message, if necessary, the VLAN tag is encapsulated through the access control list and sent to the FPGA for advanced processing. After that, the VLAN tag is parsed to obtain the exit of the packet, and the packet is sent to the exit after the VLAN tag is stripped away.

Benefits of technology

This method reduces the processing pressure of the FPGA, ensures that the message does not carry any information used by the shunt during transmission, thereby maintaining the originality of the message and reducing the overall traffic bandwidth requirement.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119341984B_ABST
    Figure CN119341984B_ABST
Patent Text Reader

Abstract

The present invention discloses a cross-device traffic processing method, device, equipment and storage medium, the method comprising: receiving a message to be processed, and judging whether the message is a message that needs advanced processing according to a specific field of the message; for the message that needs advanced processing, encapsulating a VLAN tag through an access control list and sending it to an FPGA, so that the FPGA performs advanced processing on the message and returns it; receiving the returned message, parsing the VLAN tag, and obtaining the message's exit; after stripping the VLAN tag, sending the message to the exit. The present invention determines the final exit of the message by encapsulating the VLAN tag in the message, so that the message sent back by the FPGA can determine the correct exit and strip the VLAN tag when going out, which not only reduces the processing pressure of the FPGA but also ensures that the message does not carry any information inside the splitter during the transmission process, and maintains the originality of the message.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of networks, and in particular to a method, device, equipment and storage medium for processing cross-device traffic. Background Art

[0002] In modern data centers and complex network environments, with the acceleration of digital transformation, the importance of traffic distribution and management has become increasingly prominent. Data centers need to handle massive amounts of data traffic, which includes not only simple data transmission but also a variety of complex application types, such as voice communication, video streaming, data analysis, real-time monitoring, etc. In order to effectively manage and optimize these flows and ensure efficient network performance and service quality, a splitter is used for simple processing before being processed using an FPGA.

[0003] FPGA (Field Programmable Gate Array) is an ideal choice for handling complex network operations due to its excellent parallel computing capabilities and flexible programming features. It can quickly and efficiently perform tasks such as deduplication, encryption and decryption, data compression, and specific protocol parsing. After these preliminary processing, the next step of traffic management is equally critical. FPGA is still used to classify data packets according to their characteristics and direct them to the corresponding analysis server.

[0004] When processing huge business traffic, although FPGA has advantages in parallel processing, putting all classification tasks on FPGA may lead to excessive resource consumption and processing bottlenecks. Especially in a large-scale and diverse business environment such as a data center, the complexity and diversity of traffic puts higher demands on the processing capabilities of FPGA, requiring users to invest more financial and human resources. Summary of the invention

[0005] In view of the above problems, the purpose of the embodiments of the present invention is to provide a cross-device traffic processing method, apparatus, device and storage medium to improve the above problems.

[0006] An embodiment of the present invention provides a cross-device traffic processing method, which includes:

[0007] Receiving a message to be processed, and determining whether the message is a message requiring advanced processing according to a specific field of the message;

[0008] For messages that require advanced processing, VLAN tags are encapsulated through access control lists and then sent to FPGA, so that the FPGA performs advanced processing on the messages and then returns them; wherein the VLAN tags encapsulate the egress information of the messages;

[0009] Receive the returned message, and parse the VLAN tag to obtain the egress of the message;

[0010] After stripping the VLAN tag, the message is sent to the egress.

[0011] Preferably, it includes:

[0012] Messages that do not require advanced processing are sent directly to the designated exit for next-level processing or forwarding.

[0013] Preferably, the advanced processing includes one or more of deduplication, high-speed data processing, encryption and decryption, and data compression.

[0014] Preferably, the specific field includes one or more of SIP, DIP, and protocol type.

[0015] Preferably, the VLAN tag includes chipId, linecardId, and portId respectively represented by TCI fields, wherein:

[0016] chipId, used to identify the chipId where the exit is located;

[0017] linecardId, used to identify the LineCard ID where the exit is located;

[0018] portId, used to indicate the port ID of the egress.

[0019] Preferably, the size of the chipId is 2 bits. When only two network splitters are stacked, chipId is 0x00 to indicate a local device, and 0x01 to indicate a remote device. When more than two devices are stacked, 0x00, 0x01, 0x10, and 0x11 respectively indicate the size order of the chipId of the devices in the stacking environment.

[0020] Preferably, the returned message is received, and the VLAN tag is parsed to obtain the egress of the message, specifically:

[0021] After receiving the message, the access control list is matched to see whether the message enters from a specific port. If so, the VLAN tag of the message is parsed.

[0022] The embodiment of the present invention further provides a cross-device traffic processing device, which includes:

[0023] A judgment unit, used for receiving a message to be processed, and judging whether the message is a message requiring advanced processing according to a specific field of the message;

[0024] An encapsulation unit, used for encapsulating a message that needs advanced processing with a VLAN tag through an access control list and sending the message to the FPGA, so that the FPGA performs advanced processing on the message and then returns the message; wherein the VLAN tag encapsulates the egress information of the message;

[0025] A parsing unit, used for receiving the returned message and parsing the VLAN tag to obtain the egress of the message;

[0026] The stripping unit is used to send the message to the egress after stripping the VLAN tag.

[0027] An embodiment of the present invention further provides a cross-device traffic processing device, which includes a memory and a processor, wherein the memory stores a computer program, and the computer program can be executed by the processor to implement the cross-device traffic processing method as described above.

[0028] An embodiment of the present invention further provides a computer-readable storage medium storing a computer program, wherein the computer program can be executed by a processor of a device where the computer-readable storage medium is located to implement the cross-device traffic processing method as described above.

[0029] In summary, this embodiment determines the final exit of the message by encapsulating the VLAN tag in the message, so that the message sent back by the FPGA can determine the correct exit and the VLAN tag is stripped when going out. This not only greatly reduces the processing pressure of the FPGA and ensures that the message does not carry any information used inside the splitter during transmission, thereby maintaining the originality of the message, and removing unnecessary tags helps to reduce the size of each message, thereby reducing the overall traffic bandwidth requirement. BRIEF DESCRIPTION OF THE DRAWINGS

[0030] In order to more clearly illustrate the technical solution of the present invention, the drawings required for use in the implementation mode will be briefly introduced below. Obviously, the drawings described below are only some implementation modes of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0031] Figure 1 It is a flowchart of the cross-device traffic processing method provided by the first embodiment of the present invention.

[0032] Figure 2 This is a schematic diagram of VLAN tag encapsulation.

[0033] Figure 3 It is a structural diagram of a cross-device traffic processing apparatus provided in the second embodiment of the present invention. DETAILED DESCRIPTION

[0034] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0035] See also Figure 1 The first embodiment of the present invention provides a cross-device traffic processing method, which can be executed by a cross-device traffic processing device (hereinafter referred to as a processing device), and in particular, executed by one or more processors in the processing device to implement the following method:

[0036] S101, receiving a message to be processed, and determining whether the message is a message requiring advanced processing according to a specific field of the message.

[0037] In this embodiment, the processing device may be a network splitter, wherein after the message enters the network splitter, the network splitter uses the ACL (access control list) function to perform preliminary classification and matching of the message according to specific fields of the message (such as SIP, DIP, protocol type, etc.) to determine whether the message is a message that requires advanced processing.

[0038] S102, encapsulating the message requiring advanced processing with a VLAN tag through an access control list and sending it to the FPGA, so that the FPGA performs advanced processing on the message and then returns it; wherein the VLAN tag encapsulates the egress information of the message.

[0039] In this embodiment, for messages that do not require advanced processing, the processing device directly sends them to a designated exit for next-level processing or forwarding.

[0040] For messages that require advanced processing, the processing device determines which outlet the message will eventually be sent to based on predefined rules, and then obtains the outlet information such as chipId, linecardId, portId, etc. (the outlet information can be obtained by querying the hardware or configuration table of the device), and then encapsulates the outlet information into the VLAN tag according to the predetermined format. Encapsulation information such as Figure 2 Said, wherein:

[0041] TPID is the TPID of the commonly used VLAN tag: 0x8100, 0x9100, as long as the chip can pass it;

[0042] chipId (15-14): 2 bits. Used to identify the chipId where the exit is located;

[0043] linecardId (13-9): 5 bits. Used to identify the LineCard ID of the exit;

[0044] portId (0-8): 9 bits. Used to indicate the egress PortId.

[0045] It should be noted here that since chipId is represented by only 2 bits, considering that more than 2 devices may be stacked in a complex data center network, it is necessary to make use of these two bits as much as possible. The solution is as follows:

[0046] When only two splitters are stacked, chipId 0x00 indicates the local device, and 0x01 indicates the remote device. When more than two devices are stacked, 0x00, 0x01, 0x10, and 0x11 indicate the chipId size order of the devices in the stacking environment. For example, if there are four devices in the environment, and chipIds are 0, 5, 6, and 3, 0x00 indicates the device with chipId 0, 0x01 indicates the device with chipId 3, 0x10 indicates the device with chipId 5, and 0x11 indicates the device with chipId 6.

[0047] S103, receiving the returned message, and parsing the VLAN tag to obtain the egress of the message.

[0048] In this embodiment, for the message returned by the FPGA, the network splitter matches the message according to the ACL (access control list) to see whether it enters from a specific port. If it does, it means that the outer VLAN tag of the message needs to be parsed. The parsing format is Figure 2 VLAN tag format. TPID does not need to be concerned, and then chipId, linecardId, and portId are parsed, and finally the egress of the message is calculated based on this information, which device, which line card, and which port.

[0049] S104: After stripping the VLAN tag, send the message to the egress.

[0050] In this embodiment, the network splitter removes the outer VLAN tag in the message after determining the egress by parsing the VLAN tag. This is to ensure that the message does not carry any information used internally by the VLAN splitter during transmission, thereby maintaining the originality of the message. Removing unnecessary tags helps reduce the size of each message, thereby reducing the overall traffic bandwidth requirement.

[0051] In summary, this embodiment determines the final exit of the message by encapsulating the VLAN tag in the message, so that the message sent back by the FPGA can determine the correct final exit and remove the VLAN tag when going out. This not only greatly reduces the processing pressure of the FPGA, but also ensures that the message does not carry any information used inside the splitter during transmission, thereby maintaining the originality of the message, and removing unnecessary tags helps to reduce the size of each message, thereby reducing the overall traffic bandwidth requirement.

[0052] See also Figure 3 The second embodiment of the present invention further provides a cross-device traffic processing device, which includes:

[0053] The judging unit 210 is used to receive a message to be processed and judge whether the message is a message requiring advanced processing according to a specific field of the message;

[0054] The encapsulation unit 220 is used to encapsulate the message that needs advanced processing with a VLAN tag through an access control list and send it to the FPGA, so that the FPGA performs advanced processing on the message and then returns it; wherein the VLAN tag encapsulates the egress information of the message;

[0055] The parsing unit 230 is used to receive the returned message and parse the VLAN tag to obtain the egress of the message;

[0056] The stripping unit 240 is used to send the message to the egress after stripping the VLAN tag.

[0057] The third embodiment of the present invention further provides a cross-device traffic processing device, which includes a memory and a processor, wherein the memory stores a computer program, and the computer program can be executed by the processor to implement the cross-device traffic processing method as described above.

[0058] The fourth embodiment of the present invention further provides a computer-readable storage medium storing a computer program, wherein the computer program can be executed by a processor of a device where the computer-readable storage medium is located to implement the cross-device traffic processing method as described above.

[0059] In several embodiments provided in the embodiments of the present invention, it should be understood that the disclosed apparatus and method can also be implemented in other ways. The apparatus and method embodiments described above are merely schematic. For example, the flowcharts and block diagrams in the accompanying drawings show the possible architecture, functions and operations of the apparatus, method and computer program product according to multiple embodiments of the present invention. In this regard, each box in the flowchart or block diagram can represent a module, a program segment or a part of a code, and the module, program segment or a part of the code contains one or more executable instructions for implementing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two consecutive boxes can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flowchart, and the combination of boxes in the block diagram and / or flowchart can be implemented with a dedicated hardware-based system that performs a specified function or action, or can be implemented with a combination of dedicated hardware and computer instructions.

[0060] In addition, the functional modules in the various embodiments of the present invention may be integrated together to form an independent part, or each module may exist independently, or two or more modules may be integrated to form an independent part.

[0061] If the function is implemented in the form of a software function module and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention is essentially or the part that contributes to the prior art or the part of the technical solution can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions to enable a computer device (which can be a personal computer, an electronic device, or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present invention. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), disk or optical disk and other media that can store program code. It should be noted that in this article, the term "include", "include" or any other variant thereof is intended to cover non-exclusive inclusion, so that the process, method, article or device including a series of elements includes not only those elements, but also includes other elements that are not explicitly listed, or also includes elements inherent to such process, method, article or device. Without more constraints, an element defined by the phrase "comprising a..." does not exclude the existence of other identical elements in the process, method, article or apparatus comprising the element.

[0062] The terms used in the embodiments of the present invention are only for the purpose of describing specific embodiments, and are not intended to limit the present invention. The singular forms "a", "said" and "the" used in the embodiments of the present invention and the appended claims are also intended to include plural forms, unless the context clearly indicates other meanings.

[0063] It should be understood that the term "and / or" used in this article is only a description of the association relationship of associated objects, indicating that there can be three relationships. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. In addition, the character " / " in this article generally indicates that the associated objects before and after are in an "or" relationship.

[0064] The word "if" as used herein may be interpreted as "at the time of" or "when" or "in response to determining" or "in response to detecting", depending on the context. Similarly, the phrases "if it is determined" or "if (stated condition or event) is detected" may be interpreted as "when it is determined" or "in response to determining" or "when detecting (stated condition or event)" or "in response to detecting (stated condition or event)", depending on the context.

[0065] The "first\second" mentioned in the embodiments is only to distinguish similar objects, and does not represent a specific order for the objects. It is understandable that the "first\second" can be interchanged with the specific order or sequence where permitted. It should be understood that the objects distinguished by "first\second" can be interchanged where appropriate, so that the embodiments described herein can be implemented in an order other than those illustrated or described herein.

[0066] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. For those skilled in the art, the present invention may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present invention shall be included in the protection scope of the present invention.

Claims

1. A method for processing cross-device traffic, characterized in that: include: Receiving a message to be processed, and determining whether the message is a message requiring advanced processing according to a specific field of the message; For messages that require advanced processing, VLAN tags are encapsulated through the access control list and then sent to the FPGA, so that the FPGA performs advanced processing on the messages and then returns; wherein the VLAN tag encapsulates the egress information of the message; the VLAN tag includes chipId, linecardId, and portId represented by the TCI field, wherein: chipId is used to identify the chipId where the egress is located; linecardId is used to identify the LineCard ID where the egress is located; portId is used to represent the PortId of the egress; the size of the chipId is 2 bits, when only two network splitters are stacked, chipId is 0x00 to indicate the local device, and 0x01 to indicate the remote device, and when more than two devices are stacked, 0x00, 0x01, 0x10, and 0x11 respectively represent the size order of the chipId of the devices in the stacking environment; Receive the returned message, and parse the VLAN tag to obtain the egress of the message; After stripping the VLAN tag, the message is sent to the egress.

2. The cross-device traffic processing method according to claim 1, characterized in that: include: Messages that do not require advanced processing are sent directly to the designated exit for next-level processing or forwarding.

3. The cross-device traffic processing method according to claim 1, characterized in that: The advanced processing includes one or more of deduplication, high-speed data processing, encryption and decryption, and data compression.

4. The cross-device traffic processing method according to claim 1, characterized in that: The specific field includes one or more of SIP, DIP, and protocol type.

5. The cross-device traffic processing method according to claim 1, characterized in that: Receive the returned message, parse the VLAN tag, and obtain the egress of the message, specifically: After receiving the message, the access control list is matched to see whether the message enters from a specific port. If so, the VLAN tag of the message is parsed.

6. A cross-device traffic processing device, characterized in that: include: A judgment unit, used for receiving a message to be processed, and judging whether the message is a message requiring advanced processing according to a specific field of the message; The encapsulation unit is used to encapsulate the VLAN tag of the message that needs advanced processing through the access control list and send it to the FPGA, so that the FPGA performs advanced processing on the message and returns it; wherein the VLAN tag encapsulates the egress information of the message; the VLAN tag includes chipId, linecardId, and portId respectively represented by the TCI field, wherein: chipId is used to identify the chipId where the egress is located; linecardId is used to identify the LineCard ID where the egress is located; portId is used to indicate the PortId of the egress; the size of the chipId is 2 bits, when only two network splitters are stacked, the chipId is 0x00 to indicate the local device, and 0x01 to indicate the remote device, and when more than two devices are stacked, 0x00, 0x01, 0x10, and 0x11 respectively indicate the size order of the chipId of the devices in the stacking environment; A parsing unit, used for receiving the returned message and parsing the VLAN tag to obtain the egress of the message; The stripping unit is used to send the message to the egress after stripping the VLAN tag.

7. A cross-device traffic processing device, characterized in that: It includes a memory and a processor, wherein the memory stores a computer program, and the computer program can be executed by the processor to implement the cross-device traffic processing method as described in any one of claims 1 to 5.

8. A computer-readable storage medium, characterized in that: A computer program is stored, and the computer program can be executed by a processor of the device where the computer-readable storage medium is located to implement the cross-device traffic processing method as described in any one of claims 1 to 5.

Citation Information

Patent Citations

  • Data plane and switch based on heterogeneous chip

    CN115086392A