Cuckoo Hash Table Flow Classification for Switches
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current flow classification techniques, such as tuple space search, face inefficiencies due to sequential sub-table searches and memory inefficiencies, especially in software-defined networking environments with limited hardware resources, leading to increased processing overhead and reduced functionality.
Innovation Solution
Implementing a cuckoo hash table with a cuckoo distributor scheme as a first-level lookup to quickly direct incoming flow searches to the correct sub-table, reducing the need for sequential searches and minimizing memory usage by using a hierarchical approach and unmasked full keys for faster packet processing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If sequential sub-table searches are used for flow classification, then comprehensive flow matching can be achieved, but processing speed and operating efficiency deteriorate
Solution Approach 1:
The patent segments the flow classification problem into multiple sub-tables organized in a hierarchical structure. Each sub-table handles specific flow types or protocols, allowing parallel processing of different packet categories. This segmentation enables the system to avoid sequential searching of the entire rule set by directing packets to appropriate sub-tables based on initial classification criteria.
Solution Approach 2:
The patent introduces an intermediary indexing structure that maps packet characteristics to relevant sub-tables. This intermediary layer performs preliminary filtering and routing packets to the most likely matching sub-tables, reducing the search space and eliminating the need for exhaustive sequential searches across all sub-tables.
2Speed
If traditional hash tables are used for flow classification, then memory usage increases, but search speed improves
Solution Approach 1:
The patent divides the traditional large hash table into multiple smaller sub-tables organized hierarchically. Each sub-table stores only the flow rules relevant to specific packet types or protocols. This segmentation reduces the memory footprint of each individual table while maintaining fast search performance within each subset, avoiding the need to load entire rule sets into memory simultaneously.
Solution Approach 2:
The patent transitions from a single-dimensional hash table structure to a multi-dimensional hierarchical structure. Flow rules are organized across multiple dimensions including protocol type, packet direction, and priority levels. This dimensional organization allows the system to search smaller subsets of rules by navigating through hierarchical layers, reducing memory requirements while maintaining O(1) search complexity within each dimension.
Data Source
AI summary
Apparatus, methods, and systems for tuple space search-based flow classification using cuckoo hash tables and unmasked packet headers are described herein. A device can communicate with one or more hardware switches. The device can include memory to store hash table entries of a hash table. The device can include processing circuitry to perform a hash lookup in the hash table. The lookup can be based on an unmasked key include in a packet header corresponding to a received data packet. The processing circuitry can retrieve an index pointing to a sub-table, the sub-table including a set of rules for handling the data packet. Other embodiments are also described.


