Anda di halaman 1dari 45

Module 2

MPLS Concepts

2001, Cisco Systems, Inc.

Drawbacks of Traditional IP Routing

2001, Cisco Systems, Inc.

MPLS v1.02-2

Traditional IP Forwarding
Traditional IP forwarding is based on the following:
Routing protocols are used to distribute Layer 3 routing information.
Forwarding is based on the destination address only. Routing lookups are performed on every hop.

2001, Cisco Systems, Inc.

MPLS v1.02-3

Traditional IP Forwarding (cont.)


10.1.1.1 10.1.1.1

Routing lookup Routing lookup

Routing lookup

Destination-based routing lookup is needed on every hop. Every router may need full Internet routing information (more than 100,000 routes).
2001, Cisco Systems, Inc. MPLS v1.02-4

IP over ATM
10.1.1.1 10.1.1.1 10.1.1.1 10.1.1.1 10.1.1.1

10.1.1.1

Layer 2 topology may be different from Layer 3 topology, resulting in suboptimal paths and link utilization. Layer 2 devices have no knowledge of Layer 3 routing informationvirtual circuits must be manually established. Even if the two topologies overlap, the hub and spoke topology is usually used because of easier management.

10.1.1.1

2001, Cisco Systems, Inc.

MPLS v1.02-5

Traffic Engineering with Traditional IP Forwarding


Large Site A
Primary OC192 link

Large Site B

Backup OC48 link

Small Site C

Most traffic goes between large sites A and B and uses only the primary link. Destination-based routing does not provide any mechanism for load balancing across unequal paths. Policy-based routing can be used to forward packets based on other parameters, but this is not a scalable solution.
2001, Cisco Systems, Inc. MPLS v1.02-6

Basic MPLS Concepts

2001, Cisco Systems, Inc.

MPLS v1.02-7

Basic MPLS Concepts


MPLS is a new forwarding mechanism in which packets are forwarded based on labels. Labels may correspond to IP destination networks (equal to traditional IP forwarding). Labels can also correspond to other parameters, such as quality of service (QoS) or source address. MPLS was designed to support forwarding of other protocols as well.
2001, Cisco Systems, Inc. MPLS v1.02-8

MPLS Example
10.1.1.1 10.1.1.1

Label removal and routing lookup L=3

Routing lookup and label assignment 10.0.0.0/8 L=5 Label swapping L=5 L=3

Only edge routers must perform a routing lookup. Core routers switch packets based on simple label lookups and swap labels.
2001, Cisco Systems, Inc. MPLS v1.02-9

MPLS Versus IP over ATM


10.1.1.1 L=17 L=3 L=5 10.1.1.1

Layer 2 devices run a Layer 3 routing protocol and establish virtual circuits dynamically based on Layer 3 information

Layer 2 devices are IP-aware and run a routing protocol. There is no need to manually establish virtual circuits. MPLS provides a virtual full mesh topology.
2001, Cisco Systems, Inc. MPLS v1.02-10

Traffic Engineering with MPLS


Primary OC192 link

Large Site A

Large Site B

Secondary OC48 link

Small Site C

Traffic can be forwarded based on other parameters (QoS, source, ...). Load sharing across unequal paths can be achieved.

2001, Cisco Systems, Inc.

MPLS v1.02-11

MPLS Architecture
MPLS has two major components: Control planeexchanges Layer 3 routing information and labels Data planeforwards packets based on labels Control plane contains complex mechanisms to exchange routing information, such as Open Shortest Path First (OSPF), Enhanced Interior Gateway Routing Protocol (EIGRP), Intermediate System-to-Intermediate System (ISIS), and BGP, and to exchange labels, such as Tag Distribution Protocol (TDP), label distribution protocol (LDP), BGP, and Resource Reservation Protocol (RSVP). Data plane has a simple forwarding engine. Control plane maintains contents of the label-switching table (label forwarding information base, or LFIB).
2001, Cisco Systems, Inc. MPLS v1.02-12

MPLS Architecture
Control Plane
OSPF: 10.0.0.0/8

OSPF

OSPF: 10.0.0.0/8

LDP: 10.0.0.0/8 Label 17

LDP

LDP: 10.0.0.0/8 Label 4

Data Plane
Labeled packet Label 17

LFIB 417

Labeled packet Label 4

Router functionality is divided into two major parts: control plane and data plane
2001, Cisco Systems, Inc. MPLS v1.02-13

Label Format
LABEL
0

EXP / S CoS
19 20
22 23 24

TTL
31

MPLS uses a 32-bit label field that contains the following information:
20-bit label 3-bit experimental field 8-bit time-to-live (TTL) field 1-bit bottom-of-stack or End of stack indicator
( The end of stack indicates if this is last tag or there are further tags)
2001, Cisco Systems, Inc. MPLS v1.02-14

MPLS Modes of Operation


MPLS technology is intended to be used anywhere regardless of Layer 1 media and Layer 2 protocol. MPLS uses a 32-bit label field that is inserted between Layer 2 and Layer 3 headers (framemode). MPLS over ATM uses the ATM header as the label (cell-mode).

2001, Cisco Systems, Inc.

MPLS v1.02-15

Frame-Mode MPLS
Frame Header
Layer 2

IP Header
Layer 3

Payload
Routing lookup and label assignment

Frame Header
Layer 2

Label
Layer 2

IP Header
Layer 3

Payload

2001, Cisco Systems, Inc.

MPLS v1.02-16

Cell_Mode MPLS
Frame Header
Layer 2

IP Header
Layer 3

Payload

Frame Header
Layer 2

Label
Layer 2

IP Header
Layer 3

Payload

VPI/VCI fields are used for label switching

Cell 1

ATM ATM Adaptation Label Header Layer 5 (AAL5) Header


Layer 2 Layer 2

IP Header
Layer 3

Payload

Cell 2

ATM Header

Payload
MPLS v1.02-17

2001, Cisco Systems, Inc.

Label Switch Router


MPLS Domain
10.1.1.1 L=3 L=5 10.1.1.1

20.1.1.1

L=31

L=43

20.1.1.1

Edge LSR

LSR

Label switch router (LSR) primarily forwards labeled packets (label swapping) Edge LSR primarily labels IP packets and forwards them into MPLS domain, or removes labels and forwards IP packets out of the MPLS domain
2001, Cisco Systems, Inc. MPLS v1.02-18

ATM Label Switch Router


MPLS Domain
10.1.1.1 L=1/3 L=1/3 L=1/3 L=1/5 L=1/5 L=1/5 10.1.1.1

20.1.1.1

L=1/6

L=1/6

L=1/6

L=1/9

L=1/9

L=1/9

20.1.1.1

ATM Edge LSR

ATM LSR

ATM LSR can only forward cells ATM edge LSR segments packets into cells and forwards them into an MPLS ATM domain, or reassembles cells into packets and forwards them out of an MPLS ATM domain
2001, Cisco Systems, Inc. MPLS v1.02-19

Architecture of LSRs
LSRs, regardless of the type, perform the following three functions:
Exchange routing information Exchange labels Forward packets (LSRs and edge LSRs) or cells (ATM LSRs and ATM edge LSRs)

The first two functions are part of the control plane. The last function is part of the data plane.
2001, Cisco Systems, Inc. MPLS v1.02-20

Architecture of LSRs
LSR
Exchange of routing information

Control Plane
Routing Protocol IP Routing Table

Exchange of labels

Label Distribution Protocol

Incoming labeled packets

Data Plane
Label Forwarding Table

Outgoing labeled packets

LSRs primarily forward labeled packets or cells (ATM LSRs).


2001, Cisco Systems, Inc. MPLS v1.02-21

Architecture of Edge LSRs


Edge LSR
Exchange of routing information

Control Plane
Routing Protocol IP Routing Table

Exchange of labels

Label Distribution Protocol

Incoming IP packets
Incoming labeled packets

Data Plane
IP Forwarding Table Label Forwarding Table

Outgoing IP packets
Outgoing labeled packets

Note: ATM edge LSRs can only forward cells.


2001, Cisco Systems, Inc. MPLS v1.02-22

MPLS Labels and Label Stack

2001, Cisco Systems, Inc.

MPLS v1.02-23

MPLS Label Format


LABEL
0

EXP
19 20

TTL
31

22 23 24

MPLS uses a 32-bit label field that contains the following information:
20-bit label (a number) 3-bit experimental field (usually used to carry IP precedence value) 1-bit bottom-of-stack indicator (indicates whether this is the last label before the IP header) 8-bit TTL (equal to the TTL in IP header)
2001, Cisco Systems, Inc. MPLS v1.02-24

MPLS Labels
Labels are inserted between the Layer 2 (frame) header and the Layer 3 (packet) header. There can be more than one label (label stack). The bottom-of-stack bit indicates if the label is the last label in the label stack. The TTL field is used to prevent indefinite looping of packets. Experimental bits are usually used to carry the IP precedence value.
2001, Cisco Systems, Inc. MPLS v1.02-25

MPLS Label Stack

Frame Header
PID=MPLS-IP

Label 1 Label 2 Label 3

IP Header

Payload

S=0

S=0

S=1

Protocol identifier in a Layer 2 header specifies that the payload starts with a label (labels) and is followed by an IP header Bottom-of-stack bit indicates whether the next header is another label or a Layer 3 header Receiving router uses the top label only
2001, Cisco Systems, Inc. MPLS v1.02-26

MPLS Label Stack


Usually only one label assigned to a packet. The following scenarios may produce more than one label: MPLS VPNs (two labelsthe top label points to the egress routers and the second label identifies the VPN) MPLS TE (two or more labelsthe top label points to the endpoint of the traffic engineering tunnel and the second label points to the destination) MPLS VPNs combined with MPLS TE (three or more labels)
2001, Cisco Systems, Inc. MPLS v1.02-27

MPLS Forwarding
An LSR can perform the following functions:
Insert (impose) a label or a stack of labels on ingress. Swap a label with a next-hop label or a stack of labels in the core. Remove (pop) a label on egress.

ATM LSRs can only swap a label with one label (VPI/VCI fields change).
2001, Cisco Systems, Inc. MPLS v1.02-28

MPLS Forwarding (Frame-Mode)


MPLS Domain
10.1.1.1 3 10.1.1.1 5 10.1.1.1 10.1.1.1

IP Lookup 10.0.0.0/8 label 3 LFIB label 8 label 3

IP Lookup 10.0.0.0/8 label 5 LFIB label 3 label 5

IP Lookup 10.0.0.0/8 next hop LFIB label 5 pop

On ingress a label is assigned and imposed by the IP routing process. LSRs in the core swap labels based on the contents of the label forwarding table. On egress the label is removed and a routing lookup is used to forward the packet.
2001, Cisco Systems, Inc. MPLS v1.02-29

MPLS Forwarding (Cell-Mode)


MPLS Domain
10.1.1.1 1/3 1/3 1/3 1/3 1/5 1/5 1/5 1/5 10.1.1.1

IP Lookup 10.0.0.0/8 label 1/3 LFIB label 8 label 1/3

IP Lookup 10.0.0.0/8 label 1/5 LFIB label 1/3 label 1/5

IP Lookup 10.0.0.0/8 Next hop LFIB label 1/5 pop

Labels (VPI/VCI) are imposed during the IP lookup process on ingress ATM edge LSRs. Packets are segmented into cells. ATM LSRs in the core swap labels based on the contents of the ATM switching table. ATM LSRs cannot forward IP packets. On egress ATM edge LSRs the labels are removed (cells are reassembled into packets) and a routing lookup is used to forward packets.
2001, Cisco Systems, Inc. MPLS v1.02-30

MPLS Applications

2001, Cisco Systems, Inc.

MPLS v1.02-31

MPLS Applications
MPLS is already used in many different applications:
Unicast IP routing Multicast IP routing Traffic Engineering (MPLS TE) QoS Virtual private networks (MPLS VPN)

Regardless of the application, the functionality is always split into the control plane and the data plane: The applications differ only in the control plane. They all use a common label-switching data plane. Edge LSR Layer 3 data planes may differ. In general, a label is assigned to a forwarding equivalence class (FEC).
2001, Cisco Systems, Inc. MPLS v1.02-32

Unicast IP Routing
Two mechanisms are needed on the control plane: IP routing protocol (OSPF, IS-IS, EIGRP, ...) Label distribution protocol (LDP or TDP) A routing protocol carries the information about the reachability of networks. The label distribution protocol binds labels to networks learned via a routing protocol. The forwarding equivalence class (FEC) is equal to a destination network, stored in the IP routing table.
2001, Cisco Systems, Inc. MPLS v1.02-33

Multicast IP Routing

A dedicated protocol is not needed to support multicast traffic across an MPLS domain.

peripheral interface manager (PIM) version 2 with extensions for MPLS is used to propagate routing information as well as labels.
FEC is equal to a destination multicast address, stored in the multicast routing table.

2001, Cisco Systems, Inc.

MPLS v1.02-34

MPLS TE
MPLS traffic engineering requires OSPF or ISIS with extensions for MPLS TE as the IGP. OSPF and IS-IS with extensions hold the entire topology in their databases. OSPF and IS-IS should also have some additional information about network resources and constraints. RSVP or CR-LDP is used to establish traffic engineering tunnels (TE tunnels) and propagate labels.
2001, Cisco Systems, Inc. MPLS v1.02-35

Quality of Service

Differentiated QoS is an extension to unicast IP routing that provides differentiated services. Extensions to TDP or LDP are used to propagate different labels for different classes. FEC is a combination of a destination network and a class of service.

2001, Cisco Systems, Inc.

MPLS v1.02-36

Virtual Private Networks


Networks are learned via an IGP (OSPF, EBGP, RIP version 2 [RIPv2] or static) from a customer or via BGP from other internal routers.
Labels are propagated via MP-BGP.

Two labels are used:


Top label points to the egress router (assigned through LDP or TDP). Second label identifies the outgoing interface on the egress router or a routing table where a routing lookup is performed.

FEC is equal to a VPN site descriptor or VPN routing table.


2001, Cisco Systems, Inc. MPLS v1.02-37

Interaction Between MPLS Applications


Control Plane
Unicast IP Routing
Any IGP Unicast IP routing table LDP or TDP Multicast IP routing table PIM version 2

Multicast IP Routing

MPLS Traffic Engineering


OSPF or IS-IS Unicast IP routing table LDP RSVP

Quality of Service
Any IGP Unicast IP routing table LDP or TDP

MPLS/VPN
Any IGP Unicast IP routing tables LDP BGP

Data Plane
Label forwarding table

2001, Cisco Systems, Inc.

MPLS v1.02-38

Differences Between Tag Switching and MPLS

2001, Cisco Systems, Inc.

MPLS v1.02-39

MPLS Standardization
MPLS functionality has been available in Cisco routers since Cisco IOS Release 11.1CT. It was called tag switching, and the switching part is equal to standard MPLS. The only difference between MPLS and tag switching is in the label distribution protocol: Cisco proprietary implementation uses TDP. IETF specifies LDP as the standard label distribution protocol. Although TDP and LDP are also functionally equivalent, they are not compatible. They can, however, coexist in an MPLS domain as long as any two peers are using the same protocol.
2001, Cisco Systems, Inc. MPLS v1.02-40

MPLS Standards
MPLS is basically a standardized version of tag switching. The following are just some of the many drafts defining MPLS: draft-ietf-mpls-arch draft-ietf-mpls-label-encaps draft-ietf-mpls-ldp Many other drafts can be found at http://www.ietf.org/html.charters/mplscharter.html
2001, Cisco Systems, Inc. MPLS v1.02-41

TDP vs. LDP


MPLS and tag switching are equal on the data plane. The only difference is on the control plane, where tag switching uses Cisco proprietary TDP and MPLS uses standard LDP. TDP and LDP are functionally equivalent but not compatible. TDP uses User Datagram Protocol (UDP) and Transmission Control Protocol (TCP) port number 711. LDP uses UDP and TCP port number 646.
2001, Cisco Systems, Inc. MPLS v1.02-42

Combining TDP and LDP


TDP & LDP

TDP

TDP

TDP

LDP

LDP

LDP TDP LDP TDP TDP to LDP

This example shows possible combinations of TDP and LDP. TDP is used by default, but it may be necessary to enable LDP for non-Cisco peering routers.
2001, Cisco Systems, Inc. MPLS v1.02-43

MPLS Implementation
MPLS is enabled per interface by enabling one or both distribution protocols.
The moment LDP or TDP is enabled, a router will try to find neighbors through the interface and establish a TDP or LDP session. TDP is the default label distribution protocol.
2001, Cisco Systems, Inc. MPLS v1.02-44

2001, Cisco Systems, Inc.

www.cisco.com

Chapter#-45