Router FIB Compression via LPM and LEM Database Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Routers face storage constraints in specialized hardware, preventing them from storing all routing prefixes, leading to dropped packets due to inefficient packet forwarding and slow lookup times.
Innovation Solution
The solution involves compressing the Forwarding Information Base (FIB) and separating it into two databases: a Longest Prefix Match (LPM) database and a Longest Exact Match (LEM) database, allowing for efficient packet forwarding by prioritizing exact matches and falling back to prefix matches when necessary, thereby reducing memory requirements and improving lookup times.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the router stores all routing prefixes in the Forwarding Information Base (FIB), then packet forwarding completeness is improved, but hardware memory capacity is exceeded
Solution Approach 1:
The patent divides the FIB into two separate databases: a first database storing routing prefixes with their next-hop information, and a second database storing only next-hop information. This segmentation allows the system to handle larger routing tables by distributing data across multiple storage structures with different access patterns, resolving the contradiction between storing all prefixes and limited memory capacity.
Solution Approach 2:
The patent extracts the next-hop information from each routing prefix entry and stores it separately in a second database. This extraction allows the system to reduce redundancy in the first database while maintaining complete forwarding information, enabling storage of more routing prefixes within the same hardware memory constraints.
2Speed
If the router uses a traditional FIB lookup method, then implementation simplicity is maintained, but lookup speed is insufficient for high-speed forwarding
Solution Approach 1:
The patent segments the lookup process into two distinct phases: first, a longest-prefix-match lookup in the first database to identify candidate next-hops, and second, an exact-match lookup in the second database to determine the final next-hop. This segmentation enables optimized lookup paths that achieve high-speed forwarding while managing complexity through structured separation of concerns.
Solution Approach 2:
The patent introduces an intermediary mapping relationship between routing prefixes and next-hops through the two-database structure. The first database acts as an intermediary that translates prefix-based routing information into next-hop identifiers, which are then resolved using the second database. This intermediary mechanism enables faster lookups by reducing the search space in the critical path.
Data Source
AI summary
Disclosed herein are system, method, and computer program product embodiments for representing a forwarding information base (FIB) in a database. An embodiment operates by organizing forwarding entries of the FIB in a trie data structure. The embodiment determines that a first routing prefix of a first forwarding entry in the trie data structure is a less specific routing prefix than a second routing prefix in a second forwarding entry in the trie data structure based on the first forwarding entry being a parent of the second forwarding entry. The embodiment determines that a first next hop of the first routing prefix is equal to a second next hop of the second routing prefix. The embodiment removes the second forwarding entry from the trie data structure. The embodiment then inserts the first forwarding entry into the database based on a prefix length of the first routing prefix.


