Longest Prefix Matching via Multibit Trie Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current packet switching technologies face inefficiencies in processing packets due to the complexity of longest prefix matching operations, which can lead to increased memory usage and processing overhead, especially in high-speed and high-capacity networks.
Innovation Solution
A packet switching device employs a multibit trie data structure and hash table lookup operations to determine the longest matching prefix by traversing the trie data structure to identify mask lengths and performing parallel hash table lookups, thereby reducing memory usage and processing time.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If traditional longest prefix matching is used, then packet forwarding accuracy is maintained, but processing time and memory usage increase
Solution Approach 1:
The patent segments the longest prefix matching process into two distinct phases: (1) determining a subset of candidate prefix lengths by traversing a multibit trie data structure, and (2) performing hash table lookups only for those candidate lengths. This segmentation reduces the search space from all possible prefix lengths to a limited subset, thereby decreasing processing time while maintaining matching accuracy.
Solution Approach 2:
The patent performs preliminary action by first traversing the multibit trie to identify and determine the subset of candidate prefix lengths before executing the hash table lookup operations. This preliminary filtering of candidate lengths ensures that subsequent hash table lookups are performed only on relevant entries, reducing overall processing time while preserving the correctness of the longest prefix match.
2Productivity
If traditional longest prefix matching is used, then packet forwarding accuracy is maintained, but memory requirements increase
Solution Approach 1:
The patent segments the memory access pattern by first determining which hash tables (corresponding to specific prefix lengths) need to be searched based on the multibit trie traversal. This segmentation allows the system to access only the necessary hash tables rather than scanning all possible prefix length tables, thereby reducing memory bandwidth requirements and effective memory usage while maintaining forwarding accuracy.
3Speed
If more prefix lengths are searched in parallel, then matching speed increases, but device complexity increases
Solution Approach 1:
The patent implements a dynamic approach where the number of parallel hash table lookups performed is determined by the multibit trie traversal results rather than being fixed. The system dynamically selects the subset of candidate prefix lengths to search in parallel, allowing the hardware complexity to adapt to the specific routing table characteristics and packet addresses, thereby achieving high matching speed without requiring maximum hardware complexity for all cases.
Data Source
Figure 1A~1B
Figure 2A~2B
Figure 2C
AI summary
One embodiment performs longest prefix matching operations in one or more different manners that provides packet processing and/or memory efficiencies in the processing of packets. In one embodiment, a packet switching device determines a set of one or more mask lengths of a particular conforming entry of a multibit trie or other data structure that matches a particular address of a packet via a lookup operation in a mask length data structure. A conforming entry refers to an entry which has less than or equal to a maximum number of different prefix lengths, with this maximum number corresponding to the maximum number of prefix lengths which can be searched in parallel in the address space for a longest matching prefix by the implementing hardware. The packet switching device then performs corresponding hash table lookup operation(s) in parallel in determining an overall longest matching prefix for the particular address.