Packet Classification TCAM Layout for Rule Cartesian Products
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing packet classification algorithms in communication networks face inefficiencies due to backtracking and large TCAM sizes, which hinder scalable and efficient processing of packets based on header fields.
Innovation Solution
A network device with action-select circuitry that determines actions by generating composite search keys from packet headers, utilizing Ternary Content-Addressable Memory (TCAM) to efficiently match packet fields and apply corresponding actions, reducing the need for large TCAM sizes and improving processing efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If hierarchical trie packet classification algorithms are used, then packet classification can be performed, but backtracking and empty nodes reduce processing efficiency
Solution Approach 1:
The patent segments the packet classification problem into two independent phases: first comparing header fields against rule sets to generate match vectors, then using those match vectors to select actions. This segmentation eliminates backtracking by separating the matching process from the decision process, allowing each phase to operate independently and efficiently.
Solution Approach 2:
The patent performs preliminary comparison of packet header fields against rule sets before final action selection. By pre-computing match vectors that indicate which rules match each header field, the system prepares classification information in advance, eliminating the need for backtracking during actual packet processing.
2Reliability
If large rule sets are used for comprehensive packet classification, then classification accuracy improves, but TCAM size and memory requirements increase
Solution Approach 1:
The patent divides the large rule set into multiple rule sets, each comparing a different header field against a subset of rules. This segmentation allows comprehensive classification coverage while distributing memory requirements across multiple smaller comparison structures, reducing the burden on any single TCAM.
Solution Approach 2:
The patent adds a new dimension to the classification process by introducing match vectors that encode which rules match each header field. Instead of storing all rule combinations in a single large TCAM, the system uses this vector dimension to efficiently represent and process large rule sets with reduced memory requirements.
3Adaptability or versatility
If comprehensive rule sets are implemented, then packet classification coverage improves, but processing time increases due to larger comparison spaces
Solution Approach 1:
The patent segments the classification process into independent comparison phases, each handling a specific header field against a rule set. This segmentation allows comprehensive coverage across multiple header fields while maintaining efficient processing time, as each segment operates independently without requiring exhaustive search through all rules.
Solution Approach 2:
The match vectors generated for each header field comparison serve the dual purpose of identifying matching rules and enabling efficient action selection. This self-service mechanism allows the comparison results to directly drive the classification decision without requiring additional processing steps, reducing overall processing time.
4Ease of manufacture
If traditional packet classification methods are used, then implementation is straightforward, but silicon area and power consumption increase
Solution Approach 1:
The patent segments the packet classification functionality into modular components: header field extractors, rule set comparators, match vector generators, and action selectors. This modular segmentation maintains implementation simplicity while reducing silicon area, as each module can be independently optimized and only the necessary modules are instantiated based on specific classification requirements.
Data Source
AI summary
A network device includes one or more ports, and action-select circuitry. The ports are to exchange packets over a network. The act-ion-select circuitry is to determine, for a given packet, a first search key based on a first header field of the given packet, and a second search key based on a second header field of the given packet, to compare the first search key to a first group of compare values, to output a multi-element vector responsively to a match between the first search key and a first compare value, to generate a composite search key by concatenating the second search key and the multi-element vector, to compare the composite search key to a second group of compare values, and, responsively to a match between the composite search key and a second compare value, to output an action indicator for applying to the given packet.


