2020 MPLS 1 Intro
2020 MPLS 1 Intro
B.0
B 2
C.1 C.2
1 3 1 2
D.0
A.0 C.0
B.0
B
B 2
C.1 C.2
1 3 1 2
D.0
A.0 C.0
B.0
D 2
C.1 C.2
1 3 1 2
D.0
A.0 C.0
B.0
D 2 D
C.1 C.2
1 3 1 2
D.0
A.0 C.0
B.0
D 2 D D
C.1 C.2
1 3 1 2
D.0
A.0 C.0
C3
C2
"Longer" paths
become under-
Path for C1 <> C3 utilised
• 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
IP Packet Header
0 4 8 16 19 24 31
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
• 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.
Frame Relay
Point-to-Point
Ethernet
FDDI
ATM
Link Layer
Protocols
LSR
New
LSR York
San LSR
Francisco LSR
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
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
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
• Topology determination
• Data forwarding
• Topology determination
• Path creation
• Data forwarding
Router2 Network
Network Router1 B
A
LSR2 LSR3
MPLS Domain
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
• Topology determination
• Path creation
• Data forwarding
• 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.
Label
Assignment
Control Traffic
Driven Driven
Topology Request
Driven Driven
Label Label
Assignment Distribution
Control Traffic
Downstream Upstream
Driven Driven
Label Label
Assignment Distribution
Control Traffic
Downstream Upstream
Driven Driven
Label Label
Assignment Distribution
Control Traffic
Downstream Upstream
Driven Driven
Network Router1
A
Label Label
Assignment Distribution
Control Traffic
Downstream Upstream
Driven Driven
• Topology determination
• Data forwarding
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
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
Network Router1
A
LSR7
Router2 Network
B
1 LSR2
Net.B 71 Net.B 33
2 1
LSR1 1 2 LSR3 1 2 LSR6
MPLS Domain
LSR5
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
Network Router1
A
LSR7
Router2 Network
B
1 LSR2
Net.B
2 1
LSR1 1 2 LSR3 1 2 LSR6
MPLS Domain
LSR5
• RSVP-TE
• CR-LDP
• BGP4-TE
• RSVP-TE
• CR-LDP
• BGP4-TE
LSR A LSR B
UDP-Hello
Discovery
UDP-Hello
TCP- Initialization
Session
TCP-Initialization
• 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
FEC TLV
Optional Parameters
FEC TLV
Label TLV
Optional Parameters
Optional Parameters:
Hop Count TLV
Path Vector TLV
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
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
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
Network Router1
A
LSR7
Router2 Network
B
1 LSR2
Net.B 71 Net.B
2 1
LSR1 1 2 LSR3 1 2 LSR6
MPLS Domain
LSR5
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
Cell-based ATM
Frame-based
ATM
MPLS Domain
ATM-LSR5
MPLS Domain
ATM-LSR5
1/5
1/5
1/5
1/3
1/3
1/3
1/3
1/3
1/3
1/7
1/7
1/7
• 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