Multiprotocol Label Switching The future of IP Backbone Technology

advertisement
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
2
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
4
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
8
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 don’t 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 Session”14
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
1
2
3
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
1
2
3
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
packet’s IP destination address
19
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
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 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
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 th
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 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
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
EVENT
NEW STATE
OPENREC
Receive KeepAlive msg
OPERATIONAL
OPENSENT
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
1
A
B
Domain #1
6
2
3
4
5
F
E
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
B
if0
if1
if2
if1
if2
E
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
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
65
TFIB Entries after Tag Distribution
Incoming Outgoing
tag
tag
Next
hop
Outgoing
Interface
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
66
Behavior during routing change
A
B
if0
if1
if2
if1
if2
E
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
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
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
V
Routing
domain
C
Routing domain A
T
X
Y
W
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
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
B
TSR
if0
if0
D
if1
if2
if0
E
if0
F
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
(a)
(a) IP over Standard ATM
(b) IP Switching
ATM hardware
(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 doesn’t 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
A
B
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
A
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
• 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 flowlabel bindings
87
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
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
Download