Claims
- 1. A method for constructing topology and routing information in a multi-area routing domain operated according to a link state routing protocol, comprising the steps of:
acquiring topology and routing information, including route entries, for each area in the routing domain; identifying, within each area of the routing domain, possible exit points for all route entries known in each area in the routing domain; for all exit points identified in the identifying step as being associated with a route entry, determining a cost of a path between the exit point its associated route entry; and for all exit points identified in the identifying step, determining other areas, if any, to which said exit points connect.
- 2. A method for constructing end-to-end paths in a multi-area routing domain operated according to a link state routing protocol, comprising the steps of:
acquiring topology and routing information for a routing domain; determining an entry point in an origin area located in the routing domain; retrieving a route entry in the origin area, the route entry being associated with a specified destination; extracting a set of exit points in the origin area through which the route entry can be reached; for each exit point extracted in the extracting step, determining a total cost of reaching the route entry from the entry point via the exit point; eliminating, from the set of exit points, those exit points that do not correspond to minimum total costs; and identifying paths associated with the exit points through which the route entry is directly reachable, and eliminating those exit points from the set of exit points.
- 3. The method of claim 2 wherein the step of determining a total cost of reaching the route entry from the entry point via the exit point comprises:
computing shortest paths in the origin area between the entry point and each of the exit points; determining a first cost for each of the shortest paths; determining a second cost for reaching the route entry from each of the exit points; and for each of the exit points, adding the first cost and the second cost to yield a total cost.
- 4. The method of claim 2 wherein a next area is not required to reach the specified destination from at least one of the exit points, and wherein the identifying step comprises identifying a path to the specified destination.
- 5. The method of claim 2 further comprising the steps of:
identifying next areas connected to the exit points remaining in the set of exit points; and for each remaining exit point extending at least one path from the origin area into at least one next area connected to the exit point.
- 6. The method of claim 2 wherein the extracting step is performed by accessing a route table maintained for each area, and each route table contains a set of route entries known in the area and, for each route entry, a corresponding set of exit points and data relating to how the exit points were learned.
- 7. The method of claim 3 wherein the computing step is performed based on how the route entry corresponding to the specified destination address was entered in a route table for the area.
- 8. The method of claim 5 wherein the step of identifying at least one next area connected to an exit point comprises:
determining a type of the route entry associated with the specified destination in a current area, the current area being that within which the exit point resides; for route entries having a type that is not local to the current area, retrieving a set of areas associated with said exit point; from the set of areas associated with said exit point, identifying areas that are not represented in any path that has been followed to reach said exit point, and for such areas retrieving the route entry associated with the specified destination; and determining the type of route entries that have been retrieved and, based on the route entry type, determining whether to select the area for extending the path from the associated exit point.
- 9. The method of claim 5, further comprising the steps of:
selecting at least one of the next areas from a current area, the current area being that within which an exit point to the next area resides; retrieving a route entry in at least one of the next areas, the route entry being associated with the specified destination; extracting from the next area or areas a set of next area exit points through which the route entry can be reached; for each next area exit point, computing a total cost of reaching the route entry from that next area exit point; eliminating from the set of next area exit points those next area exit points having shortest paths that do not correspond to minimum total costs; and identifying the shortest paths associated with the next area exit points remaining in the set of next area exit points.
- 10. The method of claim 5 wherein the path extension step is repeated until there are no remaining exit points.
- 11. The method of claim 6 wherein route entries are added to the route table of an area based on the advertisements received from that area.
- 12. The method of claim 11 wherein, for each route entry added to the route table of an area, the route table also stores at least one route type based on the advertisements through which the route was learned.
- 13. The method of claim 6 wherein, for each route entry added to the route table of an area, the route table also stores for each route type of the route entry a set of associated exit points.
- 14. The method of claim 11 wherein, for each route type of a route entry added to the route table of an area, the identity of the exit points to be stored is based on the advertisement through which the route was learned.
- 15. A computer-readable medium containing instructions thereon for instructing a computing device to perform a method of constructing end-to-end paths in a multi-area routing domain operated according to a link state routing protocol, wherein the method comprises:
acquiring topology and routing information for a routing domain; determining an entry point in an origin area located in the routing domain; retrieving a route entry in the origin area, the route entry being associated with a specified destination; extracting a set of exit points in the origin area through which the route entry can be reached; for each exit point extracted in the extracting step, determining a total cost of reaching the route entry from the entry point via the exit point; eliminating, from the set of exit points, those exit points that do not correspond to minimum total costs; and identifying paths associated with the exit points through which the route entry is directly reachable, and eliminating those exit points from the set of exit points.
- 16. The medium of claim 15 wherein the carrier also contains instructions for instructing the computing device to identify a path to the specified destination if the device determines that a next area is not required to reach the specified destination.
- 17. The medium of claim 15 wherein the carrier also contains instructions for instructing the computing device to:
identify next areas connected to the exit points remaining in the set of exit points; and for each remaining exit point, extend at least one path from the origin area into at least one next area connected to the exit point.
- 18. The medium of claim 15 wherein the carrier also contains instructions for instructing the computing device to:
determine a type of the route entry associated with the specified destination in a current area, the current area being that within which the exit point resides; for route entries having a type that is not local to the current area, retrieve a set of areas associated with said exit point; from the set of areas associated with said exit point, identify areas that are not represented in any path that has been followed to reach said exit point, and for such areas retrieve the route entry associated with the specified destination; and determine the type of route entries that have been retrieved and, based on the route entry type, determine whether to select the area for extending the path from the associated exit point.
- 19. The medium of claim 15 wherein the carrier also contains instructions for instructing the computing device to:
select at least one of the next areas from a current area, the current area being that within which an exit point to the next area resides; retrieve a route entry in at least one of the next areas, the route entry being associated with the specified destination; extract from the next area or areas a set of next area exit points through which the route entry can be reached; for each next area exit point, computing a total cost of reaching the route entry from that next area exit point; eliminate from the set of next area exit points those next area exit points having shortest paths that do not correspond to minimum total costs; and identify the shortest paths associated with the next area exit points remaining in the set of next area exit points.
- 20. The medium of claim 15 wherein the carrier also contains instructions for instructing the computing device to repeat the path extension step until there are no remaining exit points:
- 21. The medium of claim 15 wherein the carrier also contains instructions for instructing the computing device to add route entries for an area to a route table for that area based on advertisements received from that area.
RELATED APPLICATIONS
[0001] This application claims priority to, and is a continuation-in-part of, U.S. patent application Ser. No. 09/977,420, filed Nov. 29, 2001, which is incorporated herein by reference in its entirety.
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
09977420 |
Oct 2001 |
US |
Child |
10077245 |
Feb 2002 |
US |