Methods and system for efficient route lookup
First Claim
1. In a data network with router having memory for storing entries for a plurality of destinations from the router, a method of performing route lookup that places a bound on the number of accesses to the memory, the method comprising the steps of:
- determining the costs of all possible lookup architectures that can be constructed given the distribution of destinations in the data network;
choosing a lookup architecture which requires the minimum amount of memory to obtain the next hop of any destination and that places a bound on the number of memory accesses to obtain the next hop; and
after receipt of a data packet, using the chosen lookup architecture to lookup a route for a destination address associated with the data packet.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and system for performing a route lookup in a routing system, including a plurality of routes places a bound on the number of accesses to the memory necessary to perform a route lookup and guarantees the minimal amount of memory to achieve a particular bound. For each node the memory required to meet a bound on the depth of the tree rooted at that node is computed, given the distribution of routes in the network. A route can be added or deleted which changes the topology and hence the memory required to meet the bound, but not all nodes need to recalculate their costs, and an incremental algorithm minimizes the overall costs of performing a route topology change and the subsequent lookup
-
Citations
33 Claims
-
1. In a data network with router having memory for storing entries for a plurality of destinations from the router, a method of performing route lookup that places a bound on the number of accesses to the memory, the method comprising the steps of:
-
determining the costs of all possible lookup architectures that can be constructed given the distribution of destinations in the data network;
choosing a lookup architecture which requires the minimum amount of memory to obtain the next hop of any destination and that places a bound on the number of memory accesses to obtain the next hop; and
after receipt of a data packet, using the chosen lookup architecture to lookup a route for a destination address associated with the data packet. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A method for performing a route lookup in a router for a data packet with an associated destination address, the method comprising the steps of:
-
inspecting the destination address associated with the data packet; and
using the destination address to access a memory space containing a lookup architecture to arrive at the next hop for the data packet which is serviced by the router, wherein the lookup architecture is adapted for bounding the number accesses to the memory space for any destination address of the data packet. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. In a data network including a plurality of destinations and a plurality of routes for reaching the destinations, a router adapted to minimize the costs of route lookup for data packets routed in the data network, the router comprising:
-
an interface to incoming links of the data network;
logic means for receiving incoming data packets from the data network through said interface and for determining the destination of data packets, determining the route to the next hop along a destination, and routing data packets on a route extending to a next hop; and
a memory space accessible by the logic means and adapted for storing a lookup architecture for routes;
wherein the lookup architecture that places a bound on the number accesses to the memory space for any destination address of the data packet. - View Dependent Claims (31, 32, 33)
-
Specification