Guest

Cisco IOS Software Releases 12.0 S

MPLS Traffic Engineering

Table Of Contents

MPLS Traffic Engineering

Feature Overview

Why Use MPLS Traffic Engineering?

How MPLS Traffic Engineering Works

Mapping Traffic into Tunnels

Enhancement to the SPF Computation

Special Cases and Exceptions

Additional Enhancements to SPF Computation Using Configured Tunnel Metrics

Transitioning an IS-IS Network to a New Technology

New Extensions for the IS-IS Routing Protocol

The Problem in Theory

The Problem in Practice

First Solution

Second Solution

Configuration Commands

Implementation in IOS

Benefits

Restrictions

Related Features and Technologies

Related Documents

Supported Platforms

Prerequisites

Supported MIBs and RFCs

Configuration Tasks

Configuring a Device to Support Tunnels

Configuring an Interface to Support RSVP-based Tunnel Signalling and IGP Flooding

Configuring IS-IS for MPLS Traffic Engineering

Configuring OSPF for MPLS Traffic Engineering

Configuring an MPLS Traffic Engineering Tunnel

Configuring an MPLS Traffic Engineering Tunnel to be Used by an IGP

Configuration Examples

Configuring MPLS Traffic Engineering—IS-IS

Configuring MPLS Traffic Engineering—OSPF

Configuring an MPLS Traffic Engineering Tunnel

Configuring Enhanced SPF Routing over a Tunnel

Command Reference

append-after

Syntax Description

Default

Command Mode

Command History

Example

Related Commands

index

Syntax Description

Default

Command Mode

Command History

Example

Related Commands

ip explicit-path

Syntax Description

Default

Command Mode

Command History

Example

Related Commands

list

Syntax Description

Default

Command Mode

Command History

Example

Related Commands

metric-style narrow

Syntax Description

Default

Command Mode

Command History

Example

Related Commands

metric-style transition

Syntax Description

Default

Command Mode

Command History

Example

Related Commands

metric-style wide

Syntax Description

Default

Command Mode

Command History

Usage Guidelines

Example

Related Commands

mpls traffic-eng

Syntax Description

Default

Command Mode

Command History

Usage Guidelines

Example

Related Commands

mpls traffic-eng area

Syntax Description

Default

Command Mode

Command History

Usage Guidelines

mpls traffic-eng administrative-weight

Syntax Description

Default

Command Mode

Command History

Example

Related Commands

mpls traffic-eng attribute-flags

Syntax Description

Default

Command Mode

Command History

Usage Guidelines

Example

Related Commands

mpls traffic-eng flooding thresholds

Syntax Description

Default

Command Mode

Command History

Usage Guidelines

Example

Related Commands

mpls traffic-eng link timers bandwidth-hold

Syntax Description

Default

Command Mode

Command History

Example

Related Command

mpls traffic-eng link timers periodic-flooding

Syntax Description

Default

Command Mode

Command History

Usage Guidelines

Example

Related Commands

mpls traffic-eng reoptimize timers frequency

Syntax Description

Default

Command Mode

Command History

Usage Guidelines

Example

Related Commands

mpls traffic-eng router-id

Syntax Description

Default

Command Mode

Command History

Usage Guidelines

Related Commands

mpls traffic-eng tunnels (configuration)

Syntax Description

Default

Command Mode

Command History

Usage Guidelines

Example

Related Commands

mpls traffic-eng tunnels (interface)

Syntax Description

Default

Command Mode

Command History

Usage Guidelines

Example

Related Commands

next-address

Syntax Description

Default

Command Mode

Command History

Example

Related Commands

show ip explicit-paths

Syntax Description

Default

Command Mode

Command History

Example

Related Commands

show ip ospf database opaque-area

Syntax Description

Default

Command Mode

Command History

Usage Guidelines

Example

show ip rsvp host

Syntax Description

Default

Command Mode

Command History

Sample Display

show isis database verbose

Syntax Description

Default

Command Mode

Command History

Sample Display

show isis mpls traffic-eng adjacency-log

Syntax Description

Default

Command Mode

Command History

Sample Display

show isis mpls traffic-eng advertisements

Syntax Description

Default

Command Mode

Command History

Sample Display

show isis mpls traffic-eng tunnel

Syntax Description

Default

Command Mode

Command History

Sample Display

show mpls traffic-eng autoroute

Syntax Description

Default

Command Mode

Command History

Usage Guidelines

Example

show mpls traffic-eng link-management admission-control

Syntax Description

Default

Command Mode

Command History

Sample Display

Related Commands

show mpls traffic-eng link-management advertisements

Syntax Description

Default

Command Mode

Command History

Sample Display

Related Commands

show mpls traffic-eng link-management bandwidth-allocation

Syntax Description

Default

Command Mode

Command History

Usage Guidelines

Sample Display

Related Commands

show mpls traffic-eng link-management igp-neighbors

Syntax Description

Default

Command Mode

Command History

Sample Display

Related Commands

show mpls traffic-eng link-management interfaces

Syntax Description

Default

Command Mode

Command History

Sample Display

Related Commands

show mpls traffic-eng link-management summary

Syntax Description

Default

Command Mode

Command History

Sample Display

Related Commands

show mpls traffic-eng topology

Syntax Description

Default

Command Mode

Command History

Sample Display

show mpls traffic-eng tunnel

Syntax Description

Default

Command Mode

Command History

Sample Display

Related Commands

show mpls traffic-eng tunnel summary

Syntax Description

Default

Command Mode

Command History

Sample Display

Related Commands

tunnel mpls traffic-eng affinity

Syntax Description

Default

Command Mode

Command History

Usage Guidelines

Example

Related Commands

tunnel mpls traffic-eng autoroute announce

Syntax Description

Default

Command Mode

Command History

Usage Guidelines

Related Commands

tunnel mpls traffic-eng autoroute metric

Syntax Description

Default

Command Mode

Command History

Usage Guidelines

Example

Related Commands

tunnel mpls traffic-eng bandwidth

Syntax Description

Default

Command Mode

Command History

Usage Guidelines

Related Commands

tunnel mpls traffic-eng path-option

Syntax Description

Default

Command Mode

Command History

Usage Guidelines

Related Commands

tunnel mpls traffic-eng priority

Syntax Description

Default

Command Mode

Command History

Usage Guidelines

Related Commands

tunnel mode mpls traffic-eng

Syntax Description

Default

Command Mode

Command History

Usage Guidelines

Related Commands

Glossary


MPLS Traffic Engineering


Feature Overview

Multiprotocol Label Switching (MPLS) traffic engineering software enables an MPLS backbone to replicate and expand upon the traffic engineering capabilities of Layer 2 ATM and Frame Relay networks.

Traffic engineering is essential for service provider and Internet service provider (ISP) backbones. Such backbones must support a high use of transmission capacity, and the networks must be very resilient, so that they can withstand link or node failures.

MPLS traffic engineering provides an integrated approach to traffic engineering. With MPLS, traffic engineering capabilities are integrated into Layer 3, which optimizes the routing of IP traffic, given the constraints imposed by backbone capacity and topology.

MPLS traffic engineering:

Enhances standard IGPs, such as IS-IS or OSPF, to automatically map packets onto the appropriate traffic flows.

Transports traffic flows across a network using MPLS forwarding.

Determines the routes for traffic flows across a network based on the resources the traffic flow requires and the resources available in the network.

Employs "constraint-based routing," in which the path for a traffic flow is the shortest path that meets the resource requirements (constraints) of the traffic flow. In MPLS traffic engineering, the traffic flow has bandwidth requirements, media requirements, a priority versus other flows, and so on.

Recovers to link or node failures that change the topology of the backbone by adapting to a new set of constraints.

Why Use MPLS Traffic Engineering?

WAN connections are an expensive item in an ISP budget. Traffic engineering enables ISPs to route network traffic to offer the best service to their users in terms of throughput and delay. By making the service provider more efficient, traffic engineering reduces the cost of the network.

Currently, some ISPs base their services on an overlay model. In the overlay model, transmission facilities are managed by Layer 2 switching. The routers see only a fully meshed virtual topology, making most destinations appear one hop away. If you use the explicit Layer 2 transit layer, you can precisely control the ways in which traffic uses available bandwidth. However, the overlay model has a number of disadvantages. MPLS traffic engineering provides a way to achieve the same traffic engineering benefits of the overlay model without needing to run a separate network, and without needing a non-scalable, full mesh of router interconnects.

Existing Cisco IOS software releases (for example, Cisco IOS Release 11.1) contains a set of features that enable elementary traffic engineering capabilities. Specifically, you can create static routes and control dynamic routes through the manipulation of link state metrics. This functionality is useful in some tactical situations, but is insufficient for all the traffic engineering needs of ISPs.

MPLS traffic engineering has the following features:

Packet transport using MPLS forwarding crossing a multihop label-switched path (LSP).

Routing and signalling capability of LSPs across a backbone topology that can:

Understand the backbone topology and available resources

Account for link bandwidth and for the size of the traffic flow when determining routes for LSPs across the backbone.

Has a dynamic adaptation mechanism that enables the backbone to be resilient to failures, even if several primary paths are precalculated off-line.

Enhancements to the IGP (IS-IS or OSPF) SPF calculations to automatically calculate what traffic should be sent over what LSPs.

How MPLS Traffic Engineering Works

MPLS is an integration of Layer 2 and Layer 3 technologies. By making traditional Layer 2 features available to Layer 3, MPLS enables traffic engineering. Thus, you can offer in a one-tier network what now can be achieved only by overlaying a Layer 3 network on a Layer 2 network.

MPLS traffic engineering automatically establishes and maintains LSPs across the backbone, using RSVP. The path used by a given LSP at any point in time is determined based on the LSP resource requirements and network resources, such as bandwidth.

Available resources are flooded via extensions to a link-state based Interior Gateway Protocol (IGP).

Paths for LSPs are calculated at the LSP head based on a fit between required and available resources (constraint-based routing). The IGP automatically routes the traffic onto these LSPs. Typically, a packet crossing the MPLS traffic engineering backbone travels on a single LSP that connects the ingress point to the egress point.

MPLS traffic engineering is built on the following IOS mechanisms:

IOS tunnel interfaces

From a Layer 2 standpoint, an LSP tunnel interface represents the head of an LSP. It is configured with a set of resource requirements, such as bandwidth and media requirements, and priority.

From a Layer 3 standpoint, an LSP tunnel interface is the head-end of a unidirectional virtual link to the tunnel destination.

An MPLS traffic engineering path calculation module

This mechanism operates at the LSP head. It determines a path to use for an LSP using a link-state database containing flooded topology and resource information.

RSVP with traffic engineering extensions

It operates at each LSP hop and is used to signal and maintain LSPs based on the calculated path.

An MPLS traffic engineering link management module

This module operates at each LSP hop, does link call admission on the RSVP signalling messages and bookkeeping of topology and resource information to be flooded.

A link-state IGP (IS-IS or OSPF—each with traffic engineering extensions)

These IGPs are used to globally flood topology and resource information from the link management module.

Enhancements to the SPF calculation used by the link-state IGP (IS-IS or OSPF)

they automatically route traffic onto the appropriate LSP tunnel based on tunnel destination. Static routes may also be used to direct traffic onto LSP tunnels.

Label switching forwarding

This forwarding mechanism provides routers with a Layer 2-like ability to direct traffic across multiple hops of the LSP as established by RSVP signalling.

One approach to engineer a backbone is to define a mesh of tunnels from every ingress device to every egress device. The MPLS traffic engineering path calculation and signalling modules determine the path taken by the LSPs for these tunnels, subject to resource availability and the dynamic state of the network. The IGP, operating at an ingress device, determines which traffic should go to which egress device, and steers that traffic into the tunnel from ingress to egress.

Sometimes, a flow from an ingress device to egress device is so large that it cannot fit over a single link, so it cannot be carried by a single tunnel. In this case multiple tunnels between a given ingress and egress can be configured, and the flow is load shared among them.

For more information about MPLS (also referred to as Tag Switching), see the following Cisco documentation:

Cisco IOS Release 12.0 Switching Services Configuration Guide, "Tag Switching" chapter.

Cisco IOS Release 12.0 Switching Services Command Reference, "Tag Switching Commands" chapter.

Mapping Traffic into Tunnels

This section describes how conventional hop-by-hop link-state routing protocols interact with MPLS traffic engineering capabilities. In particular, this section describes how the shortest path first (SPF) algorithm, sometimes called a Dijkstra algorithm, has been enhanced so that a link-state IGP can automatically forward traffic over tunnels that are set up by MPLS traffic engineering.

Link-state protocols, like integrated IS-IS or OSPF, use an SPF algorithm to compute a shortest path tree to all nodes in the network. Routing tables are derived from this shortest path tree. The routing tables contain ordered sets of destination and first-hop information. If a router does normal hop-by-hop routing, the first hop is a physical interface attached to the router.

New traffic engineering algorithms calculate explicit routes to one or more nodes in the network. These explicit routes are viewed as logical interfaces by the originating router. In the context of this document, these explicit routes are represented by LSPs and referred to as traffic engineering tunnels (TE tunnels).

The following sections describe how link-state IGPs can make use of these shortcuts, and how they can install routes in the routing table that point to these TE tunnels. These tunnels use explicit routes, and the path taken by a TE tunnel is controlled by the router that is the head-end of the tunnel. In the absence of errors, TE tunnels are guaranteed not to loop, but routers must agree on how to use the TE tunnels. Otherwise traffic might loop through two or more tunnels.

Enhancement to the SPF Computation

During each step of the SPF computation, a router discovers the path to one node in the network. If that node is directly connected to the calculating router, the first-hop information is derived from the adjacency database. If a node is not directly connected to the calculating router, the node inherits the first-hop information from the parent(s) of that node. Each node has one or more parents and each node is the parent of zero or more downstream nodes.

For traffic engineering purposes, each router maintains a list of all TE tunnels that originate at this router. For each of those TE tunnels, the router at the tail-end is known.

During the SPF computation, the TENT (tentative) list stores paths that are only possibly the best paths and the PATH list stores paths that are definitely the best paths. When it is determined that a path is the best possible path, the node is moved from TENT to PATH. PATH is thus the set of nodes for which the best path from the computing router has been found. Each PATH entry consists of ID, path cost, and forwarding direction.

The router must determine the first-hop information. There are three possible ways to do this:

1 Examine the list of tail-end routers directly reachable by way of a TE tunnel. If there is a TE tunnel to this node, use the TE tunnel as the first hop.

2 If there is no TE tunnel, and the node is directly connected, use the first-hop information from the adjacency database.

3 If the node is not directly connected, and is not directly reachable by way of a TE tunnel, the first-hop information is copied from the parent node(s) to the new node.

As a result of this computation, traffic to nodes that are the tail end of TE tunnels flows over the TE tunnels. Traffic to nodes that are downstream of the tail-end nodes also flows over the TE tunnels. If there is more than one TE tunnel to different intermediate nodes on the path to destination node X, traffic flows over the TE tunnel whose tail-end node is closest to node X.

Special Cases and Exceptions

The SPF algorithm finds equal-cost parallel paths to destinations. The enhancement previously described does not change this. Traffic can be forwarded over one or more native IP paths, over one or more TE tunnels, or over a combination of native IP paths and TE tunnels.

A special situation occurs in the following topology:

Assume that all links have the same cost and that a TE tunnel is set up from Router A to Router D. When the SPF calculation puts Router C on the TENT list, it realizes that Router C is not directly connected. It uses the first-hop information from the parent, which is Router B. When the SPF calculation on Router A puts Router D on the TENT list, it realizes that Router D is the tail end of a TE tunnel. Thus Router A installs a route to Router D by way of the TE tunnel, and not by way of Router B.

When Router A puts Router E on the TENT list, it realizes that Router E is not directly connected, and that Router E is not the tail end of a TE tunnel. Therefore Router A copies the first-hop information from the parents (Router C and Router D) to the first-hop information of Router E.

Traffic to Router E now load balances over the native IP path by way of Router A to Router B to Router C, and the TE tunnel Router A to Router D.

If parallel native IP paths and paths over TE tunnels are available, these implementations allow you to force traffic to flow over TE tunnels only or only over native IP paths.

Additional Enhancements to SPF Computation Using Configured Tunnel Metrics

When an IGP route is installed into a router information base (RIB) by means of TE tunnels as next hops, the distance or metric of the route must be calculated. Normally, you could make the metric the same as the IGP metric over native IP paths as if the TE tunnels did not exist. For example, Router A can reach Router C with the shortest distance of 20. X is a route advertised in IGP by Router C. Route X is installed in Router A's RIB with the metric of 20. When a TE tunnel from Router A to Router C comes up, by default the route is installed with a metric of 20, but the next-hop information for X is changed.

Although the same metric scheme can work well in other situations, for some applications it is useful to change the TE tunnel metric. For instance, when there are equal cost paths through TE tunnel and native IP links. You can adjust TE tunnel metrics to force the traffic to prefer the TE tunnel, to prefer the native IP paths, or to load share among them.

Again, suppose that multiple TE tunnels go to the same or different destinations. TE tunnel metrics can force the traffic to prefer some TE tunnels over others, regardless of IGP distances to those destinations.

Setting metrics on TE tunnels does not affect the basic SPF algorithm. It affects only two questions in only two areas: (1) whether the TE tunnel is installed as one of the next hops to the destination routers, and (2) what the metric value is of the routes being installed into the RIB. You can modify the metrics for determining the first-hop information:

If the metric of the TE tunnel to the tail-end routers is higher than the metric for the other TE tunnels or native hop-by-hop IGP paths, this tunnel is not installed as the next hop.

If the metric of the TE tunnel is equal to the metric of either other TE tunnels or native hop-by-hop IGP paths, this tunnel is added to the existing next hops.

If the metric of the TE tunnel is lower than the metric of other TE tunnels or native hop-by-hop IGP paths, this tunnel replaces them as the only next hop.

In each of the above cases, routes associated with those tail-end routers and their downstream routers are assigned metrics related to those tunnels.

This mechanism is loop free because the traffic through the TE tunnels is basically source routed. The end result of TE tunnel metric adjustment is the control of traffic loadsharing. If there is only one way to reach the destination through a single TE tunnel, then no matter what metric is assigned, the traffic has only one way to go.

You can represent the TE tunnel metric in two different ways: (1) as an absolute (or fixed) metric or (2) as a relative (or floating) metric.

If you use an absolute metric, the routes assigned with the metric are fixed. This metric is used not only for the routes sourced on the TE tunnel tail-end router, but also for each route downstream of this tail-end router that uses this TE tunnel as one of its next hops.

For example, if you have TE tunnels to two core routers in a remote point of presence (POP), and one of them has an absolute metric of 1, all traffic going to that POP traverses this low-metric TE tunnel.

If you use a relative metric, the actual assigned metric value of routes is based on the IGP metric. This relative metric can be positive or negative, and is bounded by minimum and maximum allowed metric values. For example, assume the following topology:

If there is no TE tunnel, Router A installs routes x, y, and z and assigns metrics 20, 30, and 40 respectively. Suppose that Router A has a TE tunnel T1 to Router C. If the relative metric -5 is used on tunnel T1, the routers x, y, and z have the installed metric of 15, 25, and 35. If an absolute metric of 5 is used on tunnel T1, routes x, y and z have the same metric 5 installed in the RIB for Router A. The assigning of no metric on the TE tunnel is a special case, a relative metric scheme where the metric is 0.

Transitioning an IS-IS Network to a New Technology

A new flavor of IS-IS has been defined, which includes extensions for MPLS traffic engineering and for other purposes. Running MPLS traffic engineering over IS-IS or taking advantage of these other extensions requires transitioning an IS-IS network to this new technology. This section describes these extentions and discusses two different ways to migrate an existing IS-IS network from the standard ISO 10589 protocol towards this new flavor of IS-IS.


Note   Running MPLS traffic engineering over an existing IS-IS network requires a transition to a new flavor of IS-IS. However, running MPLS traffic engineering over OSPF does not require any similar network transition.


New Extensions for the IS-IS Routing Protocol

Recently new extensions have been designed and implemented for the IS-IS routing protocol. The extensions serve multiple purposes.

One goal is to remove the 6-bit limit on link metrics. A second goal is to allow for inter-area IP routes. A third goal is to enable IS-IS to carry different kinds of information for the purpose of traffic engineering. In the future, more extensions might be needed.

To serve all these purposes, two new TLVs have been defined (TLV stands for type, length, and value object). One TLV (TLV #22) describes links (or rather adjacencies). It serves the same purpose as the "IS neighbor option" in ISO 10589 (TLV #2). The second new TLV (TLV #135) describes reachable IP prefixes. Similar to the IP Neighbor options from RFC 1195 (TLVs #128 and #130).

Both new TLVs have a fixed length part, followed by optional sub-TLVs. The metric space in these new TLVs has been enhanced from 6 bits to 24 or 32 bits. The sub-TLVs allow you to add new properties to links and prefixes. Traffic engineering is the first technology to make use of this ability to describe new properties of a link.

For the purpose of briefness, these two new TLVs, #22 and #135, are referred to as "new-style TLVs." TLVs #2, #128 and #130 are referred to as "old-style TLVs."

The Problem in Theory

Link-state routing protocols compute loop-free routes. This can be guaranteed because all routers calculate their routing tables based on the same information from the link-state database (LSPDB). The problem arises when some routers look at old-style TLVs and some routers look at new-style TLVs. In that case, the information on which they base their SPF calculation can be different. This different view of the world can cause routing loops among routers. Network administrators have to take great care to make sure that routers see the same view of the world.

The Problem in Practice

The easiest way to migrate from old-style TLVs towards new-style TLVs would be to introduce a "flag day." A flag day means you reconfigure all routers during a short period of time, during which service is interrupted. Assuming the implementation of a flag day is not an acceptable solution, a network administrator needs to find a viable solution for modern existing networks

Therefore, it becomes necessary to find a way to smoothly migrate a network from using IS-IS with old-style TLVs to IS-IS with new-style TLVs.

Another problem that arises and requires a solution is the need for new traffic engineering software to be tested in existing networks. Network administrators want the ability to test this software on a limited number of routers. They can not upgrade all their routers before they start testing—not in their production networks and not in their test networks.

The new extensions allow for a network administrator to use old-style TLVs in one area, and new-style in another area. However, this is not a solution for administrators that need or want to run their network in one single area.

Network administrators need a way to run an IS-IS network where some routers are advertising and using the new-style TLVs, and, at the same time, other routers are only capable of advertising and using old-style TLVs.

First Solution

One solution when you are migrating from old-style TLVs towards new-style TLVs is to advertise the same information twice—once in old-style TLVs and once in new-style TLVs. This ensures that all routers have the opportunity to understand what is advertised.

However, with this approach the two obvious drawbacks are

1 The size of the LSPs—During transition the LSPs grow roughly twice in size. This might be a problem in networks where the LSPDB is large. An LSPDB can be large because there are many routers and thus LSPs. Or the LSPs are large because of many neighbors or IP prefixes per router. A router that advertises a lot of information causes the LSPs to be fragmented.

A large network in transition is pushing the limits regarding LSP flooding and SPF scaling. During transition you can expect some extra network instability. During this time, you especially do not want to test how far you can push an implementation. There is also the possibility that the traffic engineering extensions might cause LSPs to be reflooded more often. For a large network, this solution could produce unpredictable results.

2 The problem of ambiguity—If you choose this solution, you may get an ambiguous answer to a question such as this:

What should a router do if it encounters different information in the old-style TLVs and new-style TLVs?

This problem can be largely solved in an easy way by using:

all information in old-style and new-style TLVs in an LSP.

the adjacency with the lowest link metric if an adjacency is advertised more than once.

The main benefit is that network administrators can use new-style TLVs before all routers in the network are capable of understanding them.

Transition Steps During the First Solution

Here are some steps you can follow when transitioning from using IS-IS with old-style TLVs to new-style TLVs.

1 Advertise and use only old-style TLVs if all routers run old software.

2 Upgrade some routers to newer software.

3 Configure some routers with new software to advertise both old-style and new-style TLVs. They accept both styles of TLVs. Configure other routers (with old software) to remain advertising and using only old-style TLVs.

4 Test traffic engineering in parts of their network; however, wider metrics cannot be used yet.

5 If the whole network needs to migrate, upgrade and configure all remaining routers to advertise and accept both styles of TLVs.

6 Configure all routers to only advertise and accept new-style TLVs.

7 Configure metrics larger than 63.

Second Solution

Routers advertise only one style of TLVs at the same time, but are able to understand both types of TLVs during migration.

One benefit is that LSPs stay roughly the same size during migration. Another benefit is that there is no ambiguity between the same information advertised twice inside one LSP.

The drawback is that all routers must understand the new-style TLVs before any router can start advertising new-style TLVs. So this transition scheme is useful when transitioning the whole network (or a whole area) to use wider metrics. It does not help the second problem, where network administrators want to use the new-style TLVs for traffic engineering, while some routers are still only capable of understanding old-style TLVs.

Transition Steps During the Second Solution

1 Advertise and use only old-style TLVs if all routers run old software.

2 Upgrade all routers to newer software.

3 Configure all routers one-by-one to advertise old-style TLVs, but to accept both styles of TLVs.

4 Configure all routers one-by-one to advertise new-style TLVs, but to accept both styles of TLVs.

5 Configure all routers one-by-one to only advertise and to accept new-style TLVs.

6 Configure metrics larger than 63.

Configuration Commands

Cisco IOS has a new "router isis" command line interface (CLI) subcommand called metric-style. Once you are in the router IS-IS subcommand mode, you have the option to choose the following:

Metric-style narrow—enables the router to advertise and accept only old-style TLVs

Metric-style wide—enables the router to advertise and accept only new-style TLVs

Metric-style transition—enables the router to advertise and accept both styles

Metric-style narrow transition—enables the router to advertise old-style TLVs and accept both styles

Metric-style wide transition—enables the router to advertise new-style TLVs and accept both styles

There are two transition schemes that you can employ using the metric-style commands. They are

1 Narrow to transition to wide

2 Narrow to narrow transition to wide transition to wide

For more information on metric-style command syntax, see the Command Reference section found in this document.

Implementation in IOS

IOS implements both transition schemes. Network administrators can choose the scheme that suits them best. For test networks, the first solution is ideal (see section on "First Solution"). For real transition, both schemes can be used. The first scheme requires less steps and thus less configuration. Only the largest of largest networks that do not want to risk doubling their LSPDB during transition need to use the second solution (see section on "Second Solution").

Benefits

MPLS traffic engineering offers benefits in two main areas:

1. Higher return on network backbone infrastructure investment. Specifically, the best route between a pair of POPs is determined taking into account the constraints of the backbone network and the total traffic load on the backbone.
2. Reduction in operating costs. Costs are reduced because a number of important processes are automated, including set up, configuration, mapping, and selection of Multiprotocol Label Switching traffic engineered tunnels (MPLS TE) across a Cisco 12000 series backbone.

Restrictions

The following restrictions apply to MPLS traffic engineering:

MPLS traffic engineering currently supports only a single IS-IS level or OSPF area.

Only the IS-IS implementation, not the OSPF implementation, of the enhanced SPF calculation presently supports configured tunnel metrics.

Currently, MPLS traffic engineering does not support ATM MPLS-controlled subinterfaces.

The MPLS traffic engineering feature does not support routing and signaling of LSPs over unnumbered IP links. For that reason, you should not configure the feature over those links.

Related Features and Technologies

The MPLS traffic engineering feature is related to the IS-IS, OSPF, RSVP, and MPLS features (formerly referred to as Tag Switching), which are documented in the Cisco Product Documentation (see the sections on Related Documents and How MPLS Traffic Engineering Works).

Related Documents

Cisco IOS Release 12.0 Network Protocols Configuration Guide, Part 1, "Configuring Integrated IS-IS" chapter.

Cisco IOS Release 12.0 Network Protocols Command Reference, Part 1, "Integrated IS-IS Commands" chapter.

Cisco IOS Release 12.0 Network Protocols Configuration Guide, Part 1, "Configuring OSPF" chapter.

Cisco IOS Release 12.0 Network Protocols Command Reference, Part 1, " OSPF Commands" chapter.

Cisco IOS Release 11.3 Network Protocols Configuration Guide, Part 1, "Configuring RSVP" chapter.

Cisco IOS Release 11.3 Network Protocols Command Reference, Part 1, "RSVP Commands" chapter.

Cisco IOS Release 12.0 Switching Services Configuration Guide, "Tag Switching" chapter.

Cisco IOS Release 12.0 Switching Services Command Reference, "Tag Switching Commands" chapter.

Supported Platforms

Cisco 7200 Series

Cisco 7500 Series

Cisco 12000 Series

Prerequisites

Your network must support the following Cisco IOS features before enabling MPLS traffic engineering:

Multiprotocol Label Switching

IP Cisco Express Forwarding (CEF)

Intermediate System-to-Intermediate System (IS-IS) or Open Shortest Path First (OSPF)

Supported MIBs and RFCs

MIBs

There are no MIBs supported by this feature.

RFCs

RFC 2205, Resource ReSerVation Protocol (RSVP)

RFC 1142, IS-IS

RFC 1195, Use of OSI IS-IS for Routing in TCP/IP and Dual Environments

RFC 2328, OSPF version 2

RFC 2370, The OSPF Opaque LSA Option

Configuration Tasks

Perform the following tasks before enabling MPLS traffic engineering:

Turn on MPLS tunnels

Turn on Cisco Express Forwarding (CEF)

Turn on IS-IS or OSPF

Perform the following tasks to configure MPLS traffic engineering:

Configuring a Device to Support Tunnels

Configuring an Interface to Support RSVP-based Tunnel Signalling and IGP Flooding

Configuring IS-IS for MPLS Traffic Engineering

Configuring OSPF for MPLS Traffic Engineering

Configuring IS-IS for MPLS Traffic Engineering

Configuring a Device to Support Tunnels

To configure a device to support tunnels, perform these steps in configuration mode.

Step
Command
Purpose

1

Router(config)# ip cef

Enable standard CEF operation.

For information about CEF configuration and command syntax, see the Cisco IOS Switching Solutions Configuration Guide and Command Reference.

2

Router(config)# mpls traffic-eng tunnels

Enables the MPLS traffic engineering tunnel feature on a device.


Configuring an Interface to Support RSVP-based Tunnel Signalling and IGP Flooding

To configure an interface to support RSVP-based tunnel signalling and IGP flooding, perform these steps in the interface configuration mode.


Note   You need to enable the tunnel feature on interfaces you want to support MPLS traffic engineering.

Step
Command
Purpose

1

Router(config-if)# mpls traffic-eng tunnels

Enable the MPLS traffic engineering tunnel feature on an interface.

2

Router(config-if)# ip rsvp bandwidth bandwidth

Enable RSVP for IP on an interface and specify amount of bandwidth to be reserved.

For a description of IP RSVP command syntax, see the Cisco IOS Quality of Service Command Reference.



Configuring IS-IS for MPLS Traffic Engineering

The following tasks include IS-IS traffic engineering commands. For a description of IS-IS commands (excluding the IS-IS traffic engineering commands), see the Cisco IOS Network Protocols, Part 1 Command Reference.

Step
Command
Purpose

1

Router(config)# router isis

Enable IS-IS routing and specify an IS-IS process for IP, which places you in router configuration mode.

2

Router(config-router)# mpls traffic-eng level-1

Turn on MPLS traffic engineering for IS-IS level 1.

3

Router(config-router)# mpls traffic-eng router-id 
loopback0

Specify the traffic engineering router identifier for the node to be the IP address associated with interface loopback0.

4

Router(config-router)# metric-style wide

Configure a router to generate and accept only new-style TLVs.


Configuring OSPF for MPLS Traffic Engineering

The following tasks include OSPF traffic engineering commands. For a description of OSPF commands (excluding the OSPF traffic engineering commands), see the Cisco IOS Network Protocols, Part 1 Command Reference.

Step
Command
Purpose

1

Router(config)# router ospf process-id

Configures OSPF routing process for IP, which places you in global configuration mode.

The process ID is an internally used identification parameter for an OSPF routing process. It is locally assigned and can be any positive integer. A unique value is assigned for each OSPF routing process.

2

Router(config-router)# mpls traffic-eng area 0

Turn on MPLS traffic engineering for OSPF area 0.

3

Router(config-router)# mpls traffic-eng router-id 
loopback0

Specify the traffic engineering router identifier for the node to be the IP address associated with interface loopback0.


Configuring an MPLS Traffic Engineering Tunnel

To configure an MPLS traffic engineering tunnel, perform these steps in the interface configuration mode. This tunnel has two path setup options—a preferred explicit path and a backup dynamic path.

Step
Command
Purpose

1

Router(config)# interface tunnel1 

Configure an interface type and enter interface configuration mode.

2

Router(config)# ip unnumbered loopback0

Give the tunnel interface an IP address.

An MPLS traffic engineering tunnel interface should be unnumbered since it represents a unidirectional link.

3

Router(config-if)# tunnel destination A.B.C.D

Specify the destination for a tunnel.

4

Router(config-if)# tunnel mode mpls traffic-eng

Set encapsulation mode of the tunnel to MPLS traffic engineering.

5

Router(config-if)# tunnel mpls traffic-eng bandwidth 
bandwidth

Configure bandwidth for the MPLS traffic engineering tunnel.

6

Router(config-if)# tunnel mpls traffic-eng 
path-option 1 explicit name test

Configure the tunnel to use a named IP explicit path.

7

Router(config-if)# tunnel mpls traffic-eng 
path-option 2 dynamic

Configure the tunnel to use a path dynamically calculated from the traffic engineering topology database.

Path option 2 is used if path option 1 is currently unavailable.


Configuring an MPLS Traffic Engineering Tunnel to be Used by an IGP

To configure an MPLS traffic engineering tunnel to be used by an IGP, perform these steps in the interface configuration mode. This tunnel has two path setup options—a preferred explicit path and a backup dynamic path.

Step
Command
Purpose

1

Router(config-if)# interface tunnel1 

Configure an interface type and enter interface configuration mode.

2

Router(config-if)# tunnel mpls traffic-eng autoroute 
announce

Causes the IGP to use the tunnel in its enhanced SPF calculation.


Configuration Examples

This section provides the following configuration examples:

Configuring IS-IS for MPLS Traffic Engineering

Configuring OSPF for MPLS Traffic Engineering

Configuring an MPLS Traffic Engineering Tunnel

illustrates a sample MPLS topology. This example specifies point-to-point outgoing interfaces. The next sections contain sample configuration commands you enter to implement MPLS traffic engineering and the following basic tunnel configuration.

Figure 1 Sample MPLS Traffic Engineering Tunnel Configuration

Configuring MPLS Traffic Engineering—IS-IS

This example lists the commands you enter to configure MPLS traffic engineering with IS-IS routing enabled (see ).


Note   You must enter the following commands on every router in the traffic-engineered portion of your network.


Router 1—MPLS Traffic Engineering Configuration

ip cef
mpls traffic-eng tunnels
interface loopback 0
ip address 11.11.11.11 255.255.255.255
ip router isis

interface s1/0
ip address 131.0.0.1 255.255.0.0
ip router isis
mpls traffic-eng tunnels
  ip rsvp bandwidth 1000

Router 1—IS-IS Configuration

router isis
network 47.0000.0011.0011.00
is-type level-1
metric-style wide
mpls traffic-eng router-id Loopback0
mpls traffic-eng level-1

Configuring MPLS Traffic Engineering—OSPF

This example lists the commands you enter to configure MPLS traffic engineering with OSPF routing enabled (see ).


Note   You must enter the following commands on every router in the traffic-engineered portion of your network.


Router 1—MPLS Traffic Engineering Configuration

ip cef
mpls traffic-eng tunnels
interface loopback 0
ip address 11.11.11.11 255.255.255.255

interface s1/0
ip address 131.0.0.1 255.255.0.0
mpls traffic-eng tunnels
  ip rsvp bandwidth 1000

Router 1—OSPF Configuration

router ospf 0
network 10.0.0.0.255.255.255 area 0
mpls traffic-eng router-id Loopback0
mpls traffic-eng area 0

Configuring an MPLS Traffic Engineering Tunnel

This example shows you how to configure a dynamic path tunnel and an explicit path in the tunnel. Before you configure MPLS traffic engineering tunnels, you must enter the appropriate global and interface commands on the specified router (in this case, Router 1).

Router 1—Dynamic Path Tunnel Configuration

interface tunnel1
  ip unnumbered loopback 0
  tunnel destination 17.17.17.17
  tunnel mode mpls traffic-eng
tunnel mpls traffic-eng bandwidth 100
  tunnel mpls traffic-eng priority 1 1
  tunnel mpls traffic-eng path-option 1 dynamic

Router 1—Dynamic Path Tunnel Verification

show mpls traffic-eng tunnel  
show ip interface tunnel1

Router 1—Explicit Path Configuration

ip explicit-path identifier 1
 next-address 131.0.0.1 
 next-address 135.0.0.1 
 next-address 136.0.0.1 
 next-address 133.0.0.1 

Router 1—Explicit Path Tunnel Configuration

The next section creates a tunnel that uses an explicit path.

interface tunnel2
  ip unnumbered loopback 0
  tunnel destination 17.17.17.17
  tunnel mode mpls traffic-eng
tunnel mpls traffic-eng bandwidth 100
  tunnel mpls traffic-eng priority 1 1
  tunnel mpls traffic-eng path-option 1 explicit identifier 1

Router 1—Explicit Path Tunnel Verifcation

This section includes the commands that verify that the tunnel is up.

show mpls traffic-eng tunnel  
show ip interface tunnel2

Configuring Enhanced SPF Routing over a Tunnel

This section includes the commands that cause the tunnel to be considered by the IGP's enhanced SPF calculation which installs routes over the tunnel for appropriate network prefixes.

Router 1—IGP Enhanced SPF Consideration Configuration

interface tunnel1
tunnel mpls traffic-eng autoroute announce

Router 1—Route and Traffic Verification

This section includes the commands that verify that the tunnel is up and that the traffic is routed through the tunnel.

show traffic-eng tunnel tunnel1 brief
show ip route 17.17.17.17
show mpls traffic-eng autoroute
ping 17.17.17.17
show interface tunnel1 accounting
show interface s1/0 accounting

Command Reference

This section documents new or modified commands. All other commands used with this feature are documented in the Cisco IOS Release 12.0 command references.

append-after

index

ip explicit-path

list

metric-style narrow

metric-style transition

metric-style wide

mpls traffic-eng

mpls traffic-eng area

mpls traffic-eng administrative-weight

mpls traffic-eng attribute-flags

mpls traffic-eng flooding thresholds

mpls traffic-eng link timers bandwidth-hold

mpls traffic-eng link timers bandwidth-hold

mpls traffic-eng link timers periodic-flooding

mpls traffic-eng reoptimize timers frequency

mpls traffic-eng router-id

mpls traffic-eng tunnels (configuration)

mpls traffic-eng tunnels (interface)

mpls traffic-eng tunnels (configuration)

show ip explicit-paths

show ip ospf database opaque-area

show ip rsvp host

show isis database verbose

show isis mpls traffic-eng adjacency-log

show isis mpls traffic-eng advertisements

show isis mpls traffic-eng tunnel

show mpls traffic-eng autoroute

show mpls traffic-eng link-management admission-control

show mpls traffic-eng link-management advertisements

show mpls traffic-eng link-management bandwidth-allocation

show mpls traffic-eng link-management igp-neighbors

show mpls traffic-eng link-management interfaces

show mpls traffic-eng link-management summary

show mpls traffic-eng topology

show mpls traffic-eng tunnel

show mpls traffic-eng tunnel summary

tunnel mpls traffic-eng affinity

tunnel mpls traffic-eng autoroute announce

tunnel mpls traffic-eng autoroute metric

tunnel mpls traffic-eng bandwidth

tunnel mpls traffic-eng path-option

tunnel mpls traffic-eng priority

tunnel mode mpls traffic-eng

In Cisco IOS Release 12.0(1)T or later, you can search and filter the output for show and more commands. This functionality is useful when you need to sort through large amounts of output, or if you want to exclude output that you do not need to see.

To use this functionality, enter a show or more command followed by the "pipe" character (|), one of the keywords begin, include, or exclude, and an expression that you want to search or filter on:

command | {begin | include | exclude} regular-expression

Following is an example of the show atm vc command in which you want the command output to begin with the first line where the expression "PeakRate" appears:

show atm vc | begin PeakRate

For more information on the search and filter functionality, refer to the Cisco IOS Release 12.0(1)T feature module titled CLI String Search.

append-after

To insert a path entry after a specific index number, use the append-after IP explicit path subcommand.

append-after index command

Syntax Description

index

Previous index number. Valid range is 0 to 65534.

command

One of the IP explicit path configuration commands that creates a path entry. (Currently, only the next-address command can be used.)


Default

No default behavior or values.

Command Mode

IP explicit path subcommand

Command History

Release
Modification

12.0(5)S

This command was introduced.


Example

The following command inserts the next-address subcommand after the specific index:

Router(config-ip-expl-path)# append-after 5 next-address 3.3.27.3

Related Commands

Command
Description

index

Specifies a path entry modifying command with an index that indicates which entry should be modified or created.

ip explicit-path

Enters the subcommand mode for IP explicit paths

list

Displays all or part of the explicit path(s).

next-address

Specifies the next IP address in the explicit path configuration.

show ip explicit paths

Shows configured IP explicit paths.


index

To insert or modify a path entry at a specific index, use the index IP explicit path subcommand.

index index command

Syntax Description

index

Specifies entry index number. Valid range is 0 to 65534.

command<