Two Stage Bloom Filter for IPv6 Longest Prefix Match
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The existing longest prefix match algorithms face performance issues, especially with IPv6 addresses, due to the increased prefix length space, leading to reduced lookup performance and increased load on hash tables.
Innovation Solution
Implementing a two-stage Bloom filter system, where a prefix range Bloom filter identifies a prefix range entry, and a prefix length Bloom filter further identifies a prefix length entry, reducing the number of probes needed to determine the longest prefix match, thereby enhancing lookup performance and efficiently using computing resources.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a single Bloom filter is used for longest prefix match, then the device complexity is low, but the lookup performance deteriorates due to increased prefix length space in IPv6
Solution Approach 1:
The patent divides the single Bloom filter into two separate Bloom filters: a prefix range Bloom filter and a prefix length Bloom filter. The prefix range Bloom filter handles the range identification while the prefix length Bloom filter handles the specific length matching. This segmentation allows each filter to specialize in a specific aspect of the lookup process, improving overall performance for IPv6 addresses with longer prefix lengths.
Solution Approach 2:
The patent introduces a new dimension to the traditional single-Bloom-filter approach by adding a second Bloom filter that operates on a different dimension (prefix length instead of just prefix range). This dimensional expansion enables the system to handle the increased complexity of IPv6 prefix length space without overwhelming a single filter structure.
2Productivity
If traditional longest prefix match algorithms are used, then the implementation is simple, but the load on hash tables increases due to more probes required
Solution Approach 1:
The prefix range Bloom filter performs preliminary action by first identifying the relevant prefix range before the more detailed prefix length matching occurs. This preliminary filtering reduces the number of probes needed in the second stage (prefix length Bloom filter), thereby decreasing the overall load on hash tables and improving routing lookup efficiency.
Solution Approach 2:
The patent extracts the prefix range identification function from the traditional single-Bloom-filter approach and separates it into a dedicated prefix range Bloom filter. This extraction allows the remaining prefix length Bloom filter to focus solely on precise matching, reducing the number of probes and improving overall efficiency.
3Measurement precision
If more probes are performed to ensure accurate longest prefix match, then the measurement precision improves, but the lookup time increases
Solution Approach 1:
By segmenting the lookup process into two stages with separate Bloom filters, the patent maintains measurement precision for prefix match accuracy while reducing the time lost through multiple probes. Each stage is optimized for its specific function, with the first stage filtering out irrelevant ranges and the second stage ensuring accurate matching within the identified range.
Solution Approach 2:
The prefix range Bloom filter acts as an intermediary between the incoming packet and the final prefix length matching. This intermediary structure pre-processes the information to identify relevant ranges, reducing the number of subsequent probes needed for accurate matching and thereby reducing overall lookup time while maintaining precision.
Data Source
AI summary
A device may receive a packet that includes a destination address. The device may analyze a first Bloom filter, based on the destination address, in order to identify a prefix range entry associated with the destination address and included in a set of prefix range entries associated with the first Bloom filter. The device may analyze a second Bloom filter, based on the destination address and the identified prefix range entry, in order to identify a prefix length entry associated with the destination address and included in a set of prefix length entries associated with the second Bloom filter. The device may determine routing information associated with the identified prefix length entry. The routing information may identify a longest prefix match associated with the destination address. The device may provide the packet based on the routing information.


