Chained Next Hop Forwarding Table for Network Switches
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current routers require significant memory and time to update forwarding tables due to the flat structure of next hops, which can lead to inefficiencies in data manipulation and network performance, especially during network disturbances.
Innovation Solution
Implementing a forwarding table with a chained representation of next hops, where each next hop is stored as a link to the next hop, allowing for reduced memory usage and faster updates by assembling composite next hops from individual links.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If a flat structure of next hops is used in forwarding tables, then the forwarding table can be simple to implement, but the memory requirements and update time increase significantly
Solution Approach 1:
The patent segments the forwarding table into two separate portions: a first portion storing route information with links to next hops, and a second portion storing the actual next hop data. This segmentation allows the system to avoid storing redundant next hop information across multiple routes, thereby reducing memory requirements while maintaining forwarding capabilities.
Solution Approach 2:
The patent implements a nested structure where the first portion of the forwarding table contains links that point to the second portion containing next hop information. This nested arrangement allows compact storage by referencing shared next hop data structures, reducing overall memory consumption compared to a flat structure where each route stores complete next hop details.
2Device complexity
If a flat structure of next hops is used in forwarding tables, then the implementation can be straightforward, but the update time increases during network disturbances
Solution Approach 1:
By segmenting the forwarding table into route links and next hop data portions, the system enables independent updates. When network disturbances occur, only the affected portion needs updating rather than the entire flat structure, significantly reducing update time and improving responsiveness to network changes.
Solution Approach 2:
The patent merges multiple route entries that share common next hops into a unified structure in the second portion. This consolidation means that when a next hop changes, the update propagates to all relevant routes simultaneously through the shared reference, reducing the total update time compared to updating each route individually in a flat structure.
3Reliability
If complex data manipulation actions are performed on packet headers, then the packet can be correctly routed, but the router performance decreases
Solution Approach 1:
The patent performs preliminary actions by pre-computing and storing the necessary header manipulation information in the forwarding table during the table build phase. When packets arrive, the router simply retrieves pre-computed next hop information rather than performing complex real-time calculations, thereby maintaining routing accuracy while improving performance.
Solution Approach 2:
The forwarding table structure enables self-service by containing all necessary routing information and header manipulation data that routes can retrieve autonomously. This eliminates the need for complex real-time data manipulation logic in the routing engine, allowing packets to be forwarded based on pre-prepared information, thus improving router performance while maintaining correct routing.
Data Source
AI summary
A route for a data unit through a network may be defined based on a number of next hops. Exemplary embodiments described herein may implement a router forwarding table as a chained list of references to next hops. In one implementation, a device includes a forwarding table that includes: a first table configured to store, for each of a plurality of routes for data units in a network, a chain of links to next hops for the routes; and a second table configured to store the next hops. The device also includes a forwarding engine configured to assemble the next hops for the data units based on using the chain of links in the first table to retrieve the next hops in the second table and to forward the data units in the network based on the assembled next hops.


