MPLS and Traffic Engineering by

advertisement
MPLS
and
Traffic Engineering
by
Sunit Chauhan
Sunil Bakhru
Copyright, 1996 © Dale Carnegie & Associates, Inc.
Why need MPLS?
• Limitations of existing IP Network
• Network Scaling
• Traffic Engineering
• Provisioning of QoS
We need better control over the network.
• MPLS stands for MultiProtocol Label Switching.
• Convergence of connection oriented forwarding techniques
and Internet’s routing protocols
MPLS Network
Access A1
R1
IP backbone
R6
Access A3
R3
Access A2
R2
R4
R5
Destination D
Desired route from Ax to D
Actual route from Ax to D
Traffic Engineering to override shortest path
route
Terminology
• Label - a short fixed length identifier used to identify a
•
•
•
•
•
•
FEC, usually of local significance
FEC - Forwarding Equivalence Class represents set of
packets with common cross core forwarding requirements
LSR - Label Switched Router
LER - Label Edge Router
NHLFE - Next Hop Label Forwarding Entry
ILM - Incoming Label Map
Maps label to a set of NHLFE entries
LSP - Label Switched Path
Path through one or more LSRs at one level of hierarchy
followed by packets in a particular FEC
Key concept in MPLS
• Seperation of IP router’s function into Forwarding and
Control
• Forwarding - deals with how data packets are relayed
between IP routers, uses label swapping.
• Control - consists of network layer routing protocols to
distribute routing information between LSR’s and label
binding procedures for converting this routing information
into forwarding tables needed for Label Switching.
Label Based Forwarding
Switching
Table
Input
Ports
MPLS
Label
Next hop + port
Queuing and
Scheduling
Output
Ports
MPLS Payload
At each LSR, forwarding is done by the single index lookup into
the switching table using the packet’s MPLS label.
• The switching table is loaded a priori with a unique next-hop
label, output port and queuing and scheduling rules.
• The establishment of mapping information is responsibility of
control part - done using Label Distribution Protocols
•
Label Stack
MPLS allows hierarchical
labels supported as LIFO
stack.
• A packet is always processed
based on the top label
regardless of other labels
that may be below it.
• Each label stack entry is 32
bits.
•
Label
(20 bits)
Label
(20 bits)
Label
(20 bits)
Exp
(3 bits)
Exp
(3 bits)
Exp
(3 bits)
S(1 bit)
S(1 bit)
S(1 bit)
TTL
( 8 bits)
TTL
( 8 bits)
TTL
( 8 bits)
Original
Packet
MPLS stack encoding for packet-oriented transport
• 20 bits for label
• 3 bits for experimentation
• 8 bits for TTL and 1 stack
bit.
Control in MPLS
• Consists of
• Network Layer routing protocols to distribute routing
information between LSRs.
• Label binding procedures to convert this routing information
into the forwarding tables needed for label switching
• QoS routing requires additional information about
availability of resources in the network and QoS
requirements of each flow.
• A signaling protocol is also needed for reserving needed
resources along the a selected route
e.g. CR-LDP, M-RSVP
Label Distribution Control
• Ordered Vs Independent
• In Independent control, each LSR upon noting that it
recognizes a particular FEC makes an independent
decision to bind a label to that FEC and to distribute the
binding information to its label distribution peers.
• In Ordered control, an LSR only binds a label to a
particular FEC if it is egress LSR for that FEC or if it has
already received label binding for that FEC from its next
hop for that FEC.
• For an LSP to be set up with specified set of properties,
ordered control must be used.
E.g.
FEC = Traffic pertaining to an address prefix
Label Assignment Strategies
• Two LSRs must establish a bidirectional LDP session to
exchange label binding information.
• Labels are always “downstream assigned”.
• Label information flows in the direction opposite to that of
data packets
• Two modes of label distribution
• Unsolicited Downstream - each LSR distributes label
bindings to its upstream LSRs (even if they haven’t explicity
requested them).
• Downstream-on-demand - each LSR allows LSR
upstream to explicitly request the label binding for a
particular FEC.
Whom to send label binding information?
• Each LSR must distribute label bindings for an address
prefix(FEC) to its label distribution peers for that FEC,
which are
• IGP neighbors (local peers)
• BGP neighbors(remote peers)
• Tunnel’s transmit endpoint(remote peer)
• Basically all this is topology driven MPLS where, each LSR
must,
• bind one or more labels to address prefix that appears in the
routing table
• for each such FEC use label distribution protocol to distribute
the bindings to its Label distribution peers
Aggregation
• Procedure of binding a single label to a union of FECs
which is itself an FEC and of applying that label to all the
traffic in the union is known as “aggregation”
• e.g. set of distinct address prefixes might have same egress
node. Please note that each address prefix forms an FEC and
the union of those FECs is also an FEC.
Label Edge Router
Output port, label, queuing
and scheduling rules
Forwarding
Table
Packet
classification
Conventional
IP ports
LSP
Table(s)
Packet Labeling
Context
Queuing and
scheduling
IP
IP payload
header
MPLS
Label
IP Packet
MPLS
core
ports
Ingress LER
LER terminates and originates LSP’s and performs both label
based forwarding and conventional NIF functions.
• Ingress LER - labels unlabelled packets and creates an initial
MPLS frame by pushing one or more MPLS label entries.
• Egress LER - terminates LSP by popping the top MPLS stack
entry.
•
Recap
• Packet processing based on the top level label regardless
of the label underneath
• FECs can be
• coarse grained consisting of all the packets with same
destination address
• Allow the overall system of be scalable where it is useful to
handle large bundle of flows as a single class of traffic
• Help in rerouting in event of occurrence of a fault
• fine grained as in packets belonging to a particular
application running between two hosts.
• Help in providing different QoS to different flows.
Recap Contd.
• Mapping of packets to an FEC done only once at the
•
•
•
•
Ingress router upon entry into an MPLS domain
Subsequent packets are forwarded strictly according to
their labels
label is removed by egress LSR
Each LSR maintains label to NHLFE mapping giving a set
of entries for each FEC.
Mapping can be changed for
• load balancing over multiple paths
• rerouting from a failed path to an alternate path
Route Selection
• Method used for selecting the LSP for a particular FEC.
• Hop by Hop is the same as topology driven.
• Explicit Routing
• Explicit route need to be specified only at the time that
labels are assigned and not with each IP packet, as in case
of IP routing
• Tunneling
• A router Ru takes explicit action to cause a particular packet
to be delivered another router Rd even though Ru and Rd
are not consecutive routers on the hop-by-hop path for that
packet and Rd is not the packet’s ultimate destination. This
concept is called tunneling.
• Hop-by-Hop routed tunnel
• Explicitly routed tunnel
LSP Tunnels
• Implement a tunnel as a LSP, and use label switching
rather than network layer encapsulation to cause a packet
to travel through the tunnel.
• Set of packets sent through the LSP tunnel constitutes a
FEC and each LSR in the tunnel must assign a label to that
FEC.
• If a tunnel from Ru to Rd, then
• Ru is transmit endpoint of the tunnel
• Rd is receive endpoint of the tunnel
Hierarchy: LSP Tunnels within LSPs
• Consider an LSP <R1, R2, R3, R4>
• R1 receives unlabelled packet P
• R2 and R3 are not directly connected but are neighbors by
virtue of being endpoints of an LSP tunnel
• Actual sequence of LSRs traveled by P is <R1, R2, R21, R22,
R23, R3, R4>
• Traveling from R1 to R2 packet P has label stack of depth 1
• Another label push at R2 as it enters the tunnel making label
stack of depth 2 inside the tunnel.
• At R3 label stack is again of depth 1
• LSP tunneling can be nested to any depth
Traffic Engineering
Application of technology and scientific
principles to the measurement, modeling,
characterization and control of internet traffic.
(Fundamentally, a control problem)
e.g mapping of traffic on IP network
infrastructure
A network consists of :
• Demand System (Traffic)
• Constraint System (Interconnected N/W Elements)
• Response System (N/W Protocols and Processes)
Traffic Engineering Process Model
Yes
Formulation of
Control Policy
No
Revise
Control
Policy
• Performance Objective
• Resource Oriented
• Efficient Link Utilization
(Congestion Control)
Observation of
Network State
• Traffic Oriented
Characterization of
traffic and network
state
• Packet Loss
• Delay / Delay Variation
• Throughput
No
Optimized?
Optimized Network
Performance
Traffic Engineering Process Model
•
Adaptive And Iterative Process
Response to Internet Growth by ISP’s
Capacity Expansion
• DS3(44.736 Mbps) 1996
• OC-12c(622Mbps) 1997-98
• OC-48c(2.488Gbps) 1999
• OC-192c(9.953Gbps) over DWDM
• Traffic Engineering
• Metric-Based Traffic Control till 1994-95
IP Overlay Networks
Physical Topology of a Large ISP Network in 1997-98
• DS-3 point-to-point links replaced by OC-3 ATM SAR
interfaces at the edge and OC-12 in the core.
Operation of IP over ATM Network
PVC 1
PVC 2
PVC 3
• ATM infrastructure used only for High Speed transport
• Physical paths for PVC overlay calculated by an offline
configuration utility
• IP prefixes
Router Interfaces
ATM PVCs
IP over ATM
Benefits
• High Speed interfaces
• Greater aggregate Bandwidth
• Deterministic Performance
• PVC functionality and hence traffic engineering
IP over ATM
Limitations
• Administrative expense
• Equipment expense
• Operational stability
• Routing and traffic engineering on different sets of
systems
• Cell Tax and n-squared problem
IP over ATM in Optical Network
The fastest commercially available ATM SAR router
interface is OC-12. OC-48 packet over SONET(POS)
interfaces are available but OC-48 or OC-192 ATM
router interfaces will not be available in the near
future.
Reason : Expense and complexity of implementing
SAR functions at high speeds
MPLS and Traffic Engineering
• MPLS supports origination connection control through
explicit LSP’s
• Traffic trunk : Aggregation of traffic belonging to the
same class.
• Mapping of traffic trunks on to the network topology is
done by selection of routes for explicit LSP’s.
• LSP tunnels provide
•
•
•
•
rerouting in congested conditions
Flexible cost effective survivability
Provide statistics for Traffic Matrix
Parameterized resource allocation
Components of MPLS TE Model
• Network State Information Dissemination
• Extending conventional IGP’s link state
advertisements
• OSPF extensions implemented with Opaque LSAs
• IS-IS extensions implemented using Type Length Values (TLVs)
• Traffic Engineering Database(TED) maintained by
each LSR
Components of MPLS TE Model
•
Path Management
• Selection
• Explicit route for LSP tunnel generated
• Strict or Loose path(Abstract node) is specified
• May be defined administratively or computed automatically by a
constraint-based routing entity(CSPF).
Components of MPLS TE Model
• Path Management
• Instantiation or Placement
• Signaling Protocol which serves as an Label Distribution Protocol
• Resource Reservation Protocol (RSVP) extensions
• Constraint Routed Label Distribution Protocol (CR-LDP)
• Maintenance of LSP tunnels
Sustain, Reroute or Terminate LSP tunnel
Components of MPLS TE Model
•
Traffic Assignment
• All aspects associated with allocation of traffic to established
LSP’s
• Partitioning Function
• Network Management
Online management is
Non-deterministic
• Offline management tools
interfaced with MPLS to
provide external feedback
•
Requirements for a Signaling Protocol
• Robustness
• Scalability
• LSP establishment/ teardown/maintenance
• Specification of QOS
• LSP Priority / Preemption
• Flexibility in Path Setup Options
LDP Message Format
•
Four classes of messages
• Discovery messages to advertise the presence of LSRs
• Session messages to establish and maintain LDP sessions
• Advertisement messages to create, change and delete label mappings for
FECs
• Notification messages to inform about faults
1
U
5
Message
Type
16
32
Message
Length
Message
Id
Format of LDP Messages
variable
Mandatory
Parameters
variable
Optional
Parameters
TLV Encoding
1
1
14
16
variable
U
F
Type
Length
Value
TLV Encoding
•
Mandatory and Optional parameters
• use TLV encoding with the format shown in figure
• U bit : If the LSR does not recognize a particular TLV , U bit tells
whether to notify the sender and ignore the message or ignore
TLV and process remainder of message
• F bit : Tells LSR whether to forward the unknown TLV
• Type field - 14 bit to identify seven defined TLV types
FEC, Label, Address List, COS(Class of Service), Hop count, Path
Vector and Status.
CR-LDP
Extension of the LDP approach
Hard State Protocol
UDP used for peer discovery
TCP used for session, advertisement, notification, and LDP
messages
• Supports Diffserv and Operator configurable QOS classes
• Failure reported using the reliable TCP
•
•
•
•
Extended RSVP
Extension of the classical
connectionless RSVP
• Path and Resv messages
used with
•
• Label_Request Object
• Explicit_Route Object
• Label Object
Aggregation of flows to
reduce state information in
routers
• Soft State Control and
scalability concerns
•
CR-LDP Vs RSVP
• Choice of Transport Protocol
• UDP + TCP sessions Vs Raw IP
• Multipoint Support
• Multipoint-to-Point : (Both support)
• Multicast (Point-to-Multipoint) : Yet to be addressed
• Scalability
• Network Flows
• RSVP extensions for refreshing many LSPs in a single RSVP
BUNDLE message and ability to indicate status quo rather
than having to send the entire payload
• CPU Utilization
• Data Storage Requirements
CR-LDP Vs RSVP
• Link and Peer Failure
• Both use HELLO extensions
• RSVP uses the State Refresh Processing.
• TCP failure implies re-establishment from ingress
• Policy Control
• RSVP messages carry policy objects
• Security
• TCP is vulnerable to DOS attacks
• RSVP has built in authentication and policy control
LSP Rerouting
• Strictly specified route re-routed by the ingress node
• Loosely specified route :
• Refresh path for the next Hop of alternate route(RSVP)
• Make-before-Break using
• ’Modify’ flag in LABEL_REQUEST message (CR-LDP)
• Shared explicit filters may be used(RSVP)
• Problem of ‘Thrashing’ in unstable networks
• Loosely specified route may be ‘pinned’
• Flagging the loose part of explicit route (CR-LDP)
• Record_Route Object is used in RSVP
LSP Modification and Protection
• Modification implies changing reservation
parameters.
• Similar to rerouting
• Protection implies pre-programming of alternate
paths
• Layer 2 protection transparent to the LSP is assumed
• Schemes for pre-programmed alternate paths from the
ingress or intermediate nodes are under consideration.
MPLS QoS
Port 1
Port N
Queue
Queue
Schedule
Queue
Port M
Queue
Per hop classification, queuing and scheduling
• IP QoS can be based on:
• Multifield IP header classification (up to 104 bits)
• Diffserv (DS field with 6 bits)
• MPLS performs classification and scheduling on the basis of
20 bit label and 3 bit experimental field
MPLS - QoS
• In MPLS, forwarding is independent of control and we
have many different control planes .
• All control modules share a single QoS paradigm
• same label lookup and 3 bits of experimentation determine
both the output queue and priority.
• Unique to MPLS - same control mechanisms are invoked
regardless of which control plane assigned the labels.
• LER does multified classification to assign packets to LSPs
with specific attributes(map EXP bits in the MPLS header)
• 3 bit E field => upto 8 different Diffserv code points will
be available over a single tunnel. Work is in progress to
define these code points.
Reliability in MPLS
• Current Internet has inherent survivability because of
connectionless IP protocol.
• Loss of QoS is not a issue because the service is besteffort.
• In MPLS, Reliability is important because of support for
integrated Services
• Fault Recovery
• Centralized by a network Manager
• Distributed control by having the LSRs automatically initiate
fault recovery procedures upon fault detection.
Requirements for Fault Recovery
• Fault Notification to all the affected LSRs
• Search for an alternate path for the affected traffic
• Rerouting to an alternate path
• (Optional) redistribution of the network traffic to ensure
that capacity will be available to recover from subsequent
faults
Notification
• Notification Message generated by the LSR downstream
from where the fault is detected
• Notification message carries
• type of error
• Status TLV identifying
• failed link
• cause of failure
• affected FECs
Rerouting
Recipient of Notification message depends on whether the
recovery is done by link rerouting or edge-to-edge rerouting
• Link Rerouting
•
• Alternate path is found between two LSRs on the ends of failed
link
Rerouting
• fast recovery
• alternate path may be pre-established in the form of
another entry in NHLFE mapping for the label. Only for
guaranteed services otherwise wasteful of resources
• For more efficient resource utilization, resource may not be
reserved
• The notification message should check the availability of
resources along the pre-established alternate path as it
travels the upstream LSR
• dynamic creation of alternate path
• Downstream LSR has QoS information, may select the
alternate path and send appropriate Label_Mapping
message to reserve resources along the alternate path
Edge to Edge Rerouting
• More complex approach
• Finds another link disjoint path from Ingress to Egress
LSR
• Advantage of handling multiple link failures
• Each effected FEC may have different Ingress/Egress LSR
pairs and must be rerouted individually
• Hence the use of coarse grained FECs to minimize the
number of FECs to reroute.
Loop Prevention in MPLS
• Three levels of control
• Loop survival
• allows forming of loop but looping packets does not impact
transmission of non-looping packets. A node capable of TTL
decrement has this capability.
• Loop detection
• allows LSP to form a loop but detects and disconnects in a
short time, e.g. using LDP
• Loop prevention
• most rigorous form of control
Loop prevention
• LSP can be
• Non state merging LSPs : Distinct outgoing link state
exists for each incoming link state. E.g. Explicitly routed
LSPs
• State merging LSPs : Multiple incoming states can be
merged into a single outgoing states. E.g. Hop by hop
routed LSPs
• NSM LSPs : Control message used to request a label
contains list of addresses added by all the LSRs in the
path. An LSR on detecting its address in the receiving
message comes to know of the loop.
• Loop prevention in state-merging LSPs is non trivial
• multiple state merging events may occur simultaneously
Path vector diffusion algorithm
•
when a node receives a new
outgoing label mapping
while it has one or more
incoming label mappings, it
starts a diffusion
computation
• creates a new query, for
each incoming label, with a
path vector containing
creator’s address only
• and sends it corresponding
upstream node
• waits for the
acknowledgment of the
query
Immediate Consequences of MPLS
• Efficient transit core network
• Improved economy of scale
• Better utilization of Network
• Fast recovery from faults
References



Web Sites

www.mplsrc.com

www.ietf.org/internet-drafts

www.datacon.co.uk
IEEE Communications Magazine – December 1999

MPLS and Traffic Engineering in IP Networks - discusses the applications of MPLS to traffic engineering in
IP networks. By Daniel O. Awduche of UUNET, MCI WorldCom

MPLS Advantages for Traffic Engineering - discusses the architectural aspects of MPLS which enable it to
address IP traffic management. By George Swallow.

Traffic Engineering Standards in IP Networks Using MPLS - overview of the various approaches for label
distribution.

MPLS and the evolving Internet Architecture – By Toni Lee, Procket Networks, Inc.

Issues on Loop Prevention in MPLS Networks - provides an overview of various methods
underdevelopment for preventing LSP loops. By Yoshihiro Ohba.

Reliable Services in MPLS - examines distributed methods for fast fault recovery using modified LDP
messages. By Thomas M. Chen and Tae H. Oh
IEEE Communications Magazine - January 2000

MPLS : The Magic behind the Myths - By Grenville Armitage, Bell Labs Research Silicon Valley, Lucent
Technologies
References


IETF Drafts

draft-ietf-mpls-arch.txt

draft-ietf-mpls-rsvp-lsp-tunnel.txt
Others

IP Traffic Engineering for Carrier Networks: Using Constraint-Based
Routing to Deliver New Services - White Paper on constraint-based routing. By Nortel Networks

Traffic Engineering for the New Public Network - An overview of the present and future of traffic
engineering. By Juniper Networks

MPLS Traffic Engineering : A Choice of Signaling Protocols - White paper comparing RSVP and CR-LDP for
label path distribution. By Data Connection

RSVP Signaling Extensions for MPLS Traffic Engineering - Describes extensions to RSVP to automate the
establishment of LSP's across service provider networks. By Juniper Networks
•
DiffServ and MPLS: A quality choice - Data Communications article comparing MPLS and DiffServ for use in
building networks capable of delivering QoS

Daniel Obi Awduche's home page - Collection of papers and drafts on traffic engineering, optical
networking and MPLS written by the manager of advanced technology for UUNET

Deploying MPLS Traffic Engineering - An overview of the process for deploying traffic engineering using
MPLS. By Juniper Networks
Native IP Forwarding
Forwarding
Table
Input
Ports
Packet
Classification
IP header
Next hop +
port
Queuing and
Scheduling
Output
Ports
IP Payload
NIF node forwarding Engine
•
Longest-prefix match based on packet’s destination IP address
Label Distribution Protocols
• No hard and fast rules for choosing a Label distribution
protocol
• Requirements from a Label Distribution protocol
• establish and maintain label bindings
• information to be transmitted reliably and label distribution
protocol messages pertaining to a particular FEC need to be
transmitted in sequence
• Flow control
• Capability to carry multiple label messages in a single
datagram
• BGP speakers use BGP to distribute labels among
themselves while routes are being distributed.
LDP
• Four classes of messages
• Discovery messages to advertise the presence of LSRs
• Session messages to establish and maintain LDP sessions
• Advertisement messages to create, change and delete label
mappings for FECs
• Notification messages to inform about faults
LDP Message Format
1
U
5
Message
Type
16
32
Message
Length
Message
Id
variable
Mandatory
Parameters
variable
Optional
Parameters
Format of LDP Messages
•
16-bit message length field
• gives total length of message in bytes
•
32 bit message id
• uniquely identifies a particular message
•
Mandatory parameters
• are ordered set of required fields that depend on a particular
message type
TLV Encoding
1
1
14
16
variable
U
F
Type
Length
Value
TLV Encoding
•
Mandatory and Optional parameters
• use TLV encoding with the format shown in figure
• U bit : If the LSR does not recognize a particular TLV , U bit tells
whether to notify the sender and ignore the message or ignore
TLV and process remainder of message
• F bit : Tells LSR whether to forward the unknown TLV
• Type field - 14 bit to identify seven defined TLV types
FEC, Label, Address List, COS(Class of Service), Hop count, Path
Vector and Status.
Download