Boundary-Value Routing Trees for Faster Longest Prefix Matching
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The process of Longest Prefix Matching (LPM) in routers is complex and time-consuming, requiring significant CPU resources and involving challenging database management due to overlapping IP prefixes and frequent updates, which current solutions like TCAM, Hash tables, and Trie-Bit-Map algorithms struggle to efficiently address.
Innovation Solution
A tree-based approach for routing using a hardware unit to scan a tree structure with nodes having boundary values, allowing efficient comparison and updating of destination address ranges, reducing the need for complex database management and CPU-intensive operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If traditional LPM methods (TCAM, Hash tables, Trie-Bit-Map) are used to search routing tables, then routing accuracy is maintained, but the computational complexity and time consumption increase significantly
Solution Approach 1:
The routing table is segmented into multiple layers or levels, where each layer handles a specific range of IP prefixes. This segmentation allows the search process to be divided into smaller, more manageable steps, reducing the computational complexity at each stage while maintaining overall routing accuracy.
Solution Approach 2:
The patent introduces a new dimensional approach by organizing routing information in a multi-dimensional space rather than traditional linear structures. This allows for more efficient spatial indexing and search operations, reducing the time complexity from linear or logarithmic to constant time in certain scenarios.
2Measurement precision
If IP addresses are verified against all prefixes in the routing table, then routing accuracy is ensured, but the processing time becomes impractical for high-speed routers
Solution Approach 1:
The routing table is pre-processed and organized into an optimized data structure before actual packet forwarding. This preliminary organization includes pre-calculating prefix hierarchies, building lookup trees, and establishing efficient indexing mechanisms, so that during packet forwarding, the router only needs to perform simple lookups rather than exhaustive comparisons.
Solution Approach 2:
The patent implements a skipping mechanism that allows the search process to jump over large portions of the routing table that cannot possibly match the current packet's destination IP. By analyzing the IP prefix length and value, the router can skip entire branches of the search tree, dramatically reducing the number of comparisons needed.
3Measurement precision
If the routing table is frequently updated to maintain coherence, then routing accuracy is maintained, but the management complexity and CPU overhead increase
Solution Approach 1:
The routing table structure is designed to be dynamic and adaptive, automatically reorganizing itself during updates without requiring complete reconfiguration. The data structure can dynamically adjust its hierarchy, merge or split prefixes, and maintain balance during insertions and deletions, reducing the management overhead compared to static structures.
Solution Approach 2:
The routing table structure is designed to be self-healing and self-organizing. When updates occur, the structure automatically maintains its integrity and balance through built-in rebalancing algorithms and conflict resolution mechanisms, reducing the need for external management intervention and CPU overhead.
4Measurement precision
If longer prefixes are placed at specific positions in the database, then LPM accuracy is improved, but adding or removing prefixes requires shifting all other entries
Solution Approach 1:
The routing table is organized as a nested hierarchical structure where prefixes are arranged in a tree-like format. Longer prefixes are nested within the branches created by shorter prefixes, allowing for efficient insertion and deletion without requiring shifts of unrelated entries. Each node in the hierarchy represents a prefix, and children nodes represent more specific sub-prefixes.
Data Source
AI summary
A method for routing using longest prefix matching. The method may include receiving a packet associated with a packet destination address; scanning, using the packet destination address, a tree that comprises multiple nodes to find a longest matching destination address prefix. The multiple nodes may include leaf nodes and non-leaf (NL) nodes. The NL nodes are associated with node boundary values that represent boundaries of destination address ranges, the destination address ranges are spanned by destination addresses prefixes of a routing table; and applying at least one routing decision, based on the longest matching destination address prefix. Each NL node has NL children nodes. The NL node is also associated with the NL children node pointers that point to the NL children nodes; introducing one or more changes in values of one or more of the boundaries of destination address ranges, while maintaining links to the multiple nodes unchanged.


