intro to mpls

57
INTRO TO MPLS CSE 8344 Southern Methodist University Fall 2003

Upload: ananda

Post on 14-Jan-2016

27 views

Category:

Documents


0 download

DESCRIPTION

INTRO TO MPLS. CSE 8344 Southern Methodist University Fall 2003. Introduction. We will be discussing material from MPLS, Technology and Applications Read Chapters 1-5 and we will resume this topic after the MidTerm - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: INTRO TO MPLS

INTRO TO MPLS

CSE 8344 Southern Methodist University

Fall 2003

Page 2: INTRO TO MPLS

Introduction

We will be discussing material from MPLS, Technology and Applications

Read Chapters 1-5 and we will resume this topic after the MidTerm

These notes will be based on the MPLS book plus some presentations from Cisco, Nortel, Juniper as well as Dr. Nair’s notes from last time.

Page 3: INTRO TO MPLS

Historical Perspective

X.25, Frame and ATM have proven themselves as a viable Layer2 transport technology

Virtual Circuits are nice for a number of reasons:– The route through the network is predictable

– IP Networks can be built on Top

– Just Like Ethernet but spread over the wide area.

– The trend has been for the carrier to supply the layer 2 links and the enterprise to build IP on top. (“Keep the carrier out of my routing.”)

– Often the enterprise will get a separate T1 or VC to the internet.

But IP routers are getting much bigger– This create lots of problems and questions.

Page 4: INTRO TO MPLS

Building big IP Networks

IP is beginning to dominate all other traffic– The need is for a cheap scalable IP network is the primary focus

3 Different ways this could be built …..

1) Use physical layer interfaces to connect IP routers

Requires lots of physical layer interface cards in the router$$$$$$$$Uses lots of bandwidth in backbone, because pipes may be sparsely filled.

2) Use a layer 2 mesh Use ATM or Frame Switches in the core to create a LOGICAL MESH at Layer 2 with

fewer physical layer connections between routers

OR..

Page 5: INTRO TO MPLS

Building big IP Networks (cont)

3) Build a mesh of routers This would use routers at both the edge of the network and the coreUse fewer physical layer connectionsLots of routersPotentially lots of router hops through the networkRouters can be expensive and complicatedFlooded route updates can consume time and bandwidthDataGram routing only

SO….

Most operators chose to go with Option 2

Page 6: INTRO TO MPLS

How can we optimize an IP network over Layer 2 VCs?

ATM has many features that are NOT necessary to support IP– SVC’s not needed

– Most of IP has been best effort (so far anyway)

– QoS and admission control is overkill

– CBR not needed

Early attempts to integrate ATM and IP were interesting:– LANE, ATMARP, MPOA, etc.

– All were attempts to preserve both ATM and IP

Doubly complicated because even more signaling and addressing schemes were required.

Page 7: INTRO TO MPLS

Issues

Price and performance Scalability Flexibility of routing functionality Tight coupling between routing and forwarding algorithms

Page 8: INTRO TO MPLS

IP Over ATM

ATM

Page 9: INTRO TO MPLS

Issues (IPOATM)

Exponential adjacencies– Means that more and more VCs must be built and managed to

support the network.

– If not, more hops

N^4 messages for topology changes– Changing the network can be a headache

Solution– Smart Label switching

Page 10: INTRO TO MPLS

Extending Router Functionality

E

D

BC

A

F

Plain old IP routing doesn’t allow us to route some traffic BD and some BE.

Page 11: INTRO TO MPLS

History

Cell switching router (CSR)• Toshiba • Mapped the IP signaling to control the ATM Network• Never really got off the ground

IP switching– Ipsilon– Strip the ATM hardware and use it as a router– Data driven connections through the network

Tag switching– Cisco– External control of Virtual Circuits (LSPs)– Not ATM specific

Page 12: INTRO TO MPLS

History (cont)

Multi-protocol Label Switching (MPLS) created in 1997

– Consisted of Tag Switching plus other input from Ipsilon, IBM (ARIS) and others.

– Worked in the Internet Engineering Task Force (IETF)– IETF creates the Request For Comments (RFCs) that

are quasi-standards

Page 13: INTRO TO MPLS

IP Switching

Page 14: INTRO TO MPLS

IP Switching Introduced by Ipsilon Significant innovations

– General switch management protocol (GSMP)

– Label binding protocol, Ipsilon flow management protocol (IFMP)

GSMP allows an ATM switch to be controlled by an “IP switch controller”

Page 15: INTRO TO MPLS

IP Switching Premise IP over ATM models are complex and inefficient -

involve running two control planes– ATM signaling and routing– IP routing and address resolution on top

In contrast IP Switching uses– IP component plus label binding protocol– Completely removes ATM control plane

Goal: To integrate ATM switches and IP routing in a simple and efficient way

Page 16: INTRO TO MPLS

Removing ATM Control Plane

IPATM MARS NHRP

ARP PNNI

Q.2931

ATM hardware

IP IFMP

ATM hardware

(a) (b)

(a) IP over Standard ATM

(b) IP Switching

Page 17: INTRO TO MPLS

IP Switching Architecture Switch controller

– Control processor of the system

– Uses GSMP to communicate with ATM switch

– Runs IP routing and forwarding code

Default VC– To get control traffic before IP Switching is performed

– Uses well known VCI/VPI value

– Used for data that doesn’t have a label yet

Page 18: INTRO TO MPLS

IP Switch Architecture

Flow Classification and control

GS

MP

IFM

P Routingand

forwarding

GSMP

Switch controller

Switch

Todownstream

switch

Toupstream

switch

DefaultVC

DataVC

DefaultVC

DataVC

Page 19: INTRO TO MPLS

Switching Basics Relies on IP protocols

– To establish routing information

– To determine next hop

Flow classification and control module selects flows from incoming traffic

IP flow refers to a sequence of datagrams– from one source to one destination, identified by the ordered pair <source

address, destination address>

– can also refer to a flow at finer granularity, e.g., different applications between same pair of machines, identified by < source address, source port, destination address, destination port>

Page 20: INTRO TO MPLS

Flow Redirection Redirection: Process of binding labels to flows and

establishing label switched paths Example:

– data is flowing from A via B to C on default VC

– B sends a redirect to A specifying flow y and the label (VPI/VCI) on which it expects to receive

– If C issues a redirect to B for flow y, B forwards y on the VPI/VCI specified by C

– Since same flow y enters B on one VC and leaves on another, B uses GSMP to inform its switching element to set up the appropriate switching path

Page 21: INTRO TO MPLS

Flow Redirection

Switch B issues a REDIRECT message to switch A

A B CSwitch

Controller

SwitchElement

Default VCDefault VC

Redirect:Flow y VPI/VCI 3/57

3/57

A B CSwitch

Controller

SwitchElement

Default VCDefault VC

Redirect:Flow y VPI/VCI 3/57

3/57

Redirect:Flow y VPI/VCI 2/22

2/22

Switch B and C redirect the same flow, allowing it to be switched at B

Page 22: INTRO TO MPLS

Ipsilon Flow Management Protocol (IFMP)

Designed to communicate flow to label binding information

IFMP is a soft state protocol IFMP’s Adjacency Protocol:

– Used to communicate and discover information about neighbors

– Adjacency message sent as limited broadcast

IFMP’s Redirection Protocol– Used to send appropriate messages for flow-label bindings

Page 23: INTRO TO MPLS

Adjacency Protocol

To exchange initial set of information ADJACENCY message encapsulated into IP datagram and sent to

limited broadcast address Also used to agree on the sequence numbers

Page 24: INTRO TO MPLS

IFMP’s Redirection Protocol

Different message types defined:– REDIRECT: used to bind label to a flow

– RECLAIM: enables label to be unbound for subsequent re-use

– RECLAIM ACK: Acknowledgement for RECLAIM message

– ERROR: Used to deal with various error conditions

Common header format

Page 25: INTRO TO MPLS

IFMP Redirect Protocol Message FormatVersion Op code Checksum

Sender Instance

Peer Instance

Sequence Number

Message body: variable length

IFMP REDIRECT message bodyFlow type Flow ID length Lifetime

Label

Flow identifier

Page 26: INTRO TO MPLS

Encapsulation of Redirected Flows

Encapsulation of IP packet on the default VC

Encapsulation of IP packet on the redirected VCs

LLC SNAP IP header Data AAL5trailer

IFMP flowtype header

Data AAL5trailer

Page 27: INTRO TO MPLS

General Switch Management Protocol (GSMP)

GSMP is a master/slave protocol– ATM switch is the slave

– Master could be any general purpose computer

The protocol allows the master to– Establish and release VC connections across the switch

– Perform port management (Up, Down, Reset, Loopback)

– Request Data (configuration information, statistics)

– Allows slave to inform master of events such as link failure

Page 28: INTRO TO MPLS

GSMP (cont’d) GSMP packets are LLC/SNAP encapsulated and sent over

ATM link using AAL5 GSMP Adjacency Protocol

– Used to gain information about the system at the other end of the link and

– To monitor link status

GSMP Connection Management Protocol– Used to ensure consistency between the GSMP master and slave

– Specifies the QoS using a priority field

Page 29: INTRO TO MPLS

Tag Switching

Page 30: INTRO TO MPLS

Design Goals

Adding functionality– Explicit routing

Improve scalability– Hierarchy of routing knowledge

Link layer independent– Not just ATM

Implemented in a variety of devices such as routers and ATM switches

Page 31: INTRO TO MPLS

Terminology Comparison

Terminologies Analogies in LabelSwitching

Tags Labels

Tag Switching Router (TSR) Label Switching Router

Tag Edge Router (TER) Edge Label SwitchingRouter

Tag Forwarding InformationBase (TFIB)

Label Switching ForwardingTable

Tag Distribution Protocol(TDP)

Label Distribution Protocol

Page 32: INTRO TO MPLS

Destination Based Routing

A TSR uses information from unicast routing protocols to construct its mapping between FECs and next hops

This mapping is used by the Tag Switching Control component for constructing the TFIB which is used for actual packet forwarding

Page 33: INTRO TO MPLS

Construction of TFIB

A local binding between the FEC and a tag– Takes a tag from the pool of free tags and uses it as an

index in the TFIB to set the incoming tag entry

A mapping between the FEC and the next hop for that FEC (provided by the routing protocol(s) running on the TSR)

A remote binding between the FEC and a tag that is received from the next hop

Page 34: INTRO TO MPLS

Example

TSR

A

E

D

B

C

if0

if0if2

if1

if1 if2if1

if0

if2

if0if1if2if0

192.6/16

Page 35: INTRO TO MPLS

Initial TFIB Entries

Incomingtag

Outgoingtag

Nexthop

OutgoingInterface

On TSR A 100 ? TSR B If1

On TSR B 6 ? TSR E If1

On TSR C 17 ? TSR D If2

On TSR D 5 ? TSR E If0

On TSR E 6 ? TSR E If0

For FEC 192.6/16

Page 36: INTRO TO MPLS

TFIB Entries After Tag Distribution

Incomingtag

Outgoingtag

Nexthop

OutgoingInterface

On TSR A 100 6 TSR B If1

On TSR B 6 6 TSR E If1

On TSR C 17 5 TSR D If2

On TSR D 5 6 TSR E If0

On TSR E 6 ? TSR E If0

Page 37: INTRO TO MPLS

Behavior With Routing Change

TSR

A

E

D

B

C

if0

if0if2

if1

if1 if2if1

if0

if2

if0if1if2if0

Link Down

Page 38: INTRO TO MPLS

Updated TFIB

Incomingtag

Outgoingtag

Nexthop

OutgoingInterface

On TSR A 100 6 TSR B If1

On TSR B 6 6 TSR E If1

On TSR C 17 5 TSR D If2

On TSR D 5 6 TSR B If0

On TSR E 6 ? TSR E If0

Page 39: INTRO TO MPLS

Hierarchical Routing

Scalability Faster convergence Fault isolation

Page 40: INTRO TO MPLS

Hierarchy of Routing Knowledge

All TSRs within a routing domain participate in a common intra-domain routing protocol and construct TFIB corresponding to destinations within the domain

All border TSRs or TERs within a domain and directly connected TERs from other domains also exchange Tag binding information via inter-domain routing protocol

Page 41: INTRO TO MPLS

Hierarchy (Cont’d)

To support forwarding,Tag switching allows a packet to carry several tags organized as a tag stack

At the ingress, a tag is pushed onto the tag stack, and at the egress a tag is popped off the stack

Page 42: INTRO TO MPLS

Hierarchical Routing Model

T X Y WV Z

TSR

Routingdomain

B

Routing domain ARoutingdomainC

Page 43: INTRO TO MPLS

TFIB Entries in Routing Domain A

Incomingtag

Outgoingtag

Nexthop

On TSR A N/A 10 TSR X

On TSR B 10 12 TSR Y

On TSR C 12 17 TSR W

On TSR D 17 N/A TSR W

Page 44: INTRO TO MPLS

Label Stack

Top of Stack

2

Stack after processing in TSR W

10

2

Stack after processing in TSR T

Top of Stack

TSR Z distributes label 2 to TSR W and TSR W gives label 5 to TSR T for the purpose of inter-domain routing

Page 45: INTRO TO MPLS

Multicast in Tag Switching

Selects the distribution tree based only on– tag carried in a packet

– interface on which the packet arrives

TSR maintains its TFIB on a per interface basis TSRs connected to a common sub-network agree among

themselves on a common tag associated with a particular multicast tree

Page 46: INTRO TO MPLS

Multicast (Cont’d)

Partition the set of tags for use with multicast into disjoint subsets

– Avoid overlap with the help of HELLO packets TSR connected to a common sub-network and those

which are a part of the same distribution tree elect one TSR that will create the tag bindings and distribute them

– any TSR can join the group using the JOIN command

Page 47: INTRO TO MPLS

Multicast Model

D

E

B

F

ATSR

if0

if1

if0

if0

if2

if0

Page 48: INTRO TO MPLS

RSVP With Tag Switching RSVP supported with the help of a RSVP object -

the tag Object The tag object binding for an RSVP flow carried in

the RSVP “RESV” message The RESV message carries the tag object containing

the tag given by a TSR and also information about the local resources to be used

The reservation state is refreshed once the flow is set up using the RESV message

Page 49: INTRO TO MPLS

Explicit Routes

Tag switching supports explicit routes with the help of Explicit Route Object

The object is carried in the RSVP “PATH” message

The tag information is carried in the Tag Object by the RSVP “RESV”

Page 50: INTRO TO MPLS

Tag Switching Over ATM

VCI field used as tag field– For stacks, use VPI

Cell interleave problem– VC merge– Different tags on the same path

Page 51: INTRO TO MPLS

MPLS Terminology

Label Switch Router (LSR)Label Distribution Protocol

LDP, CR-LDP or RSVP

Label Edge Router(non-standard but useful term)

Label Switch Path

Label Switch Hop

ForwardingEquivalence

Class

Page 52: INTRO TO MPLS

Forwarding Equivalence Classes

• FEC = “A subset of packets that are all treated the same way by a router”

• 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

• Mapping a packet to an FEC is known as “classification”.

•This is nominally done via examination of the IP header, but could be done by other means. (e.g. direct stream adaptation at the LER).

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

IP1

IP2

IP1

IP2

LSRLSRLER LER

LSP

IP1 #L1

IP2 #L1

IP1 #L2

IP2 #L2

IP1 #L3

IP2 #L3

Page 53: INTRO TO MPLS

#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

LABEL SWITCHED PATH (vanilla)

Page 54: INTRO TO MPLS

IP FORWARDING USED BY HOP-BY-HOP CONTROL

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

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

Page 55: INTRO TO MPLS

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

2

3

3IntfIn

Dest IntfOut

LabelOut

3 47.1 1 0.50

IP 47.1.1.1

IP 47.1.1.1

Page 56: INTRO TO MPLS

#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 OR ER-LSP

Page 57: INTRO TO MPLS

“Shim Label” …….

Label Encapsulation

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

MPLS may use the QoS/CoS mechanisms of the media type.

ATM FR Ethernet PPP

VPI VCI DLCI

L2

Label

IP | PAYLOAD