Hierarchical Lookup Tables for Packet Classification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current packet classification methods in network devices are inefficient due to the sequential comparison of complex rules in access control lists (ACLs), which leads to increased processing time and memory usage, especially when dealing with wildcard fields that are not relevant to classification.

Innovation Solution

The method generates secondary lookup tables from a primary lookup table based on commonality, such as wildcard entries, allowing for a more granular classification process by parsing data packets into header elements and comparing them to fields in these secondary tables, thereby improving processing efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If sequential comparison of complex rules in ACLs is used for packet classification, then comprehensive rule coverage is achieved, but processing time increases and classification performance deteriorates

Engineering Contradiction:
Improverule coverageVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the complex ACL rule set into multiple hierarchical lookup tables (primary, secondary, and tertiary tables). The primary table contains wildcard entries for broad classification, while secondary and tertiary tables provide more specific rules. This segmentation allows the system to quickly filter packets using the primary table and only perform detailed comparisons for packets that require more specific classification, thereby reducing overall processing time while maintaining comprehensive rule coverage.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary classification by organizing rules into a hierarchical structure where the primary lookup table is populated first with wildcard entries. This preliminary organization allows the system to quickly identify and filter packets that match general classification criteria before proceeding to more detailed secondary and tertiary table lookups. This preliminary action reduces the number of packets that require full sequential comparison, improving processing efficiency.

Inventive Principle:
Principle #10Preliminary action

2Ease of manufacture

If fixed lookup table size is used, then memory allocation is simplified, but classification granularity is reduced and adaptability to different protocol stacks deteriorates

Engineering Contradiction:
Improvememory allocationVSAvoidclassification granularity
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic lookup table sizes at multiple hierarchical levels. The primary lookup table can be configured with a fixed size for simplified memory allocation, while secondary and tertiary tables are dynamically sized based on the specific classification requirements and protocol stacks being handled. This dynamic structure allows the system to allocate memory efficiently at each level while maintaining the ability to adapt to different protocol requirements and achieve fine-grained classification where needed.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent applies different table size characteristics to different parts of the classification system. The primary table uses a fixed size for stability and simplified memory management, while secondary and tertiary tables use variable sizes optimized for their specific classification tasks. This local differentiation of table properties allows the system to balance memory allocation simplicity with classification granularity and adaptability in different regions of the lookup hierarchy.

Inventive Principle:
Principle #3Local quality

3Measurement precision

If all fields are included in lookup key for complete classification, then classification accuracy is improved, but memory usage increases and processing complexity deteriorates

Engineering Contradiction:
Improveclassification accuracyVSAvoidmemory usage
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent extracts and separates relevant classification fields from the complete packet header into different hierarchical levels. The primary lookup table uses a subset of fields with wildcard masking to provide broad classification with minimal memory usage. Secondary and tertiary tables extract and store only the specific field combinations needed for more granular classification. This extraction approach maintains classification accuracy for relevant fields while excluding unnecessary fields from memory storage, thereby reducing overall memory usage and processing complexity.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent segments the classification fields into different hierarchical levels based on their relevance and specificity. The primary table handles classification using a subset of critical fields with wildcard support, while secondary and tertiary tables handle more specific field combinations. This segmentation allows the system to maintain high classification accuracy for essential fields while avoiding the memory overhead of storing all possible field combinations, thus reducing memory usage and processing complexity.

Inventive Principle:
Principle #1Segmentation

4Adaptability or versatility

If wildcard fields are included in lookup key, then flexibility for don't care scenarios is improved, but processing complexity increases and performance deteriorates

Engineering Contradiction:
Improvewildcard flexibilityVSAvoidprocessing complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments wildcard handling into different hierarchical levels. The primary lookup table is specifically designed to handle wildcard entries efficiently using a simplified matching algorithm that operates on a subset of fields. Secondary and tertiary tables handle packets that require more specific matching with fewer or no wildcards. This segmentation isolates the complexity of wildcard processing to the primary table where it can be handled efficiently, while preventing wildcard complexity from propagating to deeper lookup levels.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary wildcard-based filtering in the primary lookup table before proceeding to secondary and tertiary tables. This preliminary action uses wildcard masks to quickly identify packets that match general classification patterns without requiring detailed field-by-field comparison. By handling wildcard matching early in the hierarchy, the system reduces the number of packets that proceed to more complex processing stages, thereby reducing overall processing complexity while maintaining wildcard flexibility.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8139586B2Enhanced packet classification
Publication Date: 2012.03.20 CISCO TECHNOLOGY INC
  • US8139586B2 patent drawing
  • US8139586B2 patent drawing
  • US8139586B2 patent drawing

AI summary

A method for classifying a data packet containing a header is provided. The method may comprise parsing the header of a data packet into header elements. Rules in secondary lookup tables generated from a primary lookup table may be accessed. The respective header elements of the data packet may be compared to the respective fields of each of the secondary lookup tables, and rule results for each of the secondary lookup tables in a combinable format may be generated. In another embodiment, a method for generating secondary lookup tables from a primary lookup table is provided. The method may comprise accessing a primary lookup table defining packet classification rules and generating multiple secondary lookup tables from the primary lookup table. For each secondary lookup table, a selection of classification rules and a selection of fields of the multiple fields based on a rule set identifying predefined entries may be extracted.