Network Working Group                                         Jerry Ash
Internet Draft                                                     AT&T
<draft-ietf-nsis-qspec-00.txt>                             Attila Bader
Expiration Date: March   2005                                  Ericsson
                                                       Cornelia Kappler
                                                             Siemens AG

                                                         September 2004


                         QoS-NSLP QSpec Template



Status of this Memo

   By submitting this Internet-Draft, each author represents that any
   applicable patent or other IPR claims of which he or she is aware
   have been or will be disclosed, and any of which he or she becomes
   aware will be disclosed, in accordance with Section 6 of RFC 3668.

   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."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt.  The list of Internet-
   Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

Copyright Notice

   Copyright (C) The Internet Society (2004). All Rights Reserved.

Ash et al.               Expires - March 2005                  [Page 1]


Internet Draft           QoS-NSLP QSpec Template         September 2004


Abstract

   This draft describes a QSpec template for the QoS NSIS Signaling
   Layer Protocol (QoS NSLP) for signaling QoS reservations in the
   Internet. A QSpec is transported in QoS-NSLP messages and is opaque
   to QoS NSLP. It contains the QoS Signaling Model (QSM) Control
   Information and QoS Description parameters. Control Information is,
   for example, the scope of a particular QSpec. QoS Description
   parameters are primary input and output parameters of the Resource
   Management Function.  They include descriptions of the QoS desired
   and the QoS reserved. QoS Description parameters can also be used
   for collecting information about resource availability along the
   path and for signaling a range of acceptable QoS. The QSpec template
   defines generic parameters that are common to many QSMs.
   Particularly they are derived from the IntServ and DiffServ QoS
   Models. They should be used by all QSMs if applicable and must be
   understood by all QNEs. By identifying the generic parameters we aim
   to ensure interoperability between different QSMs.


Table of Contents

   1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . .3
   2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . 4
   3. Processing of QSpec . . . . . . . . . . . . . . . . . . . . . . 5
   4. QSpec Template . . . . . . . . . . . . . . . . . . . . . . . . .6
   4.1 Applicability . . . . . . . . . . . . . . . . . . . . . . . . .6
   4.2 QSpec Format Overview . . . . . . . . . . . . . . . . . . . . .8
   4.2.1 QSM Specific Control Information . . . . . . . . . . . . . . 8
   4.2.2 QoS Description . . . . . . . . . . . . . . . . . . . . . . 10
   4.2.2.1 QoS Desired . . . . . . . . . . . . . . . . . . . . . . . 11
   4.2.2.2 QoS Available . . . . . . . . . . . . . . . . . . . . . . 12
   4.2.2.3 QoS Reserved . . . . . . . . . . . . . . . . . . . . . . .12
   4.2.2.4 Minimum QoS . . . . . . . . . . . . . . . . . . . . . . . 12
   5. Security Considerations . . . . . . . . . . . . . . . . . . . .13
   6. Open Issues . . . . . . . . . . . . . . . . . . . . . . . . . .13
   7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 14
   8. Intellectual Property Considerations . . . . . . . . . . . . . 14
   9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 15
   10. Authors' Addresses . . . . . . . . . . . . . . . . . . . . . .16
   Appendix A Example Qspecs . . . . . . . . . . . . . . . . . . . . 17
   A.1 QSpec for Admission Control for DiffServ . . . . . . . . . . .17
   A.2 QSpec for IntServ Controlled Load Service . . . . . . . . . . 18
   A.3 QSpec for IntServ Guaranteed Load Service . . . . . . . . . . 18
   Appendix B QoS Models, QoS Signaling Models and QSpecs . . . . . .19
   Disclaimer of Validity and Copyright Statement . . . . . . . . . .20


Ash et al.              Expires - March 2005                   [Page 2]


Internet Draft          QoS-NSLP QSpec Template          September 2004

1.  Introduction

   The QoS NSLP establishes and maintains state at nodes along the path
   of a data flow for the purpose of providing forwarding resources
   (QoS) for that flow [QoS-SIG]. The design of QoS NSLP is
   conceptually similar to RSVP [RSVP], and meets the requirements of
   [NSIS-REQ].

   QoS NSLP can signal for different QoS Models, i.e. QoS provisioning
   methods or QoS architectures. It should be able to support, for
   example, IntServ and signaling for DiffServ admission control, and
   satisfy the need of more complex control planes such as defined in
   [Q.2630, Y.1541].  The usage of QoS NSLP to signal for a specific
   QoS Model is called 'QoS Signaling Model'. Examples of different
   QSMs for NSIS are specified in [TRQ-QoS-SIG, INTSERV-QoS-SIG, RMD-
   QoS-SIG]. For more information on QoS Models and QSMs see the
   Appendix.

   QSM-specific information is carried in the so-called QSpec object,
   which travels in QoS-NSLP messages. The format of the QSpec object
   is QSM specific. The QSpec is opaque to QoS NSLP. It contains two
   types of information: QSM Control Information and a QoS Description.

   The QSM control information contains information not related to the
   actual resource management but rather to message processing. An
   example of QSM control information is the scope of the QSpec.  QSM
   Control Information must not be confused with the Common Control
   Information, which is a set of objects defined in QoS NSLP. Whereas
   QSM Control Information is specific to the QSpec, Common Control
   Information is specific to the QoS NSLP message.

   The QoS Description can have sub-objects corresponding to the TSpec,
   RSpec and AdSpec objects specified in RSVP. This is, the QSpec may
   contain a description of QoS desired and QoS reserved. It can also
   collect information about available resources. Going beyond RSVP
   functionality, the QoS Description also allows indicating a range of
   acceptable QoS by defining a sub-object denoting minimum QoS. Usage
   of these sub-objects is not bound to particular message types thus
   allowing for flexibility. An object collecting information about
   available resources may travel in any QoS NSLP message, for example
   a QUERY message or a RESERVE message.


Ash et al.              Expires - March 2005                   [Page 3]


Internet Draft          QoS-NSLP QSpec Template          September 2004


   This draft provides a template for QSpec, which is needed in order
   to help defining individual QSMs and in order to promote
   interoperability between QSMs.
   The processing of QSpec is described in more detail in Section 2.
   The proposed QSpec template is given in Section 3, including an
   applicability statement. Appendix A proposes preliminary QSpecs for
   the IntServ Controlled Load and Guaranteed Service QoS Models.
   Appendix B explains in more detail the relation between QoS Models,
   QSMs and QSpecs. It also explains the current understanding of the
   content of a QSM.

2. Terminology

   Common NSLP Processing: Functions in a QNE that are related to NSLP
   message processing (common for each QoS model)

   Generic Parameter: Parameter that MUST be understood by any QNE, and
   SHOULD be used if applicable

   Immutable Parameter: Parameter that is set by initiating or
   responding QNE and is not changed during the processing of QSpec
   along the path

   Minimum QoS: Minimum QoS is a functionality that MAY be supported by
   any QSM: Together with a description of desired QoS, it allows the
   QNI to specify a QoS range, i.e. an upper and lower bound. If the
   desired QoS is not available, QNFs are going to decrease the
   reservation until the minimum QoS is hit.

   Mutable Parameter: Parameter that can be changed during the
   processing of QSpec by any QNE along the path

   Optional Parameter: Parameter that SHOULD be used by QSMs if
   applicable

   QoS Description: Container of the QSpec sub-objects, which describes
   QoS. These parameters are input or output parameters of Resource
   Management Function

   QoS Available: Parameters describing the available resources. They
   are used to collect information along a reservation path.

   QoS Desired: The description of the desired QoS and/or the traffic
   for which the sender request reservation.


Ash et al.              Expires - March 2005                   [Page 4]


Internet Draft          QoS-NSLP QSpec Template          September 2004

   QoS Model: A methodology to achieve QoS for a traffic flow, e.g.
   IntServ Controlled Load.

   QoS Reserved: Describes the reserved resources and related QoS
   parameters (e.g. Slack Term)

   QoS Signaling Model (QSM): A signaling model describing how to use
   QoS NSLP to signal for a specific QoS Model

   QSM Control Information: Control information that is specific to
   QSM, and processed in QSM-specific NSLP Processing.

   QSM-specific NSLP Processing: Functions in a QNE that process QSM
   Control Information and are specific to each QoS Model.

   QSpec: QSpec is the object of QoS-NSLP containing all QoS Model
   specific information.

   (QSpec) parameter: any parameter appearing in a QSpec, e.g. scope of
   QSpec or token bucket.

   QSpec sub-object: Main building blocks of QoS Description containing
   a parameter set that is input or output of a Resource Management
   Function operation.

   Resource Management Function: Functions that are related to resource
   management, specific to a QoS Model. It processes QoS Description.

3. Processing of QSpec

   The model of QoS-NSLP message processing is illustrated in Figure 1.
   A QoS-NSLP message is interpreted in the common NSLP processing of a
   QNE as described in [QOS-SIG]. The QSpec, however, is opaque to QoS-
   NSLP, which means that it is not processed in the common NSLP
   processing but handed over to the QSM-specific NSLP processing and
   then to the Resource Management Function (RMF). The QSM control
   information is interpreted and perhaps modified by the QSM-specific
   NSLP processing, and the QoS description is interpreted and may be
   modified by the   resource management function. Both, QSM-specific
   NSLP processing and the RMF, may advise the common NSLP processing
   on how to proceed with the signaling, e.g. to tear down a preempted
   reservation. From an implementation point of view, the   common NSLP
   processing is the same in each NSIS capable router, whereas QSM-
   specific NSLP processing and the RMF are QSM specific.  Note that
   the QSM-specific NSLP processing box is an addition to the QoS-NSLP
   processing model of [QoS-SIG] suggested in this document.

Ash et al.              Expires - March 2005                   [Page 5]


Internet Draft          QoS-NSLP QSpec Template          September 2004

                                   +---------------+
                                   |     Local     |
                                   |Applications or|
                                   |Management (e.g|
                                   |for aggregates)|
                                   +---------------+
                                          ^
                                          ^
                                          V
         +-------------+     +------------+----------+   +---------+
         |Common NSLP  |     |QSM-specific| Resource |   | Policy  |
         | Processing  +<<>>>|    NSLP    |Mgmt. Fct.|<<>| Control |
         |             |     | Processing |          |   |         |
         +-------------+     +------------+----------+   +---------+
              .  ^   |                   * ^
              |  V   .                *    ^
            +----------+            *      ^
            |   GIMPS  |         *         ^
            |Processing|       *           V
            +----------+       *           V
              |      |         *           V
   +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
              .      .         *           V
              |      |         *     .............................
              .      .         *     .   Traffic Control         .
              |      |         *     .                +---------+.
              .      .         *     .                |Admission|.
              |      |         *     .                | Control |.
    +----------+    +------------+   .                +---------+.
   -|  Input   |    | Outgoing   |-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.->
    |  Packet  |    | Interface  |   .+----------+    +---------+
  =>|Processing|====| Selection  |===.|  Packet  |====| Packet  |.=>
    |          |    |(Forwarding)|   .|Classifier|     Scheduler|.
    +----------+    +------------+   .+----------+    +---------+.

              Figure 1. Model of QoS-NSLP Processing in a QNE


4. QSpec Template

4.1. Applicability

   The QSpec template defines a format for the QSpec, as well as a
   number of generic and optional QSpec parameters. Generic parameters
   provide a common language for QSM developers to build their QSpecs
   and are likely to be re-used in several QSMs.


Ash et al.              Expires - March 2005                   [Page 6]


Internet Draft          QoS-NSLP QSpec Template          September 2004

   This eases comparing different QSpecs and different QSMs - and
   possibly simplifies mapping of one into another.  Thus developers
   should avoid defining parameters similar to the generic,
   standardized ones. All parameters used in DiffServ and IntServ QSMs
   are generic parameters.

   A specific QSM may, however, only use a subset or perhaps none of
   the generic QSpec parameters.  For instance, it may only allow the
   token bucket to be specified.  Furthermore, a QSM may define
   additional parameters.

   All QNEs must be able to understand the generic parameters. It is
   important to note this does not imply they must also implement all
   generic parameters (e.g. token bucket). However they must be able to
   provide a meaningful mapping to locally used parameters.

   Hence, to summarize, generic parameters SHOULD be used by QSMs if
   applicable.  Generic parameters MUST be understood by any QNE. QNEs
   do not need to implement generic parameters. They MUST however be
   able to provide a meaningful mapping from generic parameters onto
   local parameters. If they translate generic parameters into local
   ones they must raise an appropriate flag (tbd).

   Optional parameters SHOULD be used by QSMs if applicable, and
   defining optional parameters facilitates interworking.  However,
   QNEs outside the domain employing a particular QSM cannot be
   expected to understand the optional parameters.

   A QSpec is specific to a QSM and is identified by a QSM ID carried
   in QoS NSLP. However, as explained above, the generic parameters
   contained in a QSpec are understood by any QNE, even if the
   corresponding QSM is not known. Therefore a QNE SHOULD interpret the
   generic parameters contained in a QSpec, even if it does not
   understand the QSM. QoS NSLP provides appropriate error codes to
   attach to the QSpec which indicate such a translation took place.
   Hence, generic parameters ease global intelligibility of QoS NSLP
   messages.

   It needs to be investigated whether a minimal set of generic QSpec
   parameters MUST even be implemented in any QNE: this may be
   important for true interoperability of QSMs. The set of QSpec
   parameters that MUST be supported could be a subset of the generic
   ones defined here.

   This version of the QSpec Template Draft only defines generic
   parameters. Examples for optional parameters will be provided in the
   future.

Ash et al.              Expires - March 2005                   [Page 7]


Internet Draft          QoS-NSLP QSpec Template          September 2004

4.2. QSpec Format Overview

   QSpec = <QSM Control Information> <QoS Description>

   As described above, the QSpec object contains the actual resource
   description (QoS description) as well as QSM control information.
   Both QoS description and QSM control information may contain mutable
   and immutable parameters.

   Mutable parameters can be changed by any QNE, including by QoS NSIS
   functions along the signaling path, whereas immutable parameters are
   fixed by the initiating QNE and/or responding QNEs. An example of a
   mutable parameter is the path's MTU, an example of an immutable
   parameter is a token bucket describing the traffic to be sent.

4.2.1. QSM Specific Control Information

   QSM specific control information is used for QSpec-specific control
   information and for specific signaling functions not defined in QoS-
   NSLP. It enables building a new signaling model within a QoS-NSLP
   signaling framework, see for example [RMD-QoS-SIG] and [RMD-QSM].

   Generic parameters:

   - <Hop Count>

   mutable hop count field, limiting the scope of QSpec to a maximum
   number of QoS-NSLP hops. <Hop Count> must not be confused with the
   scope of the QoS NSLP message carrying the QSpec.  This scope would
   be coded in the Common Control Information.

   - <Service Schedule> = <start time>, <end time> | <relative time
   duration from RESPONSE>

   immutable parameter, indicating the desired start time and end time
   of the service, i.e. when is the service available. The values for
   <end time> and <relative time duration from RESPONSE> respectively
   can be infinity, in which case the reservation can be ended by the
   usual tearing RESERVE. The Service Schedule parameter has two-fold
   use:

   a. Reservation of resources for the immediate future when the full
   flow ID (e.g. port number) is still being negotiated. In this time
   <start time> is set to zero.


Ash et al.              Expires - March 2005                   [Page 8]


Internet Draft          QoS-NSLP QSpec Template          September 2004

   b. Scheduling of reservations ahead of time to make sure resources
   will be available. An example is reservation of resources for a
   video-conference. Also in this case the full flow ID may not be
   known at the time of reservation.

   Hence, in both cases the QNI sends an incomplete RESERVE prompting
   the Resource Management Function to set aside resources without
   actually configuring the router(s). Router configuration is
   triggered by a RESERVE containing the full flow ID. Appropriate
   security measures need to be taken to prevent Denial of Service
   abuse of this functionality (tbd).

   It needs to be considered whether Service Schedule should be an
   optional parameter because supporting it involves some overhead: the
   RMF needs functionality to set aside resources in advance and
   configure the router(s) later. Furthermore, for large advance
   reservations, it may be necessary to "phase out" ongoing
   reservations much earlier than the actual reservation in order to
   make sure resources will be available.

   Note that even reservations that are "scheduled" need to be
   refreshed just as ongoing reservations. Refresh periods are specific
   to a particular state in a particular QNE [QoS-SIG]. Hence it is
   conceivable that QNEs decide locally to make the refresh period for
   scheduled reservations considerably longer than that for ongoing
   reservations.

   - Flag indicating unsuccessful reservation in stateless/reduced
   state QNEs

   Since in case of stateless/reduced state QoS-NSLP operation interior
   nodes do not store per flow information edge nodes should be
   notified about unsuccessful reservation, see further specification
   in [RMD-QSM].

   - Flag indicating severe congestion in stateless/reduced state QNEs

   Similarly to unsuccessful reservation, in case of sever congestion
   this flag may be set in refresh messages. Note that severe
   congestion notification can be done also by data remarking, see more
   details in [RMD-QSM].

   Note that stateless/reduced state operation mode is used in some
   DiffServ based QoS signaling models, see for example [RMD-QSM].
   These control fields are needed because interior routers do not
   store per flow QoS-NSLP states and they are used for notifying edge.


Ash et al.              Expires - March 2005                   [Page 9]


Internet Draft          QoS-NSLP QSpec Template          September 2004

4.2.2 QoS Description

   The QoS Description objects are broken down into the following
   categories:

   <QoS Description> = <QoS Desired> <QoS Available> <QoS Reserved>
   <Minimum QoS>

   On the QSpec template level, the only restriction on object usage is
   that <Minimum QoS> should always travel together with <QoS
   Available> and/or <QoS Desired >. Otherwise there is no restriction
   on how many of these sub-objects a QSpec may carry, nor what type of
   sub-object is carried in what type of QoS NSLP message.  For
   example, in a receiver-initiated reservation scenario, the
   initiating QNE may send a QUERY carrying a <QoS Available> sub-
   object to probe the available resources on the path. The same QUERY
   may carry a <QoS Desired> sub-object. The responding QNE can re-use
   the latter objects in the RESERVE message.  The QoS NSLP and
   particularly the QSMs prescribe how the sub-objects in QSpecs are
   interpreted and used, and therefore restrict this freedom.

   The union of all the sub-objects identified in this Section can
   provide all functionality of the objects specified in RSVP IntServ,
   however it is difficult to provide an exact mapping.

   In RSVP, the Sender TSpec specifies the traffic an application is
   going to send (e.g. token bucket). The AdSpec can collect path
   characteristics (e.g. delay). Both are issued by the sender. The
   receiver sends the FlowSpec which includes a Receiver TSpec
   describing the resources reserved using the same parameters as the
   Sender TSpec, as well as a RSpec which provides additional IntServ
   QoS Model specific parameters, e.g. Rate and Slack.

   The RSVP TSpec/AdSpec/RSpec seem quite tailored to receiver-
   initiated signaling employed by RSVP, and the IntServ QoS Model.
   E.g. to the knowledge of the authors it is not possible for the
   sender to specify a desired maximum delay except implicitly and
   mutably by seeding the AdSpec accordingly. Likewise, the RSpec is
   only meaningfully sent in the receiver-issued RSVP RESERVE message.
   For this reason our debate at this point let us to a slightly
   different mapping of necessary functionality to sub-objects, which
   should result in more flexible signaling models.

   Particularly, we settled for defining a "QoS Desired" rather than a
   "Traffic Specification". QoS Desired may in fact just be a
   description of traffic to be sent, but it may also include more


Ash et al.              Expires - March 2005                  [Page 10]


Internet Draft          QoS-NSLP QSpec Template          September 2004

   parameters (e.g. delay) or signal for resources than those derived
   from an exact traffic description (e.g. a token bucket with a higher
   peak rate). Furthermore we consider to allow all sub-objects
   carrying the same parameter types (to be detailed in future versions
   of this draft). Hence, a QNI could send a RESERVE with QoS Desired
   containing a particular average bandwidth, and at the same time
   include a QoS Available sub-object for querying availability of this
   same parameter. If QoS Desired cannot be reserved, the QNR can use
   the information collected in QoS Available along the path to signal
   back to the QNI a more promising value of QoS Desired. The details
   of such message exchanges need to be fixed elsewhere.

4.2.2.1 <QoS Desired>

   <QoS Desired> = <R> <token bucket> <QoS class> <Priority>

   These parameters describe the traffic the QNI is going to inject
   into the reservation and hence it is immutable.

   <R> = reserved rate desired

   <token bucket> = <r> <b> <p> <m> <M>
   as defined in [RFC 2210]

   <QoS-class> = <PHB> <Y.1541 QoS class> <DS-TE class type>

   An application may like to reserve resources for packets with a
   particular QoS class, e.g. a DiffServ per-hop behavior (PHB)
   [DIFFSERV], or DiffServ-enabled
   traffic engineering (DS-TE) class type [DS-TE].

   <Priority> = <Emergency>

   Reservation priority is an essential way to differentiate flows for
   emergency services, ETS, E911, etc., and assign them a higher
   priority than normal priority flows. Appropriate security measures
   need to be taken to prevent abuse of this parameter.  These are
   immutable parameters.

   There has been some debate whether such priority parameters should
   be generic to all NSLPs, generic to QoS-NSLP, or generic to QSMs,
   that is, where they should be defined.  It is beyond the scope of
   this document whether the priorities defined here are also useful in
   other NSLPs.  However, we believe in the context of QoS-NSLP that
   priority is best placed in the QSM and QSpec. The reason is that the


Ash et al.              Expires - March 2005                  [Page 11]


Internet Draft          QoS-NSLP QSpec Template          September 2004

   resource management function seems to function more efficiently if
   priority state is held there rather than in common QoS-NSLP
   processing of messages (see Figure 1).  Only the resource management
   function knows that resources are not sufficient and that it may be
   necessary to preempt a reservation.  If preemption state was
   associated with QoS-NSLP state rather than with resource management
   state, the resource management function would need to negotiate with
   the common QoS-NSLP processing until the two work out what
   reservation to preempt.

   Note that although we locate priority parameters with the QSM, the
   fact that we make them generic parameters could be seen as a
   recommendation to implement them in all QNEs (see discussion above).

   Note that QoS Desired may carry parameters like desired delay or
   loss parameters, however these are optional parameters and not
   specified in this document.

4.2.3.2 <QoS Available>

   <QoS Available> = <non IS hop> <IS hops> <Available Bw> <Min
   latency> <M> <Ctot> <Dtot> <Csum> <Dsum>

   These parameters describe the resources currently available on the
   path and are defined in [RFC 2210, 2212, 2215].  Each QNE must
   inspect this object. If resources available to this QNE are less
   than what <QoS Available> says currently, the QNE must adapt it
   accordingly. Hence when the message arrives at the recipient of the
   message, <QoS Available> reflects the bottleneck of the resources
   currently available on a path.  It can be used in a QUERY message,
   for example, to collect the available resources along a data path.

4.2.3.3 <QoS Reserved>

   <QoS Reserved> = <token bucket> <QoS-class> <Priority> <R> <S>

   These parameters describe the QoS reserved by the QNEs down the
   path. <token bucket> <QoS-class> <Priority> are defined in Sec.
   4.2.2.1 above. <R> <S> are defined in [RFC 2212]. These are mutable
   parameters.

4.2.3.4 <Minimum QoS>

   <Minimum QoS> = <token bucket> <QoS-class> <Priority>


Ash et al.              Expires - March 2005                  [Page 12]


Internet Draft          QoS-NSLP QSpec Template          September 2004

   <Minimum QoS> doesn't have an equivalent in RSVP. It allows the QNI
   to define a range of acceptable QoS levels by including both the
   desired QoS value and the minimum acceptable QoS in the same
   message. The desired QoS is included with a <QoS Desired> and/or a
   <QoS Available> subobject seeded to the desired QoS value. The
   minimum acceptable QoS value is coded in the <Minimum QoS>
   subobject. As the message travels towards the QNR, <QoS Available>
   is updated by QNEs on the path. If its value drops below the value
   of <Minimum QoS> the reservation failed and can be aborted. When
   this method is employed it is important that the QNR signals back to
   the QNI the value <QoS Available> attained in the end, because the
   reservation may need to be adapted accordingly.

5. Security Considerations

   The Service Schedule and Priority parameters raise possibilities for
   Denial of Service Attacks. How to deal with this will be handled in
   future versions of this draft.

6.  Open Issues

   a. A detailed discussion of QSM development guidelines needs to be
   provided.

   b. A more detailed specification of the generic parameters needs to
   be given.

   c. The relationship of common NSLP processing, QSM-specific NSLP
   processing and resource management function, as well as how their
   tasks differ needs, to be described more clearly.  For example, how
   do QSM-specific NSLP processing and the RMF influence message
   processing in common NSLP processing?

   d. Should/can we request that QNEs MUST implement a subset of
   generic parameters?

   e. May a node compose a QSpec containing more parameters than
   defined in the QSM it is signaling for, e.g. for later use by other
   nodes?

   f. The following optional parameters have been proposed to support
   other QSMs, and need to be discussed for inclusion in the next
   revisions of the draft:


Ash et al.              Expires - March 2005                  [Page 13]


Internet Draft          QoS-NSLP QSpec Template          September 2004

   i) adding the individual parameters:
   <Transfer Delay>, <Delay Variation>, <Packet Loss Ratio>, and
   <Packet Error Ratio> to all of the QoS Description categories:
   <QoS Desired> <QoS Available> <QoS Reserved> <Minimum QoS>

   ii) Generalize the priority parameter as follows:

   <Priority> = <Reservation Priority> <Setup Priority> <Holding
   Priority>

   Where <Setup Priority> and <Holding Priority> are as specified in
   RFC 3209.

   g. Do we need an explicit Traffic Specification, or is a <QoS
   Desired> that may not exactly describe the issued traffic
   acceptable?

   h. Should Service Schedule be an optional parameter because of the
   overhead it may introduce?

7.  Acknowledgements

   The authors would like to thank Robert Hancock and Sven van den
   Bosch for their helpful suggestions.

8. Intellectual Property Considerations

   The IETF takes no position regarding the validity or scope of any
   Intellectual Property Rights or other rights that might be claimed
   to pertain to the implementation or use of the technology described
   in this document or the extent to which any license under such
   rights might or might not be available; nor does it represent that
   it has made any independent effort to identify any such rights.
   Information on the procedures with respect to rights in RFC
   documents can be found in BCP 78 and BCP 79.

   Copies of IPR disclosures made to the IETF Secretariat and any
   assurances of licenses to be made available, or the result of an
   attempt made to obtain a general license or permission for the use
   of such proprietary rights by implementers or users of this
   specification can be obtained from the IETF on-line IPR repository
   at http://www.ietf.org/ipr.


Ash et al.              Expires - March 2005                  [Page 14]


Internet Draft          QoS-NSLP QSpec Template          September 2004

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights that may cover technology that may be required to implement
   this standard. Please address the information to the IETF at ietf-
   ipr@ietf.org.

9.  References

   [DIFFSERV] S. Blake et. al., "An Architecture for Differentiated
   Services", RFC 2475, December 1998.
   [DS-TE] F. Le Faucheur et. al., Requirements for Support of
   Differentiated Services-aware MPLS Traffic Engineering, RFC 3564,
   July 2003
   [KEY] S. Bradner, "Key words for use in RFCs to Indicate Requirement
   Levels", BCP 14, RFC 2119, March 1997
   [INTSERV] B. Braden et. al., "Integrated Services in the Internet
   Architecture: an Overview," RFC 1633, June 1994.
   [INTSERV-QoS-SIG] C. Kappler, "A QoS Model for Signaling IntServ
   Controlled-Load Service with NSIS," work in progress.
   [NSIS-REQ] M. Brunner et. al., "Requirements for QoS Signaling
   Protocols", work in progress.
   [RFC2211] J. Wroclawski, "Specification of the Controlled-Load
   Network Element Service", RFC 2211, Sept. 1997.
   [RFC2212} Shenker, S., et. al., "Specification of Guaranteed Quality
   of Service," September 1997.
   [RFC2215] S. Shenker and J. Wroclawski, "General Characterization
   Parameters for Integrated Service Network Elements", RFC 2215, Sept.
   1997.
   [RMD-QoS-SIG] A. Bader et. al., "RMD (Resource Management in
   Diffserv) QoS-NSLP model", work in progress.
   [RMD-QSM] A. Bader, L. Westberg, G. Karagiannis, C. Kappler and T.
   Phelan, "Resource Management for DiffServ QoS Signaling Model"
   <draft-ietf-nsis-rmd-diffserv-00>, work in progress.
   [RSVP] B. Braden et. al., "Resource ReSerVation Protocol (RSVP) --
   Version 1 Functional Specification," RFC 2205, September 1997.
   [RSVP-INTSERV] J. Wroclawski, "The Use of RSVP with IETF Integrated
   Services", RFC 2210, September 1997.
   [TRQ-QoS-SIG] J. Ash et. al., "NSIS Network Service Layer Protocol
   QoS Signaling Proof-of-Concept," work in progress.
   [QoS-SIG] S. Van den Bosch et. al., "NSLP for Quality-of-Service
   Signaling," work in progress.
   [Y.1541] ITU-T Recommendation Y.1541, "Network Performance
   Objectives for IP-Based Services," May 2002.
   [Q.2630] ITU-T Recommendation Q.2630.3: "AAL Type 2 Signaling
   Protocol - Capability Set 3" Sep. 2003


Ash et al.              Expires - March 2005                  [Page 15]


Internet Draft          QoS-NSLP QSpec Template          September 2004

10.  Authors' Addresses

   Jerry Ash
   AT&T
   Room MT D5-2A01
   200 Laurel Avenue
   Middletown, NJ 07748, USA
   Phone: +1-(732)-420-4578
   Fax:   +1-(732)-368-8659
   Email: gash@att.com

   Attila Bader
   Traffic Lab
   Ericsson Research
   Ericsson Hungary Ltd.
   Laborc u. 1 H-1037
   Budapest Hungary
   EMail: Attila.Bader@ericsson.com

   Chuck Dvorak
   AT&T
   Room 2A37
   180 Park Avenue, Building 2
   Florham Park, NJ 07932
   Phone: + 1 973-236-6700
   Fax:+1 973-236-7453
   E-mail: cdvorak@att.com

   Yacine El Mghazli
   Alcatel
   Route de Nozay
   91460 Marcoussis cedex
   FRANCE
   Phone: +33 1 69 63 41 87
   Email: yacine.el_mghazli@alcatel.fr

   Cornelia Kappler
   Siemens AG
   Siemensdamm 62
   Berlin 13627
   Germany
   Email: cornelia.kappler@siemens.com

   Georgios Karagiannis
   University of Twente


Ash et al.              Expires - March 2005               [Page 16]


Internet Draft          QoS-NSLP QSpec Template       September 2004

   P.O. BOX 217
   7500 AE Enschede
   The Netherlands
   EMail: g.karagiannis@ewi.utwente.nl

   Andrew McDonald
   Siemens/Roke Manor Research
   Roke Manor Research Ltd.
   Romsey, Hants SO51 0ZN
   UK
   EMail: andrew.mcdonald@roke.co.uk

   Al Morton
   AT&T
   Room D3-3C06
   200 S. Laurel Avenue
   Middletown, NJ 07748
   Phone: + 1 732 420-1571
   Fax: +.1 732 368-1192
   E-mail: acmorton@att.com

   Percy Tarapore
   AT&T
   Room D1-3D33
   200 S. Laurel Avenue
   Middletown, NJ 07748
   Phone: + 1 732 420-4172
   E-mail: tarapore@.att.com

   Lars Westberg
   Ericsson Research
   Torshamnsgatan 23
   SE-164 80 Stockholm, Sweden
   EMail: Lars.Westberg@ericsson.com


Appendix A: Example QSpecs

   Note the mere definition of QSpecs is not sufficient for determining
   how to signal for DiffServ and IntServ respectively. Rather, the
   full QSM needs to be defined.

A.1 QSpec for Admission Control for DiffServ

   QSpec for Diffserv QSM in general may be provided in future versions
   of this draft. A QSpec for a DiffServ QSM, RMD is partically
   included in [RMD-QSM].


Ash et al.              Expires - March 2005                  [Page 17]


Internet Draft          QoS-NSLP QSpec Template          September 2004

A.2 QSpec for IntServ Controlled Load Service

   The QoS Model for IntServ Controlled Load is defined in [RFC2211].
   The QSpec can be derived from usage of RSVP to signal for this QoS
   Model, as defined in [RSVP-INTSERV] and [RFC2215].

   The QSpec for IntServ Controlled Load is composed of the subobjects
   <QoS Desired> and <QoS Available>, as well as <QoS Reserved>. Which
   sub-object is present in a particular QSpec depends on the message
   type (RESERVE, QUERY etc) in which the QSpec travels. Details must
   be provided in a corresponding QSM. Parameters in the QSpec are as
   follows:

   <QoS Desired> = <token bucket>
   <QoS Available> = <non IS hop> <IS hops> <Available Bw> <Min
   latency> <M>
   <QoS Reserved> = <token bucket>

A.3 QSpec for IntServ Guaranteed Services

   The QoS Model is defined in [RFC 2212]. The required parameters to
   achieve guarantied service with RSVP are specified in [RFC 2210] and
   [RFC 2215].

   The QSpec for guarantied services is the following:

   <QoS Description> = <QoS Desired> <QoS Available> <QoS Reserved>

   <QoS Desired> = <token bucket>

   This sub-object contains token bucket parameters defined in [RFC
   2210]. Equivalent to TSpec defined in RSVP.

   <QoS Available> = <non IS hop> <IS hops> <Available Bw> <Min
   latency> <MTU> <Ctot> <Dtot> <Csum> <Dsum>

   These parameters are defined in [RFC 2212] and [RFC 2215]. This sub-
   object is equivalent to AdSpec of RSVP.

   <QoS Reserved> = <token bucket> <R> <S>
   Requested Rate and Slack Term defined in [RFC 2212], equivalent to
   RSpec of RSVP.

   Note that the Guarantied Services QoS Model only works with receiver
   initiated reservation signaling, because <R> and <S> are derived


Ash et al.              Expires - March 2005                  [Page 18]


Internet Draft          QoS-NSLP QSpec Template          September 2004

   from parameters contained in <QoS Available>, and may be updated on
   the return paths.


Appendix B: QoS Models, QoS Signaling Models and QSpecs

   This section gives a description of QoS models, QSMs and QSpecs and
   explains what is the relation between them. Once these descriptions
   are contained in a stable form in the appropriate IDs this Appendix
   will be removed.

   QoS NSLP is a generic QoS Signaling Protocol that can signal for
   many QoS Models. A QoS Model is a particular QoS provisioning method
   or QoS architecture such a IntServ Controlled Load, Guaranteed
   Service. DiffServ, or RMD for DiffServ.

   The definition of the QoS Model is independent from the definition
   of QoS NSLP. Existing QoS Models do not specify how to use QoS NSLP
   to signal for them. Therefore, we need to define the QoS Signaling
   Models (QSMs), specific to each QoS Model, which describes the QoS
   Model specific signaling functions. QoS Signaling Model are defined
   for "Resource Management in DiffServ" in [RMD-QSM] and for IntServ
   Controlled Load in [INTSERV-QoS-SIG].

   A QSM should include the following information:

   - Role of QNEs in this QoS Model:
   E.g. location, frequency, statefulness...

   - QSpec Definition:
   A QSM should specify the QSpec, including generic and optional
   parameters. Furthermore it needs to explain how generic parameters
   not used in this QSM are mapped onto parameters defined therein.

   - Message Format
   Objects to be carried in RESERVE, QUERY RESPONSE and NOTIFY

   - State Management
   It describes how QSpec info is treated and interpreted in the
   Resource Management Function and QSM specific processing. E.g.
   admission control, scheduling, policy control, QoS parameter
   accumulation (e.g. delay)à

   - Operation and Sequence of Events
   Usage of QoS-NSLP messages to signal the QoS model.


Ash et al.              Expires - March 2005                  [Page 19]


Internet Draft          QoS-NSLP QSpec Template          September 2004

Disclaimer of Validity

   This document and the information contained herein are provided on
   an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE
   REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE
   INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR
   IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
   THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
   WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

Full Copyright Statement

   Copyright (C) The Internet Society (2004).  This document is subject
   to the rights, licenses and restrictions contained in BCP 78, and
   except as set forth therein, the authors retain all their rights.


Ash et al.              Expires - March 2005                  [Page 20]