Escolar Documentos
Profissional Documentos
Cultura Documentos
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
forward the packet to the next hop
6
MPLS Basics
Subsequent nodes
contd..
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
7
B a sic M o d e lfo r M P LS
N e tw o rk
Internet
LER
IP
LER
LSR
LSR
MPLS
LSR MPLS
LSR
LER IP
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
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
LD P M e ssa g e Fo rm a t
0 1 2 3
01234567890123456789012345678901
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 PDULength
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
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
intends to use for the interface
24
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
25
Session Initialization State Transition
NON
Diagram EXISTENT
Session connection Rx Any LDP msg except
established Init msg or Timeout
Rx Any other
msg or Timeout
(Passive Role) INITIALIZED
Tx NAK msg (Active Role)
Rx Acceptable Tx Init msg
Init msg/
Tx Init msg &
KeepAlive msg
27
Session Initialization State Transition Table
cont.)
STATE EVENT NEW STATE
OPENREC Receive KeepAlive msg OPERATIONAL
Receive Any other LDP msg
Action: Transmit Error NON EXISTENT
Notification msg (NAK) and close
transport connection
OPENSENT 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
29
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
H ie ra rch ica lO p e ra tio n in
M P LS
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 6
2 3 4 5
A B E F
Domain #1 Domain #3
35
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
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
policy
49
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
run a shortest path algorithm on the residual
graph
55
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
Im p le m e n ta tio n
C o n sid e ra tio n
Management Interface
Conventiona
Constraint Based
MPLS l
Routing Process
IGP Process
60
Ta g S w itch in g
Terminologies Analogies in Label
Switching
Tags Labels
62
fo rw a rd in g m o d e lo f Ta g
S w itch in g
A B
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
In itia lT FIB E n trie s
Incoming Outgoing Next Outgoing
tag tag hop 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
T FIB E n trie s a fte r Ta g
D istrib u tio n
Incoming Outgoing Next Outgoing
tag tag hop 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
B e h a vio r d u rin g ro u tin g
ch a n g e
A B
if1 if2
Link Down
67
U p d a te d T FIB
Incoming Outgoing Next Outgoing
tag tag hop 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
H ie ra rch y o f R o u tin g
kn o w le d g e m o d e l
Routing Routing
domain Routing domain A domain
B C
V T X Y W Z
TSR
71
T FIB E n trie s in R o u tin g
D o m a in A
72
La b e lS ta ck D u rin g
H ie ra rch ica lR o u tin g
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
10 Top of
Stack
2 2
Stack after processing in Stack after processing in
TSR T 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
M u ltica st m o d e lin Ta g
S w itch in g
A B
TSR
if0
D
if0 if1
if2
if0 if0
E 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
flow is set up using the RESV message
77
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
IP
ATM MARS NHRP
ARP
PNNI
IP IFMP
Q.2931
ATM hardware ATM hardware
(a) (b)
GSMP
IFMP
upstream and switch
switch forwardin
g
GSMP
Default Default
VC VC
Data Data
VC VC
Switch
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
Switch
A B C Controller
Default VC Default VC Switch
3/57 Element
Switch B issues a REDIRECT message to switch A
Redirect: Redirect:
Flow y VPI/VCI 3/57 Flow y VPI/VCI 2/22
Switch
A B C Controller
Default VC Default VC 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
flow-label 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
FMP Redirect Protocol Message Format
Version Opcode Checksum
SenderInstance
PeerInstance
SequenceNumber
Messagebody:variablelength
Label
Flowidentifier
Encapsulation of Redirected
Flows
90
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 91
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
contributed GSMP
93