37
MPLS: Multi-protocol Label Switching

MPLS: Multi-protocol Label Switching

  • Upload
    bessie

  • View
    71

  • Download
    3

Embed Size (px)

DESCRIPTION

MPLS: Multi-protocol Label Switching. Topics. Introduction History and motivation MPLS mechanisms MPLS protocols RSVP-TE/CR-LDP MPLS applications VPNSs, traffic engineering, restoration Generalized MPLS. WHY MPLS ?. Ultra fast forwarding Use switching instead of routing - PowerPoint PPT Presentation

Citation preview

Page 1: MPLS: Multi-protocol Label Switching

MPLS: Multi-protocol Label Switching

Page 2: MPLS: Multi-protocol Label Switching

2000/05/15 2

Topics

Introduction History and motivation MPLS mechanisms

MPLS protocols RSVP-TE/CR-LDP

MPLS applications VPNSs, traffic engineering, restoration

Generalized MPLS

Page 3: MPLS: Multi-protocol Label Switching

2000/05/15 Shirl Grant NLANR Engineering Services

3

WHY MPLS ?

Ultra fast forwarding Use switching instead of

routing IP Traffic Engineering

Constraint-based routing Virtual Private Networks

Controllable tunneling mechanism

Protection and restoration

Page 4: MPLS: Multi-protocol Label Switching

2000/05/15 4

IP Forwarding Table

47.1.*.*

47.2.*.*47.3.*.*

Dest Out

47.1 147.2 2

47.3 3

1

23

Dest Out

47.1 147.2 2

47.3 3

Dest Out

47.1 147.2 2

47.3 3

1

23

1

2

3

Page 5: MPLS: Multi-protocol Label Switching

2000/05/15 5

Hop-by-Hop IP Forwarding

47.1

47.247.3

IP 47.1.1.1

Dest Out

47.1 147.2 2

47.3 3

1

23

Dest Out

47.1 147.2 2

47.3 3

1

2

1

2

3

IP 47.1.1.1

IP 47.1.1.1IP 47.1.1.1

Dest Out

47.1 147.2 2

47.3 3

Page 6: MPLS: Multi-protocol Label Switching

2000/05/15 6

Routing Lookup

Longest prefix match is (was) expensive. Label matching is much less expensive.

10 Gbps 10 Gbps

20M packets/sec

Switchfabric

Control CPU

I/F I/F

9.*.*.* 14.1.2.1 29.1.*.* 67.1.2.2 49.2.*.* 71.1.2.3 69.1.1.* 113.1.2.1 89.2.1.* 113.1.2.1 89.1.1.1 71.1.2.3 69.1.1.2 14.1.2.1 29.2.1.1 71.1.2.3 6

Prefix Next Hop Interface

Page 7: MPLS: Multi-protocol Label Switching

2000/05/15 7

IntfIn

LabelIn

Dest IntfOut

3 0.40 47.1 1

IntfIn

LabelIn

Dest IntfOut

LabelOut

3 0.50 47.1 1 0.40

MPLS Labels

47.1

47.247.3

1

2

31

2

1

2

3

3IntfIn

Dest IntfOut

LabelOut

3 47.1 1 0.50 Mapping: 0.40

Request: 47.1

Mapping: 0.50

Request: 47.1

Page 8: MPLS: Multi-protocol Label Switching

2000/05/15 8

Label Switched Path

IntfIn

LabelIn

Dest IntfOut

3 0.40 47.1 1

IntfIn

LabelIn

Dest IntfOut

LabelOut

3 0.50 47.1 1 0.40

47.1

47.247.3

1

2

31

2

1

2

3

3IntfIn

Dest IntfOut

LabelOut

3 47.1 1 0.50

IP 47.1.1.1

IP 47.1.1.1

Page 9: MPLS: Multi-protocol Label Switching

2000/05/15 9

Forwarding Equivalence Classes

FEC = “A subset of packets that are all treated the same way by a router” 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), in MPLS it is only done once at the network ingress

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

IP1

IP2

IP1

IP2

LSRLSRLER LER

LSP

IP1 #L1

IP2 #L1

IP1 #L2

IP2 #L2

IP1 #L3

IP2 #L3

Page 10: MPLS: Multi-protocol Label Switching

2000/05/15 10

MPLS Terminology

LDP: Label Distribution Protocol LSP: Label Switched Path FEC: Forwarding Equivalence Class LSR: Label Switching Router LER: Label Edge Router

Page 11: MPLS: Multi-protocol Label Switching

2000/05/15 11

Label Distribution Methods

LSR1 LSR2

Downstream Label Distribution

Label-FEC Binding

• LSR2 discovers a ‘next hop’ for a particular FEC

• LSR2 generates a label for the FEC and communicates the binding to LSR1

• LSR1 inserts the binding into its forwarding tables

• If LSR2 is the next hop for the FEC, LSR1 can use that label knowing that its meaning is understood

LSR1 LSR2

Downstream-on-Demand Label Distribution

Label-FEC Binding

• LSR1 recognizes LSR2 as its next-hop for an FEC

• A request is made to LSR2 for a binding between the FEC and a label

• If LSR2 recognizes the FEC and has a next hop for it, it creates a binding and replies to LSR1

• Both LSRs then have a common understanding

Request for Binding

Both methods are supported, even in the same network at the same time

Page 12: MPLS: Multi-protocol Label Switching

2000/05/15 12

Distribution Control

Independent LSP ControlIndependent LSP Control Ordered LSP ControlOrdered LSP Control

Next Hop(for FEC)

OutgoingLabel

IncomingLabel

• Each LSR makes independent decision on when to generate labels and communicate them to upstream peers

• Communicate label-FEC binding to peers once next-hop has been recognized

• LSP is formed as incoming and outgoing labels are spliced together

• Label-FEC binding is communicated to peers if: - LSR is the ‘egress’ LSR to particular FEC - label binding has been received from

upstream LSR

• LSP formation ‘flows’ from egress to ingress

DefinitionDefinition

ComparisonComparison • Labels can be exchanged with less delay• Does not depend on availability of egress node• Granularity may not be consistent across the nodes

at the start• May require separate loop detection/mitigation

method

• Requires more delay before packets can be forwarded along the LSP

• Depends on availability of egress node• Mechanism for consistent granularity and freedom

from loops• Used for explicit routing and multicast

Both methods are supported in the standard and can be fully interoperable

Page 13: MPLS: Multi-protocol Label Switching

2000/05/15 13

Label Retention Methods

Liberal Label Retention Conservative Label Retention

LSR1

LSR2

LSR3

LSR4

Label Bindingsfor LSR5

Valid Next Hop

LSR4’s LabelLSR3’s LabelLSR2’s Label

LSR1

LSR2

LSR3

LSR4

Label Bindingsfor LSR5

Valid Next Hop

LSR4’s LabelLSR3’s LabelLSR2’s Label

• LSR maintains bindings received from LSRs other than the valid next hop

• If the next-hop changes, it may begin using these bindings immediately

• May allow more rapid adaptation to routing changes

• Requires an LSR to maintain many more labels

• LSR only maintains bindings received from valid next hop

• If the next-hop changes, binding must be requested from new next hop

• Restricts adaptation to changes in routing

• Fewer labels must be maintained by LSR

Label Retention method trades off between label capacity and speed of adaptation to routing changes

Page 14: MPLS: Multi-protocol Label Switching

2000/05/15 14

Label Encapsulation

ATM FR Ethernet PPP

MPLS Encapsulation is specified over various media types. Top labels may use existing format, lower label(s) use a new “shim” label format.

VPI VCI DLCI “Shim Label”

L2

Label

“Shim Label” …….

IP | PAYLOAD

Page 15: MPLS: Multi-protocol Label Switching

2000/05/15 15

Label Format

Exp field used to identify the class of service Stack bit is used identify the last label in the

label stack TTL field is used as a time-to-live counter. Special

processing rules are used to mimic IP TTL semantics.

Label 20 bits

Exp 3 bits

Stack1 bit

TTL8 bits

Page 16: MPLS: Multi-protocol Label Switching

2000/05/15 16

Label Distribution Protocols

Label Distribution Protocol (LDP) Constraint-based Routing LDP (CR-

LDP) Extensions to RSVP Extensions to BGP

Page 17: MPLS: Multi-protocol Label Switching

2000/05/15 17

LDP:Label Distribution Protocol

Label distribution ensures that adjacent routers havea common view of FEC <-> label bindings

Routing Table:

Addr-prefix Next Hop47.0.0.0/8 LSR2

Routing Table:

Addr-prefix Next Hop47.0.0.0/8 LSR2

LSR1 LSR2 LSR3

IP Packet 47.80.55.3

Routing Table:

Addr-prefix Next Hop47.0.0.0/8 LSR3

Routing Table:

Addr-prefix Next Hop47.0.0.0/8 LSR3

For 47.0.0.0/8use label ‘17’

Label Information Base:

Label-In FEC Label-Out17 47.0.0.0/8 XX

Label Information Base:

Label-In FEC Label-Out17 47.0.0.0/8 XX

Label Information Base:

Label-In FEC Label-OutXX 47.0.0.0/8 17

Label Information Base:

Label-In FEC Label-OutXX 47.0.0.0/8 17

Step 1: LSR creates bindingbetween FEC and label value

Step 2: LSR communicatesbinding to adjacent LSR

Step 3: LSR inserts labelvalue into forwarding base

Common understanding of which FEC the label is referring to!

Page 18: MPLS: Multi-protocol Label Switching

2000/05/15 18

LDP: Basic Characteristics

Provides LSR discovery mechanisms to enable LSR peers to find each other and establish communication

Defines four classes of messages DISCOVERY: deals with finding neighboring LSRs ADJACENCY: deals with initialization, keep alive, and shutdown of

sessions LABEL ADVERTISEMENT: deals with label binding advertisements,

request, withdrawal, and release NOTIFICATION: deals with advisory information and signal error

information Runs over TCP for for reliable delivery of messages,

except for discovery, which uses UDP and IP multicast Designed to be extensible, using messages specified as

TLVs (type, value, length) encoded objects.

Page 19: MPLS: Multi-protocol Label Switching

2000/05/15 19

LDP Messages

INITIALIZATION KEEPALIVE LABEL MAPPING LABEL WITHDRAWAL LABEL RELEASE LABEL REQUEST

Page 20: MPLS: Multi-protocol Label Switching

2000/05/15 20

IntfIn

LabelIn

Dest IntfOut

3 0.40 47.1 1

IntfIn

LabelIn

Dest IntfOut

LabelOut

3 0.50 47.1 1 0.40

47.1

47.247.3

1

2

31

2

1

2

3

3

IntfIn

Dest IntfOut

LabelOut

3 47.1.1 2 1.333 47.1 1 0.50

IP 47.1.1.1

IP 47.1.1.1

Explicitly Routed LSP

Page 21: MPLS: Multi-protocol Label Switching

2000/05/15 21

ER LSP - Advantages

Operator has routing flexibility policy-based, QoS-based

Can use routes other than shortest path

Can compute routes based on constraints in exactly the same manner as ATM based on distributed topology database.(traffic engineering)

Page 22: MPLS: Multi-protocol Label Switching

2000/05/15 22

ER LSP - discord!

Two signaling options proposed in the standards: CR-LDP, RSVP extensions:

CR-LDP = LDP + Explicit Route RSVP ext = Traditional RSVP + Explicit

Route +Scalability Extensions Market will probably have to resolve it Survival of the fittest not such a bad

thing.

Page 23: MPLS: Multi-protocol Label Switching

2000/05/15 23

MPLS and QoS in IP Network

Integrated Services Differentiated Services

Page 24: MPLS: Multi-protocol Label Switching

2000/05/15 24

Integrated Services Internet

Applications specify traffic and service specs Tspec: traffic specs including peak rate, maximum

packet size, burst size, and mean rate Rspec: service spec, specifically service rate

Two classes of service defined Guaranteed service: satisfies hard guarantees on

bandwidth and delay Controlled load service: provides service similar to that

in “unloaded network” RSVP was extended to RSVP-TE support signaling

RSVP was further extend to add MPLS support

Page 25: MPLS: Multi-protocol Label Switching

2000/05/15 25

Differentiated Services Internet

IP packets carry 6-bit service code points (DSCP) Potentially support 64-different classes of services

Routers map DSCP to per-hop-behavior (PHB) PHBs can be standard or local Standard PHBs include

Default: No special treatment or best effort Expedited forwarding (EF): Low delay and loss Assured forwarding (AF): Multiple classes, each class with multiple

drop priorities LSRs don’t sort based on IP headers, hence DSCPs need to

be mapped to EXP field in MPLS shim header Exp field is only 3-bit wide – can support only 8 DSCPs/PHBs Labels can be used if more than 8 PHBs need to be supported Same approach can be used for link layers which do not use

Shim headers, e.g. ATM

Page 26: MPLS: Multi-protocol Label Switching

2000/05/15 26

Traffic Engineering with RSVP

Sender

Receiver

PATH {Tspec}

RESV{Rspec}

PATH {Tspec}

PATH {Tspec} PATH

{Tspec}

RESV{Rspec}

RESV{Rspec}

RESV{Rspec}

Page 27: MPLS: Multi-protocol Label Switching

2000/05/15 27

Label Distribution with RSVP-TE

PATH {Tspec}

RESV{Rspec}

{Label = 5}

RESV{Rspec}

{Label = 10}

Sender

PATH {Tspec}

RESV{Rspec}

PATH {Tspec}

PATH {Tspec} PATH

{Tspec}

RESV{Rspec}

Page 28: MPLS: Multi-protocol Label Switching

2000/05/15 28

MPLS Protection

End-to-end protection Fast node and link reroute

Page 29: MPLS: Multi-protocol Label Switching

2000/05/15 29

MPLS ProtectionEnd-to-end Path Protection

A

C

BD

E

F

Backup LSP

Primary LSP

Backup and primary LSPs should be route diverse

Page 30: MPLS: Multi-protocol Label Switching

2000/05/15 30

MPLS ProtectionFast Reroute

LSR A

LSR F

LSR E

LSR D

LSR C

LSR B

Detour to avoid AB

Detour to avoid BC

Detour to avoid CD

Detour to avoid DE

Detour to avoid link DE

Detour around node or link failures Example LSP shown traverses (A, B, C, D, E, F)

Each detour avoids Immediate downstream node & link towards it Except for last detour: only avoids link DE

Page 31: MPLS: Multi-protocol Label Switching

2000/05/15 31

Detour Merging

LSR A

LSR F

LSR E

LSR D

LSR C

LSR B

Detour to avoid AB

Detour to avoid BC

Merged detour to avoid AB and BC

Reduces state maintained Improves resource utilization

Page 32: MPLS: Multi-protocol Label Switching

2000/05/15 32

MPLS Protection Types

1+1: Backup LSP established in advance, resources dedicated, data simultaneously sent on both primary and backup

Switchover performed only by egress LSR Fastest, but most resource intensive

1:1 : Same as 1+1 with the difference that data is not sent on the backup

Requires failure notification to the ingress LSR to start transmitting on backup

Notification may be send to egress also Resources in the backup may be used by other traffic

Low priority traffic (e.g., plain IP traffic), shared by other backup paths

Page 33: MPLS: Multi-protocol Label Switching

2000/05/15 33

MPLS VPN: The Problem

10.1/16

10.1/16

10.2/16

10.2/16

10.3/16

10.3/16

Provider NetworkCustomer 1

Site 1

Customer 1Site 2

Customer 1Site 3

Customer 2Site 3

Customer 2Site 1

Customer 2Site 2

Page 34: MPLS: Multi-protocol Label Switching

2000/05/15 34

MPLS VPN: The Model

10.1/16

10.1/16

10.2/16

10.2/16

10.3/16

10.3/16

Customer 1Site 1

Customer 2Site 1

Customer 2Site 3

Customer 1Site 3

Customer 2Site 2

Customer 1Site 2

Customer 1Virtual Network

Customer 2Virtual Network

Page 35: MPLS: Multi-protocol Label Switching

2000/05/15 35

MPLS VPN: The Solution

10.1/16

10.1/16

10.2/16

10.2/16

10.3/16

10.3/16

Customer 1Site 1

Customer 1Site 2

Customer 1Site 3

Customer 2Site 3

Customer 2Site 1

Customer 2Site 2

VRF 1

VRF 1

VRF 1

VRF 2

VRF 2

VRF 2

MPLS LSP

MPLS LSP

Page 36: MPLS: Multi-protocol Label Switching

2000/05/15 36

Unified Control Plane

UNI - User-to-Network InterfaceI-NNI - Internal Network-to-Network InterfaceE-NNI - External Network-to-Network Interface

Optical Network

Optical subnet

Optical subnet

Optical subnet

UNI

UNI

E-NNIE-NNI

E-NNI

I-NNI

ATM Network IP Network

IP Network

ATM Network

ATM Network

ATM Network

ATM NetworkIP Network

ATM Network

ATM Network

Page 37: MPLS: Multi-protocol Label Switching

2000/05/15 37

GMPLS: Generalized MPLS

GMPLS Handles Nodes With Diverse Capabilities. Packet Switch Capable (PSC) Time Division Multiplexing Capable (TDM) Lambda Switch Capable (LSC) Fiber Switch Capable (FSC)

Each Node Is Treated As an MPLS Label-switching Router (LSR) Lightpaths/TDM Circuits Are Considered Similar to Label-Switched Paths

(LSPs) Selection of s and OXC ports are considered similar to selection of labels

FSC Cloud

LSCCloud

TDM Cloud

PSC Cloud