Cisco IOS MPLS configuration
A.A. 2012/13
Corso di Laurea Specialistica in Ingegneria delle Telecomunicazioni
Introduction
MPLS can be configured over different platforms
It can be implemented
on a purely router-based Internet backbone
over an ATM switched network - MPLS enables an ATM switch to perform virtually all of the functions of an IP router
A.A. 2012/13
Univ. CA - Corso di Laurea Specialistica in Ingegneria delle Telecomunicazioni
2
router
The key difference between a conventional ATM switch and an ATM label switch is the latter uses the control software to establish VCs
Tecnologie per reti multiservizio
Introduction
Several different types of LSR exist
LSR - Forwards labeled packets
Edge-LSR – Performs label pushing or popping and
Layer 3 lookup
ATM-LSR - Runs MPLS protocols in the control plane to
set up ATM virtual circuits. Forwards labeled packets as set up ATM virtual circuits. Forwards labeled packets as ATM cells
Traditional ATM switches can be redeployed
as ATM-LSRs through a software upgrade
ATM edge-LSR - Runs MPLS protocols in the control
plane, segmenting a packet into ATM cells or reassembling cells into the original packet
MPLS Supported Platforms
MPLS is supported on the following Cisco
platforms
Cisco LightStream 1010 ATM Cisco 2600 series routers
Cisco RSP7000 route switch processor Cisco 7200 series routers
Command Line Interface
Cisco router has an operating system called IOS
IOS configuration is made through the command
line interface (CLI)
CLI is divided into many different modes
When you log in to a Cisco device, the device is initially
A.A. 2012/13
Univ. CA - Corso di Laurea Specialistica in Ingegneria delle Telecomunicazioni
5
When you log in to a Cisco device, the device is initially in user EXEC mode
User EXEC mode contains only a limited subset of commands
The EXEC commands are not saved when the software reboots.
To have access to all commands, privileged EXEC mode is required
Tecnologie per reti multiservizio
Accessing Command Modes
CommandMode
Prompt
User EXEC Router>
Privileged EXEC
Router> enable Password: <password>
A.A. 2012/13
Univ. CA - Corso di Laurea Specialistica in Ingegneria delle Telecomunicazioni
6
Router#
Global configuration
Router# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#
Interface configuration
Router(config)# interface interface_name Router(config-if)#
Tecnologie per reti multiservizio
Cisco Express Forwarding
Every MPLS node must run one or more IP
routing protocols to exchange IP routing
information with other MPLS nodes in the
network
In this sense, every MPLS node (including ATM switches) is an IP router on the control plane switches) is an IP router on the control plane
Similar to traditional routers, the IP routing
protocols populate the IP routing table
In traditional IP routers, the IP routing table is used to build the IP forwarding table (Forwarding Information Base [FIB] in Cisco IOS) used by Cisco Express
Cisco Express Forwarding
Label switching on a router requires that Cisco
Express Forwarding (CEF) be enabled on that
router
To enable CEF on a router
IOS Prompt
IOS Command
Prompt
IP cef Router# configure terminal
MPLS/Tag Switching CLI Command
Beginning with Cisco IOS Release 12.1, the Tag
Switching distribution protocol has been replaced
with the MPLS distribution protocol
MPLS supports the following
Tag Switching features
A.A. 2012/13
Univ. CA - Corso di Laurea Specialistica in Ingegneria delle Telecomunicazioni
9
Tag Switching features Tag Switching CLI commands
Tecnologie per reti multiservizio
Label Binding Protocols
Cisco IOS software implements two label binding
protocols
Tag Distribution Protocol (TDP) - Cisco's proprietary
protocol available in IOS software release 11.1CT, as well as 12.0 and all subsequent IOS releases
Label Distribution Protocol (LDP) - IETF standard
A.A. 2012/13
Univ. CA - Corso di Laurea Specialistica in Ingegneria delle Telecomunicazioni
10
Label Distribution Protocol (LDP) - IETF standard
label binding protocol available in 12.2T release
TDP and LDP functionally are equivalent and can
be used concurrently within the network, even
on different interfaces of the same LSR
Tecnologie per reti multiservizio
Start MPLS on an Interface
Task IOS Command
Start MPLS packet labeling and run TDP globally or on the specified interface
tag-switching ip
Start MPLS packet labeling globally or on mpls ip
Start MPLS packet labeling globally or on the specified interface. TDP is used as the default label distribution protocol.
Note: This command is equivalent to the tag-switching ip command
mpls ip
Start MPLS on an Interface
IOS Command Prompt
mpls ip (global configuration)
Router(config)# configure terminal Router(config-if)# mpls ip
mpls ip Router(config)# configure terminal
Global configuration is not sufficient to initiate
label distribution
Interface configuration is necessary
mpls ip(interface configuration)
Router(config)# configure terminal
Label Distribution Protocol
Configuration
To configure a Label Distribution Protocol to
operate in an MPLS network, the following
configuration tasks are performed
Configuring LDP/TDP (required)
Verifying LDP/TDP Configuration (optional)
A.A. 2012/13
Univ. CA - Corso di Laurea Specialistica in Ingegneria delle Telecomunicazioni
13
Tecnologie per reti multiservizio
Configuring LDP/TDP
IOS Command Task
mpls label protocol {ldp | tdp}
(global configuration)
Configures LDP or TDP for all interfaces
mpls label protocol {ldp | tdp | both}
Configures LDP, TDP or both for a specific interface
A.A. 2012/13
Univ. CA - Corso di Laurea Specialistica in Ingegneria delle Telecomunicazioni
14
{ldp | tdp | both} (interface
configuration)
interface
The both keyword is intended for use with interfaces to multiaccess networks, such as Ethernet and FDDI, where some peers might use LDP while others use TDP.
When you specify the both keyword, the LSR sends both LDP and TDP discovery Hello messages and responds to both types of messages
Tecnologie per reti multiservizio
Configuring LDP/TDP
IOS Command Prompt
mpls label protocol {ldp | tdp}
(global
Router(config)# configure terminal
Router(config-if)# mpls label protocol ldp (global configuration) mpls label protocol {ldp | tdp | both} (interface configuration)
Router(config)# configure terminal
Router(config-if)# interface Ethernet 0/2 Router(config-if)# mpls label protocol ldp
Configuring LDP/TDP
Prompt Purpose
Step1 Router# configure terminal Enables configuration
mode
Step2 Router(config)# ip cef [distributed] Configures Cisco Express Forwarding Step3 Router(config)# interface interface Specifies the interface
to configure
Step4 Router(config-if)# mpls ip Configures MPLS for a
specified interface Step5 Router(config-if)# mpls label protocol
ldp
Configures LDP for a specific interface
Step6 Router# configure terminal Configures LDP on all
Verifying LDP/TDP Configuration
Step 1 - Verify that the interfaces in question
have been configured to use LDP
Command: show mpls interfaces
Step 2 - Verify that the interface is up and
sending LDP Discovery Hello messages (as
A.A. 2012/13
Univ. CA - Corso di Laurea Specialistica in Ingegneria delle Telecomunicazioni
17
sending LDP Discovery Hello messages (as
opposed to TDP Hello messages)
Command: show mpls ldp discovery
Step 3 - Verify the acceptance of the
configuration commands
Command: show run
Tecnologie per reti multiservizio
Configuring Traffic Engineering
Cisco DS-TE functionalities can be configured
through bandwidth reservation functionalities
The bandwidth reservable on each link for
constraint-based routing (CBR) can be managed
through two bandwidth pools
A.A. 2012/13
Univ. CA - Corso di Laurea Specialistica in Ingegneria delle Telecomunicazioni
18
through two bandwidth pools
global pool
sub-pool: can be limited to a smaller portion of the link
bandwidth
Tunnels using the sub-pool bandwidth can be
used with MPLS Quality of Service (QoS)
mechanisms to deliver guaranteed bandwidth
services
Tecnologie per reti multiservizio
Configuring Traffic Engineering
Cisco DS-TE should be considered as a
pre-standard implementation of IETF DiffServ-aware
MPLS Traffic Engineering
However, it is in line with the IETF requirements
The concept of "Class-Type" defined in that IETF draft The concept of "Class-Type" defined in that IETF draft corresponds to the concept of bandwidth pool
implemented by DS-TE
Because DS-TE supports two bandwidth pools (global pool and sub-pool), DS-TE should be seen as supporting two Class-Types (CT0 and CT1)
DS-TE commands
Command Purpose
ip rsvp bandwidth x y sub-pool z
To configure the size of the sub-pool on every link
x = the size of the global pool z = the size of the sub-pool
tunnel mpls traffic- To enable a TE tunnel to reserve bandwidth tunnel mpls
traffic-eng bandwidth sub-pool b
To enable a TE tunnel to reserve bandwidth from the sub-pool
tunnel mpls traffic-eng bandwidth b
DS-TE configuration
To establish a sub-pool TE tunnel, a
configuration at three levels is required
the device (router or switch router) the physical interface
the tunnel interface
A.A. 2012/13
Univ. CA - Corso di Laurea Specialistica in Ingegneria delle Telecomunicazioni
21
The first two levels activate traffic engineering
The third level establishes the sub-pool tunnel
Tecnologie per reti multiservizio
Configuring the Device
At this level, the device (router or switch router)
is configured to use
Cisco Express Forwarding (CEF) MultiProtocol Label Switching (MPLS) Traffic Engineering tunneling
A.A. 2012/13
Univ. CA - Corso di Laurea Specialistica in Ingegneria delle Telecomunicazioni
22
either the OSPF or IS-IS routing algorithm
Tecnologie per reti multiservizio
Configuring the Device
Prompt Purpose
Step1 Router# configure terminal Enables configuration mode
Step2 Router(config)# ip access-list
standard access-list-number
Enables MPLS and its traffic engineering tunnel capability
Step3 Router(config)# router ospf Invokes OSPF and puts
Step3 Router(config)# router ospf Invokes OSPF and puts
the device into router configuration mode
Step4 Router(config-router)# mpls
traffic-eng router-id loopback0
Specifies that the traffic engineering router identifier is the IP address associated with the loopback0 interface
Step5 Router(config-router)# mpls
traffic-eng area num
Turns on MPLS traffic engineering for a particular
Configuring the Network Interface
At this level, the interface through which the
tunnel will run is configured with the following
steps
Put the router into interface-configuration mode Enable Resource Reservation Protocol (RSVP)
This is used to signal (set up) a TE tunnel, and to tell devices along the tunnel path to reserve a specific amount of bandwidth for the tunnel traffic
At this step, the maximum size of the sub-pool is established
Configuring the Network Interface
Prompt Purpose
Step1 Router(config)# interface interface-id
Enables interface-configuration mode
Step2 Router(config-if)# ip rsvp
bandwidth interface-kbps
Enables RSVP on this interface and limits the amount of
A.A. 2012/13
Univ. CA - Corso di Laurea Specialistica in Ingegneria delle Telecomunicazioni
25
bandwidth interface-kbps
sub-pool kbps bandwidth RSVP can reserve on thisinterface.
The sum of bandwidth used by all tunnels on this interface cannot exceed interface-kbps, and the sum of bandwidth used by all sub-pool tunnels cannot exceed sub-pool kbps
Step3 Router(config-if)# mpls
traffic-eng tunnels
Enables the MPLS traffic TE feature on this interface
Tecnologie per reti multiservizio
Configuring the Tunnel Interface
At this level, a set of attributes for the tunnel is
defined on the “tunnel interface”
Prompt Purpose
Step1 Router(config)# interface Creates a tunnel interface (named in this
A.A. 2012/13
Univ. CA - Corso di Laurea Specialistica in Ingegneria delle Telecomunicazioni
26 Step1 Router(config)# interface
tunnel1
Creates a tunnel interface (named in this
example tunnel1) and enters interface
configuration mode Step2 Router(config-if)# tunnel
destination A.B.C.D
Specifies the IP address of the tunnel tail
device Step3 Router(config-if)# tunnel
mode mpls traffic-eng
Sets the tunnel’s encapsulation mode to
MPLS TE
Tecnologie per reti multiservizio
Configuring the Tunnel Interface
Prompt Purpose
Step4 Router(config-if)# tunnel
mpls traffic-eng bandwidth {sub-pool | [global]}
bandwidth
Configures the tunnel’s bandwidth and assigns it either to the sub-pool or the global sub-pool
Step5 Router(config-if)# tunnel Sets the priority to be used when system determines which existing
Router(config-if)# tunnel
mpls
traffic-eng priority
system determines which existing tunnels are eligible to be preempted
Step6 Router(config-if)# tunnel
mpls traffic-eng path-option
Configures the paths (hops) a tunnel should use. The user can enter an explicit path (can specify the IP addresses of the hops) or can specify a dynamic path (the router figures out the best set of hops)
Verifying the Configurations
To verify TE configuration, the EXEC command
show running-config has to be used a and its
output display has to be checked for correctness
To check one tunnel’s configuration, enter show
interfaces tunnel followed by the tunnel
interfaces tunnel followed by the tunnel
interface number
DiffServ Using DS-TE Global Pool
Tunnels
A tunnel can be configured using global pool
bandwidth to carry several classes of traffic
Traffic from each class can receive differentiated
service with the following:
Select a separate queue (a distinct diffserv PHB) for
A.A. 2012/13
Univ. CA - Corso di Laurea Specialistica in Ingegneria delle Telecomunicazioni
29
Select a separate queue (a distinct diffserv PHB) for each traffic class. For example, if there are three classes (gold, silver, and bronze) there must be three queues (diffserv AF2, AF3, and AF4)
Mark each class of traffic using a unique value in the MPLS experimental bits field (for example gold = 4, silver = 5, bronze = 6)
Ensure that packets marked as Gold are placed in the gold queue, Silver in the silver queue, and so on
Tecnologie per reti multiservizio
References
Cisco IOS Multiprotocol Label Switching
Configuration Guide, Release 12.4
Definitive MPLS Network Designs, Jim Guichard,
François Le Faucheur, Jean-Philippe Vasseur,
Cisco Press
A.A. 2012/13
Univ. CA - Corso di Laurea Specialistica in Ingegneria delle Telecomunicazioni
30