1 multiprotocol label switching the future of ip backbone technology ravikumar pragada & girish...

Post on 14-Dec-2015

222 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1

Multiprotocol Label SwitchingThe future of IP Backbone Technology

Ravikumar Pragada

&

Girish Srinivasan

2

Overview• Need for MPLS• MPLS Basics• Benefits• Label Switched Path• Label Distribution Protocol• Hierarchy in MPLS • Explicit Routing• Loop Detection• Traffic Engineering• Constraint Based Routing• Tag Switching• IP Switching

Conventional IP Networks & Routing• Client networks are connected to backbone via edge routers

– LAN, PSTN, ADSL

• Data packets are routed based on IP address and other information in the header

• Functional components– Forwarding

• responsible for actual forwarding across a router

• consists of set of procedures to make forwarding decisions

– Control

• responsible for construction and maintenance of the forwarding table

• consists of routing protocols such as OSPF, BGP and PIM

4

Need for Multiprotocol Label Switching (MPLS)

• Forwarding function of a conventional router– a capacity demanding procedure– constitutes a bottle neck with increase in line speed

• MPLS simplifies forwarding function by taking a totally different approach by introducing a connection oriented mechanism inside the connectionless IP networks

5

Label Switching

• Decomposition of network layer routing into control and forwarding components applicable

• Label switching forwarding component algorithm uses– forwarding table – label carried in the packet

• What is a Label ?– Short fixed length entity

6

MPLS Basics• A Label Switched Path (LSP) is set up for each route• A LSP for a particular packet P is a sequence of routers,

<R1,R2………..Rn>for all i, 1< i < n: Ri transmits P to R[i+1] by means

of a label

• Edge routers – analyze the IP header to decide which LSP to use– add a corresponding local Label Switched Path Identifier, in the

form of a label– forward the packet to the next hop

7

MPLS Basics contd..• Subsequent nodes

– just forward the packet along the LSP– simplify the forwarding function greatly– increase performance and scalability dramatically

• New advanced functionality for QoS, differentiated services can be introduced in the edge routers

• Backbone can focus on capacity and performance

• Routing information obtained using a common intra domain routing protocol such as OSPF

8

Basic Model for MPLS Network

MPLS

LSR = Label Switched RouterLER = Label Edge Router

LER

LER

LSR

LER

LSRLSR

IP

MPLS

IP

Internet

LSR

9

MPLS BenefitsComparing MPLS with existing IP core and IP/ATM

technologies, MPLS has many advantages and benefits:

• The performance characteristics of layer 2 networks

• The connectivity and network services of layer 3 networks

• Improves the price/performance of network layer routing

• Improved scalability

10

MPLS Benefits contd..

• Improves the possibilities for traffic engineering

• Supports the delivery of services with QoS guarantees

• Avoids need for coordination of IP and ATM address allocation and routing information

11

Necessity of L3 Forwarding

• For security– To allow packet filtering at firewalls– Requires examination of packet contents,

including the IP header

• For forwarding at the initial router - used when hosts don’t do MPLS

• For Scaling– Forward on a finer granularity than the labels

can provide

12

Carrying a Label

• Certain link layer technologies can carry label as a part of their link layer header – e.g ATM & Frame Relay

• Link layers that do not support labels in their header carry them in a “shim” label header

Link layerheader

“Shim” labelheader

Networklayer header

Networklayer data

13

Establishing Label Switched Path

• LSPs are generated and maintained in a distributed fashion

• Each LSR negotiates a label for each Forwarding Equivalence Class (FEC) with its upstream and downstream neighbors using a distribution method

• Label Information Base (LIB) - Result of negotiation

14

LDP - Terminology

• Label Distribution Protocol (LDP) – set of procedures by which LSRs establish LSPs– mapping between network-layer routing

information directly to data-link layer switched paths

• LDP peers: – two LSRs which use LDP to exchange label/stream

mapping – information exchange known as “LDP Session”

15

LDP Message Exchange

• Discovery messages - used to announce and maintain the presence of an LSR

• Session messages - used to establish, maintain and terminate sessions between LDP peers

• Advertisement messages - used to create, change, and delete label mappings

• Notification messages - used to provide advisory information and to signal error information

16

LDP Message Format

U Message Type Message Length

Message ID

Mandatory Parameters

Optional Parameters

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

0 1 2 3

17

LDP Protocol Data Units (PDUs)• LDP message exchanges are accomplished

by sending LDP PDUs

• Each LDP PDU is an LDP header followed by LDP message

• The LDP header is:

Version PDU Length

LDP Identifier

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

0 1 2 3

18

Forwarding Equivalence Class (FEC)

• Introduced in MPLS standards to denote packet forwarding classes

• Comprises traffic – to a particular destination

– to destination with distinct service requirements

• Why FEC?– To precisely specify which IP packets are mapped to

each LSP

– Done by providing a FEC specification for each LSP

19

LSP - FEC Mapping

• FEC specified as a set of two elements (currently)

1. IP Address Prefix - any length from 0 - 32

2. Host Address - 32 bit IP address

• A given packet matches a particular LSP if and only if IP Address Prefix FEC element matches packet’s IP destination address

20

Rules for Mapping packet to a LSP• If exactly one LSP’s Host Address FEC element ~ packet’s

IP destination address, packet is mapped to that LSP• If there are multiple LSPs satisfying the above condition,

then the packet is mapped to one of those LSPs†

• If a packet matches exactly one LSP, packet is mapped to that LSP

• If packet matches multiple LSPs, mapped to one with the longest prefix match

† Which LSP to be chosen - outside the scope of this presentation

21

Label Spaces

• Useful for assignment and distribution of labels

• Two types of label spaces– Per interface label space: Interface-specific

labels used for interfaces that use interface resources for labels

– Per platform label space: Platform-wide incoming labels used for interfaces that can share the same label space

22

LDP Identifiers• A six octet quantity • used to identify specific label space within an LSR• First four octets encode LSR’s IP address• Last two octets identify specific label space• Representation <IP address> : <label space id>

– e.g., 171.32.27.28:0, 192.0.3.5:2

• Last two octets for platform-wide label spaces are always both zero

23

LDP Discovery

• A mechanism that enables an LSR to discover potential LDP peers

• Avoids unnecessary explicit configuration of LSR label switching peers

• Two variants of the discovery mechanism– basic discovery mechanism: used to discover LSR

neighbors that are directly connected at the link level– extended discovery mechanism: used to locate LSRs

that are not directly connected at the link level

24

LDP Discovery contd..• Basic discovery mechanism

– To engage - send LDP Hellos periodically

– LDP Hellos sent as UDP packets for all routers on that subnet

• Extended discovery mechanism– To engage - send LDP targeted Hellos periodically

– Targeted Hellos are sent to a specific address

– Targeted LSR decides whether to respond or to ignore the targeted Hello

• LDP Link Hello sent by an LSR – carries the LDP identifier for the label space the LSR intends to use for the

interface

25

Session establishment• Exchange of LDP discovery Hellos triggers session

establishment• Two step process

– Transport connection establishment • If LSR1 does not already have a LDP session for the exchange of label

spaces LSR1:a and LSR2:b, it attempts to open a TCP connection with LSR2

• LSR1 determines the transport addresses at it’s end (A1) and LSR2’s end (A2) of the TCP connection

• If A1>A2, LSR1 plays the active role; otherwise it is passive

– Session initialization• Negotiate session parameters by exchanging LDP initialization messages

Session Initialization State Transition DiagramNON EXISTENT

INITIALIZED

OPENSENTOPENREC

OPERATIONAL

Session connectionestablished

Rx Any LDP msg exceptInit msg or Timeout

(Passive Role)Rx Acceptable

Init msg/Tx Init msg &

KeepAlive msg

(Active Role)Tx Init msg

Rx Any other msg or Timeout

Tx NAK msg

Rx Any other msg or Timeout

Tx NAK msgRx Acceptable Init msg Tx KeepAlive msg

Rx KeepAlive msg

All other LDP msgs

Rx Shutdown msg or Timeout

Tx Shutdown msgRx - Receive

Tx - Transmit

27

Session Initialization State Transition TableSTATE EVENT NEW STATE

NONEXISTENT

Session TCP connection established INITIALIZED

INITIALIZED Transmit initialization message(Active Role)

Receive acceptable initializationmessage (Passive role)Action: Transmit initializationmessage and Keep alive message

Receive Any other LDP msgAction: Transmit error notificationmsg (NAK) and close transportconnection

OPENSENT

OPENREC

NONEXISTENT

Session Initialization State Transition Table (cont.)STATE EVENT NEW STATE

OPENREC Receive KeepAlive msg

Receive Any other LDP msgAction: Transmit ErrorNotification msg (NAK) and closetransport connection

OPERATIONAL

NON EXISTENT

OPENSENT Receive acceptable Init msgAction: Transmit KeepAlive msg

Receive Any other LDP msgAction: Transmit Error msg(NAK) and close transportconnection

OPENREC

NON EXISTENT

OPERATIONAL Receive Shutdown msgAction: Transmit Shutdown msgand close transport connection

All other LDP messages

NON EXISTENT

OPERATIONAL

29

Label Distribution and Management

• Two label distribution techniques– Downstream on demand label distribution:

An LSR can distribute a FEC label binding in response to an explicit request

– Downstream Unsolicited label distribution:

Allows an LSR to distribute label bindings to LSRs that have not explicitly requested them

• Both can be used in the same network at the same time; however, each LSR must be aware of the distribution method used by its peer

30

Label Distribution Control Mode• Independent Label Distribution Control

– Each LSR may advertise label mappings to its neighbors at any time

– In independent Downstream on Demand mode - LSR answers without waiting for a label mapping from next hop

– In independent Downstream Unsolicited mode - LSR advertises label mapping for a FEC whenever it is prepared

– Consequence: upstream label can be advertised before a downstream label is received

31

Label Distribution Control Mode contd..

• Ordered Label Distribution Control– Initiates transmission of label mapping for a FEC only

if it has next FEC next hop or is the egress– If not, the LSR waits till it gets a label from

downstream LSR– LSR acts as an egress for a particular FEC, if

• next hop router for FEC is outside of label switching network

• FEC elements are reachable by crossing a domain boundary

32

Label Retention Mode• Conservative Label Retention Mode

– Advertised label mappings are retained only if they are used for forwarding packets

– Downstream on Demand Mode typically used with Conservative Label Retention Mode

– Advantage: only labels required are maintained– Disadvantage: a change in routing causes delay

• Liberal Retention Mode– All label mappings are retained regardless of whether LSR is

next hop or not– reaction to routing changes will be quick

33

Label Information Base

• LSR maintains learned labels in Label Information Base (LIB)

• Each entry of LIB associates an FEC with an (LDP Identifier, label) pair

• When next hop changes for a FEC, LSR will retrieve the label for the new next hop from the LIB

34

Domain #3

Domain #2

Domain #1

Hierarchical Operation in MPLS

C

12 3 4 5

6

D

EBA F

•External Routers A,B,C,D,E,F - Talk BGP

•Internal Routers 1,2,3,4,5,6 - Talk OSPF

Note: Internal routers in domains 1 and 3 not shown

Example:

35

Hierarchical Operation contd..

• When IP packet traverses domain #2, it will contain two labels, encoded as a “label stack”

• Higher level label used between routers C and D, which is encapsulated inside a lower level label used within Domain #2

• Operation at C– C needs to swap BGP label to put label that D expects

– C also needs to add an OSPF label that 1 expects

– C therefore pushes down the BGP label and adds a lower level label

36

Label Stack

• Multiple labels are carried in data packets– e.g. data packet carried across Domain #2

• Concept of stacking – provides a mechanism to segregate streams within a

switched path– one useful application of this technique is in Virtual Private

Networks

• Advantage of Hierarchical MPLS is that the internal routers need not know about higher level (BGP) routing

37

Multipath

• Many IP routing protocols support the notion of equal-cost multipath routes

• Few possible approaches for handling multipath within MPLS

• First approach:– separate switched path from each ingress node to the

merge point

– preserves switching performance, but at the cost of proliferating the number of switched paths

Multipath contd..• Second approach

– Only one switched path from one ingress node to a destination

– Conserves switched paths but cannot balance loads across downstream links as well as other approaches

– LSP may be different from the normal L3 path

• Third approach:– Allows single stream to be split into multiple streams, by using L3

forwarding

– e.g. might use a hash function on source and destination IP addresses

– Conserves paths at the cost of switching performance

39

Explicit Routing in MPLS

• Two options for route selection:– Hop by hop routing

– Explicit routing

• Explicit Routing (aka Source Routing) is a very powerful technique– With pure datagram routing overhead of carrying

complete explicit route is prohibitive

– MPLS allows explicit route to be carried only at the time the LSP is setup, and not with each packet

– MPLS makes explicit routing practical

40

Explicit Routing in MPLS contd..

• In an explicitly routed LSP – the LSP next hop is not chosen by the local node

– selected by a single node, usually the ingress

• The sequence of LSRs may be chosen by– configuration (e.g., by an operator or by a centralized

server)

– an algorithm (e.g., the ingress node may make use of topological information learned from a link state routing protocol)

41

Loops and Loop Handling

• Routing protocols used in conjunction with MPLS are based on distributed computation which may contain loops

• Loops handling - 3 categories– Loop Survival– Loop Detection– Loop Prevention

42

Loop Survival

• Minimizes the impact of loops by limiting the amount of resources consumed by the loop

• Method– based on use of TTL field which is decrement

at each hop– Use of dynamic routing protocol converging

rapidly to non-looping paths– Use of fair queuing

43

Loop Detection

• Loops may be setup but they are subsequently detected

• The detected loop is then broken by dropping label relationship

• Broken loops now necessitates packets to be forwarded using L3 forwarding

44

Loop Detection (cont.)

• Method is based on transmitting a Loop Detection Control Packet (LDCP) whenever a route changes

• LDCP is forwarded towards the destination until– last MPLS node along the path is reached– TTL of the LDCP expires– it returns to the node which originated it

45

Loop Prevention

• Ensures that loops are never set up

• labels are not used until it is sure to be loop free

• Methods– labels are propagated starting at the egress

switch– use source routing to set up label bindings from

the egress switch to each ingress switch

46

Detects loop

immediately

LeafLeaf

Leaf

LSR

Ingress Node

Egress Node

Change in LinkLink removedfrom tree

47

Traffic Engineering and Performance Objectives

• Traffic Engineering (TE) is concerned with performance optimization of operational networks

• The key performance objectives – traffic oriented - aspects that enhance the QoS

of traffic streams e.g minimization of packet loss

– resource oriented - aspects that pertain to the optimization of resource utilization e.g efficient management of bandwidth

48

Performance Objectives (cont.)

• Minimizing congestion is a major traffic and resource oriented performance objective

• Congestion manifest under two scenarios– network resources are insufficient or inadequate

• can be solved by capacity expansion or classical congestion control techniques

– traffic streams are inefficiently mapped onto available resources

• can be reduced by adopting load balancing policies

49

Traffic and Resource Control

• The traffic engineer acts as the controller in an adaptive feedback control system which includes– a set of interconnected network elements– a network performance monitoring system &– network configuration management tools

• The traffic engineer formulates control policies, observes the state of the network, characterizes the traffic and applies the control actions in accordance to the control policy

50

MPLS and Traffic Engineering

• Main components used– Traffic Trunk - aggregation of traffic flows of

the same class which are placed inside a Label Switched Path

– Induced MPLS Graph • analogous to a virtual topology in an overlay model

• logically mapped onto the physical network through the selections o LSPs for traffic trunk

• comprises a set of LSRs which act as nodes of the graph and a set of LSPs which provide logical point to point connectivity between LSRs and thus act as edges of the graph

51

Augmented Capabilities

• Set of attributes associated with traffic trunks which collectively specify their behavioral characteristics

• Set of attributes associated with resources which constrain the placement of traffic trunks through them

• A “constraint based routing” framework which is used to select paths for traffic trunks subject to constraints imposed

52

Basic operation on traffic trunks

• Establish - create an instance of a traffic trunk

• Activate - cause to start passing traffic

• Deactivate - stop passing traffic

• Modify Attributes

• Reroute - administratively or by underlying protocols

• Destroy - reclaim all resources such as label space and bandwidth

53

Basic attributes of traffic trunk

• Traffic parameter attribute - capture the characteristics of the traffic streams

• Generic Path selection and maintenance attributes - defines rules for selecting route taken by traffic trunk and rules of maintaining the paths

• Priority attribute

• Preemption attribute

• Resilience attribute

• Policing attribute

54

Resource Attributes

• Part of the topology state parameters used to constrain the routing of traffic trunks through specific resources

• Main components– Maximum Allocation Multiplier (MAM) - administratively

configured to determine the proportion of resource available for allocation

– Resource Class Attribute - administratively assigned parameters which express some notion of “Class” for resources

55

Constraint Based Routing• Enables a demand driven, resource reservation

aware, routing paradigm to co-exist with current topology driven protocols

• uses the following inputs– traffic trunk attributes– resource attributes– other topology state information

• Basic features– prune the resources that do not meet the requirements

of the traffic trunk attribute– run a shortest path algorithm on the residual graph

56

Constraint Based Routing (cont.)

• Strict & Loose Explicit Routes– Constraint Based LSP (CRLSP) is calculated at

one point at the edge of the network based on certain criteria

– special char. such as assigning certain bandwidth can be supported

– The route is encoded as a series of Explicit routed hops contained in a CR based route TLV

57

Constraint Based Routing (cont.)• Traffic Characteristics

– Described in the Traffic Parameter TLV in terms of peak rate, committed rate and service granularity

• Preemption– Setup and Holding priorities are used to rank new

and existing paths respectively to determine if new paths can preempt existing paths

– Allocation of these priorities is a network policy

58

Constraint Based Routing (cont.)

• Route Pinning– applicable to segments of an LSP that are

loosely routed i.e the next hop is an abstract node

– used if the LSP need not be changed

• Resource Class– While setup , indication must be given as to

which class the CRLSP can draw resources from

59

Implementation Consideration

Management Interface

MPLSConstraint BasedRouting Process

ConventionalIGP Process

Resource AttributeAvailability Database

Link StateDatabase

60

Quality of Service using CRLSP

• Delay Sensitive Service – the network commits to deliver with high probability,

user datagrams at a rate of PDR with minimum delay and delay requirements

– Datagrams in excess of PDR will be discarded

• Throughput Sensitive Service– the network commits to deliver at a rate of at least CDR– Datagrams with higher CDR have lower probability of

being delivered

• Best Effort Service– No expected service is guaranteed

61

Tag Switching

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

62

Destination Based Routing

• A TSR participates in 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

63

Destination Based forwarding model of Tag Switching

TSR

A

E

D

B

C

if0

if0if2

if1

if1 if2if1

if0

if2

if0if1if2if0

192.16/16

64

Information for constructing 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

65

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

66

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

67

Behavior during routing change

TSR

A

E

D

B

C

if0

if0if2

if1

if1 if2if1

if0

if2

if0if1if2if0

Link Down

68

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

69

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

70

Hierarchy of Routing Knowledge (cont.)

• To support forwarding in the presence of hierarchy of routing knowledge, 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 a the stack

71

Hierarchy of Routing knowledge model

T X Y WV Z

TSR

Routingdomain

B

Routing domain ARoutingdomainC

72

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

73

Label Stack During Hierarchical Routing

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

74

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

75

Multicast in Tag Switching (cont.)

• Procedures are used to partition the set of tags for use with multicast into disjoint subsets and care is taken to avoid overlapping 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 and any TSR can join the group using the JOIN command

76

Multicast model in Tag Switching

D

E

B

F

ATSR

if0

if1

if0

if0

if2

if0

77

RSVP with Tag Switching• RSVP is supported by the help of a RSVP

object - the tag Object

• The tag object binding information for an RSVP flow is 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

78

Explicit Routes

• Tag switching supports explicit routes with the help of a RSVP object - the 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”

79

IP Switching

• Introduced by Ipsilon

• Already been tested in the field

• Significant Innovation: Defined a switch management protocol (GSMP) along with label binding protocol called Ipsilon Flow Management Protocol (IFMP)

• General Switch Management Protocol (GSMP) - allows an ATM switch to be controlled by an “IP switch controller”

80

IP Switching Overview

• IP over ATM models are complex and inefficient - involve running two control planes– ATM Forum 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

81

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

IP Switching Architecture• Switch controller

– control processor of the system– uses GSMP to communicate with ATM switch itself– runs IP routing and forwarding code

• Default VC– defined to get control traffic before IP Switching is

performed– uses well known VCI/VPI value– also used for data that doesn’t yet have a label

83

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

IP Switching Basics• IP Switching 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>

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

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

87

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

88

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

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

90

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

91

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 if something interesting, such

as link failure, happens on the switch

92

GSMP contd..• 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– also specifies the QoS using a priority field

93

Implementations & Contributions• IP Switching products

– available since 1996– Ipsilon product family uses Intel Pentium-based PC as the switch controller– Also offers a number of ATM switches that are controlled by the switch

controller

• IP Switching made the following significant contributions to label switching effort:– first to deliver real products and caused activity that resulted in the

development of Tag Switching and ultimately the formation of MPLS working group

– contributed GSMP

top related