This document provides a sample configuration for implementing
traffic engineering (TE) on top of an existing Multiprotocol Label
Switching (MPLS) network using Frame Relay and Open Shortest Path First
(OSPF). Our example implements two dynamic tunnels (automatically set up
by the ingress Label Switch Routers [LSR]) and two tunnels that use
explicit paths.
TE is a generic name corresponding to the use of different
technologies to optimize the utilization of a given backbone capacity
and topology.
MPLS TE provides a way to integrate TE capabilities (such as those
used on Layer 2 protocols like ATM) into Layer 3 protocols (IP). MPLS TE
uses an extension to existing protocols (Intermediate
System-to-Intermediate System (IS-IS), Resource Reservation Protocol
(RSVP), OSPF) to calculate and establish unidirectional tunnels that are
set according to the network constraint. Traffic flows are mapped on
the different tunnels depending on their destination.
There are no specific requirements for this document.
The information in this document is based on the software and hardware versions:
-
Cisco IOS® Software Releases 12.0(11)S and 12.1(3a)T
-
Cisco 3600 routers
The information in this document was created from the devices in a
specific lab environment. All of the devices used in this document
started with a cleared (default) configuration. If your network is live,
make sure that you understand the potential impact of any command.
Refer to
Cisco Technical Tips Conventions for more information on document conventions.
The following table describes the functional components of this configuration example:
Component |
Description |
IP tunnel interfaces |
Layer
2: an MPLS tunnel interface is the head of a Label Switched Path (LSP).
It is configured with a set of resource requirements, such as bandwidth
and priority. Layer 3: the LSP tunnel interface is the head-end of a
unidirectional virtual link to the tunnel destination. |
RSVP with TE extension |
RSVP is
used to establish and maintain LSP tunnels based on the calculated path
using PATH and RSVP Reservation (RESV) messages. The RSVP protocol
specification has been extended so that the RESV messages also
distribute label information. |
Link-State Interior Gateway Protocol (IGP) [IS-IS or OSPF with TE extension] |
Used to
flood topology and resource information from the link management
module. IS-IS uses new Type-Length-Values (TLVs); OSPF uses type 10
Link-State Advertisements (also called Opaque LSAs). |
MPLS TE path calculation module |
Operates at the LSP head only and determines a path using information from the link-state database. |
MPLS TE link management module |
At each
LSP hop, this module performs link call admission on the RSVP signaling
messages, and bookkeeping of topology and resource information to be
flooded by OSPF or IS-IS. |
Label switching forwarding |
Basic MPLS forwarding mechanism based on labels. |
In this section, you are presented with the information to configure the features described in this document.
Note: Use the
Command Lookup Tool (
registered customers only) to find more information on the commands used in this document.
This document uses this network setup:
You can use the following steps to perform a quick configuration. Refer to
MPLS Traffic Engineering and Enhancements for more detailed information.
-
Set up your network with the usual configuration. (In this case, we used Frame Relay.)
Note: It is mandatory to set up a loopback interface with an
IP mask of 32 bits. This address will be used for the setup of the MPLS
network and TE by the routing protocol. This loopback address must be
reachable via the global routing table.
-
Set up a routing protocol for the MPLS network. It must be a
link-state protocol (IS-IS or OSPF). In the routing protocol
configuration mode, enter the following commands:
-
For IS-IS:
metric-style [wide | both]
mpls traffic-eng router-id LoopbackN
mpls traffic-eng [level-1 | level-2 |]
-
For OSPF:
mpls traffic-eng area X
mpls traffic-eng router-id LoopbackN(musthave255.255.255.255mask)
-
Enable MPLS TE. Enter ip cef (or ip cef distributed if available in order to enhance performance) in the general configuration mode. Enable MPLS (tag-switching ip) on each concerned interface. Enter mpls traffic-engineering tunnel to enable MPLS TE, as well as RSVP for zero-bandwidth TE tunnels.
-
Enable RSVP by entering ip rsvp bandwidth XXX on each concerned interface for non-zero bandwidth tunnels.
-
Set up tunnels to be used for TE. There are many options that can be configured for MPLS TE Tunnel, but the tunnel mode mpls traffic-eng command is mandatory. The tunnel mpls traffic-eng autoroute announce command announces the presence of the tunnel by the routing protocol.
Note: Do not forget to use ip unnumbered loopbackN for the IP address of the tunnel interfaces.
This configuration shows two dynamic tunnels (Pescara_t1 and
Pescara_t3) with different bandwidth (and priorities) going from the
Pescara router to the Pesaro router, and two tunnels (Pesaro_t158 and
Pesaro_t159) using an explicit path going from Pesaro to Pescara.
This document uses the configurations shown below. Only the relevant
parts of the configuration files are included. Commands used to enable
MPLS are in blue text; commands specific to TE (including RSVP) are in
bold text.
Pesaro |
Current configuration:
!
version 12.1
!
hostname Pesaro
!
ip cef
!
mpls traffic-eng tunnels
!
interface Loopback0
ip address 10.10.10.6 255.255.255.255
!
interface Tunnel158
ip unnumbered Loopback0
tunnel destination 10.10.10.4
tunnel mode mpls traffic-eng
tunnel mpls traffic-eng autoroute announce
tunnel mpls traffic-eng priority 2 2
tunnel mpls traffic-eng bandwidth 158
tunnel mpls traffic-eng path-option 1 explicit name low
!
interface Tunnel159
ip unnumbered Loopback0
tunnel destination 10.10.10.4
tunnel mode mpls traffic-eng
tunnel mpls traffic-eng autoroute announce
tunnel mpls traffic-eng priority 4 4
tunnel mpls traffic-eng bandwidth 159
tunnel mpls traffic-eng path-option 1 explicit name straight
!
interface Serial0/0
no ip address
encapsulation frame-relay
!
interface Serial0/0.1 point-to-point
bandwidth 512
ip address 10.1.1.22 255.255.255.252
tag-switching ip
mpls traffic-eng tunnels
frame-relay interface-dlci 603
ip rsvp bandwidth 512 512
!
router ospf 9
network 10.1.1.0 0.0.0.255 area 9
network 10.10.10.0 0.0.0.255 area 9
mpls traffic-eng area 9
mpls traffic-eng router-id Loopback0
!
ip classless
!
ip explicit-path name low enable
next-address 10.1.1.21
next-address 10.1.1.10
next-address 10.1.1.1
next-address 10.1.1.14
!
ip explicit-path name straight enable
next-address 10.1.1.21
next-address 10.1.1.5
next-address 10.1.1.14
!
end
|
Pescara |
Current configuration:
!
version 12.0
!
hostname Pescara
!
ip cef
!
mpls traffic-eng tunnels
!
interface Loopback0
ip address 10.10.10.4 255.255.255.255
!
interface Tunnel1
ip unnumbered Loopback0
no ip directed-broadcast
tunnel destination 10.10.10.6
tunnel mode mpls traffic-eng
tunnel mpls traffic-eng autoroute announce
tunnel mpls traffic-eng priority 5 5
tunnel mpls traffic-eng bandwidth 25
tunnel mpls traffic-eng path-option 2 dynamic
!
interface Tunnel3
ip unnumbered Loopback0
no ip directed-broadcast
tunnel destination 10.10.10.6
tunnel mode mpls traffic-eng
tunnel mpls traffic-eng autoroute announce
tunnel mpls traffic-eng priority 6 6
tunnel mpls traffic-eng bandwidth 69
tunnel mpls traffic-eng path-option 1 dynamic
!
interface Serial0/1
no ip address
encapsulation frame-relay
!
interface Serial0/1.1 point-to-point
bandwidth 512
ip address 10.1.1.14 255.255.255.252
mpls traffic-eng tunnels
tag-switching ip
frame-relay interface-dlci 401
ip rsvp bandwidth 512 512
!
router ospf 9
network 10.1.1.0 0.0.0.255 area 9
network 10.10.10.0 0.0.0.255 area 9
mpls traffic-eng area 9
mpls traffic-eng router-id Loopback0
!
end
|
Pomerol |
Current configuration:
version 12.0
!
hostname Pomerol
!
ip cef
!
mpls traffic-eng tunnels
!
interface Loopback0
ip address 10.10.10.3 255.255.255.255
!
interface Serial0/1
no ip address
encapsulation frame-relay
!
interface Serial0/1.1 point-to-point
bandwidth 512
ip address 10.1.1.6 255.255.255.252
mpls traffic-eng tunnels
tag-switching ip
frame-relay interface-dlci 301
ip rsvp bandwidth 512 512
!
interface Serial0/1.2 point-to-point
bandwidth 512
ip address 10.1.1.9 255.255.255.252
mpls traffic-eng tunnels
tag-switching ip
frame-relay interface-dlci 302
ip rsvp bandwidth 512 512
!
interface Serial0/1.3 point-to-point
bandwidth 512
ip address 10.1.1.21 255.255.255.252
mpls traffic-eng tunnels
tag-switching ip
frame-relay interface-dlci 306
ip rsvp bandwidth 512 512
!
router ospf 9
network 10.1.1.0 0.0.0.255 area 9
network 10.10.10.0 0.0.0.255 area 9
mpls traffic-eng area 9
mpls traffic-eng router-id Loopback0
!
ip classless
!
end
|
Pulligny |
Current configuration:
!
version 12.1
!
hostname Pulligny
!
ip cef
!
mpls traffic-eng tunnels
!
interface Loopback0
ip address 10.10.10.2 255.255.255.255
!
interface Serial0/1
no ip address
encapsulation frame-relay
!
interface Serial0/1.1 point-to-point
bandwidth 512
ip address 10.1.1.2 255.255.255.252
mpls traffic-eng tunnels
tag-switching ip
frame-relay interface-dlci 201
ip rsvp bandwidth 512 512
!
interface Serial0/1.2 point-to-point
bandwidth 512
ip address 10.1.1.10 255.255.255.252
mpls traffic-eng tunnels
tag-switching ip
frame-relay interface-dlci 203
ip rsvp bandwidth 512 512
!
router ospf 9
network 10.1.1.0 0.0.0.255 area 9
network 10.10.10.0 0.0.0.255 area 9
mpls traffic-eng area 9
mpls traffic-eng router-id Loopback0
!
ip classless
!
end
|
Pauillac |
!
version 12.1
!
hostname pauillac
!
ip cef
!
mpls traffic-eng tunnels
!
interface Loopback0
ip address 10.10.10.1 255.255.255.255
!
interface Serial0/0
no ip address
encapsulation frame-relay
!
interface Serial0/0.1 point-to-point
bandwidth 512
ip address 10.1.1.1 255.255.255.252
mpls traffic-eng tunnels
tag-switching ip
frame-relay interface-dlci 102
ip rsvp bandwidth 512 512
!
interface Serial0/0.2 point-to-point
bandwidth 512
ip address 10.1.1.5 255.255.255.252
mpls traffic-eng tunnels
tag-switching ip
frame-relay interface-dlci 103
ip rsvp bandwidth 512 512
!
interface Serial0/0.3 point-to-point
bandwidth 512
ip address 10.1.1.13 255.255.255.252
mpls traffic-eng tunnels
tag-switching ip
frame-relay interface-dlci 104
ip rsvp bandwidth 512 512
!
router ospf 9
network 10.1.1.0 0.0.0.255 area 9
network 10.10.10.0 0.0.0.255 area 9
mpls traffic-eng area 9
mpls traffic-eng router-id Loopback0
!
ip classless
!
end
|
This section provides information you can use to confirm your configuration is working properly.
General show commands are illustrated in
Configuring MPLS Basic Traffic Engineering Using IS-IS. The following commands are specific to MPLS TE with OSPF and are illustrated below:
-
show ip ospf mpls traffic-eng link
-
show ip ospf database opaque-area
The
Output Interpreter Tool (
registered customers only) (OIT) supports certain
show commands. Use the OIT to view an analysis of
show command output.
You can use the
show ip ospf mpls traffic-eng link command to
see what will be advertised by OSPF at a given router. The RSVP
characteristics are shown in bold below, indicating the bandwidth that
can be reserved, which is being advertised and used. You can see the
bandwidth used by Pescara_t1 (at Priority 5) and Pescara_t3 (at Priority
6).
Pesaro# show ip ospf mpls traffic-eng link
OSPF Router with ID (10.10.10.61) (Process ID 9)
Area 9 has 1 MPLS TE links. Area instance is 3.
Links in hash bucket 48.
Link is associated with fragment 0. Link instance is 3
Link connected to Point-to-Point network
Link ID : 10.10.10.3 Pomerol
Interface Address : 10.1.1.22
Neighbor Address : 10.1.1.21
Admin Metric : 195
Maximum bandwidth : 64000
Maximum reservable bandwidth : 64000
Number of Priority : 8
Priority 0 : 64000 Priority 1 : 64000
Priority 2 : 64000 Priority 3 : 64000
Priority 4 : 64000 Priority 5 : 32000
Priority 6 : 24000 Priority 7 : 24000
Affinity Bit : 0x0
The
show ip ospf database command can be restrained to Type 10
LSAs and shows the database that is used by the MPLS TE process to
calculate the best route (for TE) for dynamic tunnels (Pescara_t1 and
Pescara_t3 in this example). This can be seen in the following partial
output:
Pesaro# show ip ospf database opaque-area
OSPF Router with ID (10.10.10.61) (Process ID 9)
Type-10 Opaque Link Area Link States (Area 9)
LS age: 397
Options: (No TOS-capability, DC)
LS Type: Opaque Area Link
Link State ID: 1.0.0.0
Opaque Type: 1
Opaque ID: 0
Advertising Router: 10.10.10.1
LS Seq Number: 80000003
Checksum: 0x12C9
Length: 132
Fragment number : 0
MPLS TE router ID : 10.10.10.1 Pauillac
Link connected to Point-to-Point network
Link ID : 10.10.10.3
Interface Address : 10.1.1.5
Neighbor Address : 10.1.1.6
Admin Metric : 195
Maximum bandwidth : 64000
Maximum reservable bandwidth : 48125
Number of Priority : 8
Priority 0 : 48125 Priority 1 : 48125
Priority 2 : 48125 Priority 3 : 48125
Priority 4 : 48125 Priority 5 : 16125
Priority 6 : 8125 Priority 7 : 8125
Affinity Bit : 0x0
Number of Links : 1
LS age: 339
Options: (No TOS-capability, DC)
LS Type: Opaque Area Link
Link State ID: 1.0.0.0
Opaque Type: 1
Opaque ID: 0
Advertising Router: 10.10.10.2
LS Seq Number: 80000001
Checksum: 0x80A7
Length: 132
Fragment number : 0
MPLS TE router ID : 10.10.10.2 Pulligny
Link connected to Point-to-Point network
Link ID : 10.10.10.1
Interface Address : 10.1.1.2
Neighbor Address : 10.1.1.1
Admin Metric : 195
Maximum bandwidth : 64000
Maximum reservable bandwidth : 64000
Number of Priority : 8
Priority 0 : 64000 Priority 1 : 64000
Priority 2 : 64000 Priority 3 : 64000
Priority 4 : 64000 Priority 5 : 64000
Priority 6 : 64000 Priority 7 : 64000
Affinity Bit : 0x0
Number of Links : 1
LS age: 249
Options: (No TOS-capability, DC)
LS Type: Opaque Area Link
Link State ID: 1.0.0.0
Opaque Type: 1
Opaque ID: 0
Advertising Router: 10.10.10.3
LS Seq Number: 80000004
Checksum: 0x3DDC
Length: 132
Fragment number : 0
There is currently no specific troubleshooting information available for this configuration.