Bloom Filter Longest Prefix Matching for Network Routers
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current network address lookup methods in Internet routers, particularly those using TCAMs, face performance bottlenecks due to high power consumption, cost, and slower access times compared to SRAM, and existing alternatives like Trie-based systems and Binary Search do not provide scalable and independent performance improvements with IP address length.
Innovation Solution
The implementation of Bloom filters for Longest Prefix Matching, where forwarding table entries are sorted by prefix length, and each unique prefix length is associated with a Bloom filter, allowing for parallel membership queries and reducing the number of dependent memory accesses, thereby achieving scalable and efficient network address lookup.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If TCAM devices are used for network address lookup, then lookup performance can keep pace with optical link speeds, but power consumption per bit of storage becomes four orders of magnitude higher than SRAM and access times become over 3.3 times slower than SRAM
Solution Approach 1:
The patent segments the forwarding table into multiple parts organized by prefix length, with each part stored in a separate Bloom filter. This segmentation allows the system to avoid the high power consumption of TCAM while achieving fast lookup by processing smaller, organized segments in parallel rather than searching through a single large TCAM structure.
Solution Approach 2:
The patent introduces Bloom filters as an intermediary data structure between the input IP address and the forwarding information. These Bloom filters provide fast membership testing with low power consumption, acting as a mediator that reduces the need for high-power TCAM operations while maintaining lookup performance.
2Productivity
If TCAM devices are used for network address lookup, then lookup performance can keep pace with optical link speeds, but device size and cost increase relative to SRAM
Solution Approach 1:
The patent divides the forwarding table into multiple segmented structures organized by prefix length, with each segment stored in a Bloom filter. This segmentation reduces the memory footprint compared to a single large TCAM while maintaining high lookup throughput through parallel processing of multiple segments.
Solution Approach 2:
The patent uses Bloom filters which are space-efficient probabilistic data structures that copy only the essential membership information rather than storing complete forwarding entries. This copying approach reduces device size while maintaining lookup capability, avoiding the need for large TCAM structures.
3Ease of manufacture
If Trie-based systems or Binary Search techniques are used with commodity SRAM, then cost is reduced compared to TCAM, but performance does not provide independence from IP address length or improved scalability
Solution Approach 1:
The patent segments the forwarding table by prefix length and organizes it into multiple Bloom filters. This segmentation provides scalability because the system can efficiently handle varying IP address lengths and growing forwarding table sizes by adding more Bloom filter segments without degrading performance, unlike traditional Trie or Binary Search approaches.
Solution Approach 2:
The patent employs a dynamic structure where Bloom filters can be efficiently updated and scaled. The system adapts to different IP address lengths and forwarding table sizes by activating appropriate Bloom filter segments, providing both cost-effectiveness using commodity SRAM and improved scalability compared to static Trie or Binary Search implementations.
Data Source
AI summary
The present invention relates to a method and system of performing parallel membership queries to Bloom filters for Longest Prefix Matching, where address prefix memberships are determined in sets of prefixes sorted by prefix length. Hash tables corresponding to each prefix length are probed from the longest to the shortest match in the vector, terminating when a match is found or all of the lengths are searched. The performance, as determined by the number of dependent memory accesses per lookup, is held constant for longer address lengths or additional unique address prefix lengths in the forwarding table given that memory resources scale linearly with the number of prefixes in the forwarding table. For less than 2 Mb of embedded RAM and a commodity SRAM, the present technique achieves average performance of one hash probe per lookup and a worst case of two hash probes and one array access per lookup.


