Guest

Cisco IOS Software Releases 12.0 T

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

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 Signaling and IGP Flooding

Configuring an MPLS Traffic Engineering Tunnel

Configuring IS-IS for MPLS Traffic Engineering

Configuration Example

Configuring an MPLS Traffic Engineering 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

Example

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

Example

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 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

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

Related Commands

tunnel mpls traffic-eng bandwidth

Syntax Description

Default

Command Mode

Command History

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. Both 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.

Routes 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 12.0) contain 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:

Replaces the need to manually configure the network devices to set up explicit routes. Instead, you can rely on the MPLS traffic engineering functionality to understand the backbone topology and the automated signaling process.

Accounts for link bandwidth and for the size of the traffic flow when determining explicit routes 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.

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 a tunnel across the backbone, using RSVP. The path used by a given tunnel at any point in time is determined based on the tunnel resource requirements and network resources, such as bandwidth.

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

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

MPLS traffic engineering is built on the following IOS mechanisms:

Label-switched path (LSP) tunnels, which are signaled through RSVP, with traffic engineering extensions. LSP tunnels are represented as IOS tunnel interfaces, have a configured destination, and are unidirectional.

A link-state IGP (such as IS-IS) with extensions for the global flooding of resource information, and extensions for the automatic routing of traffic onto LSP tunnels as appropriate.

An MPLS traffic engineering path calculation module that determines paths to use for LSP tunnels.

An MPLS traffic engineering link management module that does link admission and bookkeeping of the resource information to be flooded.

Label switching forwarding, which provides routers with a Layer 2-like ability to direct traffic across multiple hops as directed by the resource-based routing algorithm.

One approach to engineer a backbone is to define a mesh of tunnels from every ingress device to every egress device. 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. The MPLS traffic engineering path calculation and signaling modules determine the path taken by the LSP tunnel, subject to resource availability and the dynamic state of the network. For each tunnel, counts of packets and bytes sent are kept.

Sometimes, a flow 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.

The following sections describe how conventional hop-by-hop link-state routing protocols interact with new traffic engineering capabilities. In particular, these sections describe how Dijkstra's shortest path first (SPF) algorithm has been adapted so that a link-state IGP can automatically forward traffic over tunnels that are set up by traffic engineering.

Mapping Traffic into Tunnels

Link-state protocols like integrated IS-IS use Dijkstra's 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 headend 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, when a router finds the path to a new node, the new node is moved from the TENTative list to the PATHS list. 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 nodes 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 TENTative 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 TENTative 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 TENTative 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

This section discusses two different ways to migrate an existing IS-IS network from the standard ISO 10589 protocol, towards a new flavor of IS-IS with extensions.

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 ambiguous answers to questions such as these:

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 isis 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 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 (when you migrate from old-style TLVs towards new-style TLVs, advertise the same information twice—once in old-style TLVs and once in new-style TLVs). 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 (when routers advertise only one style of TLVs at the same time, but are able to understand both types of TLVs during migration).

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 setup, configuration, mapping, and selection of Multiprotocol Label Switching traffic engineered tunnels (MPLS TE) across a Cisco 12000 series backbone.

Related Features and Technologies

The MPLS traffic engineering feature is related to the IS-IS, RSVP, and Tag Switching features, 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 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 3620 Router

Cisco 3640 Router

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)

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

Configuration Tasks

Perform the following tasks before enabling MPLS traffic engineering:

Turn on MPLS tunnels

Turn on CEF

Turn on IS-IS

Perform the following tasks to configure MPLS traffic engineering:

Configuring a Device to Support Tunnels

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

Configuring an MPLS Traffic Engineering Tunnel

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.


Note   You must enable the tunnel feature on every interface that is running MPLS traffic engineering.

Step
Command
Purpose

1

Router(config)# ip cef

Enable standard CEF operation.

For information about CEF configuration and command syntax, see the Cisco IOS Release 12.0 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 Signaling and IGP Flooding

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


Note   You must enable the tunnel feature and specify the amount of reservable RSVP bandwidth if you have an interface that supports 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 
[interface-kbps]

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

The interface-kbps argument is optional and lets you specify the amount of bandwidth (in kbps) on interface to be reserved. The range is 1 to 10,000,000.



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.

Note   Enter the tunnel configuration commands on the headend router.

2

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

Specify the destination for a tunnel.

Note   In this case the destination A.B.C.D refers to the IP address of the loopback interface on the tail-end router.

3

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

Set encapsulation mode of the tunnel to MPLS traffic engineering.

4

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

Configure bandwidth for the MPLS traffic engineering tunnel.

Bandwidth is specified in kilobits per second. The default bandwidth is 0.

5

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

Configure a named IP explicit path.

6

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

Configure a backup path to be dynamically calculated from the traffic engineering topology database.


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 Release 12.0 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.

For more information about the metric-style commands, see the Command Reference section in this document.


Configuration Example

illustrates a sample MPLS topology. The sections that follow contain sample configuration commands you enter to implement the following basic tunnel configuration.

Figure 1 Sample MPLS Traffic Engineering Tunnel Configuration

Configuring an MPLS Traffic Engineering Tunnel

This example shows you how to configure a dynamic tunnel and how to add a second tunnel to the same destination with an explicit path.


Note   This example specifies point-to-point outgoing IP addresses.


Before you configure MPLS traffic engineering tunnels, you must enter the following global, IS-IS, and interface commands on the router.

configure terminal
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
  mpls traffic-eng administrative-weight 10

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

This example includes the commands for configuring a dynamic tunnel from Router 1 to Router 5.

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

To verify that the tunnel is up and traffic is routed through the tunnel, enter these commands:

show mpls traffic-eng tunnel  
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

To create an explicit path, enter these commands:

configure terminal
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 

To add a second tunnel to the same destination with an explicit path, enter these commands:

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

To verify that the tunnel is up and traffic is routed through the tunnel, enter these commands:

show mpls traffic-eng tunnel  
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 periodic-flooding

mpls traffic-eng reoptimize timers frequency

mpls traffic-eng router-id

mpls traffic-eng tunnels (configuration)

mpls traffic-eng tunnels (interface)

next-address

show ip explicit-paths

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

One of the IP explicit path configuration commands that creates or modifies 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 specifies where the next-address command should be inserted in the list:

Router(cfg-ip-expl-path)#index 6 next-address 3.3.29.3
Explicit Path identifier 6:
    6: next-address 3.3.29.3

Related Commands

Command
Description

append-after

Similar to the index subcommand, except that the new path entry is inserted after the specified index number. Renumbering of commands may be performed as a result.

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.

show ip explicit paths

Shows configured IP explicit paths.


ip explicit-path

To enter the subcommand mode for IP explicit paths to create or modify the named path, use the ip explicit-path command. An IP explicit path is a list of IP addresses, each representing a node or link in the explicit path.

ip explicit-path {name WORD | identifier number} [{enable | disable}]

Syntax Description

name Word

Specifies explicit path by name.

identifier number

Specifies explicit path by number. You can specify a number from 1 to 65535.

enable

Sets the state of the path to be enabled.

disable

Prevents the path from being used for routing while it is being configured.


Default

Enabled

Command Mode

Configuration

Command History

Release
Modification

12.0(5)S

This command was introduced.


Example

The following command enters the explicit path subcommand mode for IP explicit paths and creates a path with the number 500.

Router(config)# ip explicit-path identifier 500
Router(config-ip-expl-path)

Related Commands

Command
Description

append-after

Similar to the index subcommand, except that the new path entry is inserted after the specified index number. Renumbering of commands may be performed as a result.

index

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

list

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

next-address

Specifies the next IP address in the explicit path.

show ip explicit paths

Shows configured IP explicit paths.


list

To show all or part of the explicit path or paths, use the list IP explicit path subcommand.

list [{starting index number}]

Syntax Description

starting index number

Displays the list starting at the entry index number. Valid range is 1 to 65535.


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 example shows the explicit path starting at the index number 2.

Router(cfg-ip-expl-path# list