Internet Draft
Network Working Group Bruce Davie
Internet Draft Cisco Systems, Inc.
Expiration Date: May 1998
Tony Li
Juniper Networks
Eric Rosen
Cisco Systems, Inc.
Yakov Rekhter
Cisco Systems, Inc.
November 1997
Explicit Route Support in MPLS
draft-davie-mpls-explicit-routes-00.txt
Status of this Memo
This document is an Internet-Draft. Internet-Drafts are working
documents of the Internet Engineering Task Force (IETF), its areas,
and its working groups. Note that other groups may also distribute
working documents as Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
To learn the current status of any Internet-Draft, please check the
"1id-abstracts.txt" listing contained in the Internet-Drafts Shadow
Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe),
munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or
ftp.isi.edu (US West Coast).
Abstract
We define an `explicit route' as a route which is explicitly
specified as a sequence of hops rather than being determined solely
by conventional routing algorithms on a hop by hop basis. Using the
explicit route object proposed for use in RSVP [1] and the ability to
bind MPLS labels to RSVP flows [2] we describe how explicit routes
may be set up in an MPLS environment. The resulting label switched
Davie, et al. [Page 1]
Internet Draft draft-davie-mpls-explicit-routes-00.txt November 1997
paths may have associated resource reservations, or may be purely
best effort.
Contents
1 Introduction ........................................... 2
2 Overview of operation .................................. 3
2.1 Nested ER-LSPs ......................................... 4
3 Message Formats ........................................ 4
3.1 Path Message ........................................... 4
3.2 Reservation Message .................................... 5
4 Object Definitions ..................................... 6
5 Security Considerations ................................ 6
6 References ............................................. 7
7 Acknowledgments ........................................ 7
8 Author's Addresses ..................................... 7
1. Introduction
The purpose of this document is to propose a standard method for
establishing explicitly routed paths in an MPLS environment [3]. We
define an explicit route as a path which is specified as sequence of
hops, rather than being determined at each hop independently as is
done with conventional IP routing. The specification of hops may be
under operator control or may be the result of a decision made at one
point in the network, e.g., on the basis of QOS requirements for
certain traffic. The motivation for explicit routes and a mechanism
for specifying them is described elsewhere [1]. This mechanism uses
an explicit route object (ERO) carried in RSVP messages as the means
for distributing the explicit route information to nodes along the
path, enabling resource reservations to be made along explicitly
routed paths.
It is possible to bind MPLS labels to RSVP flows [2]. By combining
this capability with an explicitly routed RSVP reservation, it is
possible to set up an explicitly routed label switched path (ER-LSP).
Because packets are label switched at every node on the path except
the first, the selection criteria for packets to be sent on the
explicit path must be known only to the first router in the LSP.
While packets could be selected using standard RSVP filterspecs,
there is no particular requirement that this be done. Packets could
be selected for transmission on a certain LSP using a purely local
policy. Because such policies are local to a single router, they need
Davie, et al. [Page 2]
Internet Draft draft-davie-mpls-explicit-routes-00.txt November 1997
not be standardized and are not specified in this document. We note,
however, that such policies could certainly apply to best effort
packets. For example, a simple policy would be `send all packets
which match prefix X in the routing table down this LSP.'
Using RSVP to establish explicit paths clearly enables the allocation
of resources to a path. For example, one could allocate bandwidth to
an explicitly routed LSP using standard RSVP reservations and int-
serv service classes (e.g. [5]). While this may often be useful, it
is not required. Thus an ER-LSP may be used to carry best effort
traffic.
This document specifies how RSVP, along with the explicit route
object [1] and the label object [2], can be used to establish
explicitly routed LSPs. It also specifies a new subtype of label
object that is required when setting up explicitly routed LSPs. The
document specifies only the unicast case. Explicitly routed multicast
paths are for further study.
2. Overview of operation
When using RSVP to establish an ER-LSP, the only sender to the
session is the first node of the ER-LSP and the destination of the
session is the last node of the ER-LSP. The creation of an ER-LSP is
initiated by the sender to the session, i.e. the first node in the
ER-LSP. This may be as the result of operator actions on that node or
some other means beyond the scope of this document.
The first node creates an RSVP PATH message and inserts an ERO into
it. It also inserts a LABEL_REQUEST object. The LABEL_REQUEST object
indicates that a label binding for this path is requested, and also
provides an indication of the network layer protocol that is to be
carried over this path. The reason for this is that the network layer
protocol sent down an ER-LSP cannot be assumed to be IP, and cannot
be deduced from the L2 header, which simply identifies the higher
layer protocol as being MPLS.
The PATH message is forwarded towards its destination along a path
specified by the ERO. Each node along the path records the ERO in its
path state block. Nodes may also modify the ERO before forwarding the
PATH message, in which case the modified ERO should be stored in the
path state block. The rules for processing EROs are specified in [1].
When the PATH message reaches its destination, the destination node
observes the presence of the LABEL_REQUEST object and as a result
generates a reservation message for the corresponding session. The
destination node allocates a label and places it in the LABEL object.
Davie, et al. [Page 3]
Internet Draft draft-davie-mpls-explicit-routes-00.txt November 1997
The LABEL object is inserted in a RESV message, and the RESV message
is sent back towards the sender. A node that receives a RESV
containing a label uses that label for outgoing traffic on this path.
It also allocates a new label and places that label in the LABEL
object of the RESV message before sending it upstream. This is the
label that this node will use for incoming traffic on this path. The
procedures for label allocation and forwarding of packets are exactly
as described in [2].
As a result of these operations, a label switched path is established
from the sender to the destination of the session, following the
explicitly routed path specified in the ERO.
When resources are to be allocated to an ER-LSP, the sender TSpec in
the path message is used to specify the traffic that will be sent
down the path. The last node in the ER-LSP uses that information to
construct an appropriate Receiver TSpec and RSpec.
If a PATH message containing a LABEL_REQUEST object reaches a node
that cannot allocate a label for incoming data, that node must
respond to the sender of the PATH message with a PATH_ERROR message.
2.1. Nested ER-LSPs
In principle it is possible to nest ER-LSPs inside each other using a
stack of labels. Such use of ER-LSPs is not discussed in this version
of the document, and is for further study.
3. Message Formats
This section defines the PATH and RESV message formats that will be
used when setting up ER-LSPs.
3.1. Path Message
The format of a Path message is as follows:
Davie, et al. [Page 4]
Internet Draft draft-davie-mpls-explicit-routes-00.txt November 1997
::= [ ]
[ ... ]
[ ]
::=
All of these fields have the standard definitions as provided in [4],
with the exception of the EXPLICIT_ROUTE object [1] and the
LABEL_REQUEST object defined below. The SESSION object contains the
address of the end point of the ER-LSP. In order to allow multiple
tunnels to share the same set of end points, the SESSION object may
contain a port number. The port number in this case effectively
becomes an identifier for the ER-LSP. The SENDER_TEMPLATE contains
the address of the first node in the ER-LSP. It need not contain port
numbers. The SENDER_TSPEC may be a standard Integrated Services TSpec
[5,6]. In the case of ER-LSPs which are for best effort traffic and
thus require no resources to be allocated, the Controlled Load
service should be used with burst size and rate of zero.
3.2. Reservation Message
The format of a Reservation Message is as follows:
::= [ ]
[ ] [ ]
[ ... ]