Escolar Documentos
Profissional Documentos
Cultura Documentos
MPLS Concepts
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.
MPLS v1.02-3
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.
2001, Cisco Systems, Inc. MPLS v1.02-5
10.1.1.1
Large Site B
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
Partial Mesh
Allows for the cost effectiveness of hub and spoke, but also allows critical sites to have pointto-point connections
MPLS v1.02-8
Full Mesh
Need advantages of point-to-point links throughout topology Circuits = n (n-1) / 2 n = number of sites 435 circuits = 30 (30-1)/2
2001, Cisco Systems, Inc. MPLS v1.02-9
MPLS v1.02-10
IP routing provides dynamic, automatic path setup Provides best path and backup paths Provides QoS Disadvantages
2001, Cisco Systems, Inc. MPLS v1.02-11
The MPLS network although owned by a service provider but is an extension of the enterprise network.
2001, Cisco Systems, Inc.
MPLS v1.02-13
MPLS network:
Converges dynamically
MPLS v1.02-15
MPLS Example
10.1.1.1 10.1.1.1
Routing lookup and label assignment 10.0.0.0/8 L=25 Label swapping L=25 L=23
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-17
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-18
Large Site A
Large Site B
Small Site C
Traffic can be forwarded based on other parameters (QoS, source, ...). Load sharing across unequal paths can be achieved.
MPLS v1.02-19
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 information base, or LIB).
2001, Cisco Systems, Inc. MPLS v1.02-20
MPLS Architecture
Control plane
routing protocols database
IP routing table (RIB) Label Information Base (LIB)
Label bindings learned via LDP from other routers Routing updates from other routers
Data plane
Incoming IP Packet
MPLS Architecture
Control Plane
OSPF: 10.0.0.0/8
OSPF
OSPF: 10.0.0.0/8
LDP
Data Plane
Labeled packet Label 17
LFIB 4017
Router functionality is divided into two major parts: control plane and data plane
2001, Cisco Systems, Inc. MPLS v1.02-22
MPLS v1.02-23
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 3-bit experimental field 1-bit bottom-of-stack indicator 8-bit time-to-live (TTL) field
MPLS v1.02-24
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
MPLS v1.02-25
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-26
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 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-27
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-28
Architecture of LSRs
LSR
Exchange of routing information
Control Plane
Routing Protocol IP Routing Table
Exchange of labels
Data Plane
Label Forwarding Table
Control Plane
Routing Protocol IP Routing Table
Exchange of labels
Incoming IP packets
Incoming labeled packets
Data Plane
IP Forwarding Table Label Forwarding Table
Outgoing IP packets
Outgoing labeled packets
MPLS v1.02-31
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-32
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-33
Frame Header
PID=MPLS-IP
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-34
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-36
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-37
MPLS Applications
MPLS v1.02-38
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-39
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-40
Multicast IP Routing
A dedicated protocol is not needed to support multicast traffic across an MPLS domain.
Protocol Independent Multicast (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.
MPLS v1.02-41
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-42
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.
MPLS v1.02-43
Multicast IP Routing
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
MPLS v1.02-45
MPLS v1.02-46
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-47
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-48
TDP
TDP
TDP
LDP
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-50
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-51