Introduction Cisco IOS MPLS configuration MPLS can be configured over different platforms It can be implemented on a purely router-based Internet backbone over an ATM switchednetwork -MPLS enables an ATM switch to perform virtually all of the functions of an IP router The key difference between a conventional ATM switch and an ATM label switch is the latter uses the control software to establish VCs Corso di Laurea Specialistica in Ingegneria delle Telecomunicazioni 2 Introduction MPLS Supported Platforms 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 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 is supported on the following Cisco platforms Cisco LightStream 1010 ATM Cisco 2600 series routers Cisco RSP7000 route switch processor Cisco 7200 series routers Cisco 7500 series routers Cisco 12000 series GSR routers 3 4
Command Line Interface Accessing Command Modes 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 in userexec 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 Command Mode User EXEC Privileged EXEC Global configuration Interface configuration Router> Router> enable Password: <password> Router# Router# configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)# Router(config)# interface interface_name Router(config-if)# 5 6 Cisco Express Forwarding 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 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 Forwarding (CEF) Label switching on a router requires that Cisco Express Forwarding (CEF) be enabled on that router To enable CEF on a router IOS Command IP cef Router# configure terminal Router(config)# ip cef [ distributed ] 7 8
MPLS/Tag Switching CLI Command Label Binding Protocols 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 Tag Switching CLI commands 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 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 9 10 Start MPLS on an Interface Start MPLS on an Interface Task Start MPLS packet labeling and run TDP globally or on the specified interface IOS Command Start MPLS packet labeling globally or on mpls ip the specified interface. TDP is used as the default label distribution protocol. Note: This command is equivalent to the tagswitching ip command tag-switching ip IOS Command mpls ip (global mpls ip (interface Router(config)# configure terminal Router(config-if)# mpls ip Router(config)# configure terminal Router(config-if)# interface Ethernet 0/2 Router(config-if)# mpls ip Global configuration is not sufficient to initiate label distribution Interface configuration is necessary 11 12
Label Distribution Protocol Configuration Configuring LDP/TDP 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) IOS Command mpls label protocol {ldp tdp} (global mpls label protocol {ldp tdp both} (interface Task Configures LDP or TDP for all interfaces Configures LDP, TDP or both for a specific interface The bothkeyword 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 13 14 Configuring LDP/TDP Configuring LDP/TDP IOS Command mpls label protocol {ldp tdp} (global mpls label protocol {ldp tdp both} (interface Router(config)# configure terminal Router(config-if)# mpls label protocol ldp Router(config)# configure terminal Router(config-if)# interface Ethernet 0/2 Router(config-if)# mpls label protocol ldp Step1 Router# configure terminal Step2 Router(config)# ip cef [distributed] Step3 Router(config)# interface interface Step4 Router(config-if)# mpls ip Step5 Router(config-if)# mpls label protocol ldp Step6 Router# configure terminal Router(config)# mpls label protocol ldp Enables configuration mode Configures Cisco Express Forwarding Specifies the interface to configure Configures MPLS for a specified interface Configures LDP for a specific interface Configures LDP on all interfaces 15 16
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 opposed to TDP Hello messages) Command: show mpls ldp discovery Step 3-Verify the acceptance of the configuration commands Command: show run 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 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 17 18 Configuring Traffic Engineering DS-TE commands Cisco DS-TE should be considered as a prestandard 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 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) Command ip rsvp bandwidth x y sub-poolz 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 eng bandwidth from the sub-pool sub-pool b tunnel mpls trafficeng bandwidth b The tunnel should use bandwidth from the global pool 19 20
DS-TE configuration Configuring the Device 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 At this level, the device (router or switch router) is configured to use Cisco Express Forwarding (CEF) MultiProtocol Label Switching (MPLS) Traffic Engineering tunneling The first two levels activate traffic engineering The third level establishes the sub-pool tunnel either the OSPF or IS-IS routing algorithm 21 22 Configuring the Device Configuring the Network Interface Step1 Router# configure terminal Step2 Router(config)# ip access-list standard access-list-number Step3 Router(config)# router ospf Step4 Router(config-router)# mpls trafficeng router-id loopback0 Step5 Router(config-router)# mpls traffic-eng area num Enables configuration mode Enables MPLS and its traffic engineering tunnel capability Invokes OSPF and puts the device into router configuration mode Specifies that the traffic engineering router identifier is the IP address associated with the loopback0 interface Turns on MPLS traffic engineering for a particular OSPF area 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 Enable the MPLS TE tunnel feature on this network interface Enable the IS-IS routing protocol, if it is configured 23 24
Configuring the Network Interface Configuring the Tunnel Interface Step1 Router(config)# interface interface-id Step2 Router(config-if)# ip rsvp bandwidth interface-kbps sub-pool kbps Step3 Router(config-if)# mpls traffic-eng tunnels Enables interface-configuration mode Enables RSVP on this interface and limits the amount of bandwidth RSVP can reserve on this interface. 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 Enables the MPLS traffic TE feature on this interface At this level, a set of attributes for the tunnel is defined on the tunnel interface Step1 Router(config)# interface tunnel1 Step2 Router(config-if)# tunnel destination A.B.C.D Step3 Router(config-if)# tunnel mode mpls traffic-eng Creates a tunnel interface (named in this example tunnel1) and enters interface configuration mode Specifies the IP address of the tunnel tail device Sets the tunnel s encapsulation mode to MPLS TE 25 26 Configuring the Tunnel Interface Verifying the Configurations Step4 Router(config-if)# tunnel mpls traffic-eng bandwidth {sub-pool [global]} bandwidth Step5 Router(config-if)# tunnel mpls traffic-eng priority Step6 Router(config-if)# tunnel mpls traffic-eng path-option Configures the tunnel s bandwidth and assigns it either to the subpool or the global pool Sets the priority to be used when system determines which existing tunnels are eligible to be preempted 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) 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 tunnelfollowed by the tunnel interface number To see that tunnel s RSVP bandwidth and flow, enter show ip rsvp interfacefollowed by the name or number of the network interface 27 28
DiffServ Using DS-TE Global Pool Tunnels References 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 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 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 29 30