You are on page 1of 90

Multiprotocol Label Switching

(MPLS)
Label Switching Motivation

• The need to evolve the routing architecture


of IP networks
• The need for greater performance
characteristics
• The seemingly ever-increasing complexity
of mapping IP to ATM
• Scalability
• The need to add new routing functionality
A Brief History

• IP Switching by Ipsilon
• Cell Switching Router (CSR) by Toshiba
• Tag Switching by Cisco
• Aggregate Route-base IP Switching (ARIS)
by IBM
• The Multiprotocol Label Switching Working
Group ( IETF )

ATM
IP
Network Layer Routing
Functional Components

• Forwarding
Responsible for the actual forwarding of packets from
input to output across a switch or router

• Control
Responsible for construction and maintenance of the
forwarding table
Conventional routing model

• In a traditional connectionless network,


every router along the path makes an
independent forwarding decision for
every packet.
• In an IP network, this process involves
matching the destination address stored
in the IP header of each packet with the
most specific route obtained from the IP
routing table.
• Processor-intensive.
• Occurs at every node along the end-to-
end path.
IP Routing
D est O ut
4 7 .1 1
D est O ut 4 7 .2 2
4 7 .1 1 4 7 .3 3
4 7 .2 2
4 7 .3 3
1 47.1
3
1 2
3
D est O ut
2
4 7 .1 1
4 7 .2 2
4 7 .3 3
1
47.3 3 47.2

Destination based forwarding tables as built by OSPF, IS-IS, RIP, etc.


IP forwarding used by hop-by-hop control

D est O ut
4 7 .1 1
D est O ut 4 7 .2 2
4 7 .1 1 4 7 .3 3
4 7 .2 2
4 7 .3 3
1 47.1
IP 47.1.1.1
1 2 IP 47.1.1.1
D est O ut 3
4 7 .1 1 2
4 7 .2 2
4 7 .3 3 IP 47.1.1.1
1
47.3 3 47.2

2
IP 47.1.1.1
Label Switching forwarding model
• Optimum paths through the network are
identified in advance.
• Label Switching ingress devices use information
in the layer-3 header to assign the packets to one
of the predetermined paths - label assignment.
• The label accompanies the packet as it traverses
the network.
• Subsequent routers along the path use the label
to determine the next hop device.
• Label Switching devices only manipulate
information in the label, processor-intensive
analysis and classification of the layer-3 header
occurs only at the ingress point.
Label Switched forwarding model

Intf Label Dest Intf Label Intf Label Dest Intf


In In Out Out In In Out
3 0.50 47.1 1 0.40 3 0.40 47.1 1

1 47.1
IP 47.1.1.1
Intf Dest Intf Label IP 47.1.1.1
In Out Out 3
1
1.1 3 2
3 47.1 1 0.50 4 7.1.
IP 2
1
47.3 3 47.2
2
IP 47.1.1.1
What is a Label

A label is a short, fixed-length entity, with no


internal structure. A label does not directly
encode any of the information from the network
layer header. For example, a label does not
directly encode network layer addresses (neither
source nor destination addresses)

FEC
AF AF AF Afghanistan

LA PA TLV JFK
JFK GZ
JFK LA JFK
ME
JFK ME JFK
JFK ME FEC
Middle East

JFK FEC
USA USA USA
USA
A label by any other name...

There are many examples of label substitution


protocols already in existence.
• ATM - label is called VPI/VCI and travels with cell.
• Frame Relay - label is called a DLCI and travels with
frame.
• X25 - a label is an LCN
• Proprietary PORS, TAG etc…
Label stack Router (LSR)
• A label stack router is an label switching
node that is also capable of forwarding
native layer-3 packets.
• Edge LSRs are devices that implement the
control and forwarding components of both
label switching and conventional routing:
• An ingress node connects the label switching network with a
node that does not execute label switching functionality. The
ingress node handles traffic as it enters the label switching
network.
• An egress node connects the label switching network with a
node that does not execute label switching functionality. The
egress node handles traffic as it leaves the label switching
network.
Route at edge, Switch in core

IP IP #L1 IP #L2 IP #L3 IP

IP Forwarding LABEL SWITCHING IP Forwarding


Forwarding Equivalence Classes
• Forwarding equivalency class (FEC)
• A FEC is a group of layer-3 packets that are forwarded in
the same manner.
• All packets in this group follow the same network path and
have the same prioritization. Packets within an FEC may
have different layer-3 header information.
• However, to simply make a forwarding decision, these
packets are indistinguishable.
• Common examples of FEC groups are:
• A set of packets that are treated by the router in the same
way (sent to the same next hop).
• FEC is identified by a label.
Forwarding Equivalence Classes
LSR LSR
LER LER

LSP

IP1
IP1 #L1 IP1 #L2 IP1 #L3
IP2 #L1 IP2 #L2 IP2 #L3
IP2

Packets
Packets are
are destined
destined for
for different
different address
address prefixes,
prefixes,
but
but can
can be
be mapped
mapped to
to common
common path
path

• FEC = “A subset of packets that are all treated the same way by a router”
(i.e. they are all sent to the same next hop)
• The concept of FECs provides for a great deal of flexibility and scalability
• In conventional routing, a packet is assigned to a FEC at each hop
(i.e. L3 look-up – processor intensive ).
Label switching Forwarding Algorithm

Conventional Routing architecture


Routing Unicast Unicast Routing
Multicast Routing
function Routing with ToS
Longest Match on
source address +
Longest Match on
exact match on
Forwarding Longest Match on destination
source address,
algorithm destination address + exact match on
destination address,
Type of Service
and incoming
interface

Label Switching architecture


Routing Unicast Routing Multicast
Unicast Routing
function with ToS Routing
Forwarding Common forwarding
algorithm (label swapping)
Multiprotocol: above and below

Network
layer IPv6 IPv4 IPX AppleTalk
protocols

Label Switching

Point-to-Point
Frame Relay
Ethernet

FDDI

ATM
Link
layer
protocols
Label switching Control component

Procedure for Procedure for


Network layer routing
creating binding distribution
protocols
between labels information about
(e.g., OSPF, BGP, PIM)
and FECs created label binding

Maintenance of forwarding table


Upstream Vs. Downstream Label Binding

Packets with Packets with


label X label X

Binding Binding
Information Information
For label X For label X

Downstream Upstream
Control driven vs. data driven

An LSR creates or destroys a binding between a label


and an FEC as a result of a particular event.
Such an event could be triggered either by data
packets that have to be forwarded by the LSR or by
control (routing) information (e.g., OSPF routing
updates, PIM JOIN/PRUNE messages, RSVP PATH/RESV
messages) that has to be processed by the LSR
• Data-driven label binding: creation or destruction of
binding is triggered by data packets
• Control-driven label binding: creation or destruction of
binding is triggered by control packets
Destination based routing
The ability to deliver a packet to its IP destination using label switching

• Mapping between the FEC and the next hop for that FEC
(provided by the routing protocol(s) running on the LSR)
LSR participates in unicast routing protocols and uses the information provided by
these protocols to construct its mapping between FECs and their corresponding
next hope. This mapping is used by the control component only for the purpose of
constructing its forwarding table

• A local binding between the FEC and a label


The LSR takes a label from its pool of free labels. It use the label as an index to
determine a particular forwarding table entry. once the entry is determined the
next hop in the entry is set to the address of the next hop associated with the FEC,
and the outgoing interface is set to the interface that should be used to reach the
next hop

• A remote binding between the FEC and a label that is


received from the next hop
LSR distribute the local binding information to other LSRs. This information
consists of a set of <address prefix, label>, where address prefix identifies a
particular FEC and label defines the label value that the LSR uses for its local
binding associated with the FEC
Incoming Outgoing Next Outgoing
Tag tag Hop Interface LSR A
Determines the next hop (LSR B) for the FEC
100 ? TSR if1
associated with 192.6
B
Takes a label (100) from its pool of free labels
LSR A LSR B
if0 if1 if2
if1
if2 if0
if2LSR E
if0

if1 if2 if1

if0 if2 if1 if0


LSR C LSR D
Incoming Outgoing Next Outgoing Incoming Outgoing Next Outgoing
Tag tag Hop Interface Tag tag Hop Interface

100 ? LSR if1 6 ? LSR if1


B E

LSR A LSR B Incoming Outgoing Next Outgoing


Tag tag Hop Interface
if0 if1 if2
6 ? LSR if0
if1 E
if2 if0
if2LSR E
if0

if1 if2 if1

if0 if2 if1 if0


LSR C LSR D
Incoming Outgoing Next Outgoing Incoming Outgoing Next Outgoing
Tag tag Hop Interface Tag tag Hop Interface

17 ? LSR if2 5 ? LSR if0


D E
Each LSR starts to distribute information
about its local binding to other LSRs
LSR A
Incoming Outgoing Next Outgoing LSR B is next hop for 192.6;
Tag tag Hop Interface LSR A uses the information
(label 6) to update the
100 6 LSR if1
outgoing label entry
B
associated with 192.6 LSR B
LSR A LSR B Sends its local binding to
LSRs A, D and E
Neither D nor E use B as
if0 if1 if2 their next hop for 192.6
if1
if2 if0
if2LSR E
if0

if1 if2 if1

if0 if2 if1 if0


LSR C LSR D
Incoming Outgoing Next Outgoing Incoming Outgoing Next Outgoing
Tag tag Hop Interface Tag tag Hop Interface

100 6 LSR if1 6 6 LSR if1


B E

LSR A LSR B Incoming Outgoing Next Outgoing


Tag tag Hop Interface
if0 if1 if2
6 ? LSR if0
if1 E
if2 if0
if2LSR E
if0

if1 if2 if1

if0 if2 if1 if0


LSR C LSR D
Incoming Outgoing Next Outgoing Incoming Outgoing Next Outgoing
Tag tag Hop Interface Tag tag Hop Interface

17 5 LSR if2 5 6 LSR if0


D E
Ordered LSP establishment

LSR A

LSR D

LSR C
LSR E 192.69

label=14
label=6
FEC = 192.69
FEC = 192.69
Multiprotocol Label Switching
(MPLS)
• Downstream Label assignment
• On demand
• Unsolicited
• Labels allowed to be:
• Globally unique
• Unique per node
ATM • Unique per interface
IP
MPLS Terminology
• LSP: Label Switched Path
• FEC: Forwarding Equivalence Class
• LSR: Label Switching Router
• LER: Label Edge Router Used
Buzzwords
Sale
• LDP: Label Distribution Protocol
TTL
GPS
ATM FEC
Label stack and label hierarchies

• A labeled packet can contain more than


one label.
• The labels are maintained in FIFO stack.
• This hierarchy is used when an MPLS
node delivers a packet to a partner
MPLS node, but the nodes are not
consecutive routers on the hop-by-hop
path for the packet.
• A tunnel is created between the two
MPLS nodes.
Label stack and label hierarchies
La IP Hdr Payload Lb La IP Hdr Payload

R1 R2 LSP tunnel R3 R4
Level 1
Level 2
La IP Hdr Payload
R21 R22

Lb La IP Hdr Payload
MPLS stacks in a BGP environment

Lb La IP Hdr Payload EBGP

IGP R1 R2 IBGP R3 R4 IGP

EBGP
La IP hdr Payload
R21 R22

Lb La IP Hdr Payload
AS1 AS2 AS3
LSRs and Labels

PPP Header
(Packet over SONET/SDH)
PPP Header Shim Header Layer 3 Header

Ethernet Ethernet Hdr Shim Header Layer 3 Header

Frame Relay FR Hdr Shim Header Layer 3 Header

ATM Cell Header GFC VPI VCI PTI CLP HEC DATA

Label

Subsequent cells GFC VPI VCI PTI CLP HEC DATA

Label
MPLS Encapsulation - ATM
ATM
ATMLSR
LSRconstrained
constrainedby
bythe
thecell
cellformat
formatimposed
imposedby
byexisting
existingATM
ATMstandards
standards
5 Octets
ATM Header
Format VPI VCI PT CLP HEC

Option 1 Label Label


Option 2 Combined Label
Option 3 ATM VPI (Tunnel) Label

AAL 5 PDU Frame (nx48 bytes)


n ••• 1
Generic Label Encap. Network Layer Header AAL5 Trailer
ATM and Packet (eg. IP)
(PPP/LAN format)
SAR
48 Bytes

48 Bytes
ATM Header
ATM Payload •••

• Top 1 or 2 labels are contained in the VPI/VCI fields of ATM header


• One in each or single label in combined field, negotiated by LDP
• Further fields in stack are encoded with ‘shim’ header in PPP/LAN format
• Must be at least one, with bottom label distinguished with ‘explicit NULL’
• TTL is carried in top label in stack as a proxy for ATM header that lacks TTL
MPLS Encapsulation - Frame Relay

Q.922 Generic Encap.


Header (PPP/LAN Format) Layer 3 Header and Packet
n ••• 1

C/ E FE BE D E DLCI Size = 10, 17, 23 Bits


DLCI DLCI
R A CN CN E A

• Current label value carried in DLCI field of Frame Relay header


• Can use either 2 or 4 octet Q.922 Address (10, 17, 23 bytes)
• Generic encapsulation contains n labels for stack of depth n
• top label contains TTL (which FR header lacks), ‘explicit NULL’ label value
MPLS Encapsulation
PPP & LAN Data Links
MPLS ‘Shim’ Headers (1-n)
n ••• 1
Layer 2 Header Network Layer Header
(eg. PPP, 802.3) and Packet (eg. IP)

4 Octets
Label Stack
Label Exp. S TTL
Entry Format
Label: Label Value, 20 bits (0-16 reserved)
Exp.: Experimental, 3 bits (was Class of Service)
S: Bottom of Stack, 1 bit (1 = last entry in label stack)
TTL: Time to Live, 8 bits

• Network layer must be inferable from value of bottom label of the stack
• TTL must be set to the value of the IP TTL field when packet is first labelled
• When last label is popped off stack, MPLS TTL to be copied to IP TTL field
• Pushing multiple labels may cause length of frame to exceed layer-2 MTU
• LSR must support “Max. IP Datagram Size for Labelling” parameter
• any unlabelled datagram greater in size than this parameter is to be fragmented

MPLS
MPLSon
onPPP
PPPlinks
linksand
andLANs
LANsuses
uses‘Shim’
‘Shim’Header
HeaderInserted
Inserted
Between Layer 2 and Layer 3 Headers
Between Layer 2 and Layer 3 Headers
Loop Detection and Prevention

• Loop prevention: prevent the formation of a


looping path before any packets are sent on it.
• Loop mitigation: take steps to minimize the
negative effects of loops.
Loop Detection and Prevention

• Time-to-live (TTL)
• Hop-count object in LDP
• Path Vector object in LDP
• Colored threads
Loops and TTL

• In IP networks TTL is used to prevent


packets to travel indefinitely in the network
• MPLS may use same mechanism as IP, but
not on all encapsulations
• TTL is present in the label header for
PPP and LAN headers (shim headers)
• ATM cell header does not have TTL
Loops and TTL

LSR-1
LSR-2 LSR-3
IP packet Label = 25
TTL = 10
TTL=9
IP packet
TTL = 10

Label = 39
TTL=8
IP packet
TTL = 10
LSR-6

Label =21
IP packet
TTL=7 TTL = 6
IGP domain with a label Egress
distribution protocol LSR-4 IP packet LSR-5
TTL = 10

• Copying the IP TTL into the MPLS header when the packet is first labeled
• Decrementing the MPLS TTL at each LSR
• Copying the TTL from the MPLS header back into the IP TTL field when
the label header is removed at the egress of the MPLS domain
Reserved Label Values

• 0. “IPv4 Explicit Null”


label encapsulation is needed but no valid label is required

• 1. “Router Alert”
tell the Router to pay more attention to packet than simply forwarding it

• 2. “IPv6 Explicit Null”


• 3. “Implicit Null”
reserved for use in the Label Distribution Protocol
Label Distribution

• LDP
Label distribution protocol
• BGP
Border gateway protocol
• PIM
Protocol independent multicasting
• RSVP
Resource reservation protocol
The protocol that allows an endpoint to request a flow with
specific QoS; router along the path to the destination must
agree before they approve the request
QoS
CBR
TE
VPN

MPLS
Marketing
Further topics in MPLS Brainstorm

• Quality of Service (QoS)


• Constraint based routing (CBR)
• Traffic engineering (TE)
• Virtual Private Network (VPN)
Traffic engineering motivation

Traffic engineering: the process of selecting


network paths so that the resulting traffic patterns
achieve a balanced utilization of resources.
• Routing based on conventional interior gateway
protocol (IGP) algorithms may select network paths
that result in unbalanced resource utilization.
• Overutilized vs. underutilized.
• A limited degree of engineering can be provided by
manipulating the IGP metrics associated with
network links.
• Difficult to manage in environments with a large
number of redundant paths.
Traffic engineering

• MPLS can be used in conjunction with IGP


algorithms.
• MPLS provides the ability to specify the
specific route data packets should use to
traverse the network.
• By monitoring and managing these data
streams, efficient utilization of network
resources can be achieved.
• Source routing of traditional IP routing can
be used but it is processor-intensive activity.
Traffic engineering

• MPLS also provides the ability to


analyze fields outside the IP packet
header when determining the explicit
route for a data packet.
• Policies can develop based entry point.
• In a traditional network, this
information is only available at the
ingress point.
MPLS Traffic Engineering
Find
Findroute
route&&set-up
set-uptunnel
tunnelfor
for20
20Mb/s
Mb/sfrom
fromPOP1
POP1to
toPOP4
POP4
Find
Findroute
route&&set-up
set-uptunnel
tunnelfor
for10
10Mb/s
Mb/sfrom
fromPOP2
POP2to
toPOP4
POP4

POP4
WAN area

POP1

POP5

POP2

POP6

POP3
Quality of Service routing

There are two approaches to providing QoS


routing in an MPLS environment:
• The MPLS label contains class of service (CoS)
information. As traffic flows through the
network, this information can be used to
intelligently prioritize traffic at each network
hop.
• The MPLS network can provision multiple paths
between ingress and egress devices. Each path
is engineered to provide a different level of
service. Traffic is then intelligently assigned to
an appropriate path as it enters the network.
MPLS-VPN
What is a VPN ?
An IP network infrastructure delivering
private network services over a public
infrastructure
• Use a layer 3 backbone
• Scalability, easy provisioning
• Global as well as non-unique private
address space
• QoS
• Controlled access
• Easy configuration for customers
MPLS-VPN

• Provider Edge routers receive and hold


routing information only about VPNs
directly connected
• Reduces the amount of routing
information a PE router will store
• Routing information is proportional to the
number of VPNs a router is attached to
• MPLS is used within the backbone to
switch packets (no need of full routing)
MPLS-VPN Terminology
• Provider Network (P-Network)
• The backbone under control of a Service Provider
• Customer Network (C-Network)
• Network under customer control
• CE router
• Customer Edge router.
Part of the C-network and interfaces to a PE router
• PE router
• Provider Edge router.
Part of the P-Network and interfaces to CE routers
• P router
• Provider (core) router, without knowledge of VPN
• Border router
• Provider Edge router interfacing to other provider networks
MPLS VPN Connection Model
VPN_A iBGP sessions VPN_A
10.2.0.0 11.5.0.0
CE CE
VPN_B VPN_A
10.2.0.0 P P 10.1.0.0
CE PE PE CE
VPN_A
11.6.0.0 P P
CE VPN_B
PE CE 10.3.0.0
VPN_B PE
10.1.0.0 CE

• P routers (LSRs) are in the core of the MPLS


cloud
• PE routers use MPLS with the core and plain IP
with CE routers
• P and PE routers share a common IGP
• PE router are MP-iBGP fully meshed
Constraint-Based Routing (CBR)

In addition to minimizing some


administrative metrics (like conventional
routing), constraint-based routing also
selects paths that satisfy one or more
constraints.
Typical constraints include the available
bandwidth along the path and
administrative constraints.
Constraint-Based Routing

A constraint-based routing system is built


from a number of components:
• Path selection
constrained shortest path first (CSPF)
• Forwarding mechanism
MPLS
• LSP setup mechanism
RSVP and CR-LDP
• Extensions to link-state routing protocol (OSPF)
distribute information about the links regarding
their ability to satisfy the constraints
Path Calculation

• Modified Dijkstra at tunnel head-end


Often referred to as CSPF (Constrained SPF)
or PCALC (path calculation)
Path Calculation

• Normal SPF – find


“what’s the shortest path across
shortest path to
all routers?”
all links

RtrB
RtrF

RtrA RtrE

RtrG

RtrC RtrD
Path Calculation

• Normal SPF – find


“what’s the shortest path across
shortest path to
all routers?”
all links

RtrA
Path Calculation

• Normal SPF – find


“what’s the shortest path across
shortest path to
all routers?”
all links

RtrB

RtrA

RtrC
Path Calculation

• Normal SPF – find


“what’s the shortest path across
shortest path to
all routers?”
all links

RtrB

RtrA

RtrC RtrD
Path Calculation

• Normal SPF – find


“what’s the shortest path across
shortest path to
all routers?”
all links

RtrB

RtrA RtrE

RtrC RtrD
Path Calculation

• Normal SPF – find


“what’s the shortest path across
shortest path to
all routers?”
all links

RtrB
RtrF

RtrA RtrE

RtrG

RtrC RtrD
Path Calculation

• Normal SPF – find


“what’s the shortest path across
shortest path to
all routers?”
all links

RtrB
RtrF

RtrA RtrE

RtrG

RtrC RtrD
Path Calculation

• Normal SPF – find


“what’s the shortest path across
shortest path to
all routers?”
all links

RtrB
RtrF

RtrA RtrE

RtrG

RtrC RtrD
Path Calculation

• Normal SPF – find


“what’s the shortest path across
shortest path to
all routers?”
all links

RtrB
RtrF

RtrA RtrE

RtrG

RtrC RtrD
Path Calculation

• Constrained SPF – find


“what’s the shortest path to a
shortest path to specific node
router F with • Consider more than
40Mb just link cost!
available??”
RtrB
RtrF
OC3
RtrA RtrE OC3
DS3
RtrG
OC3
OC3 DS3

DS3
RtrC RtrD
Path Calculation

• Constrained SPF – find


“what’s the shortest path to a
shortest path to specific node
router F with • Consider more than
40Mb just link cost!
available??”

RtrA
Path Calculation

• Constrained SPF – find


“what’s the shortest path to a
shortest path to specific node
router F with • Consider more than
40Mb just link cost!
available??”
RtrB

OC3
RtrA

OC3

RtrC
Path Calculation

• Constrained SPF – find


“what’s the shortest path to a
shortest path to specific node
router F with • Consider more than
40Mb just link cost!
available??”
RtrB

OC3
RtrA

OC3

DS3
RtrC RtrD
Path Calculation

• Constrained SPF – find


“what’s the shortest path to a
shortest path to specific node
router F with • Consider more than
40Mb just link cost!
available??”
RtrB

OC3
RtrA RtrE
DS3

OC3

DS3
RtrC RtrD
Path Calculation

• Constrained SPF – find


“what’s the shortest path to a
shortest path to specific node
router F with • Consider more than
40Mb just link cost!
available??”
RtrB
RtrF
OC3
RtrA RtrE OC3
DS3
RtrG
OC3
OC3

DS3
RtrC RtrD
Path Calculation

• Constrained SPF – find


“what’s the shortest path to a
shortest path to specific node
router F with • Consider more than
40Mb just link cost!
available??”
RtrB
RtrF
OC3
RtrA RtrE OC3
DS3
RtrG
OC3
OC3 DS3

DS3
RtrC RtrD
Path Calculation

• Constrained SPF – find


“what’s the shortest path to a
shortest path to specific node
router F with • Consider more than
40Mb just link cost!
available??”
RtrB
RtrF
OC3
RtrA RtrE OC3
DS3
RtrG
OC3
OC3 DS3

DS3
RtrC RtrD
Path Calculation

• Constrained SPF – find


“what’s the shortest path to a
shortest path to specific node
router F with • Consider more than
40Mb just link cost!
available??”
RtrB
RtrF
OC3
RtrA RtrE OC3
DS3
RtrG
OC3
OC3

DS3
RtrC RtrD
Path Calculation

• Constrained SPF – find


“what’s the shortest path to a
shortest path to specific node
router F with • Consider more than
40Mb just link cost!
available??”
RtrB
RtrF
OC3
RtrA RtrE OC3
DS3

OC3

DS3
RtrC RtrD
Path Calculation

• Constrained SPF – find


“what’s the shortest path to a
shortest path to specific node
router F with • Consider more than
40Mb just link cost!
available??”
RtrB
RtrF
OC3
RtrA RtrE OC3
DS3
Path Calculation

• “But Wait! There’s nothing different


between the two SPF results!”
Path Calculation

“what’s the • What about the 2nd


shortest path path?
to router G • Available bandwidth
with 40Mb has changed!
available??”
RtrB
RtrF
OC3
RtrA RtrE OC3
5MB
RtrG
OC3
OC3 DS3

DS3
RtrC RtrD
Path Calculation

“what’s the • What about the 2nd


shortest path path?
to router G • Available bandwidth
with 40Mb has changed!
available??”

RtrA
Path Calculation

“what’s the • What about the 2nd


shortest path path?
to router G • Available bandwidth
with 40Mb has changed!
available??”
RtrB

OC3
RtrA

OC3

RtrC
Path Calculation

“what’s the • What about the 2nd


shortest path path?
to router G • Available bandwidth
with 40Mb has changed!
available??”
RtrB

OC3
RtrA

OC3

DS3
RtrC RtrD
Path Calculation

“what’s the • What about the 2nd


shortest path path?
to router G • Available bandwidth
with 40Mb has changed!
available??”
RtrB

OC3
RtrA RtrE
5MB

OC3

DS3
RtrC RtrD
Path Calculation

“what’s the • What about the 2nd


shortest path path?
to router G • Available bandwidth
with 40Mb has changed!
available??”
RtrB

OC3
RtrA RtrE
5MB

OC3

DS3
RtrC RtrD
Path Calculation

“what’s the • What about the 2nd


shortest path path?
to router G • Available bandwidth
with 40Mb has changed!
available??”
RtrB

OC3
RtrA

OC3

DS3
RtrC RtrD
Path Calculation

“what’s the • What about the 2nd


shortest path path?
to router G • Available bandwidth
with 40Mb has changed!
available??”

RtrA

OC3

DS3
RtrC RtrD
Path Calculation

“what’s the • What about the 2nd


shortest path path?
to router G • Available bandwidth
with 40Mb has changed!
available??”

RtrA RtrE

OC3 DS3

DS3
RtrC RtrD
Path Calculation

“what’s the • What about the 2nd


shortest path path?
to router G • Available bandwidth
with 40Mb has changed!
available??”
RtrF

RtrA RtrE OC3

RtrG
OC3
OC3 DS3

DS3
RtrC RtrD
Path Calculation

“what’s the • What about the 2nd


shortest path path?
to router G • Available bandwidth
with 40Mb has changed!
available??”

RtrA RtrE

RtrG
OC3
OC3 DS3

DS3
RtrC RtrD
Path Calculation

Node Next-Hop Cost


• End result:
B
C
B
C
10
10
- bandwidth used
D C 20 efficiently!
E B 20
F Tunnel0 30
G Tunnel1 30

RtrB
RtrF
OC3
RtrA RtrE OC3
DS3
RtrG
OC3
OC3 DS3

DS3
RtrC RtrD
References

Rosen E, Viswanathan A.
Multiprotocol Label Switching Architecture, RFC 3031, January 2001.

Davie B, Rekhter Y.
MPLS: Technology and Applications. Morgan Kaufmann Publishers: New York,
2000.

Rodriguez A, Gatrell J, Karas J, Peschke R


TCP/IP Tutorial and Technical Overview, IBM Corporation, International
Technical Support Organization, August 2001

Advanced Topics in MPLS-TE Deployment, Cisco White Paper

Xiao X, Hannan A, Bailey B, Ni LM.


Traffic Engineering with MPLS in the Internet

You might also like