summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc5975.txt
diff options
context:
space:
mode:
authorThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
committerThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
commit4bfd864f10b68b71482b35c818559068ef8d5797 (patch)
treee3989f47a7994642eb325063d46e8f08ffa681dc /doc/rfc/rfc5975.txt
parentea76e11061bda059ae9f9ad130a9895cc85607db (diff)
doc: Add RFC documents
Diffstat (limited to 'doc/rfc/rfc5975.txt')
-rw-r--r--doc/rfc/rfc5975.txt3587
1 files changed, 3587 insertions, 0 deletions
diff --git a/doc/rfc/rfc5975.txt b/doc/rfc/rfc5975.txt
new file mode 100644
index 0000000..add4f19
--- /dev/null
+++ b/doc/rfc/rfc5975.txt
@@ -0,0 +1,3587 @@
+
+
+
+
+
+
+Internet Engineering Task Force (IETF) G. Ash, Ed.
+Request for Comments: 5975 AT&T
+Category: Experimental A. Bader, Ed.
+ISSN: 2070-1721 Ericsson
+ C. Kappler, Ed.
+ ck technology concepts
+ D. Oran, Ed.
+ Cisco Systems, Inc.
+ October 2010
+
+
+ QSPEC Template
+ for the Quality-of-Service NSIS Signaling Layer Protocol (NSLP)
+
+Abstract
+
+ The Quality-of-Service (QoS) NSIS signaling layer protocol (NSLP) is
+ used to signal QoS reservations and is independent of a specific QoS
+ model (QOSM) such as IntServ or Diffserv. Rather, all information
+ specific to a QOSM is encapsulated in a separate object, the QSPEC.
+ This document defines a template for the QSPEC including a number of
+ QSPEC parameters. The QSPEC parameters provide a common language to
+ be reused in several QOSMs and thereby aim to ensure the
+ extensibility and interoperability of QoS NSLP. While the base
+ protocol is QOSM-agnostic, the parameters that can be carried in the
+ QSPEC object are possibly closely coupled to specific models. The
+ node initiating the NSIS signaling adds an Initiator QSPEC, which
+ indicates the QSPEC parameters that must be interpreted by the
+ downstream nodes less the reservation fails, thereby ensuring the
+ intention of the NSIS initiator is preserved along the signaling
+ path.
+
+Status of This Memo
+
+ This document is not an Internet Standards Track specification; it is
+ published for examination, experimental implementation, and
+ evaluation.
+
+ This document defines an Experimental Protocol for the Internet
+ community. This document is a product of the Internet Engineering
+ Task Force (IETF). It represents the consensus of the IETF
+ community. It has received public review and has been approved for
+ publication by the Internet Engineering Steering Group (IESG). Not
+ all documents approved by the IESG are a candidate for any level of
+ Internet Standard; see Section 2 of RFC 5741.
+
+
+
+
+
+
+Ash, et al. Experimental [Page 1]
+
+RFC 5975 QoS NSLP QSPEC Template October 2010
+
+
+ Information about the current status of this document, any errata,
+ and how to provide feedback on it may be obtained at
+ http://www.rfc-editor.org/info/rfc5975.
+
+Copyright Notice
+
+ Copyright (c) 2010 IETF Trust and the persons identified as the
+ document authors. All rights reserved.
+
+ This document is subject to BCP 78 and the IETF Trust's Legal
+ Provisions Relating to IETF Documents
+ (http://trustee.ietf.org/license-info) in effect on the date of
+ publication of this document. Please review these documents
+ carefully, as they describe your rights and restrictions with respect
+ to this document. Code Components extracted from this document must
+ include Simplified BSD License text as described in Section 4.e of
+ the Trust Legal Provisions and are provided without warranty as
+ described in the Simplified BSD License.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Ash, et al. Experimental [Page 2]
+
+RFC 5975 QoS NSLP QSPEC Template October 2010
+
+
+Table of Contents
+
+ 1. Introduction ....................................................4
+ 1.1. Conventions Used in This Document ..........................6
+ 2. Terminology .....................................................6
+ 3. QSPEC Framework .................................................7
+ 3.1. QoS Models .................................................7
+ 3.2. QSPEC Objects ..............................................9
+ 3.3. QSPEC Parameters ..........................................11
+ 3.3.1. Traffic Model Parameter ............................12
+ 3.3.2. Constraints Parameters .............................14
+ 3.3.3. Traffic-Handling Directives ........................16
+ 3.3.4. Traffic Classifiers ................................17
+ 3.4. Example of QSPEC Processing ...............................17
+ 4. QSPEC Processing and Procedures ................................20
+ 4.1. Local QSPEC Definition and Processing .....................20
+ 4.2. Reservation Success/Failure, QSPEC Error Codes,
+ and INFO-SPEC Notification ................................23
+ 4.2.1. Reservation Failure and Error E Flag ...............24
+ 4.2.2. QSPEC Parameter Not Supported N Flag ...............25
+ 4.2.3. INFO-SPEC Coding of Reservation Outcome ............25
+ 4.2.4. QNE Generation of a RESPONSE Message ...............26
+ 4.2.5. Special Case of Local QSPEC ........................27
+ 4.3. QSPEC Procedures ..........................................27
+ 4.3.1. Two-Way Transactions ...............................28
+ 4.3.2. Three-Way Transactions .............................30
+ 4.3.3. Resource Queries ...................................32
+ 4.3.4. Bidirectional Reservations .........................33
+ 4.3.5. Preemption .........................................33
+ 4.4. QSPEC Extensibility .......................................33
+ 5. QSPEC Functional Specification .................................33
+ 5.1. General QSPEC Formats .....................................33
+ 5.1.1. Common Header Format ...............................34
+ 5.1.2. QSPEC Object Header Format .........................36
+ 5.2. QSPEC Parameter Coding ....................................37
+ 5.2.1. <TMOD-1> Parameter .................................37
+ 5.2.2. <TMOD-2> Parameter .................................38
+ 5.2.3. <Path Latency> Parameter ...........................39
+ 5.2.4. <Path Jitter> Parameter ............................40
+ 5.2.5. <Path PLR> Parameter ...............................41
+ 5.2.6. <Path PER> Parameter ...............................42
+ 5.2.7. <Slack Term> Parameter .............................43
+ 5.2.8. <Preemption Priority> and <Defending Priority>
+ Parameters .........................................43
+ 5.2.9. <Admission Priority> Parameter .....................44
+ 5.2.10. <RPH Priority> Parameter ..........................45
+ 5.2.11. <Excess Treatment> Parameter ......................46
+ 5.2.12. <PHB Class> Parameter .............................48
+
+
+
+Ash, et al. Experimental [Page 3]
+
+RFC 5975 QoS NSLP QSPEC Template October 2010
+
+
+ 5.2.13. <DSTE Class Type> Parameter .......................49
+ 5.2.14. <Y.1541 QoS Class> Parameter ......................50
+ 6. Security Considerations ........................................51
+ 7. IANA Considerations ............................................51
+ 8. Acknowledgements ...............................................55
+ 9. Contributors ...................................................55
+ 10. Normative References ..........................................57
+ 11. Informative References ........................................59
+ Appendix A. Mapping of QoS Desired, QoS Available, and QoS
+ Reserved of NSIS onto AdSpec, TSpec, and RSpec of RSVP IntServ .62
+ Appendix B. Example of TMOD Parameter Encoding ....................62
+
+1. Introduction
+
+ The QoS NSIS signaling layer protocol (NSLP) [RFC5974] is used to
+ signal QoS reservations for a data flow, provide forwarding resources
+ (QoS) for that flow, and establish and maintain state at nodes along
+ the path of the flow. The design of QoS NSLP is conceptually similar
+ to the decoupling between RSVP [RFC2205] and the IntServ architecture
+ [RFC2210], where a distinction is made between the operation of the
+ signaling protocol and the information required for the operation of
+ the Resource Management Function (RMF). [RFC5974] describes the
+ signaling protocol, while this document describes the RMF-related
+ information carried in the QSPEC (QoS Specification) object carried
+ in QoS NSLP messages.
+
+ [RFC5974] defines four QoS NSLP messages -- RESERVE, QUERY, RESPONSE,
+ and NOTIFY -- each of which may carry the QSPEC object, while this
+ document describes a template for the QSPEC object. The QSPEC object
+ carries information on traffic descriptions, resources required,
+ resources available, and other information required by the RMF.
+ Therefore, the QSPEC template described in this document is closely
+ tied to QoS NSLP, and the reader should be familiar with [RFC5974] to
+ fully understand this document.
+
+ A QoS-enabled domain supports a particular QoS model (QOSM), which is
+ a method to achieve QoS for a traffic flow. A QOSM incorporates QoS
+ provisioning methods and a QoS architecture, and defines the behavior
+ of the RMF that reserves resources for each flow, including inputs
+ and outputs. The QoS NSLP protocol is able to signal QoS
+ reservations for different QOSMs, wherein all information specific to
+ a QOSM is encapsulated in the QSPEC object, and only the RMF specific
+ to a given QOSM will need to interpret the QSPEC. Examples of QOSMs
+ are IntServ, Diffserv admission control, and those specified in
+ [CL-QOSM], [RFC5976], and [RFC5977].
+
+
+
+
+
+
+Ash, et al. Experimental [Page 4]
+
+RFC 5975 QoS NSLP QSPEC Template October 2010
+
+
+ QSPEC parameters include, for example:
+
+ o a mandatory traffic model (TMOD) parameter,
+ o constraints parameters such as path latency and path jitter,
+ o traffic handling directives such as excess treatment, and
+ o traffic classifiers such as PHB class.
+
+ While the base protocol is QOSM-agnostic, the parameters that can be
+ carried in the QSPEC object are possibly closely coupled to specific
+ models.
+
+ QSPEC objects loosely correspond to the TSpec, RSpec, and AdSpec
+ objects specified in RSVP and may contain, respectively, a
+ description of QoS Desired, QoS Reserved, and QoS Available. Going
+ beyond RSVP functionality, the QSPEC also allows indicating a range
+ of acceptable QoS by defining a QSPEC object denoting minimum QoS.
+ Usage of these QSPEC objects is not bound to particular message
+ types, thus allowing for flexibility. A QSPEC object collecting
+ information about available resources may travel in any QoS NSLP
+ message, for example, a QUERY message or a RESERVE message, as
+ defined in [RFC5974]. The QSPEC travels in QoS NSLP messages but is
+ opaque to the QoS NSLP and is only interpreted by the RMF.
+
+ Interoperability between QoS NSIS entities (QNEs) in different
+ domains is enhanced by the definition of a common set of QSPEC
+ parameters. A QoS NSIS initiator (QNI) initiating the QoS NSLP
+ signaling adds an Initiator QSPEC object containing parameters
+ describing the desired QoS, normally based on the QOSM it supports.
+ QSPEC parameters flagged by the QNI must be interpreted by all QNEs
+ in the path, else the reservation fails. In contrast, QSPEC
+ parameters not flagged by the QNI may be skipped if not understood.
+ Additional QSPEC parameters can be defined by informational
+ specification documents, and thereby ensure the extensibility and
+ flexibility of QoS NSLP.
+
+ A Local QSPEC can be defined in a local domain with the Initiator
+ QSPEC encapsulated, where the Local QSPEC must be functionally
+ consistent with the Initiator QSPEC in terms of defined source
+ traffic and other constraints. That is, a domain-specific local
+ QSPEC can be defined and processed in a local domain, which could,
+ for example, enable simpler processing by QNEs within the local
+ domain.
+
+ In Section 3.4, an example of QSPEC processing is provided.
+
+
+
+
+
+
+
+Ash, et al. Experimental [Page 5]
+
+RFC 5975 QoS NSLP QSPEC Template October 2010
+
+
+1.1. Conventions Used in This Document
+
+ The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
+ "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
+ document are to be interpreted as described in RFC 2119 [RFC2119].
+
+2. Terminology
+
+ Initiator QSPEC: The Initiator QSPEC is included in a QoS NSLP
+ message by the QNI/QNR. It travels end-to-end to the QNR/QNI and is
+ never removed.
+
+ Local QSPEC: A Local QSPEC is used in a local domain and is domain
+ specific. It encapsulates the Initiator QSPEC and is removed at the
+ egress of the local domain.
+
+ Minimum QoS: QSPEC object that, together with a description of QoS
+ Desired or QoS Available, allows the QNI to specify a QoS range,
+ i.e., an upper and lower bound. If the QoS Desired cannot be
+ reserved, QNEs are going to decrease the reservation until the
+ minimum QoS is hit. Note that the term "minimum" is used
+ generically, since for some parameters, such as loss rate and
+ latency, what is specified is the maximum acceptable value.
+
+ QNE: QoS NSIS Entity, a node supporting QoS NSLP.
+
+ QNI: QoS NSIS Initiator, a node initiating QoS NSLP signaling.
+
+ QNR: QoS NSIS Receiver, a node terminating QoS NSLP signaling.
+
+ QoS Available: QSPEC object containing parameters describing the
+ available resources. They are used to collect information along a
+ reservation path.
+
+ QoS Desired: QSPEC object containing parameters describing the
+ desired QoS for which the sender requests reservation.
+
+ QoS Model (QOSM): a method to achieve QoS for a traffic flow, e.g.,
+ IntServ Controlled Load; specifies the subset of QSPEC QoS
+ constraints and traffic handling directives that a QNE implementing
+ that QOSM is capable of supporting and how resources will be managed
+ by the RMF.
+
+ QoS Reserved: QSPEC object containing parameters describing the
+ reserved resources and related QoS parameters.
+
+ QSPEC: the object of QoS NSLP that contains all QoS-specific
+ information.
+
+
+
+Ash, et al. Experimental [Page 6]
+
+RFC 5975 QoS NSLP QSPEC Template October 2010
+
+
+ QSPEC parameter: Any parameter appearing in a QSPEC; for example,
+ traffic model (TMOD), path latency, and excess treatment parameters.
+
+ QSPEC Object: Main building blocks containing a QSPEC parameter set
+ that is the input or output of an RMF operation.
+
+ QSPEC Type: Identifies a particular QOSM used in the QSPEC
+
+ Resource Management Function (RMF): Functions that are related to
+ resource management and processing of QSPEC parameters.
+
+3. QSPEC Framework
+
+ The overall framework for the QoS NSLP is that [RFC5974] defines QoS
+ signaling and semantics, the QSPEC template defines the container and
+ semantics for QoS parameters and objects, and informational
+ specifications define QoS methods and procedures for using QoS
+ signaling and QSPEC parameters/objects within specific QoS
+ deployments. QoS NSLP is a generic QoS signaling protocol that can
+ signal for many QOSMs.
+
+3.1. QoS Models
+
+ A QOSM is a method to achieve QoS for a traffic flow, e.g., IntServ
+ Controlled Load [CL-QOSM], Resource Management with Diffserv
+ [RFC5977], and QoS signaling for Y.1541 QoS classes [RFC5976]. A
+ QOSM specifies a set of QSPEC parameters that describe the QoS
+ desired and how resources will be managed by the RMF. The RMF
+ implements functions that are related to resource management and
+ processes the QSPEC parameters.
+
+ QOSMs affect the operation of the RMF in NSIS-capable nodes and the
+ information carried in QSPEC objects. Under some circumstances
+ (e.g., aggregation), they may cause a separate NSLP session to be
+ instantiated by having the RMF as a QNI. QOSM specifications may
+ define RMF triggers that cause the QoS NSLP to run semantics within
+ the underlying QoS NSLP signaling state and messaging processing
+ rules, as defined in Section 5.2 of [RFC5974]. New QoS NSLP message
+ processing rules can only be defined in extensions to QoS NSLP. If a
+ QOSM specification defines triggers that deviate from existing QoS
+ NSLP processing rules, the fallback for QNEs not supporting that QOSM
+ are the QoS NSLP state transition/message processing rules.
+
+ The QOSM specification includes how the requested QoS resources will
+ be described and how they will be managed by the RMF. For this
+ purpose, the QOSM specification defines a set of QSPEC parameters it
+ uses to describe the desired QoS and resource control in the RMF, and
+ it may define additional QSPEC parameters.
+
+
+
+Ash, et al. Experimental [Page 7]
+
+RFC 5975 QoS NSLP QSPEC Template October 2010
+
+
+ When a QoS NSLP message travels through different domains, it may
+ encounter different QOSMs. Since QOSMs use different QSPEC
+ parameters for describing resources, the QSPEC parameters included by
+ the QNI may not be understood in other domains. The QNI therefore
+ can flag those QSPEC parameters it considers vital with the M flag.
+ QSPEC parameters with the M flag set must be interpreted by the
+ downstream QNEs, or the reservation fails. QSPEC parameters without
+ the M flag set should be interpreted by the downstream QNEs, but may
+ be ignored if not understood.
+
+ A QOSM specification SHOULD include the following:
+
+ - role of QNEs, e.g., location, frequency, statefulness, etc.
+ - QSPEC definition including QSPEC parameters
+ - QSPEC procedures applicable to this QOSM
+ - QNE processing rules describing how QSPEC information is treated
+ and interpreted in the RMF, e.g., admission control, scheduling,
+ policy control, QoS parameter accumulation (e.g., delay)
+ - at least one bit-level QSPEC example
+ - QSPEC parameter behavior for new QSPEC parameters that the QOSM
+ specification defines
+ - a definition of what happens in case of preemption if the default
+ QNI behavior (teardown preempted reservation) is not followed (see
+ Section 4.3.5)
+
+ A QOSM specification MAY include the following:
+
+ - definitions of additional QOSM-specific error codes, as discussed
+ in Section 4.2.3
+ - the QoS-NSLP options a QOSM wants to use, when several options are
+ available for a QOSM (e.g., Local QSPEC to either a) hide the
+ Initiator QSPEC within a local domain message, or b) encapsulate
+ the Initiator QSPEC).
+
+ QOSMs are free, subject to IANA registration and review rules, to
+ extend QSPECs by adding parameters of any of the kinds supported by
+ the QSPEC. This includes traffic description parameters, constraint
+ parameters, and traffic handling directives. QOSMs are not
+ permitted, however, to reinterpret or redefine the QSPEC parameters
+ specified in this document. Note that signaling functionality is
+ only defined by the QoS NSLP document [RFC5974] and not by this
+ document or by QOSM specification documents.
+
+
+
+
+
+
+
+
+
+Ash, et al. Experimental [Page 8]
+
+RFC 5975 QoS NSLP QSPEC Template October 2010
+
+
+3.2. QSPEC Objects
+
+ The QSPEC is the object of QoS NSLP containing QSPEC objects and
+ parameters. QSPEC objects are the main building blocks of the QSPEC
+ parameter set that is input or output of an RMF operation. QSPEC
+ parameters are the parameters appearing in a QSPEC, which must
+ include the traffic model parameter (TMOD), and may optionally
+ include constraints (e.g., path latency), traffic handling directives
+ (e.g., excess treatment), and traffic classifiers (e.g., PHB class).
+ The RMF implements functions that are related to resource management
+ and processes the QSPEC parameters.
+
+ The QSPEC consists of a QSPEC version number and QSPEC objects. IANA
+ assigns a new QSPEC version number when the current version is
+ deprecated or deleted (as required by a specification). Note that a
+ new QSPEC version number is not needed when new QSPEC parameters are
+ specified. Later QSPEC versions MUST be backward compatible with
+ earlier QSPEC versions. That is, a version n+1 device must support
+ QSPEC version n (or earlier). On the other hand, if a QSPEC version
+ n (or earlier) device receives an NSLP message specifying QSPEC
+ version n+1, then the version n device responds with an 'Incompatible
+ QSPEC' error code (0x0f) response, as discussed in Section 4.2.3,
+ allowing the QNE that sent the NSLP message to retry with a lower
+ QSPEC version.
+
+ This document provides a template for the QSPEC in order to promote
+ interoperability between QOSMs. Figure 1 illustrates how the QSPEC
+ is composed of up to 4 QSPEC objects, namely QoS Desired, QoS
+ Available, QoS Reserved, and Minimum QoS. Each of these QSPEC
+ objects consists of a number of QSPEC parameters. A given QSPEC may
+ contain only a subset of the QSPEC objects, e.g., QoS Desired. The
+ QSPEC objects QoS Desired, QoS Available, QoS Reserved and Minimum
+ QoS MUST all be supported by QNEs and MAY appear in any QSPEC object
+ carried in any QoS NSLP message (RESERVE, QUERY, RESPONSE, NOTIFY).
+ See [RFC5974] for descriptions of the QoS NSLP RESERVE, QUERY,
+ RESPONSE, and NOTIFY messages.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Ash, et al. Experimental [Page 9]
+
+RFC 5975 QoS NSLP QSPEC Template October 2010
+
+
+ +---------------------------------------+
+ | QSPEC Objects |
+ +---------------------------------------+
+
+ \________________ ______________________/
+ V
+ +----------+----------+---------+-------+
+ |QoS Desir.|QoS Avail.|QoS Rsrv.|Min QoS|
+ +----------+----------+---------+-------+
+
+ \____ ____/\___ _____/\___ ____/\__ ___/
+ V V V V
+
+ +-------------+... +-------------+...
+ |QSPEC Para. 1| |QSPEC Para. n|
+ +-------------+... +-------------+...
+
+ Figure 1: Structure of the QSPEC
+
+ Use of the 4 QSPEC objects (QoS Desired, QoS Available, QoS Reserved,
+ and Minimum QoS) is described in Section 4.3 for 3 message sequences
+ and 7 object combinations.
+
+ The QoS Desired Object describe the resources the QNI desires to
+ reserve, and hence this is a read-only QSPEC object in that the QSPEC
+ parameters carried in the object may not be overwritten. QoS Desired
+ is always included in a RESERVE message and sometimes included in the
+ QUERY message (see Section 4.3 for details).
+
+ As described in Section 4.3, the QoS Available object may travel in a
+ RESERVE message, RESPONSE Message, or QUERY message and may collect
+ information on the resources currently available on the path. In
+ this case, QoS Available is a read-write object, which means the
+ QSPEC parameters contained in QoS Available may be updated, but they
+ cannot be deleted. As such, each QNE MUST inspect all parameters of
+ this QSPEC object, and if resources available to this QNE are less
+ than what a particular parameter says currently, the QNE MUST adapt
+ this parameter 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.
+
+ When QoS Available travels in a RESPONSE message, it in fact just
+ transports the result of a previous measurement performed by a
+ RESERVE or QUERY message back to the initiator. Therefore, in this
+
+
+
+
+
+Ash, et al. Experimental [Page 10]
+
+RFC 5975 QoS NSLP QSPEC Template October 2010
+
+
+ case, QoS Available is read-only. In one other instance described in
+ Section 4.3.2 (Case 3), QoS Available is sent by the QNI in a RESERVE
+ message as a read-only QSPEC object (see Section 4.3.2 for details).
+
+ The QoS Reserved object reflects the resources that are being
+ reserved. It is a read-only object and is always included in a
+ RESPONSE message if QoS Desired is included in the RESERVE message
+ (see Section 4.3 for details).
+
+ Minimum QoS does not 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.
+ Note that the term "minimum" is used generically, since for some
+ parameters, such as loss rate and latency, what is specified is the
+ maximum acceptable value. It is a read-only object, and may be
+ included in a RESERVE message, RESPONSE message, or QUERY message
+ (see Section 4.3 for details). The desired QoS is included with a
+ QoS Desired and/or a QoS Available QSPEC object seeded to the desired
+ QoS value. The minimum acceptable QoS value MAY be coded in the
+ Minimum QoS QSPEC object. 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 fails and is aborted.
+ When this method is employed, the QNR signals back to the QNI the
+ value of QoS Available attained in the end, because the reservation
+ may need to be adapted accordingly (see Section 4.3 for details).
+
+ Note that the relationship of QSPEC objects to RSVP objects is
+ covered in Appendix A.
+
+3.3. QSPEC Parameters
+
+ QSPEC parameters provide a common language for building QSPEC
+ objects. This document defines a number of QSPEC parameters;
+ additional parameters may be defined in separate QOSM specification
+ documents. For example, QSPEC parameters are defined in [RFC5976]
+ and [RFC5977].
+
+ One QSPEC parameter, <TMOD>, is special. It provides a description
+ of the traffic for which resources are reserved. This parameter must
+ be included by the QNI, and it must be interpreted by all QNEs. All
+ other QSPEC parameters are populated by a QNI if they are applicable
+ to the underlying QoS desired. For these QSPEC parameters, the QNI
+ sets the M flag if they must be interpreted by downstream QNEs. If
+ QNEs cannot interpret the parameter, the reservation fails. QSPEC
+ parameters populated by a QNI without the M flag set should be
+ interpreted by downstream QNEs, but may be ignored if not understood.
+
+
+
+
+
+Ash, et al. Experimental [Page 11]
+
+RFC 5975 QoS NSLP QSPEC Template October 2010
+
+
+ In this document, the term 'interpret' means, in relation to RMF
+ processing of QSPEC parameters, that the RMF processes the QSPEC
+ parameter according to the commonly accepted normative procedures
+ specified by references given for each QSPEC parameter. Note that a
+ QNE need only interpret a QSPEC parameter if it is populated in the
+ QSPEC object by the QNI; if not populated in the QSPEC, the QNE does
+ not interpret it of course.
+
+ Note that when an ingress QNE in a local domain defines a Local QSPEC
+ and encapsulates the Initiator QSPEC, the QNEs in the interior local
+ domain need only process the Local QSPEC and can ignore the Initiator
+ (encapsulated) QSPEC. However, edge QNEs in the local domain indeed
+ must interpret the QSPEC parameters populated in the Initiator QSPEC
+ with the M flag set and should interpret QSPEC parameters populated
+ in the Initiator QSPEC without the M flag set.
+
+ As described in the previous section, QoS parameters may be
+ overwritten depending on which QSPEC object and which message they
+ appear in.
+
+3.3.1. Traffic Model Parameter
+
+ The <Traffic Model> (TMOD) parameter is mandatory for the QNI to
+ include in the Initiator QSPEC and mandatory for downstream QNEs to
+ interpret. The traffic description specified by the TMOD parameter
+ is a container consisting of 5 sub-parameters [RFC2212]:
+
+ o rate (r) specified in octets per second
+ o bucket size (b) specified in octets
+ o peak rate (p) specified in octets per second
+ o minimum policed unit (m) specified in octets
+ o maximum packet size (MPS) specified in octets
+
+ The TMOD parameter takes the form of a token bucket of rate (r) and
+ bucket size (b), plus a peak rate (p), minimum policed unit (m), and
+ maximum packet size (MPS).
+
+ Both b and r MUST be positive. The rate, r, is measured in octets of
+ IP packets per second, and can range from 1 octet per second to as
+ large as 40 teraoctets per second. The bucket depth, b, is also
+ measured in octets and can range from 1 octet to 250 gigaoctets. The
+ peak rate, p, is measured in octets of IP packets per second and has
+ the same range and suggested representation as the bucket rate.
+
+ The peak rate is the maximum rate at which the source and any
+ reshaping (defined below) may inject bursts of traffic into the
+ network. More precisely, it is a requirement that for all time
+ periods the amount of data sent cannot exceed MPS+pT, where MPS is
+
+
+
+Ash, et al. Experimental [Page 12]
+
+RFC 5975 QoS NSLP QSPEC Template October 2010
+
+
+ the maximum packet size and T is the length of the time period.
+ Furthermore, p MUST be greater than or equal to the token bucket
+ rate, r. If the peak rate is unknown or unspecified, then p MUST be
+ set to infinity.
+
+ The minimum policed unit, m, is an integer measured in octets. All
+ IP packets less than size m will be counted, when policed and tested
+ for conformance to the TMOD, as being of size m.
+
+ The maximum packet size, MPS, is the biggest packet that will conform
+ to the traffic specification; it is also measured in octets. The
+ flow MUST be rejected if the requested maximum packet size is larger
+ than the MTU of the link. Both m and MPS MUST be positive, and m
+ MUST be less than or equal to MPS.
+
+ Policing compares arriving traffic against the TMOD parameters at the
+ edge of the network. Traffic is policed to ensure it conforms to the
+ token bucket. Reshaping attempts to restore the (possibly distorted)
+ traffic's shape to conform to the TMOD parameters, and traffic that
+ is in violation of the TMOD is discovered because the reshaping fails
+ and the reshaping buffer overflows.
+
+ The token bucket and peak rate parameters require that traffic MUST
+ obey the rule that over all time periods, the amount of data sent
+ cannot exceed MPS+min[pT, rT+b-MPS], where r and b are the token
+ bucket parameters, MPS is the maximum packet size, and T is the
+ length of the time period (note that when p is infinite, this reduces
+ to the standard token bucket requirement). For the purposes of this
+ accounting, links MUST count packets that are smaller than the
+ minimum policing unit as being of size m. Packets that arrive at an
+ element and cause a violation of the MPS + min[pT, rT+b-MPS] bound
+ are considered non-conformant.
+
+ All 5 of the sub-parameters MUST be included in the TMOD parameter.
+ The TMOD parameter can be set to describe the traffic source. If,
+ for example, TMOD is set to specify bandwidth only, then set r = peak
+ rate = p, b = large, and m = large. As another example, if TMOD is
+ set for TCP traffic, then set r = average rate, b = large, and p =
+ large.
+
+ When the 5 TMOD sub-parameters are included in QoS Available, they
+ provide information, for example, about the TMOD resources available
+ along the path followed by a data flow. The value of TMOD at a QNE
+ is an estimate of the TMOD resources the QNE has available for
+ packets following the path up to the next QNE, including its outgoing
+ link, if this link exists. Furthermore, the QNI MUST account for the
+ resources of the ingress link, if this link exists. Computation of
+
+
+
+
+Ash, et al. Experimental [Page 13]
+
+RFC 5975 QoS NSLP QSPEC Template October 2010
+
+
+ the value of this parameter SHOULD take into account all information
+ available to the QNE about the path, taking into consideration
+ administrative and policy controls, as well as physical resources.
+
+ The output composed value is the minimum of the QNE's value and the
+ input composed value for r, b, p, and MPS, and the maximum of the
+ QNE's value and the input composed value for m. This quantity, when
+ composed end-to-end, informs the QNR (or QNI in a RESPONSE message)
+ of the minimal TMOD resources along the path from QNI to QNR.
+
+ Two TMOD parameters are defined in Section 5, <TMOD-1> and <TMOD-2>,
+ where the second parameter (<TMOD-2>) is specified as could be needed
+ to support some Diffserv applications. For example, it is typically
+ assumed that Diffserv Expedited Forwarding (EF) traffic is shaped at
+ the ingress by a single rate token bucket. Therefore, a single TMOD
+ parameter is sufficient to signal Diffserv EF traffic. However, for
+ Diffserv Assured Forwarding (AF) traffic, two sets of token bucket
+ parameters are needed -- one for the average traffic and one for the
+ burst traffic. [RFC2697] defines a Single Rate Three Color Marker
+ (srTCM), which meters a traffic stream and marks its packets
+ according to three traffic parameters, Committed Information Rate
+ (CIR), Committed Burst Size (CBS), and Excess Burst Size (EBS), to be
+ either green, yellow, or red. A packet is marked green if it does
+ not exceed the CBS; yellow if it does exceed the CBS, but not the
+ EBS; and red otherwise. [RFC2697] defines specific procedures using
+ two token buckets that run at the same rate. Therefore, 2 TMOD
+ parameters are sufficient to distinguish among 3 levels of drop
+ precedence. An example is also described in the Appendix to
+ [RFC2597].
+
+3.3.2. Constraints Parameters
+
+ <Path Latency>, <Path Jitter>, <Path PLR>, and <Path PER> are QSPEC
+ parameters describing the desired path latency, path jitter, packet
+ loss ratio, and path packet error ratio, respectively. Since these
+ parameters are cumulative, an individual QNE cannot decide whether
+ the desired path latency, etc., is available, and hence they cannot
+ decide whether a reservation fails. Rather, when these parameters
+ are included in <Desired QoS>, the QNI SHOULD also include
+ corresponding parameters in a QoS Available QSPEC object in order to
+ facilitate collecting this information.
+
+ The <Path Latency> parameter accumulates the latency of the packet
+ forwarding process associated with each QNE, where the latency is
+ defined to be the mean packet delay, measured in microseconds, added
+ by each QNE. This delay results from the combination of link
+ propagation delay, packet processing, and queuing. Each QNE MUST add
+ the propagation delay of its outgoing link, if this link exists.
+
+
+
+Ash, et al. Experimental [Page 14]
+
+RFC 5975 QoS NSLP QSPEC Template October 2010
+
+
+ Furthermore, the QNI SHOULD add the propagation delay of the ingress
+ link, if this link exists. The composition rule for the <Path
+ Latency> parameter is summation with a clamp of (2^32) - 1 on the
+ maximum value. This quantity, when composed end-to-end, informs the
+ QNR (or QNI in a RESPONSE message) of the minimal packet delay along
+ the path from QNI to QNR. The purpose of this parameter is to
+ provide a minimum path latency for use with services that provide
+ estimates or bounds on additional path delay [RFC2212].
+
+ The <Path Jitter> parameter accumulates the jitter of the packet
+ forwarding process associated with each QNE, where the jitter is
+ defined to be the nominal jitter, measured in microseconds, added by
+ each QNE. IP packet jitter, or delay variation, is defined in
+ [RFC3393], Section 3.4 (Type-P-One-way-ipdv), and where the [RFC3393]
+ selection function includes the packet with minimum delay such that
+ the distribution is equivalent to 2-point delay variation in
+ [Y.1540]. The suggested evaluation interval is 1 minute. This
+ jitter results from packet-processing limitations, and includes any
+ variable queuing delay that may be present. Each QNE MUST add the
+ jitter of its outgoing link, if this link exists. Furthermore, the
+ QNI SHOULD add the jitter of the ingress link, if this link exists.
+ The composition method for the <Path Jitter> parameter is the
+ combination of several statistics describing the delay variation
+ distribution with a clamp on the maximum value (note that the methods
+ of accumulation and estimation of nominal QNE jitter are specified in
+ clause 8 of [Y.1541]). This quantity, when composed end-to-end,
+ informs the QNR (or QNI in a RESPONSE message) of the nominal packet
+ jitter along the path from QNI to QNR. The purpose of this parameter
+ is to provide a nominal path jitter for use with services that
+ provide estimates or bounds on additional path delay [RFC2212].
+
+ The <Path PLR> parameter is the unit-less ratio of total lost IP
+ packets to total transmitted IP packets. <Path PLR> accumulates the
+ packet loss ratio (PLR) of the packet-forwarding process associated
+ with each QNE, where the PLR is defined to be the PLR added by each
+ QNE. Each QNE MUST add the PLR of its outgoing link, if this link
+ exists. Furthermore, the QNI MUST add the PLR of the ingress link,
+ if this link exists. The composition rule for the <Path PLR>
+ parameter is summation with a clamp on the maximum value. (This
+ assumes sufficiently low PLR values such that summation error is not
+ significant; however, a more accurate composition function is
+ specified in clause 8 of [Y.1541].) This quantity, when composed
+ end-to-end, informs the QNR (or QNI in a RESPONSE message) of the
+ minimal packet PLR along the path from QNI to QNR.
+
+ Packet error ratio [Y.1540, Y.1541] is the unit-less ratio of total
+ errored IP packet outcomes to the total of successful IP packet
+ transfer outcomes plus errored IP packet outcomes in a population of
+
+
+
+Ash, et al. Experimental [Page 15]
+
+RFC 5975 QoS NSLP QSPEC Template October 2010
+
+
+ interest, with a resolution of at least 10^-9. If lesser resolution
+ is available in a value, the unused digits MUST be set to zero. Note
+ that the number of errored packets observed is directly related to
+ the confidence in the result. The <Path PER> parameter accumulates
+ the packet error ratio (PER) of the packet forwarding process
+ associated with each QNE, where the PER is defined to be the PER
+ added by each QNE. Each QNE MUST add the PER of its outgoing link,
+ if this link exists. Furthermore, the QNI SHOULD add the PER of the
+ ingress link, if this link exists. The composition rule for the
+ <Path PER> parameter is summation with a clamp on the maximum value.
+ (This assumes sufficiently low PER values such that summation error
+ is not significant; however, a more accurate composition function is
+ specified in clause 8 of [Y.1541].) This quantity, when composed
+ end-to-end, informs the QNR (or QNI in a RESPONSE message) of the
+ minimal packet PER along the path from QNI to QNR.
+
+ The slack term parameter is the difference between desired delay and
+ delay obtained by using bandwidth reservation, and it is used to
+ reduce the resource reservation for a flow [RFC2212].
+
+3.3.3. Traffic-Handling Directives
+
+ An application MAY like to reserve resources for packets and also
+ specify a specific traffic-handling behavior, such as <Excess
+ Treatment>. In addition, as discussed in Section 3.1, an application
+ MAY like to define RMF triggers that cause the QoS NSLP to run
+ semantics within the underlying QoS NSLP signaling state / messaging
+ processing rules, as defined in Section 5.2 of [RFC5974]. Note,
+ however, that new QoS NSLP message processing rules can only be
+ defined in extensions to the QoS NSLP. As with constraints
+ parameters and other QSPEC parameters, Traffic Handling Directives
+ parameters may be defined in QOSM specifications in order to provide
+ support for QOSM-specific resource management functions. Such QOSM-
+ specific parameters are already defined, for example, in [RFC5976],
+ [RFC5977], and [CL-QOSM]. Generally, a Traffic Handling Directives
+ parameters is expected to be set by the QNI in <QoS Desired>, and to
+ not be included in <QoS Available>. If such a parameter is included
+ in <QoS Available>, QNEs may change their value.
+
+ The <Preemption Priority> parameter is the priority of the new flow
+ compared with the <Defending Priority> of previously admitted flows.
+ Once a flow is admitted, the preemption priority becomes irrelevant.
+ The <Defending Priority> parameter is used to compare with the
+ preemption priority of new flows. For any specific flow, its
+ preemption priority MUST always be less than or equal to the
+ defending priority. <Admission Priority> and <RPH Priority> provide
+ an essential way to differentiate flows for emergency services,
+ Emergency Telecommunications Service (ETS), E911, etc., and assign
+
+
+
+Ash, et al. Experimental [Page 16]
+
+RFC 5975 QoS NSLP QSPEC Template October 2010
+
+
+ them a higher admission priority than normal priority flows and best-
+ effort priority flows.
+
+ The <Excess Treatment> parameter describes how the QNE will process
+ out-of-profile traffic. Excess traffic MAY be dropped, shaped,
+ and/or re-marked.
+
+3.3.4. Traffic Classifiers
+
+ An application MAY like to reserve resources for packets with a
+ particular Diffserv per-hop behavior (PHB) [RFC2475]. Note that PHB
+ class is normally set by a downstream QNE to tell the QNI how to mark
+ traffic to ensure the treatment that is designated by admission
+ control; however, setting of the parameter by the QNI is not
+ precluded. An application MAY like to reserve resources for packets
+ with a particular QoS class, e.g., Y.1541 QoS class [Y.1541] or
+ Diffserv-aware MPLS traffic engineering (DSTE) class type [RFC3564,
+ RFC4124]. These parameters are useful in various QOSMs, e.g.,
+ [RFC5976], [RFC5977], and other QOSMs yet to be defined (e.g., DSTE-
+ QOSM). This is intended to provide guidelines to QOSMs on how to
+ encode these parameters; use of the PHB class parameter is
+ illustrated in the example in the following section.
+
+3.4. Example of QSPEC Processing
+
+ This section illustrates the operation and use of the QSPEC within
+ the NSLP. The example configuration in shown in Figure 2.
+
+ +----------+ /-------\ /--------\ /--------\
+ | Laptop | | Home | | Cable | | Diffserv |
+ | Computer |-----| Network |-----| Network |-----| Network |----+
+ +----------+ | No QOSM | |DQOS QOSM | | RMD QOSM | |
+ \-------/ \--------/ \--------/ |
+ |
+ +-----------------------------------------------+
+ |
+ | /--------\ +----------+
+ | | XG | | Handheld |
+ +---| Wireless |-----| Device |
+ | XG QOSM | +----------+
+ \--------/
+
+ Figure 2: Example Configuration of QoS-NSLP/QSPEC Operation
+
+ In this configuration, a laptop computer and a handheld wireless
+ device are the endpoints for some application that has QoS
+ requirements. Assume initially that the two endpoints are stationary
+ during the application session, later we consider mobile endpoints.
+
+
+
+Ash, et al. Experimental [Page 17]
+
+RFC 5975 QoS NSLP QSPEC Template October 2010
+
+
+ For this session, the laptop computer is connected to a home network
+ that has no QoS support. The home network is connected to a
+ CableLabs-type cable access network with dynamic QoS (DQOS) support,
+ such as specified in the [DQOS] for cable access networks. That
+ network is connected to a Diffserv core network that uses the
+ Resource Management in Diffserv QoS Model [RFC5977]. On the other
+ side of the Diffserv core is a wireless access network built on
+ generation "X" technology with QoS support as defined by generation
+ "X". And finally, the handheld endpoint is connected to the wireless
+ access network.
+
+ We assume that the laptop is the QNI, and the handheld device is the
+ QNR. The QNI will signal an Initiator QSPEC object to achieve the
+ QoS desired on the path.
+
+ The QNI sets QoS Desired, QoS Available, and possibly Minimum QoS
+ QSPEC objects in the Initiator QSPEC, and initializes QoS Available
+ to QoS Desired. Each QNE on the path reads and interprets those
+ parameters in the Initiator QSPEC and checks to see if QoS Available
+ resources can be reserved. If not, the QNE reduces the respective
+ parameter values in QoS Available and reserves these values. The
+ minimum parameter values are given in Minimum QoS, if populated; they
+ are zero if Minimum QoS is not included. If one or more parameters
+ in QoS Available fails to satisfy the corresponding minimum values in
+ Minimum QoS, the QNE generates a RESPONSE message to the QNI and the
+ reservation is aborted. Otherwise, the QNR generates a RESPONSE to
+ the QNI with the QoS Available for the reservation. If a QNE cannot
+ reserve QoS Desired resources, the reservation fails.
+
+ The QNI populates QSPEC parameters to ensure correct treatment of its
+ traffic in domains down the path. Let us assume the QNI wants to
+ achieve QoS guarantees similar to IntServ Controlled Load service,
+ and also is interested in what path latency it can achieve.
+ Additionally, to ensure correct treatment further down the path, the
+ QNI includes <PHB Class> in <QoS Desired>. The QNI therefore
+ includes in the QSPEC
+
+ QoS Desired = <TMOD> <PHB Class>
+ QoS Available = <TMOD> <Path Latency>
+
+ Since <Path Latency> and <PHB Class> are not vital parameters from
+ the QNI's perspective, it does not raise their M flags.
+
+ There are three possibilities when a RESERVE message is received at a
+ QNE at a domain border; they are described in the example:
+
+ - the QNE just leaves the QSPEC as is.
+
+
+
+
+Ash, et al. Experimental [Page 18]
+
+RFC 5975 QoS NSLP QSPEC Template October 2010
+
+
+ - the QNE can add a Local QSPEC and encapsulate the Initiator QSPEC
+ (see discussion in Section 4.1; this is new in QoS NSLP -- RSVP
+ does not do this).
+
+ - the QNE can 'hide' the initiator RESERVE message so that only the
+ edge QNE processes the initiator RESERVE message, which then
+ bypasses intermediate nodes between the edges of the domain and
+ issues its own local RESERVE message (see Section 3.3.1 of
+ [RFC5974]). For this new local RESERVE message, the QNE acts as
+ the QNI, and the QSPEC in the domain is an Initiator QSPEC. A
+ similar procedure is also used by RSVP in making aggregate
+ reservations, in which case there is not a new intra-domain
+ (aggregate) RESERVE for each newly arriving inter-domain (per-flow)
+ RESERVE, but the aggregate reservation is updated by the border QNE
+ (or QNI) as need be. This is also how RMD works [RFC5977].
+
+ For example, at the RMD domain, a local RESERVE with its own RMD
+ Initiator QSPEC corresponding to the RMD-QOSM is generated based on
+ the original Initiator QSPEC according to the procedures described in
+ Section 4.5 of [RFC5974] and in [RFC5977]. The ingress QNE to the
+ RMD domain maps the TMOD parameters contained in the original
+ Initiator QSPEC to the equivalent TMOD parameter representing only
+ the peak bandwidth in the Local QSPEC. The local RMD QSPEC for
+ example also needs <PHB Class>, which in this case was provided by
+ the QNI.
+
+ Furthermore, if the node can, at the egress to the RMD domain, it
+ updates QoS Available on behalf of the entire RMD domain. If it
+ cannot (since the M flag is not set for <Path Latency>), it raises
+ the parameter-specific, Not Supported N flag, warning the QNR that
+ the final latency value in QoS Available is imprecise.
+
+ In the XG domain, the Initiator QSPEC is translated into a local
+ QSPEC using a similar procedure as described above. The Local QSPEC
+ becomes the current QSPEC used within the XG domain, and the
+ Initiator QSPEC is encapsulated. This saves the QNEs within the XG
+ domain the trouble of re-translating the Initiator QSPEC, and
+ simplifies processing in the local domain. At the egress edge of the
+ XG domain, the translated Local QSPEC is removed, and the Initiator
+ QSPEC returns to the number one position.
+
+ If the reservation was successful, eventually the RESERVE request
+ arrives at the QNR (otherwise, the QNE at which the reservation
+ failed aborts the RESERVE and sends an error RESPONSE back to the
+ QNI). If the RII was included in the QoS NSLP message, the QNR
+ generates a positive RESPONSE with QSPEC objects QoS Reserved and QoS
+
+
+
+
+
+Ash, et al. Experimental [Page 19]
+
+RFC 5975 QoS NSLP QSPEC Template October 2010
+
+
+ Available. The parameters appearing in QoS Reserved are the same as
+ in QoS Desired, with values copied from QoS Available. Hence, the
+ QNR includes the following QSPEC objects in the RESPONSE:
+
+ QoS Reserved = <TMOD> <PHB Class>
+ QoS Available = <TMOD> <Path Latency>
+
+ If the handheld device on the right of Figure 2 is mobile, and moves
+ through different XG wireless networks, then the QoS might change on
+ the path since different XG wireless networks might support different
+ QOSMs. As a result, QoS NSLP/QSPEC processing will have to
+ renegotiate the QoS Available on the path. From a QSPEC perspective,
+ this is like a new reservation on the new section of the path and is
+ basically the same as any other rerouting event -- to the QNEs on the
+ new path, it looks like a new reservation. That is, in this mobile
+ scenario, the new segment may support a different QOSM than the old
+ segment, and the QNI would now signal a new reservation explicitly
+ (or implicitly with the next refreshing RESERVE message) to account
+ for the different QOSM in the XG wireless domain. Further details on
+ rerouting are specified in [RFC5974].
+
+ For bit-level examples of QSPECs, see the documents specifying QOSMs:
+ [CL-QOSM], [RFC5976], and [RFC5977].
+
+4. QSPEC Processing and Procedures
+
+ Three flags are used in QSPEC processing, the M flag, E flag, and N
+ flag, which are explained in this section. The QNI sets the M flag
+ for each QSPEC parameter it populates that MUST be interpreted by
+ downstream QNEs. If a QNE does not support the parameter, it sets
+ the N flag and fails the reservation. If the QNE supports the
+ parameter but cannot meet the resources requested by the parameter,
+ it sets the E flag and fails the reservation.
+
+ If the M flag is not set, the downstream QNE SHOULD interpret the
+ parameter. If the QNE does not support the parameter, it sets the N
+ flag and forwards the reservation. If the QNE supports the parameter
+ but cannot meet the resources requested by the parameter, it sets the
+ E flag and fails the reservation.
+
+4.1. Local QSPEC Definition and Processing
+
+ A QNE at the edge of a local domain may either a) translate the
+ Initiator QSPEC into a Local QSPEC and encapsulate the Initiator
+ QSPEC in the RESERVE message, or b) 'hide' the Initiator QSPEC
+ through the local domain and reserve resources by generating a new
+
+
+
+
+
+Ash, et al. Experimental [Page 20]
+
+RFC 5975 QoS NSLP QSPEC Template October 2010
+
+
+ RESERVE message through the local domain containing the Local QSPEC.
+ In either case, the Initiator QSPEC parameters are interpreted at the
+ local domain edges.
+
+ A Local QSPEC may allow a simpler control plane in a local domain.
+ The edge nodes in the local domain must interpret the Initiator QSPEC
+ parameters. They can either initiate a parallel session with Local
+ QSPEC or define a Local QSPEC and encapsulate the Initiator QSPEC, as
+ illustrated in Figure 3. The Initiator/Local QSPEC bit identifies
+ whether the QSPEC is an Initiator QSPEC or a Local QSPEC. The QSPEC
+ Type indicates, for example, that the initiator of the local QSPEC
+ uses to a certain QOSM, e.g., CL-QSPEC Type. It may be useful for
+ the QNI to signal a QSPEC Type based on some QOSM (which will
+ necessarily entail populating certain QOSM-related parameters) so
+ that a downstream QNE can chose amongst various QOSM-related
+ processes it might have. That is, the QNI populates the QSPEC Type,
+ e.g., CL-QSPEC Type and sets the Initiator/Local QSPEC bit to
+ 'Initiator'. A local QNE can decide, for whatever reasons, to insert
+ a Local QSPEC Type, e.g., RMD-QSPEC Type, and set the local QSPEC
+ Type = RMD-QSPEC and set the Initiator/Local QSPEC bit to 'Local'
+ (and encapsulate the Initiator QSPEC in the RESERVE or whatever NSLP
+ message).
+
+ +--------------------------------+\
+ | QSPEC Type, QSPEC Procedure | \
+ +--------------------------------+ / Common QSPEC Header
+ | Init./Local QSPEC bit=Local |/
+ +================================+\
+ | Local-QSPEC Parameter 1 | \
+ +--------------------------------+ \
+ | .... | Local-QSPEC Parameters
+ +--------------------------------+ /
+ | Local-QSPEC Parameter n | /
+ +--------------------------------+/
+ | +----------------------------+ |
+ | | QSPEC Type, QSPEC Procedure| |
+ | +----------------------------+ |
+ | | Init./Local QSPEC bit=Init.| |
+ | +============================+ |
+ | | | | Encapsulated Initiator QSPEC
+ | | .... | |
+ | +----------------------------+ |
+ +--------------------------------+
+
+ Figure 3: Defining a Local QSPEC
+
+
+
+
+
+
+Ash, et al. Experimental [Page 21]
+
+RFC 5975 QoS NSLP QSPEC Template October 2010
+
+
+ Here the QoS-NSLP only sees and passes one QSPEC up to the RMF.
+ Thus, the type of the QSPEC may change within a local domain. Hence:
+
+ o the QNI signals its QoS requirements with the Initiator QSPEC,
+
+ o the ingress edge QNE in the local domain translates the Initiator
+ QSPEC parameters to equivalent parameters in the local QSPEC,
+
+ o the QNEs in the local domain only interpret the Local QSPEC
+ parameters, and
+
+ o the egress QNE in the local domain processes the Local QSPEC and
+ also interprets the QSPEC parameters in the Initiator QSPEC.
+
+ The Local QSPEC MUST be consistent with the Initiator QSPEC. That
+ is, it MUST NOT specify a lower level of resources than specified by
+ the Initiator QSPEC. For example, in RMD the TMOD parameters
+ contained in the original Initiator QSPEC are mapped to the
+ equivalent TMOD parameter representing only the peak bandwidth in the
+ Local QSPEC.
+
+ Note that it is possible to use both a) hiding a QSPEC through a
+ local domain by initiating a new RESERVE at the domain edge, and b)
+ defining a Local QSPEC and encapsulating the Initiator QSPEC, as
+ defined above. However, it is not expected that both the hiding and
+ encapsulating functions would be used at the same time for the same
+ flow.
+
+ The support of Local QSPECs is illustrated in Figure 4 for a single
+ flow to show where the Initiator and Local QSPECs are used. The QNI
+ initiates an end-to-end, inter-domain QoS NSLP RESERVE message
+ containing the Initiator QSPEC for the Y.1541 QOSM. As illustrated
+ in Figure 4, the RESERVE message crosses multiple domains supporting
+ different QOSMs. In this illustration, the Initiator QSPEC arrives
+ in a QoS NSLP RESERVE message at the ingress node of the local-QOSM
+ domain. At the ingress edge node of the local-QOSM domain, the end-
+ to-end, inter-domain QoS-NSLP message triggers the generation of a
+ Local QSPEC, and the Initiator QSPEC is encapsulated within the
+ messages signaled through the local domain. The local QSPEC is used
+ for QoS processing in the local-QOSM domain, and the Initiator QSPEC
+ is used for QoS processing outside the local domain.
+
+ In this example, the QNI sets <QoS Desired>, <Minimum QoS>, and <QoS
+ Available> objects to include objectives for the <Path Latency>,
+ <Path Jitter>, and <Path PER> parameters. The QNE / local domain
+ sets the cumulative parameters, e.g., <Path Latency>, that can be
+ achieved in the <QoS Available> object (but not less than specified
+ in <Minimum QoS>). If the <QoS Available> fails to satisfy one or
+
+
+
+Ash, et al. Experimental [Page 22]
+
+RFC 5975 QoS NSLP QSPEC Template October 2010
+
+
+ more of the <Minimum QoS> objectives, the QNE / local domain notifies
+ the QNI and the reservation is aborted. If any QNE cannot meet the
+ requirements designated by the Initiator QSPEC to support a QSPEC
+ parameter with the M bit set to zero, the QNE sets the N flag for
+ that parameter to one. Otherwise, the QNR notifies the QNI of the
+ <QoS Available> for the reservation.
+
+ |------| |------| |------| |------|
+ | e2e |<->| e2e |<------------------------->| e2e |<->| e2e |
+ | QOSM | | QOSM | | QOSM | | QOSM |
+ | | |------| |-------| |-------| |------| | |
+ | NSLP | | NSLP |<->| NSLP |<->| NSLP |<->| NSLP | | NSLP |
+ |Y.1541| |local | |local | |local | |local | |Y.1541|
+ | QOSM | | QOSM | | QOSM | | QOSM | | QOSM | | QOSM |
+ |------| |------| |-------| |-------| |------| |------|
+ -----------------------------------------------------------------
+ |------| |------| |-------| |-------| |------| |------|
+ | NTLP |<->| NTLP |<->| NTLP |<->| NTLP |<->| NTLP |<->| NTLP |
+ |------| |------| |-------| |-------| |------| |------|
+ QNI QNE QNE QNE QNE QNR
+ (End) (Ingress Edge) (Interior) (Interior) (Egress Edge) (End)
+
+ Figure 4: Example of Initiator and Local Domain QOSM Operation
+
+4.2. Reservation Success/Failure, QSPEC Error Codes, and INFO-SPEC
+ Notification
+
+ A reservation may not be successful for several reasons:
+
+ - a reservation may fail because the desired resources are not
+ available. This is a reservation failure condition.
+
+ - a reservation may fail because the QSPEC is erroneous or because of
+ a QNE fault. This is an error condition.
+
+ A reservation may be successful even though some parameters could not
+ be interpreted or updated properly:
+
+ - a QSPEC parameter cannot be interpreted because it is an unknown
+ QSPEC parameter type. This is a QSPEC parameter not supported
+ condition. However, the reservation does not fail. The QNI can
+ still decide whether to keep or tear down the reservation depending
+ on the procedures specified by the QNI's QOSM.
+
+ The following sections provide details on the handling of
+ unsuccessful reservations and reservations where some parameters
+ could not be met, as follows:
+
+
+
+
+Ash, et al. Experimental [Page 23]
+
+RFC 5975 QoS NSLP QSPEC Template October 2010
+
+
+ - details on flags used inside the QSPEC to convey information on
+ success or failure of individual parameters. The formats and
+ semantics of all flags are given in Section 5.
+
+ - the content of the INFO-SPEC [RFC5974], which carries a code
+ indicating the outcome of reservations.
+
+ - the generation of a RESPONSE message to the QNI containing both
+ QSPEC and INFO-SPEC objects.
+
+ Note that when there are routers along the path between the QNI and
+ QNR where QoS cannot be provided, then the QoS-NSLP generic flag
+ BREAK (B) is set. The BREAK flag is discussed in Section 3.3.5 of
+ [RFC5974].
+
+4.2.1. Reservation Failure and Error E Flag
+
+ The QSPEC parameters each have a 'reservation failure error E flag'
+ to indicate which (if any) parameters could not be satisfied. When a
+ resource cannot be satisfied for a particular parameter, the QNE
+ detecting the problem raises the E flag in this parameter. Note that
+ the TMOD parameter and all QSPEC parameters with the M flag set MUST
+ be examined by the RMF, and all QSPEC parameters with the M flag not
+ set SHOULD be examined by the RMF, and the E flag set to indicate
+ whether the parameter could or could not be satisfied. Additionally,
+ the E flag in the corresponding QSPEC object MUST be raised when a
+ resource cannot be satisfied for this parameter. If the reservation
+ failure problem cannot be located at the parameter level, only the E
+ flag in the QSPEC object is raised.
+
+ When an RMF cannot interpret the QSPEC because the coding is
+ erroneous, it raises corresponding reservation failure E flags in the
+ QSPEC. Normally, all QSPEC parameters MUST be examined by the RMF,
+ and the erroneous parameters appropriately flagged. In some cases,
+ however, an error condition may occur and the E flag of the error-
+ causing QSPEC parameter is raised (if possible), but the processing
+ of further parameters may be aborted.
+
+ Note that if the QSPEC and/or any QSPEC parameter is found to be
+ erroneous, then any QSPEC parameters not satisfied are ignored and
+ the E Flags in the QSPEC object MUST NOT be set for those parameters
+ (unless they are erroneous).
+
+ Whether E flags denote reservation failure or error can be determined
+ by the corresponding error code in the INFO-SPEC in QoS NSLP, as
+ discussed below.
+
+
+
+
+
+Ash, et al. Experimental [Page 24]
+
+RFC 5975 QoS NSLP QSPEC Template October 2010
+
+
+4.2.2. QSPEC Parameter Not Supported N Flag
+
+ Each QSPEC parameter has an associated 'Not Supported N flag'. If
+ the Not Supported N flag is set, then at least one QNE along the data
+ transmission path between the QNI and QNR cannot interpret the
+ specified QSPEC parameter. A QNE MUST set the Not Supported N flag
+ if it cannot interpret the QSPEC parameter. If the M flag for the
+ parameter is not set, the message should continue to be forwarded but
+ with the N flag set, and the QNI has the option of tearing down the
+ reservation.
+
+ If a QNE in the path does not support a QSPEC parameter, e.g., <Path
+ Latency>, and sets the N flag, then downstream QNEs that support the
+ parameter SHOULD still update the parameter, even if the N flag is
+ set. However, the presence of the N flag will indicate that the
+ cumulative value only provides a bound, and the QNI/QNR decides
+ whether or not to accept the reservation with the N flag set.
+
+4.2.3. INFO-SPEC Coding of Reservation Outcome
+
+ As prescribed by [RFC5974], the RESPONSE message always contains the
+ INFO-SPEC with an appropriate 'error' code. It usually also contains
+ a QSPEC with QSPEC objects, as described in Section 4.3 ("QSPEC
+ Procedures"). The RESPONSE message MAY omit the QSPEC in case of a
+ successful reservation.
+
+ The following guidelines are provided for setting the error codes in
+ the INFO-SPEC, based on the codes provided in Section 5.1.3.6 of
+ [RFC5974]:
+
+ - NSLP error class 2 (Success) / 0x01 (Reservation Success):
+ This code is set when all QSPEC parameters have been satisfied. In
+ this case, no E Flag is set; however, one or more N flags may be
+ set.
+
+ - NSLP error class 4 (Transient Failure) / 0x07 (Reservation
+ Failure):
+ This code is set when at least one QSPEC parameter could not be
+ satisfied, or when a QSPEC parameter with M flag set could not be
+ interpreted. E flags are set for the parameters that could not be
+ satisfied at each QNE up to the QNE issuing the RESPONSE message.
+ The N flag is set for those parameters that could not be
+ interpreted by at least one QNE. In this case, QNEs receiving the
+ RESPONSE message MUST remove the corresponding reservation.
+
+
+
+
+
+
+
+Ash, et al. Experimental [Page 25]
+
+RFC 5975 QoS NSLP QSPEC Template October 2010
+
+
+ - NSLP error class 3 (Protocol Error) / 0x0c (Malformed QSPEC):
+ Some QSPEC parameters had associated errors, E Flags are set for
+ parameters that had errors, and the QNE where the error was found
+ rejects the reservation.
+
+ - NSLP error class 3 (Protocol Error) / 0x0f (Incompatible QSPEC):
+ A higher version QSPEC is signaled and not supported by the QNE.
+
+ - NSLP error class 6 (QoS Model Error):
+ QOSM error codes can be defined by QOSM specification documents. A
+ registry is defined in Section 7, IANA Considerations.
+
+4.2.4. QNE Generation of a RESPONSE Message
+
+ - Successful Reservation Condition
+
+ When a RESERVE message arrives at a QNR and no E Flag is set, the
+ reservation is successful. A RESPONSE message may be generated
+ with INFO-SPEC code 'Reservation Success' as described above and in
+ Section 4.3 ("QSPEC Procedures").
+
+ - Reservation Failure Condition
+
+ When a QNE detects that a reservation failure occurs for at least
+ one parameter, the QNE sets the E Flags for the QSPEC parameters
+ and QSPEC object that failed to be satisfied. According to
+ [RFC5974], the QNE behavior depends on whether it is stateful or
+ not. When a stateful QNE determines the reservation failed, it
+ formulates a RESPONSE message that includes an INFO-SPEC with the
+ 'reservation failure' error code and QSPEC object. The QSPEC in
+ the RESPONSE message includes the failed QSPEC parameters marked
+ with the E Flag to clearly identify them.
+
+ The default action for a stateless QoS NSLP QNE that detects a
+ reservation failure condition is that it MUST continue to forward
+ the RESERVE message to the next stateful QNE, with the E Flags
+ appropriately set for each QSPEC parameter. The next stateful QNE
+ then formulates the RESPONSE message as described above.
+
+ - Malformed QSPEC Error Condition
+
+ When a stateful QNE detects that one or more QSPEC parameters are
+ erroneous, the QNE sets the error code 'malformed QSPEC' in the
+ INFO-SPEC. In this case, the QSPEC object with the E Flags
+ appropriately set for the erroneous parameters is returned within
+ the INFO-SPEC object. The QSPEC object can be truncated or fully
+ included within the INFO-SPEC.
+
+
+
+
+Ash, et al. Experimental [Page 26]
+
+RFC 5975 QoS NSLP QSPEC Template October 2010
+
+
+ According to [RFC5974], the QNE behavior depends on whether it is
+ stateful or not. When a stateful QNE determines a malformed QSPEC
+ error condition, it formulates a RESPONSE message that includes an
+ INFO-SPEC with the 'malformed QSPEC' error code and QSPEC object.
+
+ The QSPEC in the RESPONSE message includes, if possible, only the
+ erroneous QSPEC parameters and no others. The erroneous QSPEC
+ parameter(s) are marked with the E Flag to clearly identify them.
+ If QSPEC parameters are returned in the INFO-SPEC that are not
+ marked with the E flag, then any values of these parameters are
+ irrelevant and MUST be ignored by the QNI.
+
+ The default action for a stateless QoS NSLP QNE that detects a
+ malformed QSPEC error condition is that it MUST continue to forward
+ the RESERVE message to the next stateful QNE, with the E Flags
+ appropriately set for each QSPEC parameter. The next stateful QNE
+ will then act as described in [RFC5974].
+
+ A 'malformed QSPEC' error code takes precedence over the
+ 'reservation failure' error code, and therefore the case of
+ reservation failure and QSPEC/RMF error conditions are disjoint,
+ and the same E Flag can be used in both cases without ambiguity.
+
+4.2.5. Special Case of Local QSPEC
+
+ When an unsuccessful reservation problem occurs inside a local
+ domain where a Local QSPEC is used, only the topmost (local) QSPEC
+ is affected (e.g., E flags are raised, etc.). The encapsulated
+ Initiator QSPEC is untouched. However, when the message (RESPONSE
+ in case of stateful QNEs; RESERVE in case of stateless QNEs)
+ reaches the edge of the local domain, the Local QSPEC is removed.
+ The edge QNE must update the Initiator QSPEC on behalf of the
+ entire domain, reflecting the information received in the Local
+ QSPEC. This update concerns both parameter values and flags. Note
+ that some intelligence is needed in mapping the E flags, etc., from
+ the local QSPEC to the Initiator QSPEC. For example, even if there
+ is no direct match between the parameters in the local and
+ Initiator QSPECs, E flags could still be raised in the latter.
+
+4.3. QSPEC Procedures
+
+ While the QSPEC template aims to put minimal restrictions on usage
+ of QSPEC objects, interoperability between QNEs and between QOSMs
+ must be ensured. We therefore give below an exhaustive list of
+ QSPEC object combinations for the message sequences described in
+ QoS NSLP [RFC5974]. A specific QOSM may prescribe that only a
+ subset of the procedures listed below may be used.
+
+
+
+
+Ash, et al. Experimental [Page 27]
+
+RFC 5975 QoS NSLP QSPEC Template October 2010
+
+
+ Note that QoS NSLP does not mandate the usage of a RESPONSE
+ message. A positive RESPONSE message will only be generated if the
+ QNE includes an RII (Request Identification Information) in the
+ RESERVE message, and a negative RESPONSE message is always
+ generated in case of an error or failure. Some of the QSPEC
+ procedures below, however, are only meaningful when a RESPONSE
+ message is possible. The QNI SHOULD in these cases include an RII.
+
+4.3.1. Two-Way Transactions
+
+ Here, the QNI issues a RESERVE message, which may be replied to by
+ a RESPONSE message. The following 3 cases for QSPEC object usage
+ exist:
+
+ MESSAGE | OBJECT | OBJECTS INCLUDED | OBJECTS INCLUDED
+ SEQUENCE | COMBINATION | IN RESERVE MESSAGE | IN RESPONSE MESSAGE
+ -----------------------------------------------------------------
+ 0 | 0 | QoS Desired | QoS Reserved
+ | | |
+ 0 | 1 | QoS Desired | QoS Reserved
+ | | QoS Available | QoS Available
+ | | |
+ 0 | 2 | QoS Desired | QoS Reserved
+ | | QoS Available | QoS Available
+ | | Minimum QoS |
+
+ Table 1: Message Sequence 0: Two-Way Transactions
+ Defining Object Combinations 0, 1, and 2
+
+ Case 1:
+
+ If only QoS Desired is included in the RESERVE message, the
+ implicit assumption is that exactly these resources must be
+ reserved. If this is not possible, the reservation fails. The
+ parameters in QoS Reserved are copied from the parameters in QoS
+ Desired. If the reservation is successful, the RESPONSE message
+ can be omitted in this case. If a RESPONSE message was requested
+ by a QNE on the path, the QSPEC in the RESPONSE message can be
+ omitted.
+
+ Case 2:
+
+ When QoS Available is included in the RESERVE message also, some
+ parameters will appear only in QoS Available and not in QoS
+ Desired. It is assumed that the value of these parameters is
+ collected for informational purposes only (e.g., path latency).
+
+
+
+
+
+Ash, et al. Experimental [Page 28]
+
+RFC 5975 QoS NSLP QSPEC Template October 2010
+
+
+ However, some parameters in QoS Available can be the same as in QoS
+ Desired. For these parameters, the implicit message is that the
+ QNI would be satisfied by a reservation with lower parameter values
+ than specified in QoS Desired. For these parameters, the QNI seeds
+ the parameter values in QoS Available to those in QoS Desired
+ (except for cumulative parameters such as <Path Latency>).
+
+ Each QNE interprets the parameters in QoS Available according to
+ its current capabilities. Reservations in each QNE are hence based
+ on current parameter values in QoS Available (and additionally
+ those parameters that only appear in QoS Desired). The drawback of
+ this approach is that, if the resulting resource reservation
+ becomes gradually smaller towards the QNR, QNEs close to the QNI
+ have an oversized reservation, possibly resulting in unnecessary
+ costs for the user. Of course, in the RESPONSE the QNI learns what
+ the actual reservation is (from the QoS RESERVED object) and can
+ immediately issue a properly sized refreshing RESERVE. The
+ advantage of the approach is that the reservation is performed in
+ half-a-roundtrip time.
+
+ The QSPEC parameter IDs and values included in the QoS Reserved
+ object in the RESPONSE message MUST be the same as those in the QoS
+ Desired object in the RESERVE message. For those QSPEC parameters
+ that were also included in the QoS Available object in the RESERVE
+ message, their value is copied from the QoS Available object (in
+ RESERVE) into the QoS Reserved object (in RESPONSE). For the other
+ QSPEC parameters, the value is copied from the QoS Desired object
+ (the reservation would fail if the corresponding QoS could not be
+ reserved).
+
+ All parameters in the QoS Available object in the RESPONSE message
+ are copied with their values from the QoS Available object in the
+ RESERVE message (irrespective of whether they have also been copied
+ into the QoS Desired object). Note that the parameters in the QoS
+ Available object can be overwritten in the RESERVE message, whereas
+ they cannot be overwritten in the RESPONSE message.
+
+ In this case, the QNI SHOULD request a RESPONSE message since it
+ will otherwise not learn what QoS is available.
+
+ Case 3:
+
+ This case is handled as case 2, except that the reservation fails
+ when QoS Available becomes less than Minimum QoS for one parameter.
+ If a parameter appears in the QoS Available object but not in the
+ Minimum QoS object, it is assumed that there is no minimum value
+ for this parameter.
+
+
+
+
+Ash, et al. Experimental [Page 29]
+
+RFC 5975 QoS NSLP QSPEC Template October 2010
+
+
+ Regarding Traffic Handling Directives, the default rule is that all
+ QSPEC parameters that have been included in the RESERVE message by
+ the QNI are also included in the RESPONSE message by the QNR with
+ the value they had when arriving at the QNR. When traveling in the
+ RESPONSE message, all Traffic Handling Directives parameters are
+ read-only. Note that a QOSM specification may define its own
+ Traffic Handling Directives parameters and processing rules.
+
+4.3.2. Three-Way Transactions
+
+ Here, the QNR issues a QUERY message that is replied to by the QNI
+ with a RESERVE message if the reservation was successful. The QNR
+ in turn sends a RESPONSE message to the QNI. The following 3 cases
+ for QSPEC object usage exist:
+
+ MSG.|OBJ.|OBJECTS INCLUDED |OBJECTS INCLUDED |OBJECTS INCLUDED
+ SEQ.|COM.|IN QUERY MESSAGE |IN RESERVE MESSAGE |IN RESPONSE MESSAGE
+ -------------------------------------------------------------------
+ 1 |0 |QoS Desired |QoS Desired |QoS Reserved
+ | | | |
+ 1 |1 |QoS Desired |QoS Desired |QoS Reserved
+ | |(Minimum QoS) |QoS Available |QoS Available
+ | | |(Minimum QoS) |
+ | | | |
+ 1 |2 |QoS Desired |QoS Desired |QoS Reserved
+ | |QoS Available |QoS Available |
+
+ Table 2: Message Sequence 1: Three-Way Transactions
+ Defining Object Combinations 0, 1, and 2
+
+ Cases 1 and 2:
+
+ The idea is that the sender (QNR in this scenario) needs to inform
+ the receiver (QNI in this scenario) about the QoS it desires. To
+ this end, the sender sends a QUERY message to the receiver
+ including a QoS Desired QSPEC object. If the QoS is negotiable, it
+ additionally includes a (possibly zero) Minimum QoS object, as in
+ Case 2.
+
+ The RESERVE message includes the QoS Available object if the sender
+ signaled that QoS is negotiable (i.e., it included the Minimum QoS
+ object). If the Minimum QoS object received from the sender is
+ included in the QUERY message, the QNI also includes the Minimum
+ QoS object in the RESERVE message.
+
+
+
+
+
+
+
+Ash, et al. Experimental [Page 30]
+
+RFC 5975 QoS NSLP QSPEC Template October 2010
+
+
+ For a successful reservation, the RESPONSE message in case 1 is
+ optional (as is the QSPEC inside). In case 2, however, the
+ RESPONSE message is necessary in order for the QNI to learn about
+ the QoS available.
+
+ Case 3:
+
+ This is the 'RSVP-style' scenario. The sender (QNR in this
+ scenario) issues a QUERY message with a QoS Desired object
+ informing the receiver (QNI in this scenario) about the QoS it
+ desires, as above. It also includes a QoS Available object to
+ collect path properties. Note that here path properties are
+ collected with the QUERY message, whereas in the previous case, 2
+ path properties were collected in the RESERVE message.
+
+ Some parameters in the QoS Available object may be the same as in
+ the QoS Desired object. For these parameters, the implicit message
+ is that the sender would be satisfied by a reservation with lower
+ parameter values than specified in QoS Desired.
+
+ It is possible for the QoS Available object to contain parameters
+ that do not appear in the QoS Desired object. It is assumed that
+ the value of these parameters is collected for informational
+ purposes only (e.g., path latency). Parameter values in the QoS
+ Available object are seeded according to the sender's capabilities.
+ Each QNE remaps or approximately interprets the parameter values
+ according to its current capabilities.
+
+ The receiver (QNI in this scenario) signals the QoS Desired object
+ as follows: For those parameters that appear in both the QoS
+ Available object and QoS Desired object in the QUERY message, it
+ takes the (possibly remapped) QSPEC parameter values from the QoS
+ Available object. For those parameters that only appear in the QoS
+ Desired object, it adopts the parameter values from the QoS Desired
+ object.
+
+ The parameters in the QoS Available QSPEC object in the RESERVE
+ message are copied with their values from the QoS Available QSPEC
+ object in the QUERY message. Note that the parameters in the QoS
+ Available object can be overwritten in the QUERY message, whereas
+ they cannot be overwritten in the RESERVE message.
+
+ The advantage of this model compared to the sender-initiated
+ reservation is that the situation of over-reservation in QNEs close
+ to the QNI (as described above) does not occur. On the other hand,
+ the QUERY message may find, for example, a particular bandwidth is
+
+
+
+
+
+Ash, et al. Experimental [Page 31]
+
+RFC 5975 QoS NSLP QSPEC Template October 2010
+
+
+ not available. When the actual reservation is performed, however,
+ the desired bandwidth may meanwhile have become free. That is, the
+ 'RSVP style' may result in a smaller reservation than necessary.
+
+ The sender includes all QSPEC parameters it cares about in the
+ QUERY message. Parameters that can be overwritten are updated by
+ QNEs as the QUERY message travels towards the receiver. The
+ receiver includes all QSPEC parameters arriving in the QUERY
+ message also in the RESERVE message, with the value they had when
+ arriving at the receiver. Again, QOSM-specific QSPEC parameters
+ and procedures may be defined in QOSM specification documents.
+
+ Also in this scenario, the QNI SHOULD request a RESPONSE message
+ since it will otherwise not learn what QoS is available.
+
+ Regarding Traffic Handling Directives, the default rule is that all
+ QSPEC parameters that have been included in the RESERVE message by
+ the QNI are also included in the RESPONSE message by the QNR with
+ the value they had when arriving at the QNR. When traveling in the
+ RESPONSE message, all Traffic Handling Directives parameters are
+ read-only. Note that a QOSM specification may define its own
+ Traffic Handling Directives parameters and processing rules.
+
+4.3.3. Resource Queries
+
+ Here, the QNI issues a QUERY message in order to investigate what
+ resources are currently available. The QNR replies with a RESPONSE
+ message.
+
+ MESSAGE | OBJECT | OBJECTS INCLUDED | OBJECTS INCLUDED
+ SEQUENCE | COMBINATION | IN QUERY MESSAGE | IN RESPONSE MESSAGE
+ -----------------------------------------------------------------
+ 2 | 0 | QoS Available | QoS Available
+
+ Table 3: Message Sequence 2: Resource Queries
+ Defining Object Combination 0
+
+ Note that the QoS Available object when traveling in the QUERY
+ message can be overwritten, whereas in the RESPONSE message it
+ cannot be overwritten.
+
+ Regarding Traffic Handling Directives, the default rule is that all
+ QSPEC parameters that have been included in the RESERVE message by
+ the QNI are also included in the RESPONSE message by the QNR with
+ the value they had when arriving at the QNR. When traveling in the
+ RESPONSE message, all Traffic Handling Directives parameters are
+ read-only. Note that a QOSM specification may define its own
+ Traffic Handling Directives parameters and processing rules.
+
+
+
+Ash, et al. Experimental [Page 32]
+
+RFC 5975 QoS NSLP QSPEC Template October 2010
+
+
+4.3.4. Bidirectional Reservations
+
+ On a QSPEC level, bidirectional reservations are no different from
+ unidirectional reservations, since QSPECs for different directions
+ never travel in the same message.
+
+4.3.5. Preemption
+
+ A flow can be preempted by a QNE based on QNE policy, where a
+ decision to preempt a flow may account for various factors such as,
+ for example, the values of the QSPEC preemption priority and
+ defending priority parameters as described in Section 5.2.8. In
+ this case, the reservation state for this flow is torn down in the
+ QNE, and the QNE sends a NOTIFY message to the QNI, as described in
+ [RFC5974]. The NOTIFY message carries an INFO-SPEC with the error
+ code as described in [RFC5974]. A QOSM specification document may
+ specify whether a NOTIFY message also carries a QSPEC object. The
+ QNI would normally tear down the preempted reservation by sending a
+ RESERVE message with the TEAR flag set using the SII of the
+ preempted reservation. However, the QNI can follow other
+ procedures as specified in its QOSM specification document.
+
+4.4. QSPEC Extensibility
+
+ Additional QSPEC parameters MAY need to be defined in the future
+ and are defined in separate informational documents. For example,
+ QSPEC parameters are defined in [RFC5977] and [RFC5976].
+
+ Guidelines on the technical criteria to be followed in evaluating
+ requests for new codepoint assignments for QSPEC objects and QSPEC
+ parameters are given in Section 7, IANA Considerations.
+
+5. QSPEC Functional Specification
+
+ This section defines the encodings of the QSPEC parameters. We
+ first give the general QSPEC formats and then the formats of the
+ QSPEC objects and parameters.
+
+ Network octet order ('big-endian') for all 16- and 32-bit integers,
+ as well as 32-bit floating point numbers, is as specified in
+ [RFC4506], [IEEE754], and [NETWORK-OCTET-ORDER].
+
+5.1. General QSPEC Formats
+
+ The format of the QSPEC closely follows that used in GIST [RFC5971]
+ and QoS NSLP [RFC5974]. Every object (and parameter) has the
+ following general format:
+
+
+
+
+Ash, et al. Experimental [Page 33]
+
+RFC 5975 QoS NSLP QSPEC Template October 2010
+
+
+ o The overall format is Type-Length-Value (in that order).
+
+ o Some parts of the type field are set aside for control flags.
+
+ o Length has the units of 32-bit words, and measures the length of
+ Value. If there is no Value, Length=0. The Object length
+ excludes the header.
+
+ o Value is a whole number of 32-bit words. If there is any padding
+ required, the length and location MUST be defined by the object-
+ specific format information; objects that contain variable-length
+ types may need to include additional length subfields to do so.
+
+ o Any part of the object used for padding or defined as reserved
+ ("r") MUST be set to 0 on transmission and MUST be ignored on
+ reception.
+
+ o Empty QSPECs and empty QSPEC Objects MUST NOT be used.
+
+ o Duplicate objects, duplicate parameters, and/or multiple
+ occurrences of a parameter MUST NOT be used.
+
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Common QSPEC Header |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ // QSPEC Objects //
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+5.1.1. Common Header Format
+
+ The Common QSPEC Header is a fixed 4-octet object containing the
+ QSPEC Version, QSPEC Type, an identifier for the QSPEC Procedure (see
+ Section 4.3), and an Initiator/Local QSPEC bit:
+
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Vers.|I|QSPECType|r|r| QSPEC Proc. | Length |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Vers.: Identifies the QSPEC version number. QSPEC Version 0 is
+ assigned by this specification in Section 7 (IANA
+ Considerations).
+
+
+
+
+
+
+Ash, et al. Experimental [Page 34]
+
+RFC 5975 QoS NSLP QSPEC Template October 2010
+
+
+ QSPEC Type: Identifies the particular type of QSPEC, e.g., a QSPEC
+ Type corresponding to a particular QOSM. QSPEC Type 0
+ (default) is assigned by this specification in Section 7
+ (IANA Considerations).
+
+ QSPEC Proc.: Identifies the QSPEC procedure and is composed of two
+ times 4 bits. The first field identifies the Message
+ Sequence; the second field identifies the QSPEC Object
+ Combination used for this particular message sequence:
+
+ 0 1 2 3 4 5 6 7
+ +-+-+-+-+-+-+-+-+
+ |Mes.Sq |Obj.Cmb|
+ +-+-+-+-+-+-+-+-+
+
+ The Message Sequence field can attain the following
+ values:
+
+ 0: Sender-Initiated Reservations
+ 1: Receiver-Initiated Reservations
+ 2: Resource Queries
+
+ The Object Combination field can take the values between
+ 1 and 3 indicated in the tables in Section 4.3:
+
+ Message Sequence: 0
+ Object Combination: 0, 1, 2
+ Semantic: see Table 1 in Section 4.3.1
+
+ Message Sequence: 1
+ Object Combination: 0, 1, 2
+ Semantic: see Table 2 in Section 4.3.2
+
+ Message Sequence: 2
+ Object Combination: 0
+ Semantic: see Table 3 in Section 4.3.3
+
+ I: Initiator/Local QSPEC bit identifies whether the QSPEC is an
+ initiator QSPEC or a Local QSPEC, and is set to the following
+ values:
+
+ 0: Initiator QSPEC
+ 1: Local QSPEC
+
+ Length: The total length of the QSPEC (in 32-bit words) excluding the
+ common header
+
+
+
+
+
+Ash, et al. Experimental [Page 35]
+
+RFC 5975 QoS NSLP QSPEC Template October 2010
+
+
+ The QSPEC Objects field is a collection of QSPEC objects (QoS
+ Desired, QoS Available, etc.), which share a common format and each
+ contain several parameters.
+
+5.1.2. QSPEC Object Header Format
+
+ QSPEC objects share a common header format:
+
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |E|r|r|r| Object Type |r|r|r|r| Length |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ E Flag: Set if an error occurs on object level
+
+ Object Type = 0: QoS Desired (parameters cannot be overwritten)
+ = 1: QoS Available (parameters may be overwritten; see
+ Section 3.2)
+ = 2: QoS Reserved (parameters cannot be overwritten)
+ = 3: Minimum QoS (parameters cannot be overwritten)
+
+ The r bits are reserved.
+
+ Each QSPEC or QSPEC parameter within an object is encoded in the same
+ way in TLV format using a similar parameter header:
+
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |M|E|N|r| Parameter ID |r|r|r|r| Length |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ M Flag: When set, indicates the subsequent parameter MUST be
+ interpreted. Otherwise, the parameter can be ignored if not
+ understood.
+
+ E Flag: When set, indicates either a) a reservation failure where the
+ QSPEC parameter is not met, or b) an error occurred when this
+ parameter was being interpreted (see Section 4.2.1).
+
+ N Flag: Not Supported QSPEC parameter flag (see Section 4.2.2).
+
+ Parameter ID: Assigned consecutively to each QSPEC parameter.
+ Parameter IDs are assigned to each QSPEC parameter
+ defined in this document in Sections 5.2 and 7 (IANA
+ Considerations).
+
+
+
+
+Ash, et al. Experimental [Page 36]
+
+RFC 5975 QoS NSLP QSPEC Template October 2010
+
+
+ Parameters are usually coded individually, for example, the <Excess
+ Treatment> parameter (Section 5.2.11). However, it is also possible
+ to combine several sub-parameters into one parameter field, which is
+ called 'container coding'. This coding is useful if either a) the
+ sub-parameters always occur together (as for example the 5 sub-
+ parameters that jointly make up the TMOD), or b) in order to make
+ coding more efficient when the length of each sub-parameter value is
+ much less than a 32-bit word (as for example described in [RFC5977])
+ and to avoid header overload. When a container is defined, the
+ Parameter ID and the M, E, and N flags refer to the container.
+ Examples of container parameters are <TMOD> (specified below) and the
+ PHR (Per Hop Reservation) container parameter specified in [RFC5977].
+
+5.2. QSPEC Parameter Coding
+
+ The references in the following sections point to the normative
+ procedures for processing the QSPEC parameters and sub-parameters.
+
+5.2.1. <TMOD-1> Parameter
+
+ The <TMOD-1> parameter consists of the <r>, <b>, <p>, <m>, and <MPS>
+ sub-parameters [RFC2212], which all must be populated in the <TMOD-1>
+ parameter. Note that a second TMOD QSPEC parameter <TMOD-2> is
+ specified below in Section 5.2.2.
+
+ The coding for the <TMOD-1> parameter is as follows:
+
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |1|E|0|r| 1 |r|r|r|r| 5 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | TMOD Rate-1 (r) (32-bit IEEE floating point number) |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | TMOD Size-1 (b) (32-bit IEEE floating point number) |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Peak Data Rate-1 (p) (32-bit IEEE floating point number) |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Minimum Policed Unit-1 (m) (32-bit unsigned integer) |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Maximum Packet Size-1 (MPS) (32-bit unsigned integer) |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ The <TMOD-1> parameters are represented by three floating point
+ numbers in single-precision IEEE floating point format [IEEE754]
+ followed by two 32-bit integers in network octet order. The first
+ floating point value is the rate (r), the second floating point value
+ is the bucket size (b), the third floating point is the peak rate
+
+
+
+Ash, et al. Experimental [Page 37]
+
+RFC 5975 QoS NSLP QSPEC Template October 2010
+
+
+ (p), the first unsigned integer is the minimum policed unit (m), and
+ the second unsigned integer is the maximum packet size (MPS). The
+ values of r and p are measured in octets per second; b, m, and MPS
+ are measured in octets. When r, b, and p terms are represented as
+ IEEE floating point values, the sign bit MUST be zero (all values
+ MUST be non-negative). Exponents less than 127 (i.e., 0) are
+ prohibited. Exponents greater than 162 (i.e., positive 35) are
+ discouraged, except for specifying a peak rate of infinity. Infinity
+ is represented with an exponent of all ones (255), and a sign bit and
+ mantissa of all zeroes.
+
+5.2.2. <TMOD-2> Parameter
+
+ A second QSPEC <TMOD-2> parameter is specified as could be needed,
+ for example, to support some Diffserv applications.
+
+ The coding for the <TMOD-2> parameter is as follows:
+
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |M|E|N|r| 2 |r|r|r|r| 5 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | TMOD Rate-2 (r) (32-bit IEEE floating point number) |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | TMOD Size-2 (b) (32-bit IEEE floating point number) |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Peak Data Rate-2 (p) (32-bit IEEE floating point number) |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Minimum Policed Unit-2 (m) (32-bit unsigned integer) |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Maximum Packet Size-2 (MPS) (32-bit unsigned integer) |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ The <TMOD-2> parameters are represented by three floating point
+ numbers in single-precision IEEE floating point format [IEEE754]
+ followed by two 32-bit integers in network octet order. The first
+ floating point value is the rate (r), the second floating point value
+ is the bucket size (b), the third floating point is the peak rate
+ (p), the first unsigned integer is the minimum policed unit (m), and
+ the second unsigned integer is the maximum packet size (MPS). The
+ values of r and p are measured in octets per second; b, m, and MPS
+ are measured in octets. When r, b, and p terms are represented as
+ IEEE floating point values, the sign bit MUST be zero (all values
+ MUST be non-negative). Exponents less than 127 (i.e., 0) are
+ prohibited. Exponents greater than 162 (i.e., positive 35) are
+
+
+
+
+
+Ash, et al. Experimental [Page 38]
+
+RFC 5975 QoS NSLP QSPEC Template October 2010
+
+
+ discouraged, except for specifying a peak rate of infinity. Infinity
+ is represented with an exponent of all ones (255), and a sign bit and
+ mantissa of all zeroes.
+
+5.2.3. <Path Latency> Parameter
+
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |M|E|N|r| 3 |r|r|r|r| 1 |
+ +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
+ | Path Latency (32-bit unsigned integer) |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ The Path Latency [RFC2215] is a single 32-bit unsigned integer in
+ network octet order. The intention of the Path Latency parameter is
+ the same as the Minimal Path Latency parameter defined in Section 3.4
+ of [RFC2215]. The purpose of this parameter is to provide a baseline
+ minimum path latency for use with services that provide estimates or
+ bounds on additional path delay, such as in [RFC2212]. Together with
+ the queuing delay bound offered by [RFC2212] and similar services,
+ this parameter gives the application knowledge of both the minimum
+ and maximum packet delivery delay.
+
+ The composition rule for the <Path Latency> parameter is summation
+ with a clamp of (2^32) - 1 on the maximum value. The latencies are
+ average values reported in units of one microsecond. A system with
+ resolution less than one microsecond MUST set unused digits to zero.
+ An individual QNE can add a latency value between 1 and 2^28
+ (somewhat over two minutes), and the total latency added across all
+ QNEs can range as high as (2^32)-2. If the sum of the different
+ elements delays exceeds (2^32)-2, the end-to-end cumulative delay
+ SHOULD be reported as indeterminate = (2^32)-1. A QNE that cannot
+ accurately predict the latency of packets it is processing MUST raise
+ the Not Supported N flag and either leave the value of Path Latency
+ as is, or add its best estimate of its lower bound. A raised not-
+ supported flag indicates the value of Path Latency is a lower bound
+ of the real Path Latency. The distinguished value (2^32)-1 is taken
+ to mean indeterminate latency because the composition function limits
+ the composed sum to this value; it indicates the range of the
+ composition calculation was exceeded.
+
+
+
+
+
+
+
+
+
+
+Ash, et al. Experimental [Page 39]
+
+RFC 5975 QoS NSLP QSPEC Template October 2010
+
+
+5.2.4. <Path Jitter> Parameter
+
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |M|E|N|r| 4 |r|r|r|r| 4 |
+ +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
+ | Path Jitter STAT1(variance) (32-bit unsigned integer) |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Path Jitter STAT2(99.9%-ile) (32-bit unsigned integer) |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Path Jitter STAT3(minimum Latency) (32-bit unsigned integer) |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Path Jitter STAT4(Reserved) (32-bit unsigned integer) |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ The Path Jitter is a set of four 32-bit unsigned integers in network
+ octet order [RFC3393, Y.1540, Y.1541]. As noted in Section 3.3.2,
+ the Path Jitter parameter is called "IP Delay Variation" in
+ [RFC3393]. The Path Jitter parameter is the combination of four
+ statistics describing the Jitter distribution with a clamp of (2^32)
+ - 1 on the maximum of each value. The jitter STATs are reported in
+ units of one microsecond. A system with resolution less than one
+ microsecond MUST set unused digits to zero. An individual QNE can
+ add jitter values between 1 and 2^28 (somewhat over two minutes), and
+ the total jitter computed across all QNEs can range as high as
+ (2^32)-2. If the combination of the different element values exceeds
+ (2^32)-2, the end-to-end cumulative jitter SHOULD be reported as
+ indeterminate. A QNE that cannot accurately predict the jitter of
+ packets it is processing MUST raise the not-supported flag and either
+ leave the value of Path Jitter as is, or add its best estimate of its
+ STAT values. A raised not-supported flag indicates the value of Path
+ Jitter is a lower bound of the real Path Jitter. The distinguished
+ value (2^32)-1 is taken to mean indeterminate jitter. A QNE that
+ cannot accurately predict the jitter of packets it is processing
+ SHOULD set its local Path Jitter parameter to this value. Because
+ the composition function limits the total to this value, receipt of
+ this value at a network element or application indicates that the
+ true Path Jitter is not known. This MAY happen because one or more
+ network elements could not supply a value or because the range of the
+ composition calculation was exceeded.
+
+ NOTE: The Jitter composition function makes use of the <Path Latency>
+ parameter. Composition functions for loss, latency, and jitter may
+ be found in [Y.1541]. Development continues on methods to combine
+ jitter values to estimate the value of the complete path, and
+ additional statistics may be needed to support new methods (the
+ methods are standardized in [RFC5481] and [COMPOSITION]).
+
+
+
+Ash, et al. Experimental [Page 40]
+
+RFC 5975 QoS NSLP QSPEC Template October 2010
+
+
+5.2.5. <Path PLR> Parameter
+
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |M|E|N|r| 5 |r|r|r|r| 1 |
+ +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
+ | Path Packet Loss Ratio (32-bit floating point) |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ The Path PLR is a single 32-bit single precision IEEE floating point
+ number in network octet order [Y.1541]. As defined in [Y.1540], Path
+ PLR is the ratio of total lost IP packets to total transmitted IP
+ packets. An evaluation interval of 1 minute is suggested in
+ [Y.1541], in which the number of losses observed is directly related
+ to the confidence in the result. The composition rule for the <Path
+ PLR> parameter is summation with a clamp of 10^-1 on the maximum
+ value. The PLRs are reported in units of 10^-11. A system with
+ resolution less than 10^-11 MUST set unused digits to zero. An
+ individual QNE adds its local PLR value (up to a maximum of 10^-2) to
+ the total Path PLR value (up to a maximum of 10^-1) , where the
+ acceptability of the total Path PLR value added across all QNEs is
+ determined based on the QOSM being used. The maximum limit of 10^-2
+ on a QNE's local PLR value and the maximum limit (clamp value) of
+ 10^-1 on the accumulated end-to-end Path PLR value are used to
+ preserve the accuracy of the simple additive accumulation function
+ specified and to avoid more complex accumulation functions.
+ Furthermore, if these maximums are exceeded, then the path would
+ likely not meet the QoS objectives. If the sum of the different
+ elements' values exceeds 10^-1, the end-to-end cumulative PLR SHOULD
+ be reported as indeterminate. A QNE that cannot accurately predict
+ the PLR of packets it is processing MUST raise the not-supported flag
+ and either leave the value of Path PLR as is, or add its best
+ estimate of its lower bound. A raised not-supported flag indicates
+ the value of Path PLR is a lower bound of the real Path PLR. The
+ distinguished value 10^-1 is taken to mean indeterminate PLR. A QNE
+ that cannot accurately predict the PLR of packets it is processing
+ SHOULD set its local path PLR parameter to this value. Because the
+ composition function limits the composed sum to this value, receipt
+ of this value at a network element or application indicates that the
+ true path PLR is not known. This MAY happen because one or more
+ network elements could not supply a value or because the range of the
+ composition calculation was exceeded.
+
+
+
+
+
+
+
+
+Ash, et al. Experimental [Page 41]
+
+RFC 5975 QoS NSLP QSPEC Template October 2010
+
+
+5.2.6. <Path PER> Parameter
+
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |M|E|N|r| 6 |r|r|r|r| 1 |
+ +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
+ | Path Packet Error Ratio (32-bit floating point) |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ The Path PER is a single 32-bit single precision IEEE floating point
+ number in network octet order [Y.1541]. As defined in [Y.1540], Path
+ PER is the ratio of total errored IP packets to the total of
+ successful IP Packets plus errored IP packets, in which the number of
+ errored packets observed is directly related to the confidence in the
+ result. The composition rule for the <Path PER> parameter is
+ summation with a clamp of 10^-1 on the maximum value. The PERs are
+ reported in units of 10^-11. A system with resolution less than
+ 10^-11 MUST set unused digits to zero. An individual QNE adds its
+ local PER value (up to a maximum of 10^-2) to the total Path PER
+ value (up to a maximum of 10^-1) , where the acceptability of the
+ total Path PER value added across all QNEs is determined based on the
+ QOSM being used. The maximum limit of 10^-2 on a QNE's local PER
+ value and the maximum limit (clamp value) of 10^-1 on the accumulated
+ end-to-end Path PER value are used to preserve the accuracy of the
+ simple additive accumulation function specified and to avoid more
+ complex accumulation functions. Furthermore, if these maximums are
+ exceeded, then the path would likely not meet the QoS objectives. If
+ the sum of the different elements' values exceeds 10^-1, the end-to-
+ end cumulative PER SHOULD be reported as indeterminate. A QNE that
+ cannot accurately predict the PER of packets it is processing MUST
+ raise the Not Supported N flag and either leave the value of Path PER
+ as is, or add its best estimate of its lower bound. A raised Not
+ Supported N flag indicates the value of Path PER is a lower bound of
+ the real Path PER. The distinguished value 10^-1 is taken to mean
+ indeterminate PER. A QNE that cannot accurately predict the PER of
+ packets it is processing SHOULD set its local path PER parameter to
+ this value. Because the composition function limits the composed sum
+ to this value, receipt of this value at a network element or
+ application indicates that the true path PER is not known. This MAY
+ happen because one or more network elements could not supply a value
+ or because the range of the composition calculation was exceeded.
+
+
+
+
+
+
+
+
+
+Ash, et al. Experimental [Page 42]
+
+RFC 5975 QoS NSLP QSPEC Template October 2010
+
+
+5.2.7. <Slack Term> Parameter
+
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |M|E|N|r| 7 |r|r|r|r| 1 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Slack Term (S) (32-bit unsigned integer) |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Slack term S MUST be nonnegative and is measured in microseconds
+ [RFC2212]. The Slack term, S, is represented as a 32-bit unsigned
+ integer. Its value can range from 0 to (2^32)-1 microseconds.
+
+5.2.8. <Preemption Priority> and <Defending Priority> Parameters
+
+ The coding for the <Preemption Priority> and <Defending Priority>
+ sub-parameters is as follows [RFC3181]:
+
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |M|E|N|r| 8 |r|r|r|r| 1 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Preemption Priority | Defending Priority |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Preemption Priority: The priority of the new flow compared with the
+ defending priority of previously admitted flows. Higher values
+ represent higher priority.
+
+ Defending Priority: Once a flow is admitted, the preemption priority
+ becomes irrelevant. Instead, its defending priority is used to
+ compare with the preemption priority of new flows.
+
+ As specified in [RFC3181], <Preemption Priority> and <Defending
+ Priority> are 16-bit integer values, and both MUST be populated if
+ the parameter is used.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Ash, et al. Experimental [Page 43]
+
+RFC 5975 QoS NSLP QSPEC Template October 2010
+
+
+5.2.9. <Admission Priority> Parameter
+
+ The coding for the <Admission Priority> parameter is as follows:
+
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |M|E|N|r| 9 |r|r|r|r| 1 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |Y.2171 Adm Pri.|Admis. Priority| (Reserved) |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Two fields are provided for the <Admission Priority> parameter and
+ are populated according to the following rules.
+
+ <Y.2171 Admission Priority> values are globally significant on an
+ end-to-end basis. High priority flows, normal priority flows, and
+ best-effort priority flows can have access to resources depending on
+ their admission priority value, as described in [Y.2171], as follows:
+
+ <Y.2171 Admission Priority>:
+
+ 0 - best-effort priority flow
+ 1 - normal priority flow
+ 2 - high priority flow
+
+ If the QNI signals <Y.2171 Admission Priority>, it populates both the
+ <Y.2171 Admission Priority> and <Admission Priority> fields with the
+ same value. Downstream QNEs MUST NOT change the value in the <Y.2171
+ Admission Priority> field so that end-to-end consistency is
+ maintained and MUST treat the flow priority according to the value
+ populated. A QNE in a local domain MAY reset a different value of
+ <Admission Priority> in a Local QSPEC, but (as specified in Section
+ 4.1) the Local QSPEC MUST be consistent with the Initiator QSPEC.
+ That is, the local domain MUST specify an <Admission Priority> in the
+ Local QSPEC that is functionally equivalent to the <Y.2171 Admission
+ Priority> specified by the QNI in the Initiator QSPEC.
+
+ If the QNI signals admission priority according to [EMERGENCY-RSVP],
+ it populates a locally significant value in the <Admission Priority>
+ field and places all ones in the <Y.2171 Admission Priority> field.
+ In this case, the functional significance of the <Admission Priority>
+ value is specified by the local network administrator. Higher values
+ indicate higher priority. Downstream QNEs and RSVP nodes MAY reset
+ the <Admission Priority> value according to the local rules specified
+ by the local network administrator, but MUST NOT reset the value of
+ the <Y.2171 Admission Priority> field.
+
+
+
+
+Ash, et al. Experimental [Page 44]
+
+RFC 5975 QoS NSLP QSPEC Template October 2010
+
+
+ A reservation without an <Y.2171 Admission Priority> parameter MUST
+ be treated as a reservation with an <Y.2171 Admission Priority> = 1.
+
+5.2.10. <RPH Priority> Parameter
+
+ The coding for the <RPH Priority> parameter is as follows:
+
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |M|E|N|r| 10 |r|r|r|r| 1 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | RPH Namespace | RPH Priority | (Reserved) |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ [RFC4412] defines a resource priority header (RPH) with parameters
+ "RPH Namespace" and "RPH Priority", and if populated is applicable
+ only to flows with high admission priority. A registry is created in
+ [RFC4412] and extended in [EMERG-RSVP] for IANA to assign the RPH
+ priority parameter. In the extended registry, "Namespace Numerical
+ Values" are assigned by IANA to RPH Namespaces and "Priority
+ Numerical Values" are assigned to the RPH Priority.
+
+ Note that the <Admission Priority> parameter MAY be used in
+ combination with the <RPH Priority> parameter, which depends on the
+ supported QOSM. Furthermore, if more than one RPH namespace is
+ supported by a QOSM, then the QOSM MUST specify how the mapping
+ between the priorities belonging to the different RPH namespaces are
+ mapped to each other.
+
+ Note also that additional work is needed to communicate these flow
+ priority values to bearer-level network elements
+ [VERTICAL-INTERFACE].
+
+ For the 4 priority parameters, the following cases are permissible
+ (procedures specified in references):
+
+ 1 parameter: <Admission Priority> [Y.2171]
+ 2 parameters: <Admission Priority>, <RPH Priority> [RFC4412]
+ 2 parameters: <Preemption Priority>, <Defending Priority> [RFC3181]
+ 3 parameters: <Preemption Priority>, <Defending Priority>,
+ <Admission Priority> [3GPP-1, 3GPP-2, 3GPP-3]
+ 4 parameters: <Preemption Priority>, <Defending Priority>,
+ <Admission Priority>, <RPH Priority> [3GPP-1, 3GPP-2,
+ 3GPP-3]
+
+
+
+
+
+
+Ash, et al. Experimental [Page 45]
+
+RFC 5975 QoS NSLP QSPEC Template October 2010
+
+
+ It is permissible to have <Admission Priority> without <RPH
+ Priority>, but not permissible to have <RPH Priority> without
+ <Admission Priority>. (Alternatively, <RPH Priority> is ignored in
+ instances without <Admission Priority>.)
+
+ Functionality similar to enhanced Multi-Level Precedence and
+ Preemption service (eMLPP; as defined in [3GPP-1, 3GPP-2]) specifies
+ use of <Admission Priority> corresponding to the 'queuing allowed'
+ part of eMLPP, as well as <Preemption/Defending Priority>
+ corresponding to the 'preemption capable' and 'may be preempted'
+ parts of eMLPP.
+
+5.2.11. <Excess Treatment> Parameter
+
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |M|E|N|r| 11 |r|r|r|r| 1 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Excess Trtmnt |Re-mark Val| Reserved |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Excess Treatment: Indicates how the QNE SHOULD process out-of-profile
+ traffic, that is, traffic not covered by the <TMOD> parameter.
+ The Excess Treatment Parameter is set by the QNI. Allowed values
+ are as follows:
+
+ 0: drop
+ 1: shape
+ 2: re-mark
+ 3: no metering or policing is permitted
+
+ If no Excess Treatment Parameter is specified, the default is that
+ there are no guarantees to excess traffic, i.e., a QNE can do
+ whatever it finds suitable.
+
+ When excess treatment is set to 'drop', all marked traffic MUST be
+ dropped by the QNE/RMF.
+
+ When excess treatment is set to 'shape', it is expected that the
+ QoS Desired object carries a TMOD parameter, and excess traffic is
+ shaped to this TMOD. The bucket size in the TMOD parameter for
+ excess traffic specifies the queuing behavior, and when the
+ shaping causes unbounded queue growth at the shaper, any traffic
+ in excess of the TMOD for excess traffic SHOULD be dropped. If
+ excess treatment is set to 'shape' and no TMOD parameter is given,
+ the E flag is set for the parameter and the reservation fails. If
+
+
+
+
+Ash, et al. Experimental [Page 46]
+
+RFC 5975 QoS NSLP QSPEC Template October 2010
+
+
+ excess treatment is set to 'shape' and two TMOD parameters are
+ specified, then the QOSM specification dictates how excess traffic
+ should be shaped in that case.
+
+ When excess treatment is set to 're-mark', the Excess Treatment
+ Parameter MUST carry the re-mark value, and the re-mark values and
+ procedures MUST be specified in the QOSM specification document.
+ For example, packets may be re-marked to pertain to a particular
+ QoS class (Diffserv Code Point (DSCP) value). In the latter case,
+ re-marking relates to a Diffserv model where packets arrive marked
+ as belonging to a certain QoS class / DSCP, and when they are
+ identified as excess, they should then be re-marked to a different
+ QoS Class (DSCP value) indicated in the 'Re-mark Value', as
+ follows:
+
+ Re-mark Value (6 bits): indicates DSCP value [RFC2474] to re-mark
+ packets to when identified as excess
+
+ If 'no metering or policing is permitted' is signaled, the QNE should
+ accept the Excess Treatment Parameter set by the sender with special
+ care so that excess traffic should not cause a problem. To request
+ the Null Meter [RFC3290] is especially strong, and should be used
+ with caution.
+
+ A NULL metering application [RFC2997] would not include the traffic
+ profile, and conceptually it should be possible to support this with
+ the QSPEC. A QSPEC without a traffic profile is not excluded by the
+ current specification. However, note that the traffic profile is
+ important even in those cases when the excess treatment is not
+ specified, e.g., in negotiating bandwidth for the best-effort
+ aggregate. However, a "NULL Service QOSM" would need to be specified
+ where the desired QNE Behavior and the corresponding QSPEC format are
+ described.
+
+ As an example behavior for a NULL metering, in the properly
+ configured Diffserv router, the resources are shared between the
+ aggregates by the scheduling disciplines. Thus, if the incoming rate
+ increases, it will influence the state of a queue within that
+ aggregate, while all the other aggregates will be provided sufficient
+ bandwidth resources. NULL metering is useful for best-effort and
+ signaling data, where there is no need to meter and police this data
+ as it will be policed implicitly by the allocated bandwidth and,
+ possibly, active queue management mechanism.
+
+
+
+
+
+
+
+
+Ash, et al. Experimental [Page 47]
+
+RFC 5975 QoS NSLP QSPEC Template October 2010
+
+
+5.2.12. <PHB Class> Parameter
+
+ The coding for the <PHB Class> parameter is as follows [RFC3140]:
+
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |M|E|N|r| 12 |r|r|r|r| 1 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | PHB Field | (Reserved) |
+ +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
+
+ The above encoding is consistent with [RFC3140], and the following
+ four figures show four possible formats based on the value of the PHB
+ Field.
+
+ Single PHB:
+
+ 0 1
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | DSCP |0 0 0 0 0 0 0 0 0 0|
+ +---+---+---+---+---+---+---+---+
+
+ Set of PHBs:
+
+ 0 1
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | DSCP |0 0 0 0 0 0 0 0 1 0|
+ +---+---+---+---+---+---+---+---+
+
+ PHBs not defined by standards action, i.e., experimental or local use
+ PHBs as allowed by [RFC2474]. In this case, an arbitrary 12-bit PHB
+ identification code, assigned by the IANA, is placed left-justified
+ in the 16-bit field. Bit 15 is set to 1, and bit 14 is zero for a
+ single PHB or 1 for a set of PHBs. Bits 12 and 13 are zero.
+
+ Single non-standard PHB (experimental or local):
+
+ 0 1
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | PHB ID CODE |0 0 0 1|
+ +---+---+---+---+---+---+---+---+
+
+
+
+
+
+
+Ash, et al. Experimental [Page 48]
+
+RFC 5975 QoS NSLP QSPEC Template October 2010
+
+
+ Set of non-standard PHBs (experimental or local):
+
+ 0 1
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | PHB ID CODE |0 0 1 1|
+ +---+---+---+---+---+---+---+---+
+
+ Bits 12 and 13 are reserved either for expansion of the PHB
+ identification code, or for other use, at some point in the future.
+
+ In both cases, when a single PHBID is used to identify a set of PHBs
+ (i.e., bit 14 is set to 1), that set of PHBs MUST constitute a PHB
+ Scheduling Class (i.e., use of PHBs from the set MUST NOT cause
+ intra-microflow traffic reordering when different PHBs from the set
+ are applied to traffic in the same microflow). The set of AF1x PHBs
+ [RFC2597] is an example of a PHB Scheduling Class. Sets of PHBs that
+ do not constitute a PHB Scheduling Class can be identified by using
+ more than one PHBID.
+
+ The registries needed to use RFC 3140 already exist; see
+ [DSCP-REGISTRY] and [PHBID-CODES-REGISTRY]. Hence, no new registry
+ needs to be created for this purpose.
+
+5.2.13. <DSTE Class Type> Parameter
+
+ A description of the semantic of the parameter values can be found in
+ [RFC4124]. The coding for the <DSTE Class Type> parameter is as
+ follows:
+
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |M|E|N|r| 13 |r|r|r|r| 1 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |DSTE Cls. Type | (Reserved) |
+ +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
+
+ DSTE Class Type: Indicates the DSTE class type. Values currently
+ allowed are 0, 1, 2, 3, 4, 5, 6, and 7.
+
+
+
+
+
+
+
+
+
+
+
+Ash, et al. Experimental [Page 49]
+
+RFC 5975 QoS NSLP QSPEC Template October 2010
+
+
+5.2.14. <Y.1541 QoS Class> Parameter
+
+ The coding for the <Y.1541 QoS Class> parameter [Y.1541] is as
+ follows:
+
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |M|E|N|r| 14 |r|r|r|r| 1 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |Y.1541 QoS Cls.| (Reserved) |
+ +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
+
+ Y.1541 QoS Class: Indicates the Y.1541 QoS Class. Values currently
+ allowed are 0, 1, 2, 3, 4, 5, 6, and 7.
+
+ Class 0:
+ Real-time, highly interactive applications, sensitive to jitter.
+ Mean delay <= 100 ms, delay variation <= 50 ms, and loss ratio <=
+ 10^-3. Application examples include VoIP and video
+ teleconference.
+
+ Class 1:
+ Real-time, interactive applications, sensitive to jitter. Mean
+ delay <= 400 ms, delay variation <= 50 ms, and loss ratio <=
+ 10^-3. Application examples include VoIP and video
+ teleconference.
+
+ Class 2:
+ Highly interactive transaction data. Mean delay <= 100 ms, delay
+ variation is unspecified, loss ratio <= 10^-3. Application
+ examples include signaling.
+
+ Class 3:
+ Interactive transaction data. Mean delay <= 400 ms, delay
+ variation is unspecified, loss ratio <= 10^-3. Application
+ examples include signaling.
+
+ Class 4:
+ Low Loss Only applications. Mean delay <= 1 s, delay variation is
+ unspecified, loss ratio <= 10^-3. Application examples include
+ short transactions, bulk data, and video streaming.
+
+ Class 5:
+ Unspecified applications with unspecified mean delay, delay
+ variation, and loss ratio. Application examples include
+ traditional applications of default IP networks.
+
+
+
+
+Ash, et al. Experimental [Page 50]
+
+RFC 5975 QoS NSLP QSPEC Template October 2010
+
+
+ Class 6:
+ Applications that are highly sensitive to loss. Mean delay <= 100
+ ms, delay variation <= 50 ms, and loss ratio <= 10^-5.
+ Application examples include television transport, high-capacity
+ TCP transfers, and Time-Division Multiplexing (TDM) circuit
+ emulation.
+
+ Class 7:
+ Applications that are highly sensitive to loss. Mean delay <= 400
+ ms, delay variation <= 50 ms, and loss ratio <= 10^-5.
+ Application examples include television transport, high-capacity
+ TCP transfers, and TDM circuit emulation.
+
+6. Security Considerations
+
+ QSPEC security is directly tied to QoS NSLP security, and the QoS
+ NSLP document [RFC5974] has a very detailed security discussion in
+ Section 7. All the considerations detailed in Section 7 of [RFC5974]
+ apply to QSPEC.
+
+ The priority parameter raises possibilities for theft-of-service
+ attacks because users could claim an emergency priority for their
+ flows without real need, thereby effectively preventing serious
+ emergency calls to get through. Several options exist for countering
+ such attacks, for example:
+
+ - only some user groups (e.g., the police) are authorized to set the
+ emergency priority bit
+
+ - any user is authorized to employ the emergency priority bit for
+ particular destination addresses (e.g., police)
+
+7. IANA Considerations
+
+ This section defines the registries and initial codepoint assignments
+ for the QSPEC template, in accordance with BCP 26, RFC 5226
+ [RFC5226]. It also defines the procedural requirements to be
+ followed by IANA in allocating new codepoints.
+
+ This specification creates the following registries with the
+ structures as defined below:
+
+ Object Types (12 bits):
+ The following values are allocated as specified in Section 5:
+ 0: QoS Desired
+ 1: QoS Available
+ 2: QoS Reserved
+ 3: Minimum QoS
+
+
+
+Ash, et al. Experimental [Page 51]
+
+RFC 5975 QoS NSLP QSPEC Template October 2010
+
+
+ Further values are as follows:
+ 4-63: Unassigned
+ 64-67: Private/Experimental Use
+ 68-4095: Reserved
+ (Note: 'Reserved' just means 'do not give these out'.)
+ The registration procedure is Specification Required.
+
+ QSPEC Version (4 bits):
+ The following value is allocated by this specification:
+ 0: Version 0 QSPEC
+ Further values are as follows:
+ 1-15: Unassigned
+ The registration procedure is Specification Required. (A
+ specification is required to depreciate, delete, or modify QSPEC
+ versions.)
+
+ QSPEC Type (5 bits):
+ The following values are allocated by this specification:
+ 0: Default
+ 1: Y.1541-QOSM [RFC5976]
+ 2: RMD-QOSM [RFC5977]
+ Further values are as follows:
+ 3-12: Unassigned
+ 13-16: Local/Experimental Use
+ 17-31: Reserved
+ The registration procedure is Specification Required.
+
+ QSPEC Procedure (8 bits):
+ The QSPEC Procedure object consists of the Message Sequence parameter
+ (4 bits) and the Object Combination parameter (4 bits), as discussed
+ in Section 4.3. Message Sequences 0 (Two-Way Transactions), 1
+ (Three-Way Transactions), and 2 (Resource Queries) are explained in
+ Sections 4.3.1, 4.3.2, and 4.3.3, respectively. Tables 1, 2, and 3
+ in Section 4.3 assign the Object Combination Number to Message
+ Sequences 0, 1, and 2, respectively. The values assigned by this
+ specification for the Message Sequence parameter and the Object
+ Combination parameter are summarized here:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Ash, et al. Experimental [Page 52]
+
+RFC 5975 QoS NSLP QSPEC Template October 2010
+
+
+ MSG.|OBJ.|OBJECTS INCLUDED |OBJECTS INCLUDED |OBJECTS INCLUDED
+ SEQ.|COM.|IN QUERY MESSAGE |IN RESERVE MESSAGE |IN RESPONSE MESSAGE
+ -------------------------------------------------------------------
+ 0 |0 |N/A |QoS Desired |QoS Reserved
+ | | | |
+ 0 |1 |N/A |QoS Desired |QoS Reserved
+ | |N/A |QoS Available |QoS Available
+ | | | |
+ 0 |2 |N/A |QoS Desired |QoS Reserved
+ | |N/A |QoS Available |QoS Available
+ | |N/A |Minimum QoS |
+ | | | |
+ 1 |0 |QoS Desired |QoS Desired |QoS Reserved
+ | | | |
+ 1 |1 |QoS Desired |QoS Desired |QoS Reserved
+ | |(Minimum QoS) |QoS Available |QoS Available
+ | | |(Minimum QoS) |
+ | | | |
+ 1 |2 |QoS Desired |QoS Desired |QoS Reserved
+ | |QoS Available |QoS Available |
+ | | | |
+ 2 |0 |QoS Available |N/A |QoS Available
+
+ Further values of the Message Sequence parameter (4 bits) are as
+ follows:
+ 3-15: Unassigned
+
+ Further values of the Object Combination parameter (4 bits) are as
+ follows:
+
+ Message | Object
+ Sequence | Combination
+ ---------------------------
+ 0 | 3-15: Unassigned
+ 1 | 3-15: Unassigned
+ 2 | 1-15: Unassigned
+ 3-15 | 0-15: Unassigned
+
+ The registration procedure is Specification Required. (A
+ specification is required to depreciate, delete, or modify QSPEC
+ Procedures.)
+
+ QoS Model Error Code (8 bits):
+ QoS Model Error Codes may be defined for NSLP error class 6 (QoS
+ Model Error), as described in Section 6.4 of [RFC5974]. Values are
+ as follows:
+ 0-63: Unassigned
+ 64-67: Private/Experimental Use
+
+
+
+Ash, et al. Experimental [Page 53]
+
+RFC 5975 QoS NSLP QSPEC Template October 2010
+
+
+ 68-255: Reserved
+ The registration procedure is Specification Required. (A
+ specification is required to depreciate, delete, or modify QoS Model
+ Error Codes.)
+
+ Parameter ID (12 bits):
+ The following values are allocated by this specification:
+ 1-14: assigned as specified in Section 5.2:
+ 1: <TMOD-1>
+ 2: <TMOD-2>
+ 3: <Path Latency>
+ 4: <Path Jitter>
+ 5: <Path PLR>
+ 6: <Path PER>
+ 7: <Slack Term>
+ 8: <Preemption Priority> and <Defending Priority>
+ 9: <Admission Priority>
+ 10: <RPH Priority>
+ 11: <Excess Treatment>
+ 12: <PHB Class>
+ 13: <DSTE Class Type>
+ 14: <Y.1541 QoS Class>
+ Further values are as follows:
+ 15-255: Unassigned
+ 256-259: Private/Experimental Use
+ 260-4095: Reserved
+ The registration procedure is Specification Required. (A
+ specification is required to depreciate, delete, or modify Parameter
+ IDs.)
+
+ Y.2171 Admission Priority Parameter (8 bits):
+ The following values are allocated by this specification:
+ 0-2: assigned as specified in Section 5.2.9:
+ 0: best-effort priority flow
+ 1: normal priority flow
+ 2: high priority flow
+ Further values are as follows:
+ 3-63: Unassigned
+ 64-255: Reserved
+ The registration procedure is Specification Required.
+
+ RPH Namespace Parameter (16 bits):
+ Note that [RFC4412] creates a registry for RPH Namespace and Priority
+ values already (see Section 12.6 of [RFC4412]), and an extension to
+ this registry is created in [EMERG-RSVP], which will also be used for
+ the QSPEC RPH parameter. In the extended registry, "Namespace
+ Numerical Values" are assigned by IANA to RPH Namespaces, and
+
+
+
+
+Ash, et al. Experimental [Page 54]
+
+RFC 5975 QoS NSLP QSPEC Template October 2010
+
+
+ "Priority Numerical Values" are assigned to the RPH Priority. There
+ are no additional IANA requirements made by this specification for
+ the RPH Namespace Parameter.
+
+ Excess Treatment Parameter (8 bits):
+ The following values are allocated by this specification:
+ 0-3: assigned as specified in Section 5.2.11:
+ 0: drop
+ 1: shape
+ 2: re-mark
+ 3: no metering or policing is permitted
+ Further values are as follows:
+ 4-63: Unassigned
+ 64-255: Reserved
+ The registration procedure is Specification Required.
+
+ Y.1541 QoS Class Parameter (8 bits):
+ The following values are allocated by this specification:
+ 0-7: assigned as specified in Section 5.2.14:
+ 0: Y.1541 QoS Class 0
+ 1: Y.1541 QoS Class 1
+ 2: Y.1541 QoS Class 2
+ 3: Y.1541 QoS Class 3
+ 4: Y.1541 QoS Class 4
+ 5: Y.1541 QoS Class 5
+ 6: Y.1541 QoS Class 6
+ 7: Y.1541 QoS Class 7
+ Further values are as follows:
+ 8-63: Unassigned
+ 64-255: Reserved
+ The registration procedure is Specification Required.
+
+8. Acknowledgements
+
+ The authors would like to thank (in alphabetical order) David Black,
+ Ken Carlberg, Anna Charny, Christian Dickman, Adrian Farrel, Ruediger
+ Geib, Matthias Friedrich, Xiaoming Fu, Janet Gunn, Robert Hancock,
+ Chris Lang, Jukka Manner, Martin Stiemerling, An Nguyen, Tom Phelan,
+ James Polk, Alexander Sayenko, John Rosenberg, Hannes Tschofenig, and
+ Sven van den Bosch for their very helpful suggestions.
+
+9. Contributors
+
+ This document is the result of the NSIS Working Group effort. In
+ addition to the authors/editors listed in Section 12, the following
+ people contributed to the document:
+
+
+
+
+
+Ash, et al. Experimental [Page 55]
+
+RFC 5975 QoS NSLP QSPEC Template October 2010
+
+
+ Roland Bless
+ Institute of Telematics, Karlsruhe Institute of Technology (KIT)
+ Zirkel 2, Building 20.20
+ P.O. Box 6980
+ Karlsruhe 76049
+ Germany
+ Phone: +49 721 608 6413
+ EMail: bless@kit.edu
+ URI: http://tm.kit.edu/~bless
+
+ 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
+ EMail: cdvorak@research.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
+
+ Georgios Karagiannis
+ University of Twente
+ 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
+
+
+
+
+
+
+
+
+
+
+
+Ash, et al. Experimental [Page 56]
+
+RFC 5975 QoS NSLP QSPEC Template October 2010
+
+
+ Al Morton
+ AT&T
+ Room D3-3C06
+ 200 S. Laurel Avenue
+ Middletown, NJ 07748
+ Phone: +1 732 420-1571
+ Fax: +1 732 368-1192
+ EMail: acmorton@att.com
+
+ Bernd Schloer
+ University of Goettingen
+ EMail: bschloer@cs.uni-goettingen.de
+
+ Percy Tarapore
+ AT&T
+ Room D1-33
+ 200 S. Laurel Avenue
+ Middletown, NJ 07748
+ Phone: +1 732 420-4172
+ EMail: tarapore@.att.com
+
+ Lars Westberg
+ Ericsson Research
+ Torshamnsgatan 23
+ SE-164 80 Stockholm, Sweden
+ EMail: Lars.Westberg@ericsson.com
+
+10. Normative References
+
+ [3GPP-1] 3GPP TS 22.067 V7.0.0 (2006-03) Technical
+ Specification, 3rd Generation Partnership Project;
+ Technical Specification Group Services and System
+ Aspects; enhanced Multi Level Precedence and
+ Preemption service (eMLPP) - Stage 1 (Release 7).
+
+ [3GPP-2] 3GPP TS 23.067 V7.1.0 (2006-03) Technical
+ Specification, 3rd Generation Partnership Project;
+ Technical Specification Group Core Network; enhanced
+ Multi-Level Precedence and Preemption service (eMLPP)
+ - Stage 2 (Release 7).
+
+ [3GPP-3] 3GPP TS 24.067 V6.0.0 (2004-12) Technical
+ Specification, 3rd Generation Partnership Project;
+ Technical Specification Group Core Network; enhanced
+ Multi-Level Precedence and Preemption service (eMLPP)
+ - Stage 3 (Release 6).
+
+
+
+
+
+Ash, et al. Experimental [Page 57]
+
+RFC 5975 QoS NSLP QSPEC Template October 2010
+
+
+ [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
+ Requirement Levels", BCP 14, RFC 2119, March 1997.
+
+ [RFC2210] Wroclawski, J., "The Use of RSVP with IETF Integrated
+ Services", RFC 2210, September 1997.
+
+ [RFC2212] Shenker, S., Partridge, C., and R. Guerin,
+ "Specification of Guaranteed Quality of Service", RFC
+ 2212, September 1997.
+
+ [RFC2215] Shenker, S. and J. Wroclawski, "General
+ Characterization Parameters for Integrated Service
+ Network Elements", RFC 2215, September 1997.
+
+ [RFC3140] Black, D., Brim, S., Carpenter, B., and F. Le
+ Faucheur, "Per Hop Behavior Identification Codes",
+ RFC 3140, June 2001.
+
+ [RFC3181] Herzog, S., "Signaled Preemption Priority Policy
+ Element", RFC 3181, October 2001.
+
+ [RFC4124] Le Faucheur, F., Ed., "Protocol Extensions for
+ Support of Diffserv-aware MPLS Traffic Engineering",
+ RFC 4124, June 2005.
+
+ [RFC4412] Schulzrinne, H. and J. Polk, "Communications Resource
+ Priority for the Session Initiation Protocol (SIP)",
+ RFC 4412, February 2006.
+
+ [RFC4506] Eisler, M., Ed., "XDR: External Data Representation
+ Standard", STD 67, RFC 4506, May 2006.
+
+ [RFC5971] Schulzrinne, H. and R. Hancock, "GIST: General
+ Internet Signalling Transport", RFC 5971, October
+ 2010.
+
+ [RFC5974] Manner, J., Karagiannis, G., and A. McDonald, "NSIS
+ Signaling Layer Protocol (NSLP) for Quality-of-
+ Service Signaling", RFC 5974, October 2010.
+
+ [Y.1541] ITU-T Recommendation Y.1541, "Network Performance
+ Objectives for IP-Based Services", February 2006.
+
+ [Y.2171] ITU-T Recommendation Y.2171, "Admission Control
+ Priority Levels in Next Generation Networks",
+ September 2006.
+
+
+
+
+
+Ash, et al. Experimental [Page 58]
+
+RFC 5975 QoS NSLP QSPEC Template October 2010
+
+
+11. Informative References
+
+ [COMPOSITION] Morton, A. and E. Stephan, "Spacial Composition of
+ Metrics", Work in Progress, July 2010.
+
+ [DQOS] CableLabs, "PacketCable Dynamic Quality of Service
+ Specification", CableLabs Specification
+ PKT-SP-DQOS-I12-050812, August 2005.
+
+ [EMERG-RSVP] Le Faucheur, F., Polk, J., and K. Carlberg, "Resource
+ ReSerVation Protocol (RSVP) Extensions for Admission
+ Priority", Work in Progress, March 2010.
+
+ [G.711] ITU-T Recommendation G.711, "Pulse code modulation
+ (PCM) of voice frequencies", November 1988.
+
+ [IEEE754] Institute of Electrical and Electronics Engineers,
+ "IEEE Standard for Binary Floating-Point Arithmetic",
+ ANSI/IEEE Standard 754-1985, August 1985.
+
+ [CL-QOSM] Kappler, C., "A QoS Model for Signaling IntServ
+ Controlled-Load Service with NSIS", Work in Progress,
+ April 2010.
+
+ [DSCP-REGISTRY] IANA, "Differentiated Services Field Codepoints",
+ http://www.iana.org.
+
+ [NETWORK-OCTET-ORDER]
+ Wikipedia, "Endianness",
+ http://en.wikipedia.org/wiki/Endianness.
+
+ [PHBID-CODES-REGISTRY]
+ IANA, "Per Hop Behavior Identification Codes",
+ http://www.iana.org.
+
+ [RFC1701] Hanks, S., Li, T., Farinacci, D., and P. Traina,
+ "Generic Routing Encapsulation (GRE)", RFC 1701,
+ October 1994.
+
+ [RFC1702] Hanks, S., Li, T., Farinacci, D., and P. Traina,
+ "Generic Routing Encapsulation over IPv4 networks",
+ RFC 1702, October 1994.
+
+ [RFC2003] Perkins, C., "IP Encapsulation within IP", RFC 2003,
+ October 1996.
+
+ [RFC2004] Perkins, C., "Minimal Encapsulation within IP", RFC
+ 2004, October 1996.
+
+
+
+Ash, et al. Experimental [Page 59]
+
+RFC 5975 QoS NSLP QSPEC Template October 2010
+
+
+ [RFC2205] Braden, R., Ed., Zhang, L., Berson, S., Herzog, S.,
+ and S. Jamin, "Resource ReSerVation Protocol (RSVP)
+ -- Version 1 Functional Specification", RFC 2205,
+ September 1997.
+
+ [RFC2473] Conta, A. and S. Deering, "Generic Packet Tunneling
+ in IPv6 Specification", RFC 2473, December 1998.
+
+ [RFC2474] Nichols, K., Blake, S., Baker, F., and D. Black,
+ "Definition of the Differentiated Services Field (DS
+ Field) in the IPv4 and IPv6 Headers", RFC 2474,
+ December 1998.
+
+ [RFC2475] Blake, S., Black, D., Carlson, M., Davies, E., Wang,
+ Z., and W. Weiss, "An Architecture for Differentiated
+ Service", RFC 2475, December 1998.
+
+ [RFC2597] Heinanen, J., Baker, F., Weiss, W., and J.
+ Wroclawski, "Assured Forwarding PHB Group", RFC 2597,
+ June 1999.
+
+ [RFC2697] Heinanen, J. and R. Guerin, "A Single Rate Three
+ Color Marker", RFC 2697, September 1999.
+
+ [RFC2997] Bernet, Y., Smith, A., and B. Davie, "Specification
+ of the Null Service Type", RFC 2997, November 2000.
+
+ [RFC3290] Bernet, Y., Blake, S., Grossman, D., and A. Smith,
+ "An Informal Management Model for Diffserv Routers",
+ RFC 3290, May 2002.
+
+ [RFC3393] Demichelis, C. and P. Chimento, "IP Packet Delay
+ Variation Metric for IP Performance Metrics (IPPM)",
+ RFC 3393, November 2002.
+
+ [RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V.
+ Jacobson, "RTP: A Transport Protocol for Real-Time
+ Applications", STD 64, RFC 3550, July 2003.
+
+ [RFC3564] Le Faucheur, F. and W. Lai, "Requirements for Support
+ of Differentiated Services-aware MPLS Traffic
+ Engineering", RFC 3564, July 2003.
+
+ [RFC4213] Nordmark, E. and R. Gilligan, "Basic Transition
+ Mechanisms for IPv6 Hosts and Routers", RFC 4213,
+ October 2005.
+
+ [RFC4301] Kent, S. and K. Seo, "Security Architecture for the
+
+
+
+Ash, et al. Experimental [Page 60]
+
+RFC 5975 QoS NSLP QSPEC Template October 2010
+
+
+ Internet Protocol", RFC 4301, December 2005.
+
+ [RFC4303] Kent, S., "IP Encapsulating Security Payload (ESP)",
+ RFC 4303, December 2005.
+
+ [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing
+ an IANA Considerations Section in RFCs", BCP 26, RFC
+ 5226, May 2008.
+
+ [RFC5481] Morton, A. and B. Claise, "Packet Delay Variation
+ Applicability Statement", RFC 5481, March 2009.
+
+ [RFC5976] Ash, G., Morton, A., Dolly, M., Tarapore, P., Dvorak,
+ C., and Y. El Mghazli, "Y.1541-QOSM: Model for
+ Networks Using Y.1541 Quality-of-Service Classes",
+ RFC 5976, October 2010.
+
+ [RFC5977] Bader, A., Westberg, L., Karagiannis, G., Kappler, C,
+ and T. Phelan, "RMD-QOSM: The NSIS Quality-of-Service
+ Model for Resource Management in Diffserv", RFC 5977,
+ October 2010.
+
+ [VERTICAL-INTERFACE]
+ Dolly, M., Tarapore, P., and S. Sayers, "Discussion
+ on Associating of Control Signaling Messages with
+ Media Priority Levels", T1S1.7 and PRQC, October
+ 2004.
+
+ [Y.1540] ITU-T Recommendation Y.1540, "Internet Protocol Data
+ Communication Service - IP Packet Transfer and
+ Availability Performance Parameters", December 2002.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Ash, et al. Experimental [Page 61]
+
+RFC 5975 QoS NSLP QSPEC Template October 2010
+
+
+Appendix A. Mapping of QoS Desired, QoS Available, and QoS Reserved of
+ NSIS onto AdSpec, TSpec, and RSpec of RSVP IntServ
+
+ The union of QoS Desired, QoS Available, and QoS Reserved 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., TMOD). The AdSpec can collect path
+ characteristics (e.g., delay). Both are issued by the sender. The
+ receiver sends the FlowSpec that includes a Receiver TSpec describing
+ the resources reserved using the same parameters as the Sender TSpec,
+ as well as an RSpec that provides additional IntServ QoS Model
+ specific parameters, e.g., Rate and Slack.
+
+ The RSVP TSpec, AdSpec, and RSpec are tailored to the receiver-
+ initiated signaling employed by RSVP and the IntServ QoS Model. For
+ example, 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 discussion at this point leads us to a slightly
+ different mapping of necessary functionality to objects, which should
+ result in more flexible signaling models.
+
+Appendix B. Example of TMOD Parameter Encoding
+
+ In an example VoIP application that uses RTP [RFC3550] and the G.711
+ Codec [G.711], the TMOD-1 parameter could be set as follows:
+
+ In the simplest case, the Minimum Policed Unit m is the sum of the
+ IP, UDP, and RTP headers + payload. The IP header in the IPv4 case
+ has a size of 20 octets (40 octets if IPv6 is used). The UDP header
+ has a size of 8 octets, and RTP uses a 12-octet header. The G.711
+ Codec specifies a bandwidth of 64 kbit/s (8000 octets/s). Assuming
+ RTP transmits voice datagrams every 20 ms, the payload for one
+ datagram is 8000 octets/s * 0.02 s = 160 octets.
+
+ IPv4 + UDP + RTP + payload: m = 20 + 8 + 12 + 160 octets = 200 octets
+ IPv6 + UDP + RTP + payload: m = 40 + 8 + 12 + 160 octets = 220 octets
+
+ The Rate r specifies the amount of octets per second. 50 datagrams
+ are sent per second.
+
+ IPv4: r = 50 1/s * m = 10,000 octets/s
+ IPv6: r = 50 1/s * m = 11,000 octets/s
+
+
+
+
+
+Ash, et al. Experimental [Page 62]
+
+RFC 5975 QoS NSLP QSPEC Template October 2010
+
+
+ The bucket size b specifies the maximum burst. In this example, a
+ burst of 10 packets is used.
+
+ IPv4: b = 10 * m = 2000 octets
+ IPv6: b = 10 * m = 2200 octets
+
+ A number of extra headers (e.g., for encapsulation) may be included
+ in the datagram. A non-exhaustive list is given below. For
+ additional headers, m, r, and b have to be set accordingly.
+
+ Protocol Header Size
+ --------------------------+------------
+ GRE [RFC1701] | 8 octets
+ GREIP4 [RFC1702] | 4-8 octets
+ IP4INIP4 [RFC2003] | 20 octets
+ MINENC [RFC2004] | 8-12 octets
+ IP6GEN [RFC2473] | 40 octets
+ IP6INIP4 [RFC4213] | 20 octets
+ IPsec [RFC4301, RFC4303] | variable
+ --------------------------+------------
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Ash, et al. Experimental [Page 63]
+
+RFC 5975 QoS NSLP QSPEC Template October 2010
+
+
+Authors' Addresses
+
+ Gerald Ash (Editor)
+ AT&T
+ EMail: gash5107@yahoo.com
+
+
+ Attila Bader (Editor)
+ Traffic Lab
+ Ericsson Research
+ Ericsson Hungary Ltd.
+ Laborc u. 1 H-1037
+ Budapest Hungary
+ EMail: Attila.Bader@ericsson.com
+
+
+ Cornelia Kappler (Editor)
+ ck technology concepts
+ Berlin, Germany
+ EMail: cornelia.kappler@cktecc.de
+
+
+ David R. Oran (Editor)
+ Cisco Systems, Inc.
+ 7 Ladyslipper Lane
+ Acton, MA 01720, USA
+ EMail: oran@cisco.com
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Ash, et al. Experimental [Page 64]
+