Вы находитесь на странице: 1из 93

Multiprotocol Label Switching

The future of IP Backbone Technology

Ravikumar Pragada
&
Girish Srinivasan
1

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

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

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
5

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
6
forward the packet to the next hop

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
7
intra domain routing protocol such as OSPF

Basic Model for MPLS Network


Internet

LER

IP

LER

LSR
LSR

MPLS

LSR

MPLS

LSR
LER

LSR = Label Switched Router


LER = Label Edge Router

IP

MPLS Benefits
Comparing 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
9

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
10

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 dont do MPLS
For Scaling
Forward on a finer granularity than the labels
can provide
11

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 layer Shim label Network
header
header
layer header

Network
layer data

12

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
13

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 Session14

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
15

LDP Message Format


0

01234567890123456789012345678901
U

Message Type

Message Length

Message ID
Mandatory Parameters
Optional Parameters
16

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:
0

01234567890123456789012345678901
Version

PDU Length
LDP Identifier

17

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

18

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
packets IP destination address
19

Rules for Mapping packet to a LSP


If exactly one LSPs Host Address FEC
element ~ packets 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

20

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
21

LDP Identifiers
A six octet quantity
used to identify specific label space within an
LSR
First four octets encode LSRs 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
22

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
23

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
24
intends to use for the interface

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 its end (A1) and
LSR2s 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
25
messages

Session Initialization State Transition Diagram


Rx Any other
msg or Timeout
Tx NAK msg

NON EXISTENT
Session connection
Rx Any LDP msg except
established
Init msg or Timeout
(Passive Role)
Rx Acceptable
Init msg/
Tx Init msg &
KeepAlive msg

INITIALIZED

OPENSENT

OPENREC
Rx KeepAlive
msg

(Active Role)
Tx Init msg

Rx Acceptable Init msg


Tx KeepAlive msg
OPERATIONAL
All other LDP msgs

Rx - Receive
Tx - Transmit

Rx Any other
msg or Timeout
Tx NAK msg

Rx Shutdown
msg or Timeout
Tx Shutdown msg

Session Initialization State Transition Table


STATE

EVENT

NEW STATE

NON
EXISTENT
INITIALIZED

Session TCP connection established

INITIALIZED

Transmit initialization message


(Active Role)

OPENSENT

Receive acceptable initialization


message (Passive role)
Action: Transmit initialization
message and Keep alive message

OPENREC

Receive Any other LDP msg


Action: Transmit error notification
msg (NAK) and close transport
connection

NON
EXISTENT

27

Session Initialization State Transition Table (cont.)


STATE
OPENREC

OPENSENT

EVENT
Receive KeepAlive msg

NEW STATE
OPERATIONAL

Receive Any other LDP msg


NON EXISTENT
Action: Transmit Error
Notification msg (NAK) and close
transport connection
Receive acceptable Init msg
OPENREC
Action: Transmit KeepAlive msg
NON EXISTENT
Receive Any other LDP msg
Action: Transmit Error msg
(NAK) and close transport
connection

OPERATIONAL Receive Shutdown msg


NON EXISTENT
Action: Transmit Shutdown msg
and close transport connection
All other LDP messages

OPERATIONAL

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
29
distribution method used by its peer

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
30

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

31

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

32

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
33

Hierarchical Operation in MPLS


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

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


C

D
Domain #2

Domain #1

Domain #3

Note: Internal routers in domains 1 and 3 not shown

34

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
35
lower level label

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
36

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
37

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

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

39

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)
40

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
41

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
42

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

43

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
44

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
45

Leaf

Leaf

Leaf

Detects loop
immediately

LSR

Link removed
from tree

Change in Link

Ingress Node
Egress Node

46

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
47

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 48

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
49
policy

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
50

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
51

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
52

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
53

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
54

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
55
run a shortest path algorithm on the residual graph

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
56

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

57

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
58

Implementation Consideration
Management Interface

MPLS

Constraint Based
Routing Process

Resource Attribute
Availability Database

Conventional
IGP Process
Link State
Database
59

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

60

Tag Switching
Terminologies
Tags

Analogies in Label
Switching
Labels

Tag Switching Router (TSR)

Label Switching Router

Tag Edge Router (TER)

Edge Label Switching


Router
Tag Forwarding Information Label Switching Forwarding
Base (TFIB)
Table
Tag Distribution Protocol Label Distribution Protocol
(TDP)
61

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
62

Destination Based forwarding


model of Tag Switching
A

if0

if1

if2
if1

if2

if0

if0
if1

if0

if2

if2
C

if1
D

192.16/16

if0

TSR
63

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
64

Initial TFIB Entries


Incoming Outgoing
tag
tag

Next
hop

Outgoing
Interface

On TSR A

100

TSR B

If1

On TSR B

TSR E

If1

On TSR C

17

TSR D

If2

On TSR D

TSR E

If0

On TSR E

TSR E

If0
65

TFIB Entries after Tag Distribution


Incoming Outgoing
tag
tag

Next
hop

Outgoing
Interface

On TSR A

100

TSR B

If1

On TSR B

TSR E

If1

On TSR C

17

TSR D

If2

On TSR D

TSR E

If0

On TSR E

TSR E

If0
66

Behavior during routing change


A

if0

if1

if2
if1

if2

if0

if0
if1

if2
Link Down

if0

if2
C

if1
D

if0

TSR
67

Updated TFIB
Incoming Outgoing
tag
tag

Next
hop

Outgoing
Interface

On TSR A

100

TSR B

If1

On TSR B

TSR E

If1

On TSR C

17

TSR D

If2

On TSR D

TSR B

If0

On TSR E

TSR E

If0
68

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
69

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
70

Hierarchy of Routing knowledge


model
Routing
domain
B

Routing
domain
C

Routing domain A

Z
TSR
71

TFIB Entries in Routing Domain A


Incoming Outgoing
tag
tag

Next
hop

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
72

Label Stack During Hierarchical


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

Top of
Stack

10
2

Stack after processing in


TSR T

Stack after processing in


TSR W
73

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
74

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

75

Multicast model in Tag Switching


A

TSR

if0
if0

if1

if2

if0

if0

76

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
77
flow is set up using the RESV message

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
78

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

79

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

80

Removing ATM Control Plane


ATM
ARP

IP
MARS

NHRP

PNNI

IP

IFMP

Q.2931
ATM hardware

ATM hardware

(a)

(a) IP over Standard ATM


(b) IP Switching

(b)

81

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 doesnt yet have a label

IP Switch Architecture
Switch controller
To
upstream
switch

Default
VC
Data
VC

GSMP
IFMP

Flow Classification and control


Routing
and
forwarding

To
downstream
switch

GSMP
Default
VC

Switch

Data
VC
83

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
Redirect:
Flow y VPI/VCI 3/57

C
Default VC

Default VC

Switch
Controller

Switch
Element

3/57
Switch B issues a REDIRECT message to switch A
Redirect:
Flow y VPI/VCI 3/57

Redirect:
Flow y VPI/VCI 2/22

B
Default VC

C
Default VC

Switch
Controller
Switch
Element

3/57
2/22
Switch B and C redirect the same flow, allowing it to be switched at B

Ipsilon Flow Management


Protocol (IFMP)
Designed to communicate flow to label
binding information
IFMP is a soft state protocol
IFMPs Adjacency Protocol:
Used to communicate and discover information
about neighbors
Adjacency message sent as limited broadcast

IFMPs Redirection Protocol


used to send appropriate messages for flowlabel bindings

87

IFMPs 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


88

IFMP Redirect Protocol Message Format


Version

Op code

Checksum

Sender Instance
Peer Instance
Sequence Number
Message body: variable length

IFMP REDIRECT message body


Flow type

Flow ID length
Label
Flow identifier

Lifetime

Encapsulation of Redirected Flows


LLC

SNAP IP header

Data

AAL5
trailer

Encapsulation of IP packet on the default VC

IFMP flow
type header

Data

AAL5
trailer

Encapsulation of IP packet on the redirected VCs


90

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,
91
such as link failure, happens on the switch

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

92

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
93
contributed GSMP