Router FIB Compression via LPM and LEM Database Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvepacket forwarding completenessVSAvoidhardware memory capacity
Core Design Contradiction:
ReliabilityVSQuantity of substance

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #2Taking out (Extraction)

2Speed

If the router uses a traditional FIB lookup method, then implementation simplicity is maintained, but lookup speed is insufficient for high-speed forwarding

Engineering Contradiction:
Improvelookup speedVSAvoidforwarding structure complexity
Core Design Contradiction:
SpeedVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11012358B2Forwarding table management
Publication Date: 2021.05.18 EXTREME NETWORKS INC
  • US11012358B2 patent drawing
  • US11012358B2 patent drawing
  • US11012358B2 patent drawing

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.