Understanding Loop-Free Alternate Routes for IS-IS
In Junos OS Release 9.5 and later, support for IS-IS loop-free alternate routes enables IP fast-reroute capability for IS-IS. Junos OS precomputes loop-free backup routes for all IS-IS routes. These backup routes are preinstalled in the Packet Forwarding Engine, which performs a local repair and implements the backup path when the link for a primary next hop for a particular route is no longer available. With local repair, the Packet Forwarding Engine can correct a path failure before it receives recomputed paths from the Routing Engine. Local repair reduces the amount of time needed to reroute traffic to less than 50 milliseconds. In contrast, global repair can take up to 800 milliseconds to compute a new route. Local repair and global repair are thus complementary. Local repair enables traffic to continue to be routed using a backup path until global repair is able to calculate a new route.
A loop-free path is one that does not forward traffic back through the routing device to reach a given destination. That is, a neighbor whose shortest path to the destination traverses the routing device is not used as a backup route to that destination. To determine loop-free alternate paths for IS-IS routes, Junos OS runs shortest-path-first (SPF) calculations on each one-hop neighbor. You can enable support for alternate loop-free routes on any IS-IS interface. Because it is common practice to enable LDP on an interface for which IS-IS is already enabled, this feature also provides support for LDP label-switched paths (LSPs).
If you enable support for alternate loop-free routes on
an interface configured for both LDP and IS-IS, you can use the traceroute
command to trace the active path to the primary
next hop.
The level of backup coverage available through IS-IS routes depends on the actual network topology and is typically less than 100 percent for all destinations on any given routing device. You can extend backup coverage to include RSVP LSPs.
Junos OS provides two mechanisms for route redundancy for IS-IS through alternate loop-free routes: link protection and node-link protection. When you enable link protection or node-link protection on an IS-IS interface, Junos OS creates a single alternate path to the primary next hop for all destination routes that traverse a protected interface. Link protection offers per-link traffic protection. Use link protection when you assume that only a single link might become unavailable but that the neighboring node on the primary path would still be available through another interface.
Node-link protection establishes an alternate path through a different routing device altogether. Use node-link protection when you assume that access to a node is lost when a link is no longer available. As a result, Junos OS calculates a backup path that avoids the primary next-hop routing device. In Junos OS Release 9.4 and earlier, only the RSVP protocol supports Packet Forwarding Engine local repair and fast reroute as well as link protection and node protection.
In Figure 1, Case 2 shows how link protection allows source Router A to switch to Link B when the primary next hop Link A to destination Router C fails. However, if Router B fails, Link B also fails, and the protected Link A is lost. If node-link protection is enabled, Router A is able to switch to Link D on Router D and bypass the failed Router B altogether. As shown in Case 1, with node-link protection enabled, Router A has a node-link protection alternate path available through Router D to destination Router C. That means that if Router B fails, Router A can still reach Router C because the path from Router A to Link D remains available as an alternate backup path.
The Junos OS implementation of support for loop-free alternate paths for IS-IS routes is based on the following standards:
RFC 5286, Basic Specification for IP Fast-Reroute: Loop-free Alternates
RFC 5714, IP Fast Reroute Framework
Configuring Link Protection for IS-IS
You can configure link protection on any interface for which IS-IS is enabled. When you enable link protection, Junos OS creates one alternate path to the primary next hop for all destination routes that traverse a protected interface. Link protection assumes that only a single link becomes unavailable but that the neighboring node would still be available through another interface.
You must also configure a per-packet load-balancing routing policy to ensure that the routing protocol process installs all the next hops for a given route in the routing table.
To enable link protection, include the link-protection
statement at the [edit protocols isis interface interface-name]
hierarchy level:
[edit] protocols { isis { interface interface-name { link-protection; } } }
Configuring Node-Link Protection for IS-IS
You can configure node-link protection on any interface for which IS-IS is enabled. Node-link protection establishes an alternate path through a different routing device altogether for all destination routes that traverse a protected interface. Node-link protection assumes that the entire routing device, or node, has failed. Junos OS therefore calculates a backup path that avoids the primary next-hop routing device.
You must also configure a per-packet load-balancing routing policy to ensure that the routing protocol process installs all the next hops for a given route in the routing table.
To enable node-link protection, include the node-link-protection
statement at the [edit protocols isis interface interface-name]
hierarchy level:
[edit] protocols { isis { interface interface-name { node-link-protection; } } }
Excluding an IS-IS Interface as a Backup for Protected Interfaces
By default, all IS-IS interfaces that belong to the master instance
or a specific routing instance are eligible as backup interfaces for
protected interfaces. You can specify that any IS-IS interface be
excluded from functioning as a backup interface to protected interfaces.
To exclude an IS-IS interface as a backup interface, include the no-eligible-backup
statement at the [edit protocols isis
interface interface-name]
hierarchy level:
[edit] protocols { isis { interface interface-name { no-eligible-backup; } } }
Configuring RSVP Label-Switched Paths as Backup Paths for IS-IS
Relying on the shortest-path-first (SPF) calculation of backup
paths for one-hop neighbors might result in less than 100 percent
backup coverage for a specific network topology. You can enhance coverage
of IS-IS and LDP label-switched paths (LSPs) by configuring RSVP LSPs
as backup paths. To configure a specific RSVP LSP as a backup path,
include the backup
statement at the [edit protocols
mpls label-switched-path lsp-name]
hierarchy
level:
[edit] protocols { mpls { label-switched-path lsp-name { backup; to ip-address; } } }
When configuring an LSP, you must specify the IP address of
the egress routing device with the to
statement. For detailed
information about configuring LSPs and RSVP, see the Junos OS MPLS Applications Library for Routing Devices.
Using Operational Mode Commands to Monitor Protected IS-IS Routes
You can issue operational mode commands that provide more details about your link-protected and node-link-protected IS-IS routes. The following guidelines explain the type of information available from the output of each command:
show isis backup label-switched-path
—Displays which MPLS LSPs have been designated as backup paths and the current status of those LSPs.show isis backup spf results
—Displays SPF calculations for each neighbor for a given destination. Indicates whether a specific interface or node has been designated as a backup path and why. Use theno-coverage
option to display only those nodes that do not have backup coverage.show isis backup coverage
—Displays the percentage of nodes and prefixes for each type of address family that is protected.show isis interface detail
—Displays the type of protection (link or node-link) applied to each protected interface.