35
Multiprotocol Label Switching (MPLS) Based on slides from Prof. Shivkumar Kalyanaraman Prof. Raj Jain (OSU) , Kireeti Kompella, Juniper networks, Peter Ashwood- Smith and Bilel Jamoussi (Nortel Networks),

Multiprotocol Label Switching (MPLS)alfuqaha/Fall11/cs6570/... · MPLS Terminology LDP: Label Distribution Protocol LSP: Label Switched Path FEC: Forwarding Equivalence Class LSR:

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Multiprotocol Label Switching (MPLS)alfuqaha/Fall11/cs6570/... · MPLS Terminology LDP: Label Distribution Protocol LSP: Label Switched Path FEC: Forwarding Equivalence Class LSR:

Multiprotocol Label Switching (MPLS)

Based on slides from Prof. Shivkumar Kalyanaraman Prof. Raj Jain (OSU) , Kireeti Kompella, Juniper networks, Peter Ashwood-Smith and Bilel Jamoussi (Nortel Networks),

Page 2: Multiprotocol Label Switching (MPLS)alfuqaha/Fall11/cs6570/... · MPLS Terminology LDP: Label Distribution Protocol LSP: Label Switched Path FEC: Forwarding Equivalence Class LSR:

Overview

IP-over-ATM to MPLS: History of IP Switching

MPLS: generalization of labels, de-coupling of control plane

Label distribution/setup protocols: RSVP, LDP

Page 3: Multiprotocol Label Switching (MPLS)alfuqaha/Fall11/cs6570/... · MPLS Terminology LDP: Label Distribution Protocol LSP: Label Switched Path FEC: Forwarding Equivalence Class LSR:

IP: “Best-Effort Philosophy”

Well architected, not necessarily worked out in detailRealization: can’t predict the futureArchitectural decisions:

Make it reasonableMake it flexibleMake it extensible

stuff above

transportnetwork

stuff below

Page 4: Multiprotocol Label Switching (MPLS)alfuqaha/Fall11/cs6570/... · MPLS Terminology LDP: Label Distribution Protocol LSP: Label Switched Path FEC: Forwarding Equivalence Class LSR:

IP Control Plane EvolutionAgain, just good enough (best-effort) …

But again, flexible, extensible

Distance Vector routing was fine for quite a whileJust in time, along came link state (OSPF and IS-IS)

Now a burning question in OSPF/IS-IS is: Convergence “in a few seconds” is not good enough?See NANOG June 2002 for interesting videos and papers on how to fix LS-routing for fast convergence

Goal: “Business” IP for service providers…Make me money – new services, GoSDon’t lose me money – uptime, SLAsOSPF/BGP not originally designed to support QoS or multiple services (eg: VoIP, VPNs)

Page 5: Multiprotocol Label Switching (MPLS)alfuqaha/Fall11/cs6570/... · MPLS Terminology LDP: Label Distribution Protocol LSP: Label Switched Path FEC: Forwarding Equivalence Class LSR:

ATM – Perfectionist’s Dream

stuff abovetransportnetwork

ATM

AAL 1

AAL 2

AAL 3

/4AA

L 5Connection-orientedDoes everything and does it wellAnticipated all future uses and factored them inPhilosophical mismatch with IP

Page 6: Multiprotocol Label Switching (MPLS)alfuqaha/Fall11/cs6570/... · MPLS Terminology LDP: Label Distribution Protocol LSP: Label Switched Path FEC: Forwarding Equivalence Class LSR:

Overlay Model for IP-over-ATM Internetworking

Goal: Run IP over ATM core networksWhy? ATM switches offered performance, predictable behavior and services (CBR, VBR, GFR…)ISPs created “overlay” networks that presented a virtual topology to the edge routers in their networkUsing ATM virtual circuits, the virtual network could be reengineered without changing the physical networkBenefits

Full traffic controlPer-circuit statisticsMore balanced flow of traffic across links

Page 7: Multiprotocol Label Switching (MPLS)alfuqaha/Fall11/cs6570/... · MPLS Terminology LDP: Label Distribution Protocol LSP: Label Switched Path FEC: Forwarding Equivalence Class LSR:

Overlay Model (Contd)ATM core ringed by routersPVCs overlaid onto physical network

PhysicalView

A

BC

A

B

CLogicalView

Page 8: Multiprotocol Label Switching (MPLS)alfuqaha/Fall11/cs6570/... · MPLS Terminology LDP: Label Distribution Protocol LSP: Label Switched Path FEC: Forwarding Equivalence Class LSR:

Summary: IP-to-ATM Overlay Model Drawbacks

IP-to-ATM: control-plane mapping issuesNeed a full mesh of ATM PVCs for mapping IP routingBoth NBMA and Pt-Mpt mapping models have drawbacks

IP-to-ATM: data-plane mapping issuesAddress resolution (eg: LANE, RFC 1577, MPOA, NHRP) requires a complex distributed server and multicast VC infrastructureSegmentation-and-Reassembly (SAR) of IP packets into ATM cells can have a multiplier-effect on performance even if one cell in a packet is lost

ATM SAR has trouble scaling to OC-48 and OC-192 speedsPacket-over-SONET (POS) emerged as an alternative at the link layer

ATM + AAL5 overhead (20%) deemed excessive

Page 9: Multiprotocol Label Switching (MPLS)alfuqaha/Fall11/cs6570/... · MPLS Terminology LDP: Label Distribution Protocol LSP: Label Switched Path FEC: Forwarding Equivalence Class LSR:

Re-examining Basics: Routing vs Switching

Page 10: Multiprotocol Label Switching (MPLS)alfuqaha/Fall11/cs6570/... · MPLS Terminology LDP: Label Distribution Protocol LSP: Label Switched Path FEC: Forwarding Equivalence Class LSR:

IP Routing vs IP Switching

Page 11: Multiprotocol Label Switching (MPLS)alfuqaha/Fall11/cs6570/... · MPLS Terminology LDP: Label Distribution Protocol LSP: Label Switched Path FEC: Forwarding Equivalence Class LSR:

MPLS: Best of Both Worlds

PACKETROUTING

CIRCUITSWITCHING

MPLS+IP

IP ATM

HYBRID

Caveat: one cares about combining the best of both worlds only for large ISP networks that need both features!Note: the “hybrid” also happens to be a solution that bypasses IP- over- ATM mapping woes!

TDM

Page 12: Multiprotocol Label Switching (MPLS)alfuqaha/Fall11/cs6570/... · MPLS Terminology LDP: Label Distribution Protocol LSP: Label Switched Path FEC: Forwarding Equivalence Class LSR:

MPLS Broad Concept: Route at Edge, Switch in Core

IP ForwardingLABEL SWITCHINGIP Forwarding

IP IP #L1 IP #L2 IP #L3 IP

Page 13: Multiprotocol Label Switching (MPLS)alfuqaha/Fall11/cs6570/... · MPLS Terminology LDP: Label Distribution Protocol LSP: Label Switched Path FEC: Forwarding Equivalence Class LSR:

MPLS TerminologyLDP: Label Distribution Protocol

LSP: Label Switched Path

FEC: Forwarding Equivalence ClassLSR: Label Switching Router

LER: Label Edge Router (Useful term not in standards)

MPLS is “multi- protocol” both in terms of the protocols it supports ABOVE it and BELOW it in the protocol stack!

Page 14: Multiprotocol Label Switching (MPLS)alfuqaha/Fall11/cs6570/... · MPLS Terminology LDP: Label Distribution Protocol LSP: Label Switched Path FEC: Forwarding Equivalence Class LSR:

MPLS HeaderIP packet is encapsulated in MPLS header and sent down LSP

IP packet is restored at end of LSP by egress router

TTL is adjusted by default

…IP Packet

32-bitMPLS Header

Page 15: Multiprotocol Label Switching (MPLS)alfuqaha/Fall11/cs6570/... · MPLS Terminology LDP: Label Distribution Protocol LSP: Label Switched Path FEC: Forwarding Equivalence Class LSR:

MPLS Label Stack Concept

Allows nested tunnels, that are opaque, I.e. do not know or care what protocol data they carry (a.k.a multi- protocol)

Page 16: Multiprotocol Label Switching (MPLS)alfuqaha/Fall11/cs6570/... · MPLS Terminology LDP: Label Distribution Protocol LSP: Label Switched Path FEC: Forwarding Equivalence Class LSR:

MPLS Header

TTLLabel EXP S

LabelUsed to match packet to LSP

Experimental bitsCarries packet queuing priority (CoS)

Stacking bit: can build “stacks” of labelsGoal: nested tunnels!

Time to liveCopied from IP TTL

Page 17: Multiprotocol Label Switching (MPLS)alfuqaha/Fall11/cs6570/... · MPLS Terminology LDP: Label Distribution Protocol LSP: Label Switched Path FEC: Forwarding Equivalence Class LSR:

Multi-protocol operationThe abstract notion of a “label” can be mapped to multiple circuit- or VC-oriented technologies!

• ATM - label is called VPI/VCI and travels with cell.

• Frame Relay - label is called a DLCI and travels with frame.

• TDM - label is called a timeslot its implied, like a lane.

• X25 - a label is an LCN

• Proprietary labels: TAG (in tag switching) etc..

• Frequency or Wavelength substitution where “label” is a light frequency/wavelength? (idea in G-MPLS)

Page 18: Multiprotocol Label Switching (MPLS)alfuqaha/Fall11/cs6570/... · MPLS Terminology LDP: Label Distribution Protocol LSP: Label Switched Path FEC: Forwarding Equivalence Class LSR:

Label EncapsulationATM FR Ethernet PPPL2

VPI VCI DLCI “Shim Label”Label

“Shim Label” …….

IP | PAYLOAD

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

Page 19: Multiprotocol Label Switching (MPLS)alfuqaha/Fall11/cs6570/... · MPLS Terminology LDP: Label Distribution Protocol LSP: Label Switched Path FEC: Forwarding Equivalence Class LSR:

MPLS Encapsulation - ATMATM LSR constrained by the cell format imposed by existing ATM standardsATM LSR constrained by the cell format imposed by existing ATM standards

VPI PT CLP HEC

5 OctetsATM Header

Format VCI

AAL5 Trailer

•••Network Layer Header

and Packet (eg. IP)

1n

AAL 5 PDU Frame (nx48 bytes)

Generic Label Encap.(PPP/LAN format)

ATMSAR

ATM HeaderATM 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)

48 Bytes

48 Bytes

Label LabelOption 1Option 2 Combined Label

Option 3 LabelATM VPI (Tunnel)

Page 20: Multiprotocol Label Switching (MPLS)alfuqaha/Fall11/cs6570/... · MPLS Terminology LDP: Label Distribution Protocol LSP: Label Switched Path FEC: Forwarding Equivalence Class LSR:

MPLS Encapsulation - Frame Relay

•••n 1

DLCI C/R

EA DLCI FE

CNBECN

DE

EA

Q.922Header

Generic Encap.(PPP/LAN Format) Layer 3 Header and Packet

DLCI Size = 10, 17, 23 Bits

• 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

Page 21: Multiprotocol Label Switching (MPLS)alfuqaha/Fall11/cs6570/... · MPLS Terminology LDP: Label Distribution Protocol LSP: Label Switched Path FEC: Forwarding Equivalence Class LSR:

MPLS Encapsulation: PPP & LAN Data Links

Label Exp. S TTL

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

Layer 2 Header(eg. PPP, 802.3)

•••Network Layer Header

and Packet (eg. IP)

4 Octets

MPLS ‘Shim’ Headers (1-n)

1n

• 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 on PPP links and LANs uses ‘Shim’ Header Inserted Between Layer 2 and Layer 3 Headers

MPLS on PPP links and LANs uses ‘Shim’ Header Inserted Between Layer 2 and Layer 3 Headers

Label StackEntry Format

Page 22: Multiprotocol Label Switching (MPLS)alfuqaha/Fall11/cs6570/... · MPLS Terminology LDP: Label Distribution Protocol LSP: Label Switched Path FEC: Forwarding Equivalence Class LSR:

MPLS Forwarding: ExampleAn IP packet destined to 134.112.1.5/32 arrives in SFSan Francisco has route for 134.112/16

Next hop is the LSP to New York

SanFrancisco

New YorkIP

Santa Fe

134.112/16

134.112.1.5

19651026

0

Page 23: Multiprotocol Label Switching (MPLS)alfuqaha/Fall11/cs6570/... · MPLS Terminology LDP: Label Distribution Protocol LSP: Label Switched Path FEC: Forwarding Equivalence Class LSR:

MPLS Forwarding ExampleSan Francisco pre-pends MPLS header onto IP packet and sends packet to first transit router in the path

SanFrancisco

New York

Santa Fe

134.112/16

IP1965

Page 24: Multiprotocol Label Switching (MPLS)alfuqaha/Fall11/cs6570/... · MPLS Terminology LDP: Label Distribution Protocol LSP: Label Switched Path FEC: Forwarding Equivalence Class LSR:

MPLS Forwarding ExampleBecause the packet arrived at Santa Fe with an MPLS header, Santa Fe forwards it using the MPLS forwarding tableMPLS forwarding table derived from mpls.0 switching table

SanFrancisco

New York

Santa Fe

134.112/16

IP1026

Page 25: Multiprotocol Label Switching (MPLS)alfuqaha/Fall11/cs6570/... · MPLS Terminology LDP: Label Distribution Protocol LSP: Label Switched Path FEC: Forwarding Equivalence Class LSR:

MPLS Forwarding ExamplePacket arrives from penultimate router with label 0Egress router sees label 0 and strips MPLS headerEgress router performs standard IP forwarding decision

SanFrancisco

New York

Santa Fe

IP134.112/16

IP0

Page 26: Multiprotocol Label Switching (MPLS)alfuqaha/Fall11/cs6570/... · MPLS Terminology LDP: Label Distribution Protocol LSP: Label Switched Path FEC: Forwarding Equivalence Class LSR:

Label Setup/Signaling: MPLS Using IP Routing Protocols

47.1

47.247.3

D e s t O u t4 7 . 1 14 7 . 2 24 7 . 3 3

1

23

D e s t O u t4 7 . 1 14 7 . 2 24 7 . 3 3

D e s t O u t4 7 . 1 14 7 . 2 24 7 . 3 3

1

23

1

2

3

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

Page 27: Multiprotocol Label Switching (MPLS)alfuqaha/Fall11/cs6570/... · MPLS Terminology LDP: Label Distribution Protocol LSP: Label Switched Path FEC: Forwarding Equivalence Class LSR:

Regular IP Forwarding

47.1

47.247.3

IP 47.1.1.1

D e s t O u t4 7 .1 14 7 .2 24 7 .3 3

1

23

D e s t O u t4 7 . 1 14 7 . 2 24 7 . 3 3

1

2

1

2

3

IP 47.1.1.1

IP 47.1.1.1IP 47.1.1.1

D e s t O u t4 7 . 1 14 7 . 2 24 7 . 3 3

IP destination address unchanged in packet header!

Page 28: Multiprotocol Label Switching (MPLS)alfuqaha/Fall11/cs6570/... · MPLS Terminology LDP: Label Distribution Protocol LSP: Label Switched Path FEC: Forwarding Equivalence Class LSR:

MPLS Label Distribution

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

23

3IntfIn

Dest IntfOut

LabelOut

3 47.1 1 0.50 Mapping: 0.40

Request: 47.1

Mapping: 0.50

Request: 47.1

Page 29: Multiprotocol Label Switching (MPLS)alfuqaha/Fall11/cs6570/... · MPLS Terminology LDP: Label Distribution Protocol LSP: Label Switched Path FEC: Forwarding Equivalence Class LSR:

Label Switched Path (LSP)

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

23

3IntfIn

Dest IntfOut

LabelOut

3 47.1 1 0.50

IP 47.1.1.1

IP 47.1.1.1

Page 30: Multiprotocol Label Switching (MPLS)alfuqaha/Fall11/cs6570/... · MPLS Terminology LDP: Label Distribution Protocol LSP: Label Switched Path FEC: Forwarding Equivalence Class LSR:

A General Vanilla LSP

#216

#612

#5#311

#14

#99

#963

#462

- A Vanilla LSP is actually part of a tree from every source to that destination (unidirectional).

- Vanilla LDP builds that tree using existing IP forwarding tables to route the control messages.

#963

#14

#99

#311

#311

#311

Page 31: Multiprotocol Label Switching (MPLS)alfuqaha/Fall11/cs6570/... · MPLS Terminology LDP: Label Distribution Protocol LSP: Label Switched Path FEC: Forwarding Equivalence Class LSR:

#216

#14

#462

ER-LSP follows route that source chooses. In other words, the control message to establish the LSP (label request) is source routed.

#972

#14 #972

A

B

C

Route={A,B,C}

Explicitly Routed (ER-) LSP

Page 32: Multiprotocol Label Switching (MPLS)alfuqaha/Fall11/cs6570/... · MPLS Terminology LDP: Label Distribution Protocol LSP: Label Switched Path FEC: Forwarding Equivalence Class LSR:

Explicitly Routed (ER-) LSP Contd

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

23

3

In tfIn

D e s t In tfO u t

L a b e lO u t

3 4 7 .1 .1 2 1 .3 33 4 7 .1 1 0 .5 0

IP 47.1.1.1

IP 47.1.1.1

Page 33: Multiprotocol Label Switching (MPLS)alfuqaha/Fall11/cs6570/... · MPLS Terminology LDP: Label Distribution Protocol LSP: Label Switched Path FEC: Forwarding Equivalence Class LSR:

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 34: Multiprotocol Label Switching (MPLS)alfuqaha/Fall11/cs6570/... · MPLS Terminology LDP: Label Distribution Protocol LSP: Label Switched Path FEC: Forwarding Equivalence Class LSR:

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• Not going to be resolved any time soon, market will probably have to resolve it.

Page 35: Multiprotocol Label Switching (MPLS)alfuqaha/Fall11/cs6570/... · MPLS Terminology LDP: Label Distribution Protocol LSP: Label Switched Path FEC: Forwarding Equivalence Class LSR:

Summary: Key Benifits of MPLS

Goal: Low-overhead virtual circuits for IPOriginally designed to make routers faster by leveraging ATM switch cores (bypasses IP-over-ATM overlay problems)Fixed label lookup faster than longest match used by IP routing

Caveat: Not true anymore! IP forwarding has broken terabit/s speeds through innovative data-structures (next class) !PPP-over-SONET (POS) provides a link layer!