0% found this document useful (0 votes)
191 views116 pages

2020 MPLS 1 Intro

MPLS Technology and Applications, B. Davie and Y. Rekhter, Morgan Kaufman, 2001. Traffic Engineering with MPLS by E. Osborne and A. Simha, Cisco Press 2003; and IP Switching and Routing Essentials, S. Thomas, Wiley, 2002

Uploaded by

Mohammed
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
191 views116 pages

2020 MPLS 1 Intro

MPLS Technology and Applications, B. Davie and Y. Rekhter, Morgan Kaufman, 2001. Traffic Engineering with MPLS by E. Osborne and A. Simha, Cisco Press 2003; and IP Switching and Routing Essentials, S. Thomas, Wiley, 2002

Uploaded by

Mohammed
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 116

MPLS Introduction

The slides are based on:


A set of slides developed by MPLS Forum;
MPLS Technology and Applications, B. Davie and Y. Rekhter, Morgan Kaufman, 2001.
Traffic Engineering with MPLS by E. Osborne and A. Simha, Cisco Press 2003; and
IP Switching and Routing Essentials, S. Thomas, Wiley, 2002
Agenda
• How Does Traditional Routing Work?
✓ Brief overview
✓ The hyperaggregation problem, aka, the Fish problem.
• MPLS Architecture
✓ Data Plane and Control Plane
✓ MPLS Terminology
✓ How Does It Work?
✓ Label Distribution Protocol (LDP)
✓ Penultimate Hop Popping, Aggregation, TTL

Slide 2 IP/MPLS Introduction


MPLS – How It All Started
• Early Multi-Layer Switching Initiatives
✓ IP Switching (Ipsilon/Nokia)
✓ Tag Switching (Cisco)
✓ IP Navigator (Cascade/Ascend/Lucent)
✓ ARIS (IBM)
• IETF Working Group chartered in spring 1997
• IETF Solution should address the following problems:
✓ Enhance performance and scalability of IP routing
✓ Facilitate explicit routing and traffic engineering
✓ Separate control (routing) from data forwarding mechanism so each
can be modified independently
✓ Develop a single forwarding algorithm to support a wide range of routing
functionality
Slide 3 IP/MPLS Introduction
How Did We Get Here?
• Growth and Evolution of the Internet
✓ Both number of users and bandwidth requirements
➢ ISPs need higher performance switching/routing products
✓ Increased number of nodes, more routes in routing tables, more
flows passing thro a point, …
➢ Scalability: the ability to grow the network
✓ Evolution of routing functionality of the Internet
➢ Classless Interdomain Routing (CIDR): prefixes can be any length.
Requires changes to in the forwarding algorithm of all IP routers and
affect performance.
• Label Switching
✓ Forwarding algorithm is independent of control paradigms and
can be put in hardware, or tune software once
✓ Shorten the time to develop & deploy new routing functionality
✓ New services or apps have been developed after lab switching …

Slide 4 IP/MPLS Introduction


Traditional IP Routing
• Examines the destination IP address for each
packet received*
MAC Frame

Dest Src Len/Etype


Flags Data FCS
ToS

Total Hdr. Src. Dest.


IHL
Ver

ID Frag. TTL Pro. Opt. Pad


Length Check IP IP

*This is a strict interpretation of connectionless routing


Slide 5 IP/MPLS Introduction
Case 1: A Direct Route

B.0

B 2
C.1 C.2
1 3 1 2
D.0
A.0 C.0

Dest. Next Hop Cost Port


A.0 direct 0 1
B.0 direct 0 2
C.0 direct 0 3
D.0 C.2 1 3
Slide 6 IP/MPLS Introduction
Case 1: A Direct Route

B.0
B

B 2
C.1 C.2
1 3 1 2
D.0
A.0 C.0

Dest. Next Hop Cost Port


A.0 direct 0 1
B.0 direct 0 2
C.0 direct 0 3
D.0 C.2 1 3
Slide 7 IP/MPLS Introduction
Case 2: An Indirect Route

B.0

D 2
C.1 C.2
1 3 1 2
D.0
A.0 C.0

Dest. Next Hop Cost Port


A.0 direct 0 1
B.0 direct 0 2
C.0 direct 0 3
D.0 C.2 1 3
Slide 8 IP/MPLS Introduction
Case 2: An Indirect Route

B.0

D 2 D
C.1 C.2
1 3 1 2
D.0
A.0 C.0

Dest. Next Hop Cost Port


A.0 C.1 1 1
B.0 C.1 1 1
C.0 direct 0 1
D.0 direct 0 2
Slide 9 IP/MPLS Introduction
Case 2: An Indirect Route

B.0

D 2 D D
C.1 C.2
1 3 1 2
D.0
A.0 C.0

Dest. Next Hop Cost Port


A.0 C.1 1 1
B.0 C.1 1 1
C.0 direct 0 1
D.0 direct 0 2
Slide 10 IP/MPLS Introduction
Per-Hop Routing:
Three Important Questions
• Q: What field on the packet do we use to make
the forwarding decision?
✓ A: The destination IP address
• Q: When we use this field as an index into the
Routing Table…what do we look up?
✓ The next hop IP address
• Q: What other vital piece of information does
the Routing Table contain?
✓ An internal reference to the output I/F

Slide 11 IP/MPLS Introduction


Per-Hop Routing:
Three Important Questions
• Q: What field on the packet do we use to make
the forwarding decision?
✓ A: The destination IP address
• Q: When we use this field as an index into the
Routing Table…what do we look up?
✓ A: The next hop IP address
• Q: What other vital piece of information does
the Routing Table contain?
✓ A: An internal reference to the output I/F

Slide 12 IP/MPLS Introduction


Per-Hop Routing:
Three Important Questions
• Q: What field on the packet do we use to make
the forwarding decision?
✓ A: The destination IP address
• Q: When we use this field as an index into the
Routing Table…what do we look up?
✓ A: The next hop IP address
• Q: What other vital piece of information does
the Routing Table contain?
✓ A: An internal reference to the output I/F

Slide 13 IP/MPLS Introduction


Per-Hop Routing:
Three Important Questions
• Q: What field on the packet do we use to make
the forwarding decision?
✓ A: The destination IP address
• Q: When we use this field as an index into the
Routing Table…what do we look up?
✓ A: The next hop IP address
• Q: What other vital piece of information does
the Routing Table contain?
✓ A: An internal reference to the output I/F

Slide 14 IP/MPLS Introduction


How Are These Routing
Tables Populated?
• Option 1: Direct Routes
✓ Router is directly connected.
✓ Router is told the address of its ports.
• Option 2: Manually (static)
✓ a.k.a. Static Routes between networks, not default
gateway
• Option 3: Automatically (dynamic)
✓ a.k.a. Routing Protocols
➢ IGPs: RIP, OSPF, ISIS
➢ EGPs: BGP
• Option 4: Default Route
✓ A special case of static route, e.g., used for gateway
Slide 15 IP/MPLS Introduction
Drawbacks of Conventional
Routing
• Performance
✓ In the past, routing was perceived as processor-limited
✓ Each forwarding decision might require ~1000 machine
instructions
✓ Longest prefix match was difficult to transfer to silicon
✓ Today, it is possible to build wire-speed routing in silicon

• Connectionless IP does not support Traffic


Engineering
✓ The "hyperaggregation problem“ (the fish problem)
• Difficulty of implementing QoS architectures
Slide 16 IP/MPLS Introduction
The Hyperaggregation
Problem
• Routing Protocols Create A Single "Shortest Path"
C1

C3

C2
"Longer" paths
become under-
Path for C1 <> C3 utilised

Path for C2 <> C3


Slide 17 IP/MPLS Introduction
Some Terminology...

• Network Engineering
✓ "Put the bandwidth where the traffic is"
➢ Physical cable deployment
➢ Virtual connection provisioning

• Traffic Engineering
✓ "Put the traffic where the bandwidth is"
➢ On-line or off-line optimisation of routes
➢ Implies the ability to diversify routes

Slide 18 IP/MPLS Introduction


Section 2: Agenda
• How Does Traditional Routing Work?
✓ Brief overview
✓ The hyperaggregation problem
• MPLS Architecture: What issues or additional
features need to be considered?
✓ Data Plane and Control Plane
✓ MPLS Terminology
✓ How Does It Work?
✓ Label creation, distribution, binding, and
maintenance.
✓ Label Distribution Protocol (LDP)
✓ Penultimate Hop Popping, Aggregation, TTL
Slide 19 IP/MPLS Introduction
Forwarding Fundamentals
• Network Layer Routing Functional Components:
Management, Control and Forwarding (or data) planes
✓ Management: used for operators (via CLIs) for monitoring, config., etc.

✓ Control: construction and maintenance of the forwarding table. Each


router has:
➢ One or more routing protocols (e.g. OSPF, BGP) to exchange routing
information
➢ Procedures to convert routing information to a forwarding table.

✓ Data / Forwarding: actual forwarding of packets from input to output


across a switch or a router.
➢ Needs two sources of information: forwarding table and the information
carried in the packet.
➢ Consists of procedures to make a forwarding decision on a packet:
 Identify the info from the packet to find an entry in the table
 Specify how to find the entry.
Slide 21 IP/MPLS Introduction
Datagram Forwarding
✓ Every datagram contains a host destination’s address
✓ From the host destination address “find out” associated
subnetwork. Steps:
➢ If destination host directly connected, then forward to host
➢ If destination host not directly connected, then forward to another
router based on best route
➢ Forwarding table maps subnetwork address into next hop router
through an interface
➢ Each host has a default router sitting on the LAN (sometimes called
Gateway)
➢ Routing table : subnet number AND mask ➔ I/F, next hop
 If more than one entry found: longest matching
➢ Each router maintains (by learning / manual provisioning) a
forwarding/routing table

Slide 22 IP/MPLS Introduction


Forwarding - IP addresses and
subnetting
• Routing table lookup (IP communications logic process)
✓ Are the source and target IP addresses in the same network?
➢ If NO, the IP datagram (packet) is sent to the gateway for delivery to the
right network
➢ If YES, the system must decide if the IP addresses are in the same
subnet
 If NO (different subnets), send to the router serving for the source
 If YES (same subnet),
 Does the source have the physical address (MAC for Ethernet)
for the target?
 If YES, send the packet to the corresponding node
 If NO, need to match the IP address to the MAC address.
How?
 ARP

Slide 23 IP/MPLS Introduction


24
C4602

IP Packet Header
0 4 8 16 19 24 31

Version IHL Type of Service Total Length

Identification Flags Fragment Offset

Time to Live Protocol Header Checksum

Source IP Address

Destination IP Address

Options Padding

Time to live (TTL): number of hops a packet is allowed to traverse in the network.
• Each router along the path to the destination decrements this value by one.
• If the value reaches zero before the packet reaches the destination, the router
discards the packet and sends an error message back to the source.
• Q: Why TTL?
Slide 24 IP/MPLS Introduction
• Why loops may happen using SPF?
Example of IP communications

• Source: 191.255.193.44
• Target: 191.255.206.13

• Same network?
• Same subnet?
✓ Don’t know without a subnet mask
✓ Mask: 255.255.240.0
✓ Source: 191.255.11000001.44
✓ Mask: 255.255.11110000.0
✓ Target: 191.255.11001110.13
Slide 25 IP/MPLS Introduction
Example of subnets and longest
prefix matching
• subnet X : 222.23.57.184 = 222.23.57. 1011 1000
• Mask X: /29 255.255.255.248 = 255.255.255. 1111 1000

• subnet Y : 222.23.57.192 = 222.23.57. 1100 0000


• Mask Y: /27 255.255.255.248 = 255.255.255. 1110 0000

• Host DA: X1: 222.23.57. 187 = 222.23.57. 1011 1011

Q: Two entries in RT, which subnet is matched?

• DA .AND. Mask X= 222.23.57. 187 && /29= 222.23.57. 1011 1000


Slide 26 IP/MPLS Introduction
• DA .AND. Mask Y= 222.23.57. 187 && /27= 222.23.57. 1010 0000
Forwarding Fundamentals

How to find the an entry in the table? Examples:


✓ forwarding of unicast packets
➢ Information from a packet used to find an entry: network layer
destination address
➢ Procedure: longest match algorithm

✓ forwarding of unicast packets with Types of Services


➢ Information used to find an entry: network layer destination address
and the Type of Service value
➢ Procedure: longest match algorithm on the dest address and the
exact match algorithm on the Type of Service value

✓ forwarding of multicast packets


➢ Information used to find an entry: network layer source and
destination addresses, and the incoming interface
➢ Procedure: both the longest match and the exact match algorithms

Slide 28 IP/MPLS Introduction


Forwarding Equivalence Class
(FEC)
• Partition all possible packets into disjoint subsets.
• Packets within the same subset are treated the same:
✓ Same next hop, incoming I/F, IP precedence values in the header,
the packets’ destination port #, or other scheme
✓ May differ from each other in the network layer header.
• Such subsets are referred to as FECs.
• All packets in the same FEC are treated the same.
✓ Examples: forwarding the packets down a certain path, providing
the packet some preferential treatment within the core, or even
dropping the packet.

Slide 29 IP/MPLS Introduction


Providing Consistent Routing

• Correct routing requires consistent forwarding across multiple


routers. We need:
✓ Control component:
➢ Consistent distribution of routing information used by the routers for
building forwarding tables
➢ Consistent procedures to construct forwarding tables
➢ Ex: OSPF procedures distribute link-state information among routers and
they use the same SPF algorithm, resulting in consistent set of FECs and
their next hops.
✓ Forwarding component:
➢ Consistent procedures for extracting the info from the packets
➢ Consistent method to find an appropriate entry in the table, resulting
consistent mapping of packets into FECs across multiple routers.
➢ Ex: Use only the dest addr and the longest match algorithm
✓ Challenge is in the distributed environment.
➢ Consistent results for a dynamic & distributed environment, many protocols
➢ Convergence time, especially for large networks
➢ OSPF RFC has > 250 pages Slide 31 IP/MPLS Introduction
Label Switching: The Forwarding
Component
• Two sources of information: forwarding table and
a label carried in the packet
• What is a label?
✓ Short, fixed-length packet identifier
✓ Unstructured
✓ Link local significance
✓ Decouple forwarding of packets from IP
headers

Slide 32 IP/MPLS Introduction


Label Switching Forwarding Tables

• A typical entry in a label switching table, aka label


information base (LIB), consists of a sequence of
entries, each consisting of:
✓ An incoming label and interface
✓ One or more subentries (for multicast forwarding), each has:
➢ An outgoing label
➢ An outgoing interface
➢ Next hop address
✓ May include information related to what resources the
packet may use, e.g., an outgoing queue.
✓ The table is indexed by the value contained in the incoming
label.
• An LSR may maintain a single forwarding table or a
forwarding table per each of its interfaces.
Slide 33 IP/MPLS Introduction
Carrying a Label in a Packet

• Where to put the label?


• Need to consider Layer 2, data link layer, technologies,
such as ATM and Frame Relay.
• ATM and Frame Relay can carry a label. But using this
approach limit the usefulness of label switching, because
some media such as Ethernet, Token Ring, or point-to-
point links do not support it.
• Can’t use data link layer header. Instead, we use a small
“shim” label header that is inserted between the link layer
and the network layer headers.

Slide 34 IP/MPLS Introduction


MPLS Label
Label (20-bits) EXP S TTL

MPLS Header IP Packet


32-bits

• Fields
✓ Label
✓ Experimental (can be used for CoS/QoS mapping)
✓ Stacking bit: bottom of stack
✓ Time to live
Slide 35 IP/MPLS Introduction
Label Switching Forwarding
Algorithm
• The forwarding algorithm used by the forwarding
component of label switching is based on label swapping.
• There is only one single forwarding algorithm.
• In the conventional approach, different functionality
provided by the control component (e.g., unicast, unicast
with ToS, multicast) requires multiple algorithms in the
forwarding component.
• With label switching, only one is needed: label swapping.

Slide 36 IP/MPLS Introduction


Multiprotocol: Both Above and Below

IPv6 IPv4 AppleTalk Network Layer


Protocols
Label Switching

Frame Relay

Point-to-Point
Ethernet

FDDI

ATM
Link Layer
Protocols

Slide 37 IP/MPLS Introduction


Label Switching: The Control
Component
• Responsible for:
✓ Distributing routing information among LSRs
✓ The procedures for LSRs to convert the routing information into a
forwarding table that is used by the forwarding component

• What routing protocols?


✓ Includes all the routing protocols (e.g., OSPF, BGP, …) for the
conventional routing.

• Mapping between labels and next hops


✓ Local
✓ Neighbors

Slide 38 IP/MPLS Introduction


Label Switching: The Control
Component
• So, additional procedures are needed for LSRs:
✓ Construct and maintain the forwarding table
✓ Inform other LSRs of the bindings it creates
✓ Create binding between labels and FECs

Network layer Procedures for Procedures


routing protocols creating binding for distributing
(e.g., OSPF, BGP) between labels label binding
and FECs information
FEC to FEC to
next hop mapping label mapping
Label switching forwarding table
(label to next hop mapping)

Slide 39 IP/MPLS Introduction


Label Binding: Local vs
Remote
• What types of labels are needed?
What information is needed for label binding?
• The label switching control component provides
two types of label bindings for incoming &
outgoing labels:
✓ Local binding: router creates the binding with a label
chosen and assigned locally
✓ Remote binding: router receives from other LSR label
binding info

Slide 40 IP/MPLS Introduction


Where is the binding happened?
Upstream vs Downstream Binding

• Local and remote bindings are usually used


together.
✓ Labels from the local binding are used as incoming
labels and labels from the remote binding are used as
outgoing labels

• Downstream label binding: binding between a


label and a FEC for the packet is created by a
downstream LSR.
• Upstream label binding: the opposite
Slide 41 IP/MPLS Introduction
Label Binding: Which Plane?
Control-Driven vs Data-Driven
• LSRs can create or destroy a binding between a label and
an FEC triggered either by
✓ Data packets that have to be forwarded by the LSR, or
✓ By control (routing) information (e.g., OSPF routing updates,
RSVP PATH/RESV messages) that has to be processed by the
LSR.
• The former is data-driven; the latter, control-driven
• Have impact on performance, scalability, robustness,
depending on the traffic scenarios
• Generally, control-driven is simpler and more robust.

Slide 42 IP/MPLS Introduction


Label Switching Router (LSR)

LSR
New
LSR York
San LSR
Francisco LSR

• Label-Switching Router (LSR)


✓ Forwards MPLS packets using label-switching
✓ Capable of forwarding native IP packets
✓ Executes one or more IP routing protocols
✓ Participates in MPLS control protocols

Slide 43 IP/MPLS Introduction


Ingress Router
Label Edge Router (LER)

Ingress New
LSR York
San
Francisco

• Ingress LSR
✓ Examines inbound IP packets
✓ Classifies packet to an FEC
✓ Generates MPLS header and assigns (binds) initial label
✓ Upstream from all other LSRs in the LSP
✓ All other routers inside the MPLS domain look at the labels only,
not at the IP address

Slide 44 IP/MPLS Introduction


Egress Router
Label Edge Router (LER)
Egress
LSR
New
York
San
Francisco

Penultimate
hop

• Egress LSR
✓ Processes traffic as it leaves the MPLS domain – based on IP
packet destination address
✓ Removes the MPLS header – unless the “Penultimate hop” router
already had removed it.
✓ Downstream from all other LSRs in the LSP

Slide 45 IP/MPLS Introduction


Label Switched Path (LSP)
• The path followed by labelled packets that are
assigned to the same FEC

IP Source IP Destination
Network Network

An Internet
Slide 46 IP/MPLS Introduction
Control Plane vs Data Plane

Control plane
IP routing protocols
Routing info
exchange with other routers

IP routing table

MPLS IP routing
control Label binding
exchange with other routers
Data plane
Label forwarding
Incoming labeled table Outgoing labeled
packets packets

Slide 48 IP/MPLS Introduction


Section 2: Agenda
• How Does Traditional Routing Work?
✓ Brief overview
✓ The hyperaggregation problem
✓ Data Plane and Control Plane
• MPLS Architecture
✓ MPLS Terminology
✓ How Does It Work?
✓ Label Distribution Protocol (LDP)
✓ Penultimate Hop Popping, Aggregation, TTL

Slide 49 IP/MPLS Introduction


Steps in the process

• Topology determination

• Path calculation / creation

• Data forwarding

Slide 50 IP/MPLS Introduction


Steps in the process

• Topology determination

• Path creation

• Data forwarding

Slide 51 IP/MPLS Introduction


Toplogy Determination
What happens when we switch on?

Router2 Network
Network Router1 B
A

LSR2 LSR3

LSRs use routing


protocols to discover LSR1 LSR4
network topology LSR5
eg. OSPF, ISIS, (BGP) LSR6

MPLS Domain

Slide 52 IP/MPLS Introduction


Why is there more than one protocol?

• OSPF, ISIS, BGP-4


✓ OSPF and ISIS are IGPs, BGP is an EGP
✓ Service providers prefer ISIS to OSPF (generalisation)

Slide 53 IP/MPLS Introduction


Topology Determination
What happens when we add IP networks?

Router2 Network
B
Network Router1
A

LSR2 LSR3

IP networks advertise
LSR1 LSR4
their addresses using
routing protocols into LSR5
the MPLS cloud LSR6

MPLS Domain

Slide 54 IP/MPLS Introduction


Steps in the process

• Topology determination

• Path creation

• Data forwarding

Slide 55 IP/MPLS Introduction


Label Distribution Concepts
• Actually distributed info include a label, an IP prefix, and a mask length, (and
QoS information if needed,) but called label distribution. Several possibilities:

• Ordered vs Independent Control


✓ Ordered: The LSR waits to receive bindings from up/down-stream nodes before
sending the labels it generated to its down/up-stream neighbors: RSVP.
✓ Independent: LSRs are free to distribute label bindings to their neighbors: LDP.

• Unsolicited vs On-Demand
✓ Unsolicited: An LSR advertises labels for all prefixes in its IGP to all neighbors
✓ On-Demand: LSRs do not hand out labels for prefixes unless they are asked.

• Liberal vs Conservative Retention: if LSRs receive labels bindings that are


not routing next hops, they may choose to:
✓ Liberal: Keep the bindings for future use in case the LSRs that sent these bindings
become next hops
✓ Conservative: Discard label bindings that are not currently useful.

Slide 56 IP/MPLS Introduction


Label Assignment & Distribution

Label
Assignment

Control Traffic
Driven Driven

Topology Request
Driven Driven

Slide 57 IP/MPLS Introduction


Label Assignment & Distribution

Label Label
Assignment Distribution

Control Traffic
Downstream Upstream
Driven Driven

Topology Request On-Demand Unsolicited


Driven Driven
•Independent •Independent
•Ordered •Ordered

Slide 58 IP/MPLS Introduction


Label Assignment & Distribution

Label Label
Assignment Distribution

Control Traffic
Downstream Upstream
Driven Driven

Topology Request On-Demand Unsolicited


Driven Driven
•Independent •Independent
•Ordered •Ordered

Slide 59 IP/MPLS Introduction


Label Distribution
Downstream Unsolicited - Ordered

Network Router1 LSRs use


A routing protocols
to discover
LSR7 network topology Router2 Network
LSR2 B

Net.B #70 Net.B #18


Net.B #21 Net.B

Net.B #71 Router 2 advertises


Net.B #33
LSR1 LSR6 Network B into the
LSR3 MPLS Domain

As upstream LSR Net.B #72 Net.B #45


learns the FEC
egress LSR binds a label to
binding it distributes
the FEC and distributes the
a label for the FEC MPLS Domain
Label binding to LSR
LSR5 adjacencies

Slide 60 IP/MPLS Introduction


Downstream Unsolicited -
Ordered
Downstream Unsolicited Ordered Control
• LSRX and LSRY are said to have • Label-FEC binding is
an “LDP adjacency” (LSRX being communicated to peers if:
the downstream of LSRY) - LSR is the ‘egress’ LSR to
• LSRX discovers a ‘next hop’ for a particular FEC
particular FEC - label binding has been
• LSRX generates a label for the received from downstream
FEC and communicates the binding LSR
to LSRY • LSP formation ‘flows’ from egress
to ingress
• LSRY inserts the binding into its
forwarding tables
• If LSRX is the next hop for the FEC,
LSRY can use that label knowing
that its meaning is understood

Slide 61 IP/MPLS Introduction


Label Assignment & Distribution

Label Label
Assignment Distribution

Control Traffic
Downstream Upstream
Driven Driven

Topology Request On-Demand Unsolicited


Driven Driven
•Independent •Independent
•Ordered •Ordered

Slide 62 IP/MPLS Introduction


Label Distribution
Downstream Unsolicited - Independent

Network Router1
A

LSR7 Router2 Network


LSR2 B

Net.B #70 Net.B #18


Net.B #21
Net.B
Net.B #71 Net.B #33
LSR1 LSR3 LSR6

LSR communicates label-FEC Net.B #72 Net.B #45


binding to peers once next-hop
has been recognized MPLS Domain
LSR5

Slide 63 IP/MPLS Introduction


Unsolicited - Independent
Downstream Unsolicited Independent Control
• LSRX and LSRY are said to have
an “LDP adjacency” (LSRX being • Each LSR makes independent
the downstream of LSRY) decision on when to generate labels
• LSRX discovers a ‘next hop’ for a and communicate them to upstream
particular FEC peers
• LSRX generates a label for the • Communicate label-FEC binding to
FEC and communicates the binding peers once next-hop has been
to LSRY recognized
• LSRY inserts the binding into its • LSP is formed as incoming and
forwarding tables outgoing labels are spliced together
• If LSRX is the next hop for the FEC,
LSRY can use that label knowing
that its meaning is understood

Slide 64 IP/MPLS Introduction


Label Distribution
Liberal Label Retention
Network Router1
A

LSR7 Router2 Network


LSR2 B

Net.B #70 Net.B #18


Net.B #21
Net.B
Net.B #71 Net.B #33
LSR1 LSR3 LSR6

Net.B #72 Net.B #45


LIB
#71 #33
MPLS Domain
#71 #21
#71 #72 LSR5

Slide 65 IP/MPLS Introduction


Label Distribution
Conservative Label Retention
Network Router1
A

LSR7 Router2 Network


LSR2 B

Net.B #70 Net.B #18


Net.B #21
Net.B
Net.B #71 Net.B #33
LSR1 LSR3 LSR6

Net.B #72 Net.B #45


LIB
#71 #33
MPLS Domain
LSR5

Slide 66 IP/MPLS Introduction


Liberal vs Conservative
Label Retention
Liberal Conservative

• LSR only maintains bindings


• LSR maintains bindings received
received from valid next hop
from LSRs other than the valid next
hop • If the next-hop changes, binding
must be requested from new next
• If the next-hop changes, it may
hop
begin using other bindings
immediately • Restricts adaptation to changes in
routing
• May allow more rapid adaptation to
routing changes • Fewer labels must be maintained
• Requires an LSR to maintain many
more labels

Slide 67 IP/MPLS Introduction


Label Assignment & Distribution

Label Label
Assignment Distribution

Control Traffic
Downstream Upstream
Driven Driven

Topology Request On-Demand Unsolicited


Driven Driven
•Independent •Independent
•Ordered •Ordered

Slide 68 IP/MPLS Introduction


Label Distribution
Downstream-On-Demand
When LSR2 receives a
Packet destined for Net B
Network Router1 It sends a Label Request
A To egress LSR for Net B
Net.B
LSR7 Router2 Network
B
LSR2
Net.B #70
Net.B
Net.B?
Net.B? Net.B?
LSR1 LSR3 LSR6 Ingress LSR learns of
Net.B #71 Net.B #33 Network B and
Advertises Net B via
Routing protocol
When Egress LSR for
update
Net B get the Label
Request it creates a MPLS Domain
label for the FEC and
LSR5 sends it back toward the
requesting LSR

Slide 69 IP/MPLS Introduction


Label Switched Path – Created &
Forwarding Table Updated
Network Router1
A

LSR7 Router2 Network


B
1 LSR2
Out port/
Dest label Action
Net.B 1/70 Push
2 1
LSR1 1 2 LSR3 1 2 LSR6

In port/ Out port/ In port/ Out port/


label label Action In port/ Out port/ label label Action
2/70 1/71 Swap label label Action 2/33 1 Pop
2/71 1/33 Swap

LSR5 MPLS Domain

Slide 70 IP/MPLS Introduction


Steps in the process

• Topology determination

• Best path determination

• Data forwarding

Slide 71 IP/MPLS Introduction


Data Forwarding –
Unlabelled packet

Network Router1
A
Net.B LSR7
Router2 Network
B
1 LSR2
Out port/
Net.B 70
Dest label Action
Net.B 1/70 Push
2 1
LSR1 1 2 LSR3 1 2 LSR6

MPLS Domain
LSR5

Slide 72 IP/MPLS Introduction


Data Forwarding –
LSR1 – LSR3

Network Router1
A
LSR7
Router2 Network
B
1 LSR2
Net.B 70

Net.B 71
2 1
LSR1 1 2 LSR3 1 2 LSR6
In port/ Out port/
label label Action
2/70 1/71 Swap

MPLS Domain
LSR5

Slide 73 IP/MPLS Introduction


Data Forwarding –
LSR3 – LSR6

Network Router1
A
LSR7
Router2 Network
B
1 LSR2

Net.B 71 Net.B 33
2 1
LSR1 1 2 LSR3 1 2 LSR6

In port/ Out port/


label label Action
2/71 1/33 Swap

MPLS Domain
LSR5

Slide 74 IP/MPLS Introduction


Data Forwarding –
LSR6 – Router

Network Router1
A
LSR7
Router2 Network
B
1 LSR2
Net.B

Net.B 33 1
2
LSR1 1 2 LSR3 1 2 LSR6
In port/ Out port/
label label Action
2/33 1 Pop

MPLS Domain
LSR5

Slide 75 IP/MPLS Introduction


Data Forwarding –
Unlabelled packet delivered

Network Router1
A
LSR7
Router2 Network
B
1 LSR2
Net.B

2 1
LSR1 1 2 LSR3 1 2 LSR6

MPLS Domain
LSR5

Slide 76 IP/MPLS Introduction


Label Switching:
Three Important Questions
• Q: What field on the labelled packet do we use
to make the forwarding decision?
✓ A: The outermost label
• Q: When we use this field as an index into the
LIB…what do we look up?
✓ A: The output I/F (or queue) reference
• Q: What other vital piece of information does
the LIB contain?
✓ A: The outbound label value

Slide 77 IP/MPLS Introduction


Label Switching:
Three Important Questions
• Q: What field on the labelled packet do we use
to make the forwarding decision?
✓ A: The outermost label
• Q: When we use this field as an index into the
LIB…what do we look up?
✓ A: The output I/F (or queue) reference
• Q: What other vital piece of information does
the LIB contain?
✓ A: The outbound label value

Slide 78 IP/MPLS Introduction


Label Switching:
Three Important Questions
• Q: What field on the labelled packet do we use
to make the forwarding decision?
✓ A: The outermost label
• Q: When we use this field as an index into the
LIB…what do we look up?
✓ A: The output I/F (or queue) reference
• Q: What other vital piece of information does
the LIB contain?
✓ A: The outbound label value

Slide 79 IP/MPLS Introduction


Label Switching:
Three Important Questions
• Q: What field on the labelled packet do we use
to make the forwarding decision?
✓ A: The outermost label
• Q: When we use this field as an index into the
LIB…what do we look up?
✓ A: The output I/F (or queue) reference
• Q: What other vital piece of information does
the LIB contain?
✓ A: The outbound label value

Slide 80 IP/MPLS Introduction


Section 2: Agenda
• How Does Traditional Routing Work?
✓ Brief overview
✓ The hyperaggregation problem
✓ Data Plane and Control Plane
• MPLS Architecture
✓ MPLS Terminology
✓ How Does It Work?
✓ Label Distribution Protocol (LDP)
✓ Penultimate Hop Popping, Aggregation, TTL

Slide 81 IP/MPLS Introduction


We need a protocol to create
these LSPs
• Requires a signaling protocol to:
✓ Coordinate label distribution
✓ Loop prevention
✓ Explicit routing using an LSP
✓ Bandwidth reservation
✓ Class of Service (DiffServ style)
✓ Pre-emption of existing LSPs

Slide 82 IP/MPLS Introduction


MPLS signaling protocols

• Label Distribution Protocol - LDP

• RSVP-TE

• CR-LDP

• BGP4-TE

Slide 83 IP/MPLS Introduction


MPLS signaling protocol -
LDP

• Label Distribution Protocol - LDP

• RSVP-TE

• CR-LDP

• BGP4-TE

Slide 84 IP/MPLS Introduction


LDP Message Types
• Discovery
✓ Announce and maintain the presence of LSR
✓ Send a Hello message periodically via UDP
• Session
✓ Establish, maintain, and delete sessions over TCP
• Advertisement
✓ Create, change, and delete label mappings for FECs over TCP
• Notification
✓ Provide status, diagnostic, and error information over TCP

Slide 85 IP/MPLS Introduction


LDP Message Exchange

LSR A LSR B

UDP-Hello
Discovery
UDP-Hello

TCP- Initialization
Session
TCP-Initialization

TCP- Label Request


Advertisement

TCP- Label Mapping

Slide 86 IP/MPLS Introduction


LDP - Discovery
• Basic Discovery
✓ LDP Hellos sent periodically on interface
✓ LDP Hellos sent as UDP packets addressed to well-
known LDP discovery port
✓ Hello includes a Hello hold time
✓ Hello carries the LSR Identifier and Label Space LSR
intends to use on the interface
✓ Receipt of Hello establishes Hello Adjacency

Slide 87 IP/MPLS Introduction


LDP – Session Initialization
• Active LSP (higher LSR Identifier) sends Session
Initialization (TCP) message to passive LSR
• Session Initialization contains:
✓ LDP Protocol version
✓ Label distribution and control method
✓ Timer values
✓ VPI/VCI or DLCI label ranges
• If passive LSR accepts parameters it responds
with a KeepAlive; else a Notification reject

Slide 88 IP/MPLS Introduction


LDP - Advertisement
• Label Binding –
✓ LSR distributes a label mapping for a FEC to an LDP peer
➢ LDP defines two FEC Types:
 IP Address Prefix
 Host Address

• Label Withdrawal
✓ LSR informs an LDP peer that it may not continue to use specific
bindings the LSR had previously advertised
• Label Release
✓ LSR informs a peer that it no longer needs a binding previously
received

Slide 89 IP/MPLS Introduction


LDP – Advertisement
Label Request
• LSR may transmit a Label Request when:
✓ LSR recognizes a FEC via the forwarding table, and
the next hop is an LDP peer, and there is no mapping
for the FEC
✓ LSR recognizes that the next hop to a FEC changes,
and LSR doesn’t already have a mapping from that
next hop for the FEC
✓ LSR receives a Label Request for a FEC from an
upstream LDP peer, the next hop is an LDP peer, and
the LSR doesn’t already have a mapping from that
next hop.

Slide 90 IP/MPLS Introduction


LDP – Advertisement
Label Request Message

0 Label Request (0x401) Message Length


Message ID

FEC TLV

Optional Parameters

Optional Parameters (used for loop detection):


Hop Count TLV – Specifies the running total of LSRs along the
LSP being setup
Path Vector TLV – Specifies the LSRs along the LSR being setup

Slide 91 IP/MPLS Introduction


LDP – Advertisement
Label Mapping Message

0 Label Mapping (0x400) Message Length


Message ID

FEC TLV

Label TLV

Optional Parameters

Optional Parameters:
Hop Count TLV
Path Vector TLV

Slide 92 IP/MPLS Introduction


LDP – Advertisement
Label Mapping - Independent Control
• If LSR configured for independent control a label
mapping message is sent when:
✓ LSR recognizes a new FEC via forwarding table and
LSR configured for Downstream Unsolicited mode
✓ LSR receives a label request from an upstream peer
for a FEC in the LSR forwarding table
✓ The next hop for a FEC changes to another LDP peer
✓ Attributes of a mapping change
✓ Receipt of a mapping from downstream next hop AND
➢ no upstream mapping has been created, OR
➢ attribute of mapping changed

Slide 93 IP/MPLS Introduction


LDP – Advertisement
Label Mapping - Ordered Control
• If LSR configured for ordered control a label
mapping message is sent when:
✓ LSR recognizes a new FEC via forwarding table and
LSR is the egress for the FEC
✓ LSR receives a label request from an upstream peer
for a FEC in the LSR forwarding table, and the LSR is
the egress for the FEC or has a downstream mapping
for the FEC
✓ The next hop for a FEC changes to another LDP peer
✓ Attributes of a mapping change
✓ Receipt of a mapping from downstream next hop AND
➢ no upstream mapping has been created, OR
➢ attribute of mapping changed
Slide 94 IP/MPLS Introduction
LDP – Advertisement
Label Withdraw Message
• Revokes a previously assigned binding
• Reason may include:
✓ FEC removed from in the forwarding table due to
routing change
✓ LSR configuration change

0 Address Withdrawal (0x301) Message Length


Message ID
Address List TLV

Slide 95 IP/MPLS Introduction


LDP – Advertisement
Label Release Message
• LSR sends a Label Release to inform LSP peer
that FEC-label mapping is no longer needed
• Reason may include:
✓ LSR that sent mapping is no longer next hop for FEC
✓ LSR receives a label mapping from an LSR which is not
the next hop and the LSR in conservative mode
✓ LSR receives a Label Withdraw message

Slide 96 IP/MPLS Introduction


LDP - Notification
• Sent by LSR to inform a LDP peer of a significant
event:
✓ Received LDP with unsupported protocol version
✓ LDP message type unsupported
✓ TLV not supported
✓ KeepAlive timer expired
✓ Session Initialization failure
➢ parameters unacceptable

Slide 97 IP/MPLS Introduction


Section 2: Agenda
• How Does Traditional Routing Work?
✓ Brief overview
✓ The hyperaggregation problem
✓ Data Plane and Control Plane
• MPLS Architecture
✓ MPLS Terminology
✓ How Does It Work?
✓ Label Distribution Protocol (LDP)
✓ Penultimate Hop Popping, Aggregation, TTL

Slide 98 IP/MPLS Introduction


Penultimate Hop Popping
• Requested by egress LSR to neighbor LSR by
using a special label value
• Penultimate LSR forwards packet without an
MPLS label, i.e., regular IP
• Used to prevent an egress LSR from having to
perform two lookups on a packet
✓ The packet has no Label so only the Routing FIB
needs to be looked at to determine where to forward
the packet

Slide 99 IP/MPLS Introduction


PHP signaled by Egress LSR

Network Router1
A
Net.B
LSR7 Router2 Network
B
LSR2
Net.B #70
Net.B
Net.B?
Net.B? Net.B?
LSR1 LSR3 LSR6
Net.B #71 Net.B #3

MPLS Domain
LSR5

Slide 100 IP/MPLS Introduction


Data Forwarding with PHP

Network Router1
A
Net.B LSR7
Router2 Network
B
1 LSR2
Out port/
Net.B 70
Dest label Action
Net.B 1/70 Push
2 1
LSR1 1 2 LSR3 1 2 LSR6

MPLS Domain
LSR5

Slide 101 IP/MPLS Introduction


Data Forwarding with PHP

Network Router1
A
LSR7
Router2 Network
B
1 LSR2
Net.B 70

Net.B 71
2 1
LSR1 1 2 LSR3 1 2 LSR6
In port/ Out port/
label label Action
2/70 1/71 Swap

MPLS Domain
LSR5

Slide 102 IP/MPLS Introduction


Data Forwarding with PHP

Network Router1
A
LSR7
Router2 Network
B
1 LSR2

Net.B 71 Net.B
2 1
LSR1 1 2 LSR3 1 2 LSR6

In port/ Out port/


label label Action
2/71 1/3 PoP

MPLS Domain
LSR5

Slide 103 IP/MPLS Introduction


Route Aggregation
• Produces a single label to a union of all traffic
with a common FEC
• Reduces the number of labels needed to handle
a particular set of packets
• Reduces the amount of label distribution control
traffic

Slide 104 IP/MPLS Introduction


Route Aggregation

Network Router1
A
Net.B
LSR7 Router2 Network
B
LSR2
Net.B #70
Net.B
Net.B?
Net.B? Net.B?
LSR1 LSR6
Net.B #71 LSR3 Net.B #32
Net.B?
Net.B #44 LSR5
MPLS Domain
Net.B

Router2 Network
C Slide 105 IP/MPLS Introduction
Time To Live (TTL)
• There are two approaches:
✓ At ingress IP TTL is copied into the MPLS Header
✓ MPLS TTL is decremented at each LSR
✓ At egress MPLS TTL is copied into IP TTL
➢ Prevents loops

• Or
✓ At ingress IP TTL copied into MPLS Header
✓ At egress MPLS TTL is decremented and copied into
IP TTL
➢ Hides structure of MPLS domain

Slide 106 IP/MPLS Introduction


Section 2: Agenda
• How Does Traditional Routing Work?
✓ Brief overview
✓ The hyperaggregation problem
✓ Data Plane and Control Plane
• MPLS Architecture
✓ MPLS Terminology
✓ How Does It Work?
✓ Label Distribution Protocol (LDP)
✓ Penultimate Hop Popping, Aggregation, TTL
✓ ATM Issues

Slide 107 IP/MPLS Introduction


ATM Issues
• Encapsulation of labeled packets on ATM links
• Looping and TTL adjustments
• Cell interleave and VC-merge

Slide 108 IP/MPLS Introduction


ATM Encapsulation
• MPLS label stack is inserted into a packet before
segmenting the packet into cells
• The VPI/VCI is associated with the outmost label
Label Stack Network Layer packet AAL5 trailer

48 bytes 48 bytes 48 bytes

Cell-based ATM

Frame-based
ATM

Slide 109 IP/MPLS Introduction


ATM Label Distribution
Downstream-On-Demand
Network Router1
A
Net.B
ATM-LSR7 Router2 Network
B
ATM-LSR2
Net.B 70/24 Net.B?
18/23
Net.B?
Net.B? Net.B?
ATM-LSR1 ATM-LSR3 ATM-LSR6
Net.B 71/21 Net.B 33/82

MPLS Domain
ATM-LSR5

Slide 110 IP/MPLS Introduction


ATM TTL Adjustments
• ATM-LSR have no capability to decrement TTL
• Edge LSR relies on Hop Count of downstream-on
demand with ordered control LDP to determine
number of LSR hops across MPLS domain
• The edge LSR adjusts the IP TTL according to
Hop Count before transmitting packet
• Loop avoidance is via Path Vector

Slide 111 IP/MPLS Introduction


ATM Label Distribution
TTL Determination - Hop Count
Network Router1
A
Net.B
ATM-LSR7 Router2 Network
B
ATM-LSR2
Net.B 70/24;HC=4 Net.B?;HC=4
18/23;HC=4
Net.B?;HopCount=1
Net.B?;HC=2 Net.B?;HC=3
ATM-LSR1 ATM-LSR3 ATM-LSR6
Net.B 71/21;HC=4 Net.B 33/82;HC=4

MPLS Domain
ATM-LSR5

Slide 112 IP/MPLS Introduction


Cell Interleaving
• VC-Merge – Label is VPI/VCI and ATM-LSRs are
required to buffer cells from one packet until the
entire packet is received
✓ Requires multiple labels per FEC
✓ Introduces delay
• VP-Merge – Label is VPI and the VCI is used as
an identifier to distinguish different frames sent
with the same VPI
✓ Limits number of labels to the VPI space

Slide 113 IP/MPLS Introduction


VC-Merge

1/5

1/5

1/5

ATM-LSR1 1/7 1/7 1/7 1/7 1/7 1/7 ATM-LSR2

1/3
1/3
1/3

Slide 114 IP/MPLS Introduction


VP-Merge

1/3

1/3

1/3

ATM-LSR1 4/7 4/7 4/3 4/3 4/7 4/3 ATM-LSR2

1/7
1/7
1/7

Slide 115 IP/MPLS Introduction


More on TE - TE before MPLS
• IP TE:
✓ Popular, used successfully by ISPs
✓ Major control mechanism: change the cost of a particular link or links
✓ Coarse, manual, limited

• ATM TE:
✓ Place PVCs across the network from src to dest
✓ Fine-grained control over the traffic flow
✓ Full mesh PVCs between a set of routers
✓ Periodically resize and reposition those PVCs based on observed traffic
from routers
✓ Scalability issues: O(n2) or O(n3)
➢ Link failure
➢ Node failure
✓ Cell tax

Slide 116 IP/MPLS Introduction


Example: the Fish Problem
• IP shortest path – all IP traffic routed this way.
Congestion may happen, while other links may be under-
utilized.
• ATM – build two PVCs and set their costs to the same for
load sharing
• ATM TE is more flexible than traditional IP TE
✓ No other devices connected to the networks are affected by any
metric change.
✓ ATM TE is more powerful, but has scalability and cost problem.
• MPLS TE: ATM TE capabilities + IP TE simplicity –
ATM TE scalability

Slide 117 IP/MPLS Introduction


Benefits of MPLS
• Decoupling of routing (control) and forwarding (data plane)
✓ Enables applications like TE
• Better integration of IP and ATM
✓ IP over ATM (carrying IP over ATM VCs), overly model:
➢ scalability limits
➢ Mapping issue for QoS
✓ MPLS bridges the gap between IP and ATM: VPI/VCI values are
used as labels for cells, called Label-Controlled ATM (LC-ATM) or
IP+ATM
• Basis of building new applications/services, e.g., TE,
VPNs

Slide 118 IP/MPLS Introduction


MPLS TE
• Like ATM VCs, MPLS TE LSPs (or TE tunnels) let the
headend of a TE tunnel control the path its traffic takes to
a dest.
• Unlike ATM VCs, no need full mesh of routing neighbors
• Like ATM, MPLS TE can reserve bandwidth when it
builds LSPs.
• Unlike ATM, there is no forwarding-plane enforcement of
a reservation. A reservation is made in the control plane
only.
• The Fish problem with MPLS TE

Slide 119 IP/MPLS Introduction


Using MPLS TE in Real Life
• Typical real-life applications:
✓ Optimizing network utilization
➢ Strategic or full-mesh or partial-mesh approach: build LSPs that meet
bandwidth demands
➢ Get as much as you can from the infrastructure and delay upgrading,
which translates directly into cost by not having to buy bandwidth

✓ Handle unexpected congestion as needed


➢ Tactical approach

✓ Quick recovery from link and node failures


➢ Fast reroute (FRR) allows you to drastically reduce packet loss

✓ VPN services, Cloud-ready network services

Slide 120 IP/MPLS Introduction

You might also like