Introduces unequal-cost multipath (UCMP) for IS-IS, detailing its load-balancing mechanism, configuration options, computation scope, path controls, timer behaviors, weighting adjustments, support for static routes, and comparison with ECMP to guide proper deployment and verification.
A UCMP mechanism is a load-balancing feature for IS-IS that
-
allows traffic to be distributed proportionally across multiple paths with unequal costs
-
installs paths in the forwarding information base (FIB) with a load metric or weight, and
-
enables use of both high and low bandwidth links for forwarding based on their configured metrics.
-
IS-IS (Intermediate System to Intermediate System): a routing protocol used for exchanging network topology information.
-
UCMP (Unequal-Cost Multipath): a mechanism that enhances traditional ECMP (Equal-Cost Multipath) by including paths with varying metrics or weights.
How UCMP load balancing works in IS-IS
UCMP load-balancing enables IS-IS to split traffic across multiple paths, even when those paths have different costs. Higher bandwidth links typically have lower IGP metrics and form the shortest paths. When UCMP is enabled, IS-IS can also include lower bandwidth or higher cost links, installing these paths in the forwarding information base (FIB) and assigning each a "load metric" or weight. The FIB then uses these weights to distribute traffic proportionally across all eligible paths.
UCMP computation scope and prefix-list options
UCMP computation can be enabled per address family. It can be applied to all reachable prefixes in IS-IS or limited to specific prefixes using a prefix-list. If no prefix-list is specified, all IS-IS prefixes are included in UCMP calculation. This flexibility allows fine-grained traffic engineering based on network policy.
Controlling the number of UCMP paths
The number of UCMP nexthops installed in the routing table is controlled by the variance setting. Variance defines a metric range (expressed as a percentage over the primary path’s metric) so that only paths within this range are installed for forwarding. In addition, the total number of ECMP and UCMP paths is limited by either the max-path configuration command or the hardware platform’s path capability.
Key UCMP timer and behavior
UCMP computation is triggered after primary SPF (Shortest Path First) and route calculation are complete, with a default delay of 100 ms (configurable with the ucmp delay-interval command). UCMP is computed before fast reroute. Backup paths for both ECMP and UCMP routes are then calculated. If an interface should not be used for UCMP, use the ucmp exclude interface command to omit it from calculations.
Adjusting UCMP path weighting
You can adjust UCMP ratios by:
-
Using the bandwidth command in interface configuration mode to alter the perceived speed of links,
-
Adjusting IS-IS metrics directly on the interfaces.
These changes update the weights assigned to each path and thus the amount of traffic each path carries.
UCMP support for static routes
UCMP can also be configured for IPv4 or IPv6 static routes. This allows traffic to be load-balanced in a proportional manner across static paths with unequal metrics, extending UCMP capabilities beyond dynamic IGP routes.
If UCMP is enabled, traffic to a destination can be split across three links—a 10 Gbps, 1 Gbps, and 100 Mbps link—each carrying a proportional amount of the traffic according to its metric and assigned weight.