Download - INTRO TO MPLS
INTRO TO MPLS
CSE 8344 Southern Methodist University
Fall 2003
Introduction
We will be discussing material from MPLS, Technology and Applications
Read Chapters 1-5 and we will resume this topic after the MidTerm
These notes will be based on the MPLS book plus some presentations from Cisco, Nortel, Juniper as well as Dr. Nair’s notes from last time.
Historical Perspective
X.25, Frame and ATM have proven themselves as a viable Layer2 transport technology
Virtual Circuits are nice for a number of reasons:– The route through the network is predictable
– IP Networks can be built on Top
– Just Like Ethernet but spread over the wide area.
– The trend has been for the carrier to supply the layer 2 links and the enterprise to build IP on top. (“Keep the carrier out of my routing.”)
– Often the enterprise will get a separate T1 or VC to the internet.
But IP routers are getting much bigger– This create lots of problems and questions.
Building big IP Networks
IP is beginning to dominate all other traffic– The need is for a cheap scalable IP network is the primary focus
3 Different ways this could be built …..
1) Use physical layer interfaces to connect IP routers
Requires lots of physical layer interface cards in the router$$$$$$$$Uses lots of bandwidth in backbone, because pipes may be sparsely filled.
2) Use a layer 2 mesh Use ATM or Frame Switches in the core to create a LOGICAL MESH at Layer 2 with
fewer physical layer connections between routers
OR..
Building big IP Networks (cont)
3) Build a mesh of routers This would use routers at both the edge of the network and the coreUse fewer physical layer connectionsLots of routersPotentially lots of router hops through the networkRouters can be expensive and complicatedFlooded route updates can consume time and bandwidthDataGram routing only
SO….
Most operators chose to go with Option 2
How can we optimize an IP network over Layer 2 VCs?
ATM has many features that are NOT necessary to support IP– SVC’s not needed
– Most of IP has been best effort (so far anyway)
– QoS and admission control is overkill
– CBR not needed
Early attempts to integrate ATM and IP were interesting:– LANE, ATMARP, MPOA, etc.
– All were attempts to preserve both ATM and IP
Doubly complicated because even more signaling and addressing schemes were required.
Issues
Price and performance Scalability Flexibility of routing functionality Tight coupling between routing and forwarding algorithms
IP Over ATM
ATM
Issues (IPOATM)
Exponential adjacencies– Means that more and more VCs must be built and managed to
support the network.
– If not, more hops
N^4 messages for topology changes– Changing the network can be a headache
Solution– Smart Label switching
Extending Router Functionality
E
D
BC
A
F
Plain old IP routing doesn’t allow us to route some traffic BD and some BE.
History
Cell switching router (CSR)• Toshiba • Mapped the IP signaling to control the ATM Network• Never really got off the ground
IP switching– Ipsilon– Strip the ATM hardware and use it as a router– Data driven connections through the network
Tag switching– Cisco– External control of Virtual Circuits (LSPs)– Not ATM specific
History (cont)
Multi-protocol Label Switching (MPLS) created in 1997
– Consisted of Tag Switching plus other input from Ipsilon, IBM (ARIS) and others.
– Worked in the Internet Engineering Task Force (IETF)– IETF creates the Request For Comments (RFCs) that
are quasi-standards
IP Switching
IP Switching Introduced by Ipsilon Significant innovations
– General switch management protocol (GSMP)
– Label binding protocol, Ipsilon flow management protocol (IFMP)
GSMP allows an ATM switch to be controlled by an “IP switch controller”
IP Switching Premise IP over ATM models are complex and inefficient -
involve running two control planes– ATM signaling and routing– IP routing and address resolution on top
In contrast IP Switching uses– IP component plus label binding protocol– Completely removes ATM control plane
Goal: To integrate ATM switches and IP routing in a simple and efficient way
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
– Runs IP routing and forwarding code
Default VC– To get control traffic before IP Switching is performed
– Uses well known VCI/VPI value
– Used for data that doesn’t have a label yet
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
Switching Basics Relies on IP protocols
– To establish routing information
– To determine next hop
Flow classification and control module selects flows from incoming traffic
IP flow refers to a sequence of datagrams– from one source to one destination, identified by the ordered pair <source
address, destination address>
– can also refer to a flow at finer granularity, e.g., different applications between same pair of machines, identified by < source address, source port, destination address, destination port>
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
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
Adjacency Protocol
To exchange initial set of information ADJACENCY message encapsulated into IP datagram and sent to
limited broadcast address Also used to agree on the sequence numbers
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
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
General Switch Management Protocol (GSMP)
GSMP is a master/slave protocol– ATM switch is the slave
– Master could be any general purpose computer
The protocol allows the master to– Establish and release VC connections across the switch
– Perform port management (Up, Down, Reset, Loopback)
– Request Data (configuration information, statistics)
– Allows slave to inform master of events such as link failure
GSMP (cont’d) GSMP packets are LLC/SNAP encapsulated and sent over
ATM link using AAL5 GSMP Adjacency Protocol
– Used to gain information about the system at the other end of the link and
– To monitor link status
GSMP Connection Management Protocol– Used to ensure consistency between the GSMP master and slave
– Specifies the QoS using a priority field
Tag Switching
Design Goals
Adding functionality– Explicit routing
Improve scalability– Hierarchy of routing knowledge
Link layer independent– Not just ATM
Implemented in a variety of devices such as routers and ATM switches
Terminology Comparison
Terminologies Analogies in LabelSwitching
Tags Labels
Tag Switching Router (TSR) Label Switching Router
Tag Edge Router (TER) Edge Label SwitchingRouter
Tag Forwarding InformationBase (TFIB)
Label Switching ForwardingTable
Tag Distribution Protocol(TDP)
Label Distribution Protocol
Destination Based Routing
A TSR uses information from unicast routing protocols to construct its mapping between FECs and next hops
This mapping is used by the Tag Switching Control component for constructing the TFIB which is used for actual packet forwarding
Construction of TFIB
A local binding between the FEC and a tag– Takes a tag from the pool of free tags and uses it as an
index in the TFIB to set the incoming tag entry
A mapping between the FEC and the next hop for that FEC (provided by the routing protocol(s) running on the TSR)
A remote binding between the FEC and a tag that is received from the next hop
Example
TSR
A
E
D
B
C
if0
if0if2
if1
if1 if2if1
if0
if2
if0if1if2if0
192.6/16
Initial TFIB Entries
Incomingtag
Outgoingtag
Nexthop
OutgoingInterface
On TSR A 100 ? TSR B If1
On TSR B 6 ? TSR E If1
On TSR C 17 ? TSR D If2
On TSR D 5 ? TSR E If0
On TSR E 6 ? TSR E If0
For FEC 192.6/16
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
Behavior With Routing Change
TSR
A
E
D
B
C
if0
if0if2
if1
if1 if2if1
if0
if2
if0if1if2if0
Link Down
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
Hierarchical Routing
Scalability Faster convergence Fault isolation
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
Hierarchy (Cont’d)
To support forwarding,Tag switching allows a packet to carry several tags organized as a tag stack
At the ingress, a tag is pushed onto the tag stack, and at the egress a tag is popped off the stack
Hierarchical Routing Model
T X Y WV Z
TSR
Routingdomain
B
Routing domain ARoutingdomainC
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
Label Stack
Top of Stack
2
Stack after processing in TSR W
10
2
Stack after processing in TSR T
Top of Stack
TSR Z distributes label 2 to TSR W and TSR W gives label 5 to TSR T for the purpose of inter-domain routing
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
Multicast (Cont’d)
Partition the set of tags for use with multicast into disjoint subsets
– Avoid overlap with the help of HELLO packets TSR connected to a common sub-network and those
which are a part of the same distribution tree elect one TSR that will create the tag bindings and distribute them
– any TSR can join the group using the JOIN command
Multicast Model
D
E
B
F
ATSR
if0
if1
if0
if0
if2
if0
RSVP With Tag Switching RSVP supported with the help of a RSVP object -
the tag Object The tag object binding for an RSVP flow carried in
the RSVP “RESV” message The RESV message carries the tag object containing
the tag given by a TSR and also information about the local resources to be used
The reservation state is refreshed once the flow is set up using the RESV message
Explicit Routes
Tag switching supports explicit routes with the help of Explicit Route Object
The object is carried in the RSVP “PATH” message
The tag information is carried in the Tag Object by the RSVP “RESV”
Tag Switching Over ATM
VCI field used as tag field– For stacks, use VPI
Cell interleave problem– VC merge– Different tags on the same path
MPLS Terminology
Label Switch Router (LSR)Label Distribution Protocol
LDP, CR-LDP or RSVP
Label Edge Router(non-standard but useful term)
Label Switch Path
Label Switch Hop
ForwardingEquivalence
Class
Forwarding Equivalence Classes
• FEC = “A subset of packets that are all treated the same way by a router”
• In conventional routing, a packet is assigned to a FEC at each hop (i.e. L3 look-up), in MPLS it is only done once at the network ingress
• Mapping a packet to an FEC is known as “classification”.
•This is nominally done via examination of the IP header, but could be done by other means. (e.g. direct stream adaptation at the LER).
Packets are destined for different address prefixes, but can bemapped to common pathPackets are destined for different address prefixes, but can bemapped to common path
IP1
IP2
IP1
IP2
LSRLSRLER LER
LSP
IP1 #L1
IP2 #L1
IP1 #L2
IP2 #L2
IP1 #L3
IP2 #L3
#216
#612
#5#311
#14
#99
#963
#462
- A Vanilla LSP is actually part of a tree from every source to that destination (unidirectional).
- Vanilla LDP builds that tree using existing IP forwarding tables to route the control messages.
#963
#14
#99
#311
#311
#311
LABEL SWITCHED PATH (vanilla)
IP FORWARDING USED BY HOP-BY-HOP CONTROL
47.1
47.247.3
IP 47.1.1.1
Dest Out
47.1 147.2 2
47.3 3
1
23
Dest Out
47.1 147.2 2
47.3 3
1
2
1
2
3
IP 47.1.1.1
IP 47.1.1.1IP 47.1.1.1
Dest Out
47.1 147.2 2
47.3 3
• Destination based forwarding tables as built by OSPF, IS-IS, RIP, etc.
Label Switched Path (LSP)
IntfIn
LabelIn
Dest IntfOut
3 0.40 47.1 1
IntfIn
LabelIn
Dest IntfOut
LabelOut
3 0.50 47.1 1 0.40
47.1
47.247.3
1
2
31
2
1
2
3
3IntfIn
Dest IntfOut
LabelOut
3 47.1 1 0.50
IP 47.1.1.1
IP 47.1.1.1
#216
#14
#462
- ER-LSP follows route that source chooses. In other words, the control message to establish the LSP (label request) is source routed.
#972
#14 #972
A
B
C
Route={A,B,C}
EXPLICITLY ROUTED OR ER-LSP
“Shim Label” …….
Label Encapsulation
MPLS Encapsulation is specified over various media types. Top labels may use existing format, lower label(s) use a new “shim” label format.
MPLS may use the QoS/CoS mechanisms of the media type.
ATM FR Ethernet PPP
VPI VCI DLCI
L2
Label
IP | PAYLOAD