Multibit Trie Layered Routing Search for VPN Prefix Distribution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current network devices face inefficiencies in routing search processes due to the complexity introduced by wildcard characters and Longest Prefix Matching (LPM) in Classless Inter-Domain Routing (CIDR), particularly in high-end routers, which affects data transfer efficiency.

Innovation Solution

The implementation of a Multibit Trie data structure, which optimizes routing search by dividing the search space into layers and using Tree Bitmap nodes with parameters like Internal Tree Bitmap, Extending Paths Bitmap, Result Array Pointer, and Child Node Pointer, allowing for more efficient hardware pipeline implementation and reducing the number of search operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional routing search methods are used with wildcard characters and LPM in CIDR, then routing functionality is achieved, but search complexity increases and data transfer efficiency decreases

Engineering Contradiction:
Improvedata transfer efficiencyVSAvoidrouting search complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the routing table into multiple layers (e.g., layer-0 to layer-3 for IPv4) based on prefix length ranges. Each layer handles a specific range of prefix lengths, allowing the search process to be divided into discrete steps. This segmentation reduces the complexity of searching through the entire routing table by breaking it into manageable segments that can be processed independently and in parallel.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a hierarchical layering dimension to the traditional flat routing table structure. By organizing routing entries into multiple layers based on prefix length characteristics, the search space is transformed from a two-dimensional structure (prefix, mask) into a multi-dimensional hierarchy. This allows the hardware pipeline to process different layers simultaneously, improving search efficiency while managing complexity.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Productivity

If the routing table is organized to handle large access granularities, then data transfer efficiency improves, but the number of search operations increases

Engineering Contradiction:
Improvedata transfer efficiencyVSAvoidsearch operation time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent performs preliminary organization of routing entries into layers during table construction, where entries are pre-categorized by prefix length ranges. This preliminary action ensures that during actual routing searches, the hardware pipeline can directly access the appropriate layer without performing unnecessary filtering or sorting operations, thereby reducing search time while maintaining efficient access granularity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements a dynamic search strategy where the hardware pipeline adapts the number of search operations based on the specific routing query and layer structure. By making the search process dynamic rather than fixed, the system can optimize the balance between access granularity and search operation count, adjusting the search depth and scope according to the actual routing requirements.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10771386B2IP routing search
Publication Date: 2020.09.08 NEW H3C TECH CO LTD
  • US10771386B2 patent drawing
  • US10771386B2 patent drawing
  • US10771386B2 patent drawing

AI summary

A Multibit Trie is created for routing distribution of IP prefixes in each Virtual Private Network (VPN); and each Multibit Trie is divided into multiple layers. When routing search is performed for an IP address of a VPN, an input key is generated for each layer respectively, the input key of the layer comprises a VPN identifier of the VPN and bits corresponding to all of at least one layer before the layer in the IP address. A calculation is performed for the generated input key of each layer by using a Hash function of the layer, and routing is searched for according to a data structure information pointer of a Sub_Trie node corresponding to a longest Hash hit result.