Transcript MPLS
Multiprotocol Label Switching
(MPLS)
Sookyoung Lee
Agenda
Problems of traditional IP routing
Motivations for MPLS
Objectives of MPLS
What is MPLS?
Label, FEC, LIB, LER, LSR, and LSP
How MPLS works?
LDP, CR-LEP, TE-RSVP
Main capabilities of MPLS
Connection-oriented QoS Support, Traffic Engineering,
VPN support, Multiprotocol Support
References
Problems of traditional IP routing
Problem of Traditional IP Routing
Longish latency at every hop
Header analysis Routing table lookup based on
the IP address Replace the layer 2 address
No assurance how a packet will travel
Some congested links and some underutilized links
No QoS - all packets are treated equally
No capability to prioritize packets between different
hosts and of different applications
Motivation for MPLS
Rapid growth of Internet
Increase in traffic volumes
Voice and data convergence on a single
network infrastructure
New latency dependent applications
Ever-increasing number of ISP networks
Still IP protocol suite popular – the most
predominant networking technology
Objectives of MPLS
Speed up IP packet forwarding
By cutting down on the amount of processing at
every intermediate router
Prioritize IP packet forwarding
By providing ability to engineer traffic flow and
assure differential QoS
Without losing on the flexibility of IP based
network
What is MPLS?
A technology to switch (forward) a packet at a
high speed at layer 2 using fixed length labels
obtained from layer 3 routing information.
Integration of layer 2 and layer 3
IP supplements
MPLS and ISO model
MPLS Architecture
MPLS terminology
MPLS Cloud
MPLS and ISO model
7
to
5
Applications
TCP
PPP
PPP
UDP
IP
MPLS
Frame
4
3
ATM (*)
ATM
2
Physical (Optical - Electrical)
1
FR
Relay
No modification needed on the existing layers when
MPLS layer is added.
MPLS must be backward compatible.
MPLS Architecture
LSP
Routing protocol
FEC table
Attributes
Label table
Label Switch
Classification
Label assignment
Label swapping
Label removal
OSPF
OSPF
Local table
Local table
Local table
Local table
Local table
Layer 2
Layer 2
Layer 2
Layer 1
Layer 1
Layer 1
Core
Node
Egress
Node
OSPF
Local table
Precedence
Ingress
Node
MPLS terminology
Label and Label Stack
FEC – Forward Equivalence Class
LIB – Label Information Base
LER – Label Edge Router
LSR – Label Switching Router
LDP – Label Distribution Protocol
LSP – Label Switched Path
Label
A short, fixed length identifier (32
bits)
Sent with each packet
Local between two routers
Can have different labels if entering
from different routers
One label for one FEC
Decided by the downstream router
LSR binds a label to an FEC
It then informs the upstream LSR
of the binding
Different depending on layer 2
technology
ATM: VCI/VPI field of ATM header
Frame Relay: DLCI field of FR
header
PPP/LAN: ‘shim’ header inserted
between layer 2 and layer 3
32bits
20bits
3bits 1
Label
EXP
S
8bits
TTL
S: bottom of stack bit
Exp: Experimental
1 to many
DLL header
label stack entry
NL header
L3 data
ATM-MPLS label
GFC
VPI
VCI
Label
PTI
CLP
HEC
DATA
Label Stack
Layer 2 Header
Label 3
Label 2
Label 1
MPLS Domain 1
MPLS supports hierarchy.
Each LSR processes the
topmost label.
If traffic crosses several
networks, it can be
tunneled across them
Advantage – reduces the
LIB table of each router
drastically
Slide by ByTamrat Bayle, Reiji Aibara, Kouji Nishimura
MPLS Domain 2
MPLS Domain 3
IP Packet
FEC (Forward Equivalence Class)
A group of packets that require the same forwarding treatment
across the same path
grouped based on
Address prefix
Host address
QoS
FEC is encoded as a label
Assume packets have the destination address and QoS requirements as
124.48.45.20
qos = 1
143.67.25.77
qos = 1
143.67.84.22
qos = 3
124.48.66.90
qos = 4
143.67.12.01
qos = 3
FEC –1 label a
143.67.25.77
FEC – 2 label b
124.48.45.20
FEC – 3 label c
143.67.84.22
143.67.12.01
FEC – 4 label d
124.48.66.90
LSR
MPLS Cloud
IP Packet
IP Packet w/ Label
LER
A router/switch that supports MPLS
Can be a router
Can be an ATM switch + label switch controller
Label swapping
Each LSR examines the label on top of the stack
Uses LIB to decide the outgoing path and the outgoing label
Removes the old label and attaches the new label
Forwards the packet on the predetermined path
L3 Routing
Ingress LER
Ordinary
IP Router
Egress LER
LSR
L3 Routing
L3 Routing
LER
LSP
LSR
Label Swapping
L3 Routing
LER
Can be an ATM switch or a router
Ingress LER performs the following:
Receives the packet
Adds label
Forwards the packet into the MPLS domain
Egress LER removes the label and delivers the packet
LSP
LSR
Label Swapping
LER
L3 Routing
LSP defines the path through LSRs from ingress to egress router
FEC is determined at the LER-ingress
LSPs are unidirectional
LSP might deviate from the IGP shortest path
Label Distribution Protocol (LDP)
LDP is the set of procedures and messages
For LSRs to establish LSPs through a network
by mapping network-layer routing information directly to
data-link layer switched paths.
associates a FEC with each LSP it creates.
Currently, several protocols used as LDP are
available:
CR-LDP, RSVP-TE: Provides functionality for traffic
engineering and QoS
Multiprotocol extentions of BGP-4
LDP messages
Discovery Messages - UDP
Used to announce and maintain the presence of an LSR in a
network
LSRs multicast these messges periodically to 224.0.0.2 and all
routers listen to this group
Session Messages - TCP
used to establish, maintain and terminate sessions between LDP
peers
Advertisement Messages - TCP
create, change and delete label mappings for FECs
Notification Messages - TCP
Used to provide advisory information and to signal error
information
Label Distribution Methods
Rd and Ru are said to have LDP adjacency
Ru
Rd
Label-FEC Binding
Unsolicited Downstream Label
Distribution
Rd discovers a ‘next hop’ for a
particular FEC
Rd generates a label for the
FEC and communicates
the binding to Ru
Ru inserts the binding into its
forwarding tables
Ru
Request for Binding
Rd
Label-FEC Binding
Downstream on Demand
Label Distribution
Ru recognizes Rd as its nexthop for an FEC
A request is made to Rd for a
binding between the FEC and
a label
If Rd recognizes the FEC and
has a next hop for it, it creates
a binding and replies to Ru
Unsolicited Downstream
Ingress Ingress
Interface Label
1
5
Ingress Ingress
Interface Label
FEC Egress Egress
Interface Label
3
138.120
1
12
FEC Egress Egress
Interface Label
138.120
4
12
MPLS switch
3
1
4
138.120
1
127.20
2
MPLS switch
1
3
3
2
3
2
1
1
x
FEC Egress Egress
Interface Label
138.120
3
5
192.168
2
MPLS switch
Ingress Ingress
Interface Label
MPLS switch
The downstream node
defines the label and
advertises it to the
upstream node.
x
Downstream stream on demand
Ingress Ingress
Interface Label
1
5
Ingress Ingress
Interface Label
FEC Egress Egress
Interface Label
3
138.120
1
12
FEC Egress Egress
Interface Label
138.120
4
x
12
MPLS switch
3
1
4
138.120
1
127.20
2
MPLS switch
1
3
3
2
3
2
1
1
x
FEC Egress Egress
Interface Label
138.120
3
5
192.168
2
MPLS switch
Ingress Ingress
Interface Label
MPLS switch
The label is requested by the
upstream node and the
downstream node defines the
label used.
Label Distribution and Management
Label Distribution Control Mode
Independent LSP control: Each LSR makes independent decision on
when to generate labels and communicate them to upstream peers
Ordered LSP control
Label-FEC binding is communicated to peers if:
•
•
LSR is the ‘egress’ LSR to particular FEC
Label binding has been received from upstream LSR
Used for explicit routing
Label Retention Mode
Conservative – LSR maintains only valid bindings
Liberal - LSR maintains bindings other than the valid next hop, more
label, quick adaptation for routing change
Label Advertisement Mode
Downstream allocation
Downstream-on-Demand allocation
Label Information Base (LIB)
Table maintained by the LSRs
Contents of the table
Incoming label
Outgoing label
Outgoing path
Address prefix
Incoming
label
Address Prefix
Outgoing
Path
Outgoing
label
MPLS forwarding example
In Address
Label Prefix
Out Out
Intf Label
In Address
Label Prefix
Out Out
Intf Label
In Address
Label Prefix
Out Out
Intf Label
X
128.89
1
4
4
128.89
0
9
9
128.89
0
X
X
171.69
1
5
5
171.69
1
7
X
171.69
2
5
...
...
...
...
...
...
...
...
...
...
...
...
0 128.89.*.*
2
128.89.25.4 data
0
1
9 128.89.25.4 data
128.89 .25.4 data
4 128.89.25.4 data
1
171.69.*.*
MPLS Protocol Stack
LER
LER
Core
MPLS
Network
End System
End System
MPLS Network
MPLS Interworking Architecture
LER
Routing
Protocol
Core LSR
LDP
TCP/UDP
Routing
Protocol
IP
LDP
TCP/UDP
LER
Routing
Protocol
IP
LDP
TCP/UDP
IP
MPLS Control protocol Stack Architecture
End
System
LER
IP
IP
Core LSR
MPLS
Layer2
PHY
MPLS
End
System
IP
IP
MPLS
Layer2
PHY
LER
Layer2
Layer2
Layer2
Layer2
PHY
PHY
PHY
PHY
MPLS Data Protocol Stack Architecture
Layer2
Layer2
PHY
PHY
Four main capabilities of MPLS
Connection-oriented QoS Support
Traffic Engineering
VPN support
Multiprotocol Support
Connection-oriented QoS Support
Connection-oriented network has powerful
traffic management and QoS capabilities.
MPLS
imposes a connection-oriented framework on a
connectionless IP-based Internet providing the
foundation for sophisticated and reliable QoS traffic
contracts.
Flow-by-flow QoS (End-to-end) not packet-by-packet
QoS (Hop-by-hop)
Traffic Engineering (TE)
What is TE?
Dynamically define routes
Maximize Bandwidth Utilization by spreading the network traffic
across network
Ensure available spare link capacity for re-routing traffic on
failure
Meet policy requirements imposed by the network operator
MPLS
has a primitive form of automated TE.
is aware of flows of packet not just individual packets
With MPLS, Routes are changed on a flow-by-flow basis (Explicit
routing), instead of simply changing the route on a packet-bypacket basis
Constrained-Based Routed LDP
(CR-LDP)
Modified LDP to set up the “Explicit Routing (ER-LSP)”
Strict ER-LSP: Specifies list of nodes using actual address of each
node to traverse.
Loose ER-LSP: Specifies list of nodes to act as one of the ‘abstract’
nodes to traverse.
It can co-exist with the pure LDP.
Introduces additional constraints (new parameters) for traffic
regulation
LER1
LSR2
LSR3
Advantages of Explicit Routing
Can use routes other than shortest path
Operator has routing flexibility
Traffic engineering
LER4
Explicitly Routed LSP
Overload !!
LER 1
Overload !!
Forward to
LSR 2
LSR 3
LSR 4
LSR X
LSR 2
LER 4
LSR 3
End-to-End forwarding decision determined by ingress
node.
Enables Traffic Engineering
CR-LDP Traffic Engineering
QoS and Traffic parameters
Path Preemption
Path Re-optimization
0 1
Failure Notification
U F
Loop Detection
Traffic Para TLV
Flags
Frequency
15
31
Length
Reserved
Peak Data Rate
Peak Rate – Maximum rate at which traffic
should be sent to CR-LDP
Committed Rate – The rate that the MPLS
domain commits to be available to the CRLSP
Excess Burst Size – Measures the extent by
which the traffic sent on CR-LSP exceeds the
committed rate
Frequency – constraints delay
Peak Burst Size
Committed Data Rate
Committed Burst Size
Excess Burst Size
Weight
TE-RSVP
QoS and Traffic parameters
Failure Notification
Loop Detection
Multi Protocol Support
Path Preemption
Slide by ByTamrat Bayle, Reiji Aibara, Kouji Nishimura
VPN support
With VPN, the traffic of a given enterprises or group
passes transparently through the Internet in a way that
effectively segregates that traffic from other packets on
the Internet.
MPLS provides an efficient mechanism for supporting
VPNs proving performance guarantees and security.
LSP - Label Switched Path
VPN A
LDP
VPN
VPN B
LDP
VPN
LDP
VPN
VPN B
P3
P5
P1
LDP
VPN
VPN A
VPN A
P2
P4
Multiprotocol Support
MPLS can be used on many networking technologies.
MPLS supports IPv4, IPv6, IPX, AppleTalk at the network layer.
MPLS supports Ethernet, Token Ring, FDDI, ATM, FR, PPP at
the link layer.
Universal nature of MPLS
MPLS enabled routers can coexist with ordinary IP routers.
MPLS-enabled ATM switches and MPLS-enabled FR switches
can be configured to co-exist wit ordinary ATM or FR switches.
MPLS is a good solution to optimize resources and
expand QoS support over mixed network technologies.
References
MPLS Charter: http://www.ietf.org/html.charters/mplscharter.html
MPLS Resource Center: http://www.mplsrc.com
MPLS Forum: http://www.mplsforum.org
Basic RFCs
RFC 3031/3032 MPLS Forwarding/Architecture
RFC 3036 MPLS LDP Specification
RFC 3215 LDP State Machine
RFC 2205 MPLS Signaling RSVP
RFC 3209 MPLS Signaling RSVP-TE