Wednesday, February 29, 2012

Configure MPLS


Introduction

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.

Prerequisites

Requirements

There are no specific requirements for this document.

Components Used

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.

Conventions

Refer to Cisco Technical Tips Conventions for more information on document conventions.

Functional Components

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.

Configure

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.

Network Diagram

This document uses this network setup:
mplsteisis1.gif

Quick Configuration Guide

You can use the following steps to perform a quick configuration. Refer to MPLS Traffic Engineering and Enhancements for more detailed information.
  1. 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.
  2. 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)
  3. 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.
  4. Enable RSVP by entering ip rsvp bandwidth XXX on each concerned interface for non-zero bandwidth tunnels.
  5. 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.

Configuration Files

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

Verify

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.

Sample 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

Troubleshoot

There is currently no specific troubleshooting information available for this configuration.

Related Information

Related Posts Plugin for WordPress, Blogger...