introduction to mpls€¦ · address prefix i/f 1 0 ip forwarding table … 128.89/16 171.69/16...

52
Issue Date: Revision: Introduction to MPLS [201609] [01] SDN Workshop

Upload: others

Post on 11-Jul-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introduction to MPLS€¦ · Address Prefix I/F 1 0 IP Forwarding Table … 128.89/16 171.69/16 Address Prefix I/F 0 1 IP Forwarding Table Original motivation for MPLS • In mid

Issue Date:

Revision:

Introduction to MPLS

[201609]

[01]

SDN Workshop

Page 2: Introduction to MPLS€¦ · Address Prefix I/F 1 0 IP Forwarding Table … 128.89/16 171.69/16 Address Prefix I/F 0 1 IP Forwarding Table Original motivation for MPLS • In mid

What is MPLS?

2

Page 3: Introduction to MPLS€¦ · Address Prefix I/F 1 0 IP Forwarding Table … 128.89/16 171.69/16 Address Prefix I/F 0 1 IP Forwarding Table Original motivation for MPLS • In mid

Definition of MPLS• Multi Protocol Label Switching

– Tunneling mechanism that supports a number of types of payloads

(hence “multi”)

– A short label of fixed length is used to encapsulate packets

– Packets are forwarded by label switching instead of by IP switching

– Concept of Forwarding Equivalence Class (FEC): groups of packets that

need to be forwarded in an identical manner.

Each FEC is assigned a label, a 20-bit opaque value

– Packets are classified into FECs at network ingress and an MPLS label

corresponding to the FEC is added to the packet

3

Page 4: Introduction to MPLS€¦ · Address Prefix I/F 1 0 IP Forwarding Table … 128.89/16 171.69/16 Address Prefix I/F 0 1 IP Forwarding Table Original motivation for MPLS • In mid

128.89/16

171.69/16

Address

Prefix I/F

1

0

IP Forwarding Table

128.89/16

171.69/16

Address

Prefix I/F

0

1

IP Forwarding Table

Original motivation for MPLS

• In mid 1990s, IP address lookup was considered more

complex and taking longer time.

-- Logical AND “&&” -- Longest matching

4

A label-swapping protocol was the need for speed.

01

128.89

0

128.89.25.4 Data 128.89.25.4 Data128.89.25.4 Data

128.89/16

171.69/16

Address

Prefix I/F

0

1

IP Forwarding Table

128.89.25.4 Data

Page 5: Introduction to MPLS€¦ · Address Prefix I/F 1 0 IP Forwarding Table … 128.89/16 171.69/16 Address Prefix I/F 0 1 IP Forwarding Table Original motivation for MPLS • In mid

Decoupling Routing and Forwarding

5

• But, hardware of routers became better and looking up longest best match was no longer an issue.

• More importantly, MPLS de-couples packet forwarding from routing, and support multiple service models.

1

0

1

128.89.25.4 Data 128.89.25.4 Data20 128.89.25.4 Data30 128.89.25.4 Data

128.89

01 0

• MPLS can allow core routers to switch packets based on

some simplified header.

Page 6: Introduction to MPLS€¦ · Address Prefix I/F 1 0 IP Forwarding Table … 128.89/16 171.69/16 Address Prefix I/F 0 1 IP Forwarding Table Original motivation for MPLS • In mid

VPN B

Site 1

VPN B

Site 3

VPN B

Site 2

VPNA

Site 2

MPLS VPN

• MPLS Layer 3/ Layer 2 VPN

6

MPLS Core

CE

CE

CE

CE

CE

PE

PE

PE

PE

P

P

P

VPNA

Site 1

Page 7: Introduction to MPLS€¦ · Address Prefix I/F 1 0 IP Forwarding Table … 128.89/16 171.69/16 Address Prefix I/F 0 1 IP Forwarding Table Original motivation for MPLS • In mid

MPLS Application Scenario

7

MPLS CORE

Enterprise

Enterprise

Enterprise

L3VPN

L2VPN L2VPN

Enterprise

Backup Path for PE1-PE3

PE1 P

PE2

PE3

PE4

P

P P

Path for PE1-PE3

L2 Circuit between PE2-PE4

Page 8: Introduction to MPLS€¦ · Address Prefix I/F 1 0 IP Forwarding Table … 128.89/16 171.69/16 Address Prefix I/F 0 1 IP Forwarding Table Original motivation for MPLS • In mid

VPN Site

IP Domain

MPLS QoS

• MPLS does NOT define a new QoS architecture.

– Similar parts with IP DiffServ: functional components and where they

are used.(such as marking and traffic policing at network edge, etc)

– Difference: packets are differentiated by MPLS Traffic Class bits

8

MPLS DomainCE PE PP

QoS in MPLS VPN Architecture

DSCP

MPLS Header

Traffic Class

IP Packet

IP Packet

- Packet

Page 9: Introduction to MPLS€¦ · Address Prefix I/F 1 0 IP Forwarding Table … 128.89/16 171.69/16 Address Prefix I/F 0 1 IP Forwarding Table Original motivation for MPLS • In mid

Technology Comparison

IP Native Ethernet MPLS

Forwarding

• Destination address

based

• Forwarding table learned

from control plane

• TTL support

• Destination address

based

• Forwarding table

learned from data plane

• No TTL support

• Label based

• Forwarding table

learned from control

plane

• TTL support

Control Plane Routing protocols Ethernet loop avoidanceRouting protocols

Label distribution protocols

Packet

EncapsulationIP header 802.3 header MPLS Header

QoS 8 bit TOS in IP header 3 bit 802.1p in VLAN tag 3 bit TC in label

OAM IP Ping, traceroute E-OAM MPLS Ping, traceroute

9

Page 10: Introduction to MPLS€¦ · Address Prefix I/F 1 0 IP Forwarding Table … 128.89/16 171.69/16 Address Prefix I/F 0 1 IP Forwarding Table Original motivation for MPLS • In mid

Evolution of MPLS

• Technology Evolution and Main Growth Areas

10

1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015

Complete base MPLS portfolio

Optimize MPLS for video

Optimize MPLS for

packet transport

Optimize MPLS

for Cloud

Today

Formation of

the IETF MPLS

working group

First MPLS

L3VPN &TE

Deployed

First MPLS

RFCs

Released

First L2VPN

Deployments

Large Scale

L3VPN

Deployments

Large

Scale

MPLS TE

Deployed

Large Scale

L2VPN

Deployments

First LSM

Deployme

nts

First MPLS

TP

Deployments

1996, Ipsilon, Cisco and IBM announced label

switching plans, till now, there are over 280

RFCs of MPLS tech.

Bring MPLS to Market

Page 11: Introduction to MPLS€¦ · Address Prefix I/F 1 0 IP Forwarding Table … 128.89/16 171.69/16 Address Prefix I/F 0 1 IP Forwarding Table Original motivation for MPLS • In mid

MPLS

Technology

Basics

11

Page 12: Introduction to MPLS€¦ · Address Prefix I/F 1 0 IP Forwarding Table … 128.89/16 171.69/16 Address Prefix I/F 0 1 IP Forwarding Table Original motivation for MPLS • In mid

MPLS Architecture

12

IP Routing

Protocols

Label

Distribution

Protocols

Control Plane

Routing Information

Exchange with other

routers

Data Plane

Label Binding and

Exchange with other

routers

Incoming

IP Packet

Incoming

Labeled Packet

Routing

Information

Base (RIB)

Forwarding

Information

Base (FIB)

Label

Information

Base (LIB)

Label Forwarding

Information

Base (LFIB)

Page 13: Introduction to MPLS€¦ · Address Prefix I/F 1 0 IP Forwarding Table … 128.89/16 171.69/16 Address Prefix I/F 0 1 IP Forwarding Table Original motivation for MPLS • In mid

IP Domain

MPLS Topology

• LSR (Label Switch Router) is a router that supports MPLS.

• LER (Label Edge Router), also called edge LSR, is an LSR that operates at the edge of an MPLS network.

• LSP (Label Switched Path) is the path through the MPLS network or a part of it that packets take.

13

MPLS Domain

Edge

LSRLSR LSR

Edge

LSR

IP PacketLabel IP PacketLabel IP PacketLabel IP PacketIP Packet

IP Domain

Page 14: Introduction to MPLS€¦ · Address Prefix I/F 1 0 IP Forwarding Table … 128.89/16 171.69/16 Address Prefix I/F 0 1 IP Forwarding Table Original motivation for MPLS • In mid

MPLS Label

14

TC = Traffic Class: 3 Bits; S = Bottom of Stack: 1 Bit; TTL = Time to Live

0 1 2 3

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

Label - 20bits TC S TTL-8bits

MPLS LabelDatalink Layer Header Layer 2/ Layer 3 Packet

MPLS Label Encapsulation

MPLS Shim Header

Page 15: Introduction to MPLS€¦ · Address Prefix I/F 1 0 IP Forwarding Table … 128.89/16 171.69/16 Address Prefix I/F 0 1 IP Forwarding Table Original motivation for MPLS • In mid

MPLS Label Stacking

• Multiple labels can be used for MPLS packet encapsulation.

network. This is done by packing the labels into a stack.

• Some MPLS applications (VPN, etc.) actually need more

than one labels in the label stack to forward the labeled

packets.

15

MPLS Label Stack

LAN MAC Label Header

S=1

Bottom of Stack Bit Set

S=0

MAC Header Label S Label S Layer 3 Packet

Page 16: Introduction to MPLS€¦ · Address Prefix I/F 1 0 IP Forwarding Table … 128.89/16 171.69/16 Address Prefix I/F 0 1 IP Forwarding Table Original motivation for MPLS • In mid

MPLS Label stack entry

16

Data Link Layer

encapsulation

LSRLER

IP

Transport

Payload

MPLS Shim Header

Data Link Layer

encapsulation

IP

Transport

Payload

Page 17: Introduction to MPLS€¦ · Address Prefix I/F 1 0 IP Forwarding Table … 128.89/16 171.69/16 Address Prefix I/F 0 1 IP Forwarding Table Original motivation for MPLS • In mid

LSP Setup Overview

• Before forwarding packets, labels must be allocated to

establish an LSP.

• Protocols for label distribution: LDP, RSVP-TE, MP-BGP.

17

Establishing an LSP

Labels are allocated from downstream LSRs to upstream LSRs.

R2

To 100.1.1.1/32

Label=100

To 100.1.1.1/32

Label=200

To 100.1.1.1/32

Label=300

R1 R3 R4LSP

DownstreamUpstream

100.1.1.1/32

Page 18: Introduction to MPLS€¦ · Address Prefix I/F 1 0 IP Forwarding Table … 128.89/16 171.69/16 Address Prefix I/F 0 1 IP Forwarding Table Original motivation for MPLS • In mid

MPLS Label Operations

• Push

– A new label is added to the packet between the Layer 2 header and

the IP header or to the top of the label stack.

• Swap

– The top label is removed and replaced with a new label.

• Pop

– The top label is removed. The packet is forwarded with the remaining

label stack or as an unlabeled packet.

18

Page 19: Introduction to MPLS€¦ · Address Prefix I/F 1 0 IP Forwarding Table … 128.89/16 171.69/16 Address Prefix I/F 0 1 IP Forwarding Table Original motivation for MPLS • In mid

MPLS Forwarding Operations

19

P1 P3

P4 P6

PE1 PE2 CE2CE1

P2

P5

192.168.1.1 192.168.1.2 192.168.1.3

192.168.1.4 192.168.1.5 192.168.1.6

192.168.1.11 192.168.2.22

In-

label

Out-

label

Intf

300 200 To-P3In-label Out-label Interface

200 100 To-PE2

In-

label

Out-

label

Intf

400 300 To-P2

In-

label

Out-

label

Intf

500 300 To-P2

FEC: PE2

Label: 200

FEC: PE2

Label: 100

FEC: PE2

Label: 300

FEC: PE2

Label: 400

FEC: PE2

Label: 300

Metric: 100

In-label Out-label Interface

100 - Local

FEC Out-

label

Intf

PE-2 400 To-P1

All IGP metrics are equal to 10

unless otherwise indicated

Page 20: Introduction to MPLS€¦ · Address Prefix I/F 1 0 IP Forwarding Table … 128.89/16 171.69/16 Address Prefix I/F 0 1 IP Forwarding Table Original motivation for MPLS • In mid

MPLS Forwarding Operations

20

P1 P3

P4 P6

PE1 PE2 CE2CE1

P2

P5

Payload

1234

400

Payload

1234

300

Packet destined

to PE2 arrives at

PE1

192.168.1.1 192.168.1.2 192.168.1.3

192.168.1.4 192.168.1.5 192.168.1.6

192.168.1.11 192.168.2.22

Payload

1234

200

Payload

1234

100

Swap 400

for 300

Swap 300

for 200

Swap 200

for 100

Payload Payload

POP 100, 1234PUSH 1234, 400

Metric: 100

All IGP metrics are equal to 10

unless otherwise indicated

Page 21: Introduction to MPLS€¦ · Address Prefix I/F 1 0 IP Forwarding Table … 128.89/16 171.69/16 Address Prefix I/F 0 1 IP Forwarding Table Original motivation for MPLS • In mid

MPLS Forwarding Operations (with

PHP)

21

P1 P3

P4 P6

PE1 PE2 CE2CE1

P2

P5

192.168.1.1 192.168.1.2 192.168.1.3

192.168.1.4 192.168.1.5 192.168.1.6

192.168.1.11 192.168.2.22

In-

label

Out-

label

Intf

300 200 To-P3In-label Out-label Interface

200 - To-PE2

In-

label

Out-

label

Intf

400 300 To-P2

In-

label

Out-

label

Intf

500 300 To-P2

FEC: PE2

Label: 200

FEC: PE2

Label: 300

FEC: PE2

Label: 400

FEC: PE2

Label: 300

Metric: 100

All IGP metrics are equal to 10

unless otherwise indicated

FEC Out-

label

Intf

PE-2 400 To-P1

PHP: Penultimate Hop Pop

Review what PE2 has done:

1. First, lookup the label in the LFIB;

Remove the label

2. Then, IP lookup and forward IP packet.

Is the first lookup

necessary?

Can we simplify it?

FEC: PE2

Label: 100

Page 22: Introduction to MPLS€¦ · Address Prefix I/F 1 0 IP Forwarding Table … 128.89/16 171.69/16 Address Prefix I/F 0 1 IP Forwarding Table Original motivation for MPLS • In mid

MPLS Forwarding Operations (with

PHP)

22

P1 P3

P4 P6

PE1 PE2 CE2CE1

P2

P5

192.168.1.1 192.168.1.2 192.168.1.3

192.168.1.4 192.168.1.5 192.168.1.6

192.168.1.11 192.168.2.22

In-

label

Out-

label

Intf

300 200 To-P3In-label Out-label Interface

200 - To-PE2

In-

label

Out-

label

Intf

400 300 To-P2

In-

label

Out-

label

Intf

500 300 To-P2

FEC: PE2

Label: 200

FEC: PE2

Label: 3 (implicit null)

FEC: PE2

Label: 300

FEC: PE2

Label: 400

FEC: PE2

Label: 300

Metric: 100

All IGP metrics are equal to 10

unless otherwise indicated

FEC Out-

label

Intf

PE-2 400 To-P1

PHP: Penultimate Hop Pop

Page 23: Introduction to MPLS€¦ · Address Prefix I/F 1 0 IP Forwarding Table … 128.89/16 171.69/16 Address Prefix I/F 0 1 IP Forwarding Table Original motivation for MPLS • In mid

MPLS Forwarding Operations (with

PHP)

23

P1 P3

P4 P6

PE1 PE2 CE2CE1

P2

P5

Payload

1234

400

Payload

1234

300

Packet destined

to PE2 arrives at

PE1

192.168.1.1 192.168.1.2 192.168.1.3

192.168.1.4 192.168.1.5 192.168.1.6

192.168.1.11 192.168.2.22

Payload

1234

200

Payload

1234

Swap 400

for 300

Swap 300

for 200 Pop 200

Payload Payload

POP 1234PUSH 1234, 400

Metric: 100

All IGP metrics are equal to 10

unless otherwise indicated

The implicit NULL label is the label that has a value of 3, the label 3

will never be seen as a label in the label stack of an MPLS packet.

Page 24: Introduction to MPLS€¦ · Address Prefix I/F 1 0 IP Forwarding Table … 128.89/16 171.69/16 Address Prefix I/F 0 1 IP Forwarding Table Original motivation for MPLS • In mid

MPLS LSP Ping

24

MPLS Domain

R2 R3 R4R1

4.4.4.4/32

R1#ping mpls ipv4 4.4.4.4/32Sending 5, 100-byte MPLS Echos to 4.4.4.4/32,

timeout is 2 seconds, send interval is 0 msec:

Codes: '!' - success, 'Q' - request not sent, '.' - timeout,

'L' - labeled output interface, 'B' - unlabeled output interface,

'D' - DS Map mismatch, 'F' - no FEC mapping, 'f' - FEC mismatch,

'M' - malformed request, 'm' - unsupported tlvs, 'N' - no label entry,

'P' - no rx intf label prot, 'p' - premature termination of LSP,

'R' - transit router, 'I' - unknown upstream index,

'l' - Label switched with FEC change, 'd' - see DDMAP for return code,

'X' - unknown return code, 'x' - return code 0

Type escape sequence to abort.

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 12/14/16 ms

Total Time Elapsed 128 ms

MPLS Echo

Request

MPLS Echo

Reply

Cisco IOS

Page 25: Introduction to MPLS€¦ · Address Prefix I/F 1 0 IP Forwarding Table … 128.89/16 171.69/16 Address Prefix I/F 0 1 IP Forwarding Table Original motivation for MPLS • In mid

MPLS LSP Trace

25

MPLS Domain

R2 R3 R4R1

4.4.4.4/32

R1#traceroute mpls ipv4 4.4.4.4/32Tracing MPLS Label Switched Path to 4.4.4.4/32, timeout is 2 seconds

Codes: '!' - success, 'Q' - request not sent, '.' - timeout,

'L' - labeled output interface, 'B' - unlabeled output interface,

'D' - DS Map mismatch, 'F' - no FEC mapping, 'f' - FEC mismatch,

'M' - malformed request, 'm' - unsupported tlvs, 'N' - no label entry,

'P' - no rx intf label prot, 'p' - premature termination of LSP,

'R' - transit router, 'I' - unknown upstream index,

'l' - Label switched with FEC change, 'd' - see DDMAP for return code,

'X' - unknown return code, 'x' - return code 0

Type escape sequence to abort.

0 12.1.1.1 MRU 1500 [Labels: 200 Exp: 0]

L 1 12.1.1.2 MRU 1500 [Labels: 19 Exp: 0] 16 ms

L 2 23.1.1.2 MRU 1504 [Labels: implicit-null Exp: 0] 12 ms

! 3 34.1.1.2 12 ms Cisco IOS

Page 26: Introduction to MPLS€¦ · Address Prefix I/F 1 0 IP Forwarding Table … 128.89/16 171.69/16 Address Prefix I/F 0 1 IP Forwarding Table Original motivation for MPLS • In mid

Label

Distribution

Protocol

26

Page 27: Introduction to MPLS€¦ · Address Prefix I/F 1 0 IP Forwarding Table … 128.89/16 171.69/16 Address Prefix I/F 0 1 IP Forwarding Table Original motivation for MPLS • In mid

MPLS Builders

Which protocols can set up

Label Switched Path?

27

Pure Signaling MPLS Protocols

LDP

RSVP-TE

Routing Protocols with Extensions

BGP

IGP

Most classic

and

widespread

Page 28: Introduction to MPLS€¦ · Address Prefix I/F 1 0 IP Forwarding Table … 128.89/16 171.69/16 Address Prefix I/F 0 1 IP Forwarding Table Original motivation for MPLS • In mid

Advantages of LDP

• Reliability– LDP Discovery UDP Port 646 / Multicast 224.0.0.2

– LDP Session Establishment TCP 646

– LDP uses reliable TCP as the transport protocol for all but the discovery messages.

• Auto provision– Abilities to set up LSPs dynamically based on routing information

• Plug-and-play– Simple deployment and configuration

• Support for a large number of LSPs

28

Advantages of LDP

• Reliability– LDP Discovery UDP Port 646 / Multicast 224.0.0.2

– LDP Session Establishment TCP 646

– LDP uses reliable TCP as the transport protocol for all but the discovery messages.

• Auto provision– Abilities to set up LSPs dynamically based on routing information

• Plug-and-play– Simple deployment and configuration

• Support for a large number of LSPs

28

Page 29: Introduction to MPLS€¦ · Address Prefix I/F 1 0 IP Forwarding Table … 128.89/16 171.69/16 Address Prefix I/F 0 1 IP Forwarding Table Original motivation for MPLS • In mid

Label Space – Per Platform

• In per-platform label space, one single label is assigned to a

destination network and announced to all neighbors. The label

must be locally unique and valid on all incoming interfaces.

29

R1

R2

R3

Prefix Out Label

100.1.1.0/24 100

200.1.1.0/24 200

E1/1

E1/2

Prefix Out Label

100.1.1.0/24 100

200.1.1.0/24 200

In Label Prefix

100 100.1.1.0/24

200 200.1.1.0/24

100.1.1.0/24

200.1.1.0/24

Page 30: Introduction to MPLS€¦ · Address Prefix I/F 1 0 IP Forwarding Table … 128.89/16 171.69/16 Address Prefix I/F 0 1 IP Forwarding Table Original motivation for MPLS • In mid

Label Space – Per Interface

• In per-interface label space, local labels are assigned to IP destination prefixes on a per-interface basis. These labels must be unique on a per-interface basis.

30

100.1.1.0/24

200.1.1.0/24

R1

R2

R3

Prefix Out Label

100.1.1.0/24 1/300

200.1.1.0/24 1/200

ATM4/1

ATM4/2

Prefix Out Label

100.1.1.0/24 1/400

200.1.1.0/24 1/500

In Label In Interface Prefix

1/300 ATM 4/1 100.1.1.0/24

1/200 ATM 4/1 200.1.1.0/24

1/400 ATM 4/2 100.1.1.0/24

1/500 ATM 4/2 200.1.1.0/24

Page 31: Introduction to MPLS€¦ · Address Prefix I/F 1 0 IP Forwarding Table … 128.89/16 171.69/16 Address Prefix I/F 0 1 IP Forwarding Table Original motivation for MPLS • In mid

LDP Operations

31

Step 3

Label Distribution

Step 2

Session Establishment

Step 1

Neighbor Discovery

Page 32: Introduction to MPLS€¦ · Address Prefix I/F 1 0 IP Forwarding Table … 128.89/16 171.69/16 Address Prefix I/F 0 1 IP Forwarding Table Original motivation for MPLS • In mid

Overview of

MPLS TE

32

Page 34: Introduction to MPLS€¦ · Address Prefix I/F 1 0 IP Forwarding Table … 128.89/16 171.69/16 Address Prefix I/F 0 1 IP Forwarding Table Original motivation for MPLS • In mid

Optimal Traffic Engineering

34

Tunnel 1

Tunnel 2

R1 R2

R3

R4 R5

R6

IP TE MPLS TE

Shortest path Determines the path at the source based on additional

parameters (available resources and constraints, etc.)

Equal cost load balancing Load sharing across unequal paths can be achieved.

Page 35: Introduction to MPLS€¦ · Address Prefix I/F 1 0 IP Forwarding Table … 128.89/16 171.69/16 Address Prefix I/F 0 1 IP Forwarding Table Original motivation for MPLS • In mid

How MPLS TE Works

35

• What is the information?

• Dynamically

• Manually

• RSVP-TE

• (CR-LDP)

• Autoroute

• Static

• Policy

Information Distribution

Path Calculation

Path Setup

Forward the Traffic Down to the Tunnel

Page 36: Introduction to MPLS€¦ · Address Prefix I/F 1 0 IP Forwarding Table … 128.89/16 171.69/16 Address Prefix I/F 0 1 IP Forwarding Table Original motivation for MPLS • In mid

Terminology—Head, Tail, LSP

Upstream

R1 R2

Downstream

R3

TE Tunnel R1 to R4

R4

Head-End Tail-EndMid-Points

Page 37: Introduction to MPLS€¦ · Address Prefix I/F 1 0 IP Forwarding Table … 128.89/16 171.69/16 Address Prefix I/F 0 1 IP Forwarding Table Original motivation for MPLS • In mid

Information

Distribution

37

Page 38: Introduction to MPLS€¦ · Address Prefix I/F 1 0 IP Forwarding Table … 128.89/16 171.69/16 Address Prefix I/F 0 1 IP Forwarding Table Original motivation for MPLS • In mid

Attributes

38

Link Attributes

• Available Bandwidth

• Attribute flags (Link

Affinity)

• Administrative weight

(TE-specific link

metric)

Tunnel Attributes

• Tunnel Required

Bandwidth

• Tunnel Affinity &

Mask

• Priority

TE Tunnel

Page 39: Introduction to MPLS€¦ · Address Prefix I/F 1 0 IP Forwarding Table … 128.89/16 171.69/16 Address Prefix I/F 0 1 IP Forwarding Table Original motivation for MPLS • In mid

Link-State Protocol Extensions/ IGP

Flooding

• TE finds paths other than shortest-cost. To do this, TE must have more info than just per-link cost

• OSPF and IS-IS have been extended to carry additional information– Physical bandwidth

– RSVP configured bandwidth

– RSVP available bandwidth

– Link TE metric

– Link affinity

RFC 3630

OSPF TERFC 5305

IS-IS TE

Page 40: Introduction to MPLS€¦ · Address Prefix I/F 1 0 IP Forwarding Table … 128.89/16 171.69/16 Address Prefix I/F 0 1 IP Forwarding Table Original motivation for MPLS • In mid

When to Flood the Information

• When a link goes up or down

• When a link’s configuration is changed

• Periodically reflood the router’s IGP information

• When link bandwidth changes significantly

40

Page 41: Introduction to MPLS€¦ · Address Prefix I/F 1 0 IP Forwarding Table … 128.89/16 171.69/16 Address Prefix I/F 0 1 IP Forwarding Table Original motivation for MPLS • In mid

Path Calculation

and Setup

41

Page 42: Introduction to MPLS€¦ · Address Prefix I/F 1 0 IP Forwarding Table … 128.89/16 171.69/16 Address Prefix I/F 0 1 IP Forwarding Table Original motivation for MPLS • In mid

Tunnel Path Selection

• Tunnel has two path options

1. Dynamic

2. Explicit

• Path is a set of next-hop addresses (physical or

loopbacks) to destination

• This set of next-hops is called Explicit Route

Object (ERO)

Page 43: Introduction to MPLS€¦ · Address Prefix I/F 1 0 IP Forwarding Table … 128.89/16 171.69/16 Address Prefix I/F 0 1 IP Forwarding Table Original motivation for MPLS • In mid

Path Calculation

• Modified Dijkstra

• Often referred to as CSPF

– Constrained SPF

• …or PCALC (path calculation)

• Final result is explicit route meeting desired constraint

Page 44: Introduction to MPLS€¦ · Address Prefix I/F 1 0 IP Forwarding Table … 128.89/16 171.69/16 Address Prefix I/F 0 1 IP Forwarding Table Original motivation for MPLS • In mid

C-SPF

• Shortest-cost path is found that meets administrative constraints

• These constraints can be– bandwidth

– link attribute (aka color, resource group)

– priority

• The addition of constraints is what allows MPLS-TE to use paths other than just the shortest one

Page 45: Introduction to MPLS€¦ · Address Prefix I/F 1 0 IP Forwarding Table … 128.89/16 171.69/16 Address Prefix I/F 0 1 IP Forwarding Table Original motivation for MPLS • In mid

Dynamic Path Option

• Dynamic = router calculates path using TE topology

database

• Router will take best IGP path that meets BW requirements,

also called CSPF algorithm.

R1(config)# interface tunnel 1

R1(config-if)# tunnel mpls traffic-eng path-option 10 dynamic

R1 R2

TE Tunnel

Page 46: Introduction to MPLS€¦ · Address Prefix I/F 1 0 IP Forwarding Table … 128.89/16 171.69/16 Address Prefix I/F 0 1 IP Forwarding Table Original motivation for MPLS • In mid

Explicit Path Option

• explicit = take specified path.

• Router sets up path you specify.

R1(config)# interface tunnel 1

R1(config-if)# tunnel mpls traffic-eng path-option 10 explicit

name R1toR5

R1 R2

R3

R4

R5

TE Tunnel

Page 47: Introduction to MPLS€¦ · Address Prefix I/F 1 0 IP Forwarding Table … 128.89/16 171.69/16 Address Prefix I/F 0 1 IP Forwarding Table Original motivation for MPLS • In mid

Strict and Loose Path

47

A

B

C D

E

Explicit Path

AtoE:

1: next-address

B.B.B.B

2: next-address

D.D.D.D

3: next-address

E.E.E.E

A

B

C D

E

Explicit Path

AtoE:

1: next-address

B.B.B.B

2: next-address

loose E.E.E.E

Strict PathA network node and its preceding node in

the path must be adjacent and directly

connected.

Loose PathA network node must be in the path but is

not required to be directly connected to its

preceding node.

• Paths are configured manually. Each hop is a physical interface or

loopback.

Page 48: Introduction to MPLS€¦ · Address Prefix I/F 1 0 IP Forwarding Table … 128.89/16 171.69/16 Address Prefix I/F 0 1 IP Forwarding Table Original motivation for MPLS • In mid

RSVP-TE: signaling an LSP (1)

48

P1 P3

P4 P6

PE1 PE2 CE2CE1

P2

P5

192.168.1.1 192.168.1.2 192.168.1.3

192.168.1.4 192.168.1.5 192.168.1.6

192.168.1.11 192.168.2.22

RSVP-TE

Msg: PATH

Dest: PE2

RSVP-TE

Msg: PATH

Dest: PE2

RSVP-TE

Msg: PATH

Dest: PE2

RSVP-TE

Msg: PATH

Dest: PE2

RSVP-TE

Msg: PATH

Dest: PE2

All IGP metrics are equal to 10

unless otherwise indicated

Metric: 100

Page 49: Introduction to MPLS€¦ · Address Prefix I/F 1 0 IP Forwarding Table … 128.89/16 171.69/16 Address Prefix I/F 0 1 IP Forwarding Table Original motivation for MPLS • In mid

RSVP-TE: signaling an LSP (2)

49

P1 P3

P4 P6

PE1 PE2 CE2CE1

P2

P5

192.168.1.1 192.168.1.2 192.168.1.3

192.168.1.4 192.168.1.5 192.168.1.6

192.168.1.11 192.168.2.22

RSVP-TE

Msg: RESV

Label: 999

RSVP-TE

Msg: RESV

Label: 888

RSVP-TE

Msg: RESV

Label: 666RSVP-TE

Msg: RESV

Label: 555

In-label Out-label Interface

999 POP Local

In-

label

Out-

label

Intf

666 777 To-P5

In-

label

Out-

label

Intf

555 666 To-P2

FEC Out-

label

Intf

LSP1 555 To-P1

In-

label

Out-

label

Intf

888 999 To-PE2

ILM

In-

label

Out-

label

Intf

777 888 To-P6

RSVP-TE

Msg: RESV

Label: 777

All IGP metrics are equal to 10

unless otherwise indicated

Metric: 100

Page 50: Introduction to MPLS€¦ · Address Prefix I/F 1 0 IP Forwarding Table … 128.89/16 171.69/16 Address Prefix I/F 0 1 IP Forwarding Table Original motivation for MPLS • In mid

RSVP-TE: traffic forwarding

50

P1 P3

P4 P6

PE1 PE2 CE2CE1

P2

P5

Payload

1234

555

Payload

1234

666

Packet mapped

to LSP1

192.168.1.1 192.168.1.2 192.168.1.3

192.168.1.4 192.168.1.5 192.168.1.6

192.168.1.11 192.168.2.22Payload

1234

888

Payload

1234

999

Swap 555

for 666

Swap 666

for 777

Swap 888

for 999

Payload Payload

POP

999,1234

PUSH 1234,

555Payload

1234

777

Swap 777

for 888 All IGP metrics are equal to 10

unless otherwise indicated

Metric: 100

Page 51: Introduction to MPLS€¦ · Address Prefix I/F 1 0 IP Forwarding Table … 128.89/16 171.69/16 Address Prefix I/F 0 1 IP Forwarding Table Original motivation for MPLS • In mid

RSVP-TE: observations

• RSVP-TE allows the construction of arbitrary paths based

on traffic-engineering requirements i.e. longer IGP paths

may end up being preferred

• For two nodes to communicate, RSVP-TE LSPs need to be

signaled in both directions.

• RSVP-TE maintains soft-state which needs to be refreshed

periodically

• RSVP-TE label changes at each hop as labels are locally-

significant

51

Page 52: Introduction to MPLS€¦ · Address Prefix I/F 1 0 IP Forwarding Table … 128.89/16 171.69/16 Address Prefix I/F 0 1 IP Forwarding Table Original motivation for MPLS • In mid

Questions?