Multi-channel equipment data forwarding processing method based on single assembly line

By adopting a single pipeline design in multi-channel equipment, the unified processing of data packets on different channels is solved, and equipment simplification and efficiency improvement is achieved.

CN120358277APending Publication Date: 2025-07-22CHONGQING JINMEI COMM
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410078988.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-01-19
Publication Date
2025-07-22

AI Technical Summary

Technical Problem

Multi-channel devices are difficult to effectively apply in scenarios where equipment costs, large sizes and redundant data processing capabilities between channels, especially in scenarios where equipment costs, sizes and power requirements are high.

Method used

The single pipeline design is adopted, and through the data packet processing pipeline, metadata bus, parser, inlet and exit processing units and inverse parser, unified forwarding processing processing for data packets received by different channels is realized, including packet preprocessing, single channel and full channel matching table, forwarding control and flow control table, etc., simplifying the processing flow and improving efficiency.

Benefits of technology

It realizes the simplified design and efficiency of multi-channel equipment, improves the flexibility and efficiency of data packet processing, and reduces equipment costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure FT_1
    Figure FT_1
  • Figure FT_2
    Figure FT_2
Patent Text Reader

Abstract

The invention discloses a multi-channel equipment data forwarding processing method based on a single assembly line. The invention discloses a multi-channel equipment data forwarding processing method based on a single assembly line, which is characterized in that the assembly line is designed and adopted in multi-channel equipment, the assembly line comprises a plurality of matching action tables, and data packet forwarding processing table entries of different channels are added into each matching action table according to a configuration rule; data packets received by different channels in a multi-channel device are forwarded and processed based on a single pipeline. When the multi-channel equipment receives data packets from different channels, one assembly line is used for completing data forwarding processing, the data packets received by the different channels enter the matching action tables of the assembly line in sequence, different table items are matched, different actions are executed, and forwarding processing of the data packets in the same channel or among different channels is accurately completed. Therefore, the purposes of reducing the product cost, simplifying the treatment flow and improving the treatment efficiency are achieved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the field of wireless communication, and more specifically relates to a data forwarding processing method for a multi-channel device. Background Art

[0002] The demand for transmission reliability of network services is continuously increasing, and multi-channel support is an extremely attractive network reliability upgrade solution. A multi-channel device can support multiple service transmission means, has the ability to simultaneously receive and forward service data packets using multiple wired and wireless information transmission channels in parallel, and can support anti-destruction replacement of service transmission between different channels. Therefore, multi-channel devices are increasingly deployed in network systems with poor stability.

[0003] The multi-channel device uses the pipeline mode to implement the forwarding processing of service data packets. The data packet processing pipeline refers to a series of processes that obtain data from several data sources, perform complex data processing on the obtained data, and then provide it to the target data system. The value of the data is gradually generated during each step of the transfer.

[0004] The data forwarding processing pipeline in a multi-channel device consists of one or more match-action tables. The match-action table is an entity that executes data packet processing and performs different processing operations on different data packets using conditional matching. The match-action table is divided into two parts: a match field and an action field. The match field declares the packet protocol field matching conditions supported by the table, such as source IP, destination IP, etc.; the action field declares the packet processing operations supported by the table, such as protocol field modification, packet discard, etc. According to the actual processing requirements of the specified data packet, its matching rule is constructed based on the match field, and its corresponding processing method is constructed based on the action field, and a table entry is combined and added to the match-action table for querying and matching processing of received data packets.

[0005] Currently, in the related art, the multi-channel device uses different pipelines to execute the forwarding processing flow for data packets received on different channels. This implementation method has a simple design, high data processing efficiency, and little mutual interference in data processing between channels. However, this implementation method also has disadvantages such as a large device volume, high production cost, and performance redundancy in that the data processing capabilities between channels cannot be shared. Therefore, this design cannot be well applied to scenarios where the requirements for the data processing performance of the device are not high, but the requirements for the device cost and SWaP (size, weight, and power) are high. Summary of the Invention

[0006] In view of the problems raised in the background art, the present invention provides: 1. A method for forwarding and processing multi-channel device data based on a single pipeline, including a data packet processing pipeline, which includes a metadata bus, a parser, an ingress processing unit, an egress processing unit, and an inverse parser. The ingress processing unit includes a packet preprocessing table, a single-channel packet matching table, a full-channel packet matching table, a packet forwarding control table, and an ingress packet traffic control table. The egress processing unit includes an egress packet traffic control table, a packet queue control table, and a channel traffic statistics table; where: The data packet processing pipeline is used to perform the forwarding and processing of data packets received on different channels, and includes complete data packet processing functional processes such as packet parsing, ingress matching control, and egress control statistics; The metadata bus is used to store the original protocol header information of the data packet and the protocol field information modified during the forwarding process, and the metadata bus information can be queried and modified during the entire pipeline data processing; The parser is used to parse the protocol of the received data packet header, obtain the protocol field content and store it in the metadata bus; The ingress processing unit includes all ingress processing processes for receiving data packets and is used to match and forward data packets; The egress processing unit includes all egress processing processes for sending data packets and is used to process and send data packets; The inverse parser is used to re-encapsulate the protocol of the data packet header according to the modified information stored in the metadata bus during the forwarding process; The packet preprocessing table is a matching action table used to give priority to the processing of data packets. The main actions are channel received data packet traffic statistics and specified type data packet traffic statistics; The single-channel packet matching table is a matching action table used to process data packets differently according to the receiving channel. Data packets received on different channels will only match the table entries related to their receiving channels. Its main action is to set the data packet forwarding channel; The full-channel packet matching table is a matching action table used to process data packets that fail to match successfully in the single-channel packet matching table. It includes all channel-related matching action table entries. Its main action is the same as that of the single-channel packet matching table, which is to set the data packet forwarding channel; The packet forwarding control table is a matching action table that modifies the protocol content of the data packet header according to the data packet forwarding channel set in the single-channel packet matching table or the full-channel packet matching table and the original header protocol information of the data packet; The ingress packet traffic control table is a matching action table that configures the data packet processing priority according to the data packet forwarding channel set in the single-channel packet matching table or the full-channel packet matching table and the original header protocol information of the data packet; The outsourced traffic control table is a matching-action table that controls the traffic volume of transmitted data packets based on the channel transmission bandwidth limit and the bandwidth limit of specified types of data packets. The packet queue control table is a matching-action table that adds transmitted data packets to a specified data queue of a channel based on the processing priority information of the transmitted data packets.

[0007] The channel traffic statistics table is a matching-action table used to count the traffic volume of data packets transmitted on a channel and the traffic volume of specified types of data packets.

[0008] Data forwarding processing steps for a multi-channel device: Step 1: After the device receives data packets from different channels, the data packets enter the data packet processing pipeline. Use a parser to parse the protocol information of the data packet header and save the protocol information of the data packet header to the metadata bus. Step 2: Execute the entry processing flow and enter the packet preprocessing table. Count the traffic volume of the device's channels and the traffic volume of specified types of data packets. Step 3: Enter the single-channel packet matching table. If the data packet matches successfully, the action can configure its forwarding channel information. Step 4: If the data packet matches successfully in the single-channel packet matching table, skip the full-channel packet matching table. Enter the full-channel packet matching table. If the data packet matches successfully, the action configures its forwarding channel information. Step 5: Enter the packet forwarding control table. If the match is successful, modify the protocol content of the data packet header. If the match fails, discard the data packet. Step 6: Enter the packet traffic control table, configure the processing priority of the data packet, and complete the entry processing flow. Step 7: Execute the exit processing flow and enter the outsourced traffic control table. Perform actions such as limiting the data packet traffic speed based on the traffic forwarding rules. Step 8: Enter the packet queue control table and configure the data packet forwarding channel queue information based on the data packet priority information. Step 9: Enter the channel traffic statistics table to count the traffic volume of the channel and the specified types of data sent, and complete the exit processing flow. Step 10: Use the inverse parser to re-encapsulate the protocol of the transmitted data packet header according to the forwarding processing modification information stored in the metadata bus. After the processing is completed, the data packet leaves the data packet processing pipeline.

[0009] The beneficial technical effects of the present invention are as follows: in a multi-channel device, a single pipeline is designed to uniformly forward and process the data packets received on different channels, simplifying the design of the multi-channel device and improving the device efficiency. When the multi-channel device receives data packets from different channels, a single pipeline is used to complete the data forwarding process. The data packets received on different channels sequentially enter the respective matching action tables of the pipeline, match different table entries and execute different actions, accurately completing the forwarding process of the data packets within the same channel or between different channels, thereby improving the overall process processing efficiency and the flexibility of data packet processing. BRIEF DESCRIPTION OF THE DRAWINGS

[0010] The drawings described herein are used to provide a further understanding of the present invention and constitute a part of this application. The illustrative embodiments of the present invention and their descriptions are used to explain the present invention and do not constitute an improper limitation of the present invention.

[0011] Appendix Figure 1 、 One Composition relationship diagram of a data forwarding processing method for a multi-channel device based on a single pipeline; Appendix Figure 2 、 One Data forwarding processing step diagram of a multi-channel device for a data forwarding processing method based on a single pipeline; EMBODIMENTS

[0012] Next, the technical solutions in the embodiments of the present invention will be clearly and completely described in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only a part of the embodiments of the present invention, rather than all the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the protection scope of the present invention.

[0013] Referring to Appendix Figure 1 As shown, this embodiment provides a composition relationship diagram of a data forwarding processing method for a multi-channel device based on a single pipeline. A data forwarding processing method for a multi-channel device based on a single pipeline includes a data packet processing pipeline, and the data packet processing pipeline includes a metadata bus, a parser, an ingress processing unit, an egress processing unit, and an inverse parser; wherein: The data packet processing pipeline is used to perform the forwarding processing of data packets received on different channels, which includes a complete data packet processing functional process from packet parsing, ingress matching control, egress control statistics, etc. The metadata bus is used to store the original protocol header information of the data packet and the protocol field information modified during the forwarding processing, and the metadata bus information can be queried and modified during the entire pipeline data processing process. The parser is used to parse the protocol of the received data packet header, obtain the protocol field content, and store it in the metadata bus. The ingress processing unit includes all the ingress processing processes of the received data packet and is used to match and forward the processed data packet. The egress processing unit includes all the egress processing processes of the sent data packet and is used to process the sent data packet. The inverse parser is used to re-encapsulate the protocol of the sent data packet header according to the modified information stored in the metadata bus during the forwarding processing.

[0014] The ingress processing unit includes a packet preprocessing table, a single-channel packet matching table, a full-channel packet matching table, a packet forwarding control table, and an ingress traffic control table. The packet preprocessing table is a matching-action table used to preferentially execute the processing of data packets. The main actions are to perform traffic statistics on the data packets received on the channel and traffic statistics on specified types of data packets. The single-channel packet matching table is a matching-action table used to process data packets differently according to the receiving channel. Data packets received on different channels will only match the table entries related to their receiving channels. Its main action is to set the forwarding channel of the data packet. The full-channel packet matching table is a matching-action table used to process data packets that have not been successfully matched in the single-channel packet matching table. It contains all the matching-action table entries related to the channels. Its main action is the same as that of the single-channel packet matching table, which is to set the forwarding channel of the data packet. The packet forwarding control table is a matching-action table that modifies the protocol content of the data packet header according to the forwarding channel of the data packet set in the single-channel packet matching table or the full-channel packet matching table and the original header protocol information of the data packet. The ingress traffic control table is a matching-action table that configures the processing priority of the data packet according to the forwarding channel of the data packet set in the single-channel packet matching table or the full-channel packet matching table and the original header protocol information of the data packet.

[0015] The egress processing unit includes an egress traffic control table, a packet queue control table, and a channel traffic statistics table. The egress traffic control table is a matching-action table that controls the traffic size of the sent data packet according to the channel sending bandwidth limit and the bandwidth limit of specified types of data packets. The packet queue control table is a matching-action table that adds the sent data packet to the specified data queue of the channel according to the processing priority information of the sent data packet. The channel traffic statistics table is a matching-action table used to count the traffic of the data packets sent on the channel and the traffic of specified types of data packets.

[0016] See the appendix Figure 2 As shown, this embodiment provides a multi-channel device data forwarding processing method and a multi-channel device data forwarding processing step diagram based on a single pipeline. The specific steps are as follows: Step 1: Use a parser to parse the protocol information of the data packet header and save the protocol information of the data packet header to the metadata bus. The parser uses a state transition mechanism to perform the parsing of the data packet header protocol.

[0017] The initial state of the parser is the startup state. In the startup state, the parser jumps to different states according to the type of data packet receiving channel and executes different parsing processes. When the receiving channel type is a wired channel, it enters the Ethernet packet parsing state. When the receiving channel type is a wireless channel, it enters the wireless packet parsing state. The Ethernet packet parsing state parses the protocol information of the data packet header according to the standard TCP / IP protocol. The wireless packet parsing state parses the protocol information of the data packet header according to the custom wireless transmission protocol.

[0018] Step 2: Enter the packet preprocessing table to count the size of the device channel traffic and the size of the traffic of specified types of data packets.

[0019] The match field of the packet preprocessing table adopts the "five-tuple" matching rule, which includes information such as the source IP address, destination IP address, and protocol type in the IP protocol, as well as optional matching items such as the source and destination port numbers in the TCP and UDP protocols. The action field of the packet preprocessing table uses a counter to count the received traffic size, including two action types: channel traffic counting and data packet traffic counting. Among them, the channel traffic counting action is the default action.

[0020] Step 3: Enter the single-channel packet matching table. If the data packet matches successfully, the action can configure its forwarding channel information.

[0021] The match field of the single-channel packet matching table includes the required matching item of the data packet receiving channel number, which is used to restrict which channel's received data packets this table entry applies to. The match field of this table also includes optional matching items such as the L2 (layer 2) and L3 (layer 3) protocol information in the TCP / IP protocol stack. The action field of the single-channel packet matching table specifies the data packet forwarding information by configuring the sending channel number in the data packet metadata, and its default action is noAction (not performing any action).

[0022] Step 4: When the data packet fails to match successfully in the single-channel packet matching table (that is, the exit channel number in the data packet metadata is not configured), it enters the full-channel packet matching table to perform cross-channel matching and forwarding of the data packet. If the data packet matches successfully, the action configures its forwarding channel information.

[0023] The match field of the full-channel packet matching table does not contain mandatory matching items, and the remaining optional matching items are the same as those in the single-channel packet matching table. The action field of the full-channel packet matching table specifies the packet forwarding information by configuring the sending channel number in the packet metadata, and its default action is the drop action.

[0024] Step 5: The undropped packets enter the packet forwarding control table. If the match is successful, the protocol content of the packet header is modified.

[0025] The match field of the packet forwarding control table contains the mandatory matching item of the packet sending channel number, which is used to restrict which channel the table entry applies to for the sent packets. The match field of this table also contains optional matching items such as the packet receiving channel number, custom wireless transmission protocol, and L2 (Layer 2) protocol information in the TCP / IP protocol stack. The action field of the packet forwarding control table specifies the packet forwarding protocol information by modifying the protocol field value of the packet header, and its default action is the drop action.

[0026] Step 6: The undropped packets enter the packet traffic control table to configure the packet export processing priority.

[0027] The match field of the packet traffic control table contains the mandatory matching item of the packet sending channel number, which is used to restrict which channel the table entry applies to for the sent packets. The match field of this table also contains optional matching items such as L2 (Layer 2) and L3 (Layer 3) protocol information in the TCP / IP protocol stack. The action field of the packet traffic control table specifies the packet export queue processing priority by configuring the priority value in the packet metadata, and its default action is the noAction action.

[0028] Step 7: The packets execute the export processing flow and enter the outgoing packet traffic control table. Actions such as packet traffic rate limiting are performed based on the traffic forwarding rules.

[0029] The match field of the outgoing traffic control table contains a mandatory match item of the data packet sending channel number, which is used to restrict which channel the table entry applies to for sending data packets. The rest adopts the "five-tuple" matching rule, including information such as the source IP address, destination IP address, and protocol type in the IP protocol, as well as optional match items such as the source and destination port numbers in the TCP and UDP protocols. The action field of the outgoing traffic control table uses a meter to limit the traffic size, including two action types: channel traffic limit and data packet traffic limit. When the data packet exceeds its traffic limit or the specified channel traffic limit, the data packet discard action (drop) is executed. Its default action is noAction (not to perform any action).

[0030] Step 8: The undropped data packets enter the packet queue control table, and the packet forwarding channel queue information is configured based on the data packet priority information.

[0031] The match field of the packet queue control table only contains a mandatory match item of the packet forwarding channel queue number. The action field of the packet queue control table uses a meter to limit the traffic size of the specified queue. When the data packet exceeds its forwarding channel queue traffic limit, the data cache sending mechanism is executed. Its default action is noAction (not to perform any action).

[0032] Step 9: Enter the channel traffic statistics table to count the data packet sending channel and the traffic size of the specified type of data sent.

[0033] The match field of the channel traffic statistics table adopts the "five-tuple" matching rule, including information such as the source IP address, destination IP address, and protocol type in the IP protocol, as well as optional match items such as the source and destination port numbers in the TCP and UDP protocols. The action field of the channel traffic statistics table uses a counter to count the sending traffic size, including two action types: channel traffic counting and data packet traffic counting. Among them, the channel traffic counting action is the default action.

[0034] Step 10: The deparser uses the information after forwarding processing stored in the data packet metadata bus to re-encapsulate the protocol of the sending data packet (packet) header. The deparser adds the protocol fields of the padding data packet header in sequence according to the protocol encapsulation sequence according to standard specifications such as the custom wireless transmission protocol and the TCP / IP protocol.

Claims

1. The invention patent "A method for data forwarding and processing of a multi-channel device based on a single pipeline" is characterized in that It includes a data packet processing pipeline, which contains a metadata bus, a parser, an ingress processing unit, an egress processing unit, and an inverse parser. The ingress processing unit contains a packet preprocessing table, a single-channel packet matching table, a full-channel packet matching table, a packet forwarding control table, and an incoming packet traffic control table. The egress processing unit contains an outgoing packet traffic control table, a packet queue control table, and a channel traffic statistics table. Among them: The data packet processing pipeline is used to perform the forwarding processing of data packets received on different channels, which includes complete data packet processing function flows such as packet parsing, ingress matching control, and egress control statistics; The metadata bus is used to store the original protocol header information of the data packet and the protocol field information modified during the forwarding process. The metadata bus information can be queried and modified during the entire pipeline data processing; The parser is used to parse the protocol of the received data packet header, obtain the protocol field content, and store it in the metadata bus; The ingress processing unit includes all the ingress processing procedures for receiving data packets and is used to match and forward the processed data packets; The egress processing unit includes all the egress processing procedures for sending data packets and is used to process the sent data packets; The inverse parser is used to re-encapsulate the protocol of the sent data packet header according to the modified information stored in the metadata bus during the forwarding process; The packet preprocessing table is a matching-action table, which is used to give priority to the processing of data packets. The main actions are to count the traffic of data packets received on the channel and the traffic of specified types of data packets; The single-channel packet matching table is a matching-action table, which is used to process data packets according to the differences in the receiving channels. Data packets received on different channels will only match the table entries related to their receiving channels. Its main action is to set the forwarding channel of the data packet; The full-channel packet matching table is a matching-action table, which is used to process the data packets that have not been successfully matched in the single-channel packet matching table. It contains all the matching-action table entries related to the channels. Its main action is the same as that of the single-channel packet matching table, which is to set the forwarding channel of the data packet; The packet forwarding control table is a matching-action table. According to the forwarding channel of the data packet set in the single-channel packet matching table or the full-channel packet matching table and the original header protocol information of the data packet, it modifies the protocol content of the data packet header; The incoming packet traffic control table is a matching-action table. According to the forwarding channel of the data packet set in the single-channel packet matching table or the full-channel packet matching table and the original header protocol information of the data packet, it configures the processing priority of the data packet; The outgoing packet traffic control table is a matching-action table. According to the channel transmission bandwidth limit and the bandwidth limit of specified types of data packets, it controls the traffic size of the sent data packets; The packet queue control table is a matching-action table. According to the processing priority information of the sent data packet, it adds the sent data packet to the specified data queue of the channel; The channel traffic statistics table is a matching-action table, which is used to count the traffic of data packets sent on the channel and the traffic of specified types of data packets.

2. A method for processing data forwarding of a multi-channel device based on a single pipeline according to claim 1, characterized in that, Steps for data forwarding processing of a multi-channel device: Step 1: After the device receives data packets from different channels, the data packets enter the data packet processing pipeline. The parser is used to parse the protocol information of the data packet header and save the protocol information of the data packet header to the metadata bus; Step 2: Execute the entry processing flow and enter the packet preprocessing table. Statistical device channel traffic size and the traffic size of specified type data packets; Step 3: Enter the single-channel packet matching table. If the data packet matches successfully, the action can be executed to configure its forwarding channel information; Step 4: If the data packet matches successfully in the single-channel packet matching table, skip the full-channel packet matching table. Enter the full-channel packet matching table. If the data packet matches successfully, execute the action to configure its forwarding channel information; Step 5: Enter the packet forwarding control table. If the match is successful, modify the protocol content of the data packet header. If there is no match, discard the data packet; Step 6: Enter the packet traffic control table, configure the packet processing priority, and complete the entry processing flow; Step 7: Execute the exit processing flow and enter the outgoing packet traffic control table. Based on the traffic forwarding rules, perform actions such as limiting the data packet traffic speed; Step 8: Enter the packet queue control table and configure the packet forwarding channel queue information based on the packet priority information; Step 9: Enter the channel traffic statistics table, statistical channel and the traffic size of specified type data sent, and complete the exit processing flow; Step 10: Use the inverse parser to re-encapsulate and send the data packet header protocol according to the forwarding processing modification information stored in the metadata bus. After the processing is completed, the data packet leaves the data packet processing pipeline.