IPv6 Longest Prefix Match Using Disjoint TCAM Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing Longest Prefix Match algorithms designed for IPv4 do not scale well for IPv6 due to its 128-bit address space, leading to high latency and high costs, especially when using TCAM or trie-based methods.
Innovation Solution
Implementing a combination of TCAMs to separate disjoint and non-disjoint forwarding rules, with disjoint rules stored in an unordered TCAM for efficient insertion and deletion, and non-disjoint rules in an ordered TCAM, allowing for parallel searches and sub-trie lookups to minimize latency and power consumption.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If trie-based LPM lookup is used for IPv6, then lookup accuracy is maintained, but latency increases and scalability deteriorates
Solution Approach 1:
The patent segments the IPv6 address space by separating disjoint prefixes (stored in TCAM) from non-disjoint prefixes (stored in ordered memory structures). This segmentation allows the system to use fast parallel TCAM lookup for disjoint prefixes while using more memory-efficient structures for non-disjoint prefixes, thereby reducing overall lookup latency while maintaining accuracy for both cases.
Solution Approach 2:
The patent introduces an intermediary classification mechanism that categorizes prefixes into disjoint and non-disjoint groups before lookup. This intermediary step enables the system to apply different lookup strategies appropriate to each category, optimizing both speed and memory usage without compromising lookup accuracy.
2Speed
If TCAM is used for IPv6 LPM lookup, then lookup speed is improved, but cost and power consumption increase
Solution Approach 1:
The patent segments the prefix storage system into two parts: disjoint prefixes stored in TCAM for fast lookup, and non-disjoint prefixes stored in ordered memory structures. This segmentation reduces TCAM size requirements and associated costs while maintaining high lookup speed for the majority of disjoint prefixes.
Solution Approach 2:
The patent applies different storage qualities to different prefix types: TCAM (high-speed, expensive) for disjoint prefixes where speed is critical, and ordered memory (lower-cost) for non-disjoint prefixes. This local quality differentiation optimizes the balance between cost and performance.
3Productivity
If unordered TCAM is used for disjoint rules, then insertion and deletion efficiency is improved, but lookup complexity increases
Solution Approach 1:
The patent segments the prefix set into disjoint and non-disjoint categories, allowing unordered storage for disjoint prefixes in TCAM (simplifying insertion/deletion) while using ordered structures for non-disjoint prefixes. This segmentation isolates the complexity management to specific prefix types.
4Ease of manufacture
If IPv4 LPM algorithms are used for IPv6, then implementation simplicity is maintained, but scalability deteriorates
Solution Approach 1:
The patent segments the IPv6 address space handling by separating disjoint and non-disjoint prefixes, adapting the IPv4 TCAM-based approach for the larger IPv6 space while maintaining implementation simplicity through familiar TCAM operations for the disjoint portion.
Solution Approach 2:
The patent addresses IPv6's larger address space by adding a dimensional separation between disjoint and non-disjoint prefixes, allowing the system to scale to IPv6's 128-bit space while reusing IPv4-era TCAM technologies for the disjoint portion.
Data Source
AI summary
IPv6 longest prefix match lookups are implemented by splitting disjoint forwarding rules from non-disjoint forwarding rules and storing these forwarding rules in separate TCAMs. When an IPv6 address is received, the full IP address is passed to the TCAM containing the disjoint forwarding rules and the first n bits of the IP address are passed to the TCAM containing the non-disjoint forwarding rules. If a hit is received in the TCAM containing the disjoint forwarding rules, a result of the hit is used to implement a forwarding decision and the search in the TCAM containing the non-disjoint forwarding rules is terminated. If no hit is obtained from the disjoint TCAM, the search result of the non-disjoint TCAM is used. If a continue flag is set in the result received from the disjoint TCAM, a sub-trie based lookup is implemented based on the remaining m bits of the IPv6 address.


