RFC 5624 PROPOSED STANDARD DIAMETER · QOS · AAA

Diameter QoS parameters: Quality of Service Parameters for Usage with Diameter

A shared set of building blocks for describing traffic rate, bandwidth and priority class inside Diameter messages.

On rfc-editor.org ↗
PUBLISHED
August 2009
AUTHORS
J. Korhonen, H. Tschofenig, E. Davies
STREAM
IETF
AVP CODES
495 to 503
TMOD AVPS
TMOD-1 (495) and TMOD-2 (501)
BANDWIDTH UNIT
Octets of IP datagrams per second
PHB-CLASS TYPE
Unsigned32 (code 503)
QOS PROFILE FIELD
8 octets: 4-octet vendor, 4-octet specifier
PROFILE VALUE FOR THIS RFC
0
DOI
10.17487/RFC5624

RFC text

Contents
Original text · RFC Editor View on rfc-editor.org ↗
Network Working Group                                   J. Korhonen, Ed.
Request for Comments: 5624                                 H. Tschofenig
Category: Standards Track                         Nokia Siemens Networks
                                                               E. Davies
                                                        Folly Consulting
                                                             August 2009


         Quality of Service Parameters for Usage with Diameter

Abstract

   This document defines a number of Quality of Service (QoS) parameters
   that can be reused for conveying QoS information within Diameter.

   The defined QoS information includes data traffic parameters for
   describing a token bucket filter, a bandwidth parameter, and a per-
   hop behavior class object.

Status of This Memo

   This document specifies an Internet standards track protocol for the
   Internet community, and requests discussion and suggestions for
   improvements.  Please refer to the current edition of the "Internet
   Official Protocol Standards" (STD 1) for the standardization state
   and status of this protocol.  Distribution of this memo is unlimited.

Copyright Notice

   Copyright (c) 2009 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 in effect on the date of
   publication of this document (http://trustee.ietf.org/license-info).
   Please review these documents carefully, as they describe your rights
   and restrictions with respect to this document.

Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  2
   2.  Terminology and Abbreviations  . . . . . . . . . . . . . . . .  3
   3.  QoS Parameter Encoding . . . . . . . . . . . . . . . . . . . .  4
     3.1.  TMOD-1 AVP . . . . . . . . . . . . . . . . . . . . . . . .  4
       3.1.1.  Token-Rate AVP . . . . . . . . . . . . . . . . . . . .  4
       3.1.2.  Bucket-Depth AVP . . . . . . . . . . . . . . . . . . .  4
       3.1.3.  Peak-Traffic-Rate AVP  . . . . . . . . . . . . . . . .  4
       3.1.4.  Minimum-Policed-Unit AVP . . . . . . . . . . . . . . .  4
       3.1.5.  Maximum-Packet-Size AVP  . . . . . . . . . . . . . . .  4
     3.2.  TMOD-2 AVP . . . . . . . . . . . . . . . . . . . . . . . .  4
     3.3.  Bandwidth AVP  . . . . . . . . . . . . . . . . . . . . . .  5
     3.4.  PHB-Class AVP  . . . . . . . . . . . . . . . . . . . . . .  5
       3.4.1.  Case 1: Single PHB . . . . . . . . . . . . . . . . . .  5
       3.4.2.  Case 2: Set of PHBs  . . . . . . . . . . . . . . . . .  5
       3.4.3.  Case 3: Experimental or Local Use PHBs . . . . . . . .  6
   4.  Extensibility  . . . . . . . . . . . . . . . . . . . . . . . .  6
   5.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . .  7
   6.  Security Considerations  . . . . . . . . . . . . . . . . . . .  8
   7.  Acknowledgements . . . . . . . . . . . . . . . . . . . . . . .  8
   8.  References . . . . . . . . . . . . . . . . . . . . . . . . . .  9
     8.1.  Normative References . . . . . . . . . . . . . . . . . . .  9
     8.2.  Informative References . . . . . . . . . . . . . . . . . .  9
   Appendix A.  ABNF Code Fragment  . . . . . . . . . . . . . . . . . 11

1.  Introduction

   This document defines a number of Quality of Service (QoS) parameters
   that can be reused for conveying QoS information within the Diameter
   protocol [RFC3588].  The current set of QoS parameters defined in
   this document are a core subset determined to be useful for a wide
   range of applications.  Additional parameters may be defined in
   future documents as the need arises and are for future study.  The
   parameters are defined as Diameter-encoded Attribute Value Pairs
   (AVPs), which are described using a modified version of the Augmented
   Backus-Naur Form (ABNF), see [RFC3588].  The data types are also
   taken from [RFC3588].

   The traffic model (TMOD) AVPs are containers consisting of four AVPs
   and provide a way to describe the traffic source.

   o  token rate (r)

   o  bucket depth (b)

   o  peak traffic rate (p)
   o  minimum policed unit (m)

   o  maximum packet size (M)

   The encoding of the <TMOD-1> and the <TMOD-2> AVPs can be found in
   Sections 3.1 and 3.2.  The semantics of these two AVPs are described
   in Section 3.1 of [RFC2210] and in Section 3.6 of [RFC2215].

   The <TMOD-2> AVP is, for example, needed by some DiffServ
   applications.

      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
      token bucket for the average traffic and one token bucket 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, two TMOD AVPs are sufficient to distinguish
      among three levels of drop precedence.  An example is also
      described in the appendix of [RFC2597].

   Resource reservations might refer to a packet processor with a
   particular DiffServ per-hop behavior (PHB) (using the <PHB-Class>
   AVP).  A generic description of the DiffServ architecture can be
   found in [RFC2475], and the Differentiated Services Field is
   described in Section 3 of [RFC2474].  Updated terminology can be
   found in [RFC3260].  Standardized per-hop behavior is, for example,
   described in [RFC2597] ("Assured Forwarding PHB Group") and in
   [RFC3246] ("An Expedited Forwarding PHB").

   The above-mentioned parameters are intended to support basic
   integrated and differentiated services functionality in the network.
   Additional parameters can be defined and standardized if required to
   support specific services in the future.

2.  Terminology and Abbreviations

   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 RFC2119 [RFC2119].

3.  QoS Parameter Encoding

3.1.  TMOD-1 AVP

   The TMOD-1 AVP is obtained from [RFC2210] and [RFC2215].  The
   structure of the AVP is as follows:

     TMOD-1  ::= < AVP Header: 495 >
                 { Token-Rate }
                 { Bucket-Depth }
                 { Peak-Traffic-Rate }
                 { Minimum-Policed-Unit }
                 { Maximum-Packet-Size }

3.1.1.  Token-Rate AVP

   The Token-Rate AVP (AVP Code 496) is of type Float32.

3.1.2.  Bucket-Depth AVP

   The Bucket-Depth AVP (AVP Code 497) is of type Float32.

3.1.3.  Peak-Traffic-Rate AVP

   The Peak-Traffic-Rate AVP (AVP Code 498) is of type Float32.

3.1.4.  Minimum-Policed-Unit AVP

   The Minimum-Policed-Unit AVP (AVP Code 499) is of type Unsigned32.

3.1.5.  Maximum-Packet-Size AVP

   The Maximum-Packet-Size AVP (AVP Code 500) is of type Unsigned32.

3.2.  TMOD-2 AVP

   A description of the semantics of the parameter values can be found
   in [RFC2215].  The coding for the TMOD-2 AVP is as follows:

     TMOD-2  ::= < AVP Header: 501 >
                 { Token-Rate }
                 { Bucket-Depth }
                 { Peak-Traffic-Rate }
                 { Minimum-Policed-Unit }
                 { Maximum-Packet-Size }

3.3.  Bandwidth AVP

   The Bandwidth AVP (AVP Code 502) is of type Float32 and is measured
   in octets of IP datagrams per second.  The Bandwidth AVP represents a
   simplified description of the following TMOD setting whereby the
   token rate (r) = peak traffic rate (p), the bucket depth (b) = large,
   and the minimum policed unit (m) = large when only bandwidth has to
   be expressed.

3.4.  PHB-Class AVP

   The PHB-Class AVP (AVP Code 503) is of type Unsigned32.

   A description of the semantics of the parameter values can be found
   in [RFC3140].  The registries needed for usage with [RFC3140] already
   exist and hence a new registry is not required for this purpose.  The
   encoding requires that three cases be differentiated.  All bits
   indicated as "reserved" MUST be set to zero (0).

3.4.1.  Case 1: Single PHB

   As prescribed in [RFC3140], the encoding for a single PHB is the
   recommended Differentiated Services Code Point (DSCP) value for that
   PHB, left-justified in the 16-bit field with bits 6 through 15 set to
   zero.

    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | DSCP      |0 0 0 0 0 0 0 0 0 0|            (Reserved)         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

3.4.2.  Case 2: Set of PHBs

   The encoding for a set of PHBs is the numerically smallest of the set
   of encodings for the various PHBs in the set, with bit 14 set to 1.
   (Thus, for the AF1x PHBs, the encoding is that of the AF11 PHB, with
   bit 14 set to 1.)

    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | DSCP      |0 0 0 0 0 0 0 0 1 0|            (Reserved)         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

3.4.3.  Case 3: Experimental or Local Use PHBs

   PHBs may not be defined by standards actions 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 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.

   Bits 12 and 13 are reserved either for expansion of the PHB
   identification code or for other, future use.

   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.

    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |      PHD ID CODE      |0 0 1 0|            (Reserved)         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

4.  Extensibility

   This document is designed with extensibility in mind, given that
   different organizations and groups are used to defining their own
   Quality of Service parameters.  This document provides an initial QoS
   profile with a common set of parameters.  Ideally, these parameters
   should be used whenever possible, but there are cases where
   additional parameters might be needed or where the parameters
   specified in this document are used with different semantics.  In
   that case, it is advisable to define a new QoS profile that may
   consist of new parameters in addition to parameters defined in this
   document or an entirely different set of parameters.  Finally, it is
   also possible to register a specific QoS profile that defines a
   specific set of QoS values rather than parameters that need to be
   filled with values in order to be used.

   To enable the definition of new QoS profiles, an 8-octet registry is
   defined as a field that is represented by 4-octet vendor and 4-octet
   specifier fields.  The vendor field contains an Enterprise Number as
   defined in [RFC2578], taken from the values maintained in the IANA
   Enterprise Numbers registry.  If the four octets of the vendor field
   are 0x00000000 (reserved value for IANA), then the value in the
   specifier field MUST be registered with IANA (see Section 5.2).  If
   the vendor field is other than 0x00000000, the value of the specifier
   field represents a vendor-specific value, where allocation is the
   responsibility of the enterprise indicated in the vendor field.

5.  IANA Considerations

5.1.  AVP Codes

   IANA allocated AVP codes in the IANA-controlled namespace registry
   specified in Section 11.1.1 of [RFC3588] for the following AVPs that
   are defined in this document.

   +------------------------------------------------------------------+
   |                                       AVP  Section               |
   |AVP Name                               Code Defined   Data Type   |
   +------------------------------------------------------------------+
   |TMOD-1                                 495  3.1       Grouped     |
   |Token-Rate                             496  3.1.1     Float32     |
   |Bucket-Depth                           497  3.1.2     Float32     |
   |Peak-Traffic-Rate                      498  3.1.3     Float32     |
   |Minimum-Policed-Unit                   499  3.1.4     Unsigned32  |
   |Maximum-Packet-Size                    500  3.1.5     Unsigned32  |
   |TMOD-2                                 501  3.2       Grouped     |
   |Bandwidth                              502  3.3       Float32     |
   |PHB-Class                              503  3.4       Unsigned32  |
   +------------------------------------------------------------------+

5.2.  QoS Profile

   The QoS profile refers to a 64-bit field that is represented by
   4-octet vendor and 4-octet specifier fields.  The vendor field
   indicates the type as either standards-specified or vendor-specific.

   If the four octets of the vendor field are 0x00000000, then the value
   is standards-specified and a registry will be created to maintain the
   QoS profile specifier values.  The specifier field indicates the
   actual QoS profile.  Depending on the value requested, the action
   needed to request a new value is:

      0 to 511: Standards Action

      512 to 32767: Specification Required

      32768 to 4294967295: Reserved
   Standards action is required to add, depreciate, delete, or modify
   QoS profile values in the range of 0-511, and a specification is
   required to add, depreciate, delete, or modify existing QoS profile
   values in the range of 512-32767.

   IANA created such a registry and allocated the value zero (0) for the
   QoS profile defined in this document.

   Alternative vendor-specific QoS profiles can be created and
   identified with an Enterprise Number taken from the IANA registry
   created by [RFC2578] in the vendor field, combined with a vendor-
   specific value in the specifier field.  Allocation of the specifier
   values is the responsibility of the vendor.

6.  Security Considerations

   This document does not raise any security concerns as it only defines
   QoS parameters and does not yet describe how they are exchanged in an
   Authentication, Authorization, and Accounting (AAA) protocol.
   Security considerations are described in documents using this
   specification.

7.  Acknowledgements

   The authors would like to thank the NSIS working group members
   Cornelia Kappler, Jerry Ash, Attila Bader, and Dave Oran; the former
   NSIS working group chairs John Loughney and Martin Stiemerling; and
   the former Transport Area Directors Allison Mankin and Jon Peterson
   for their help.

   We would like to thank Ken Carlberg, Lars Eggert, Jan Engelhardt,
   Francois Le Faucheur, John Loughney, An Nguyen, Dave Oran, James
   Polk, Martin Dolly, Martin Stiemerling, and Magnus Westerlund for
   their feedback regarding some of the parameters in this documents.

   Jerry Ash, Al Morton, Mayutan Arumaithurai, and Xiaoming Fu provided
   help with the semantics of some QSPEC parameters.

   We would like to thank Dan Romascanu for his detailed Area Director
   review comments and Scott Bradner for his Transport Area Directorate
   review.  Chris Newman, Adrian Farrel, and Pasi Eronen provided
   feedback during the IESG review.

8.  References

8.1.  Normative References

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

   [RFC2215]  Shenker, S. and J. Wroclawski, "General Characterization
              Parameters for Integrated Service Network Elements",
              RFC 2215, September 1997.

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

   [RFC2578]  McCloghrie, K., Ed., Perkins, D., Ed., and J.
              Schoenwaelder, Ed., "Structure of Management Information
              Version 2 (SMIv2)", STD 58, RFC 2578, April 1999.

   [RFC3140]  Black, D., Brim, S., Carpenter, B., and F. Le Faucheur,
              "Per Hop Behavior Identification Codes", RFC 3140,
              June 2001.

   [RFC3588]  Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J.
              Arkko, "Diameter Base Protocol", RFC 3588, September 2003.

8.2.  Informative References

   [RFC2475]  Blake, S., Black, D., Carlson, M., Davies, E., Wang, Z.,
              and W. Weiss, "An Architecture for Differentiated
              Services", 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.

   [RFC3246]  Davie, B., Charny, A., Bennet, J., Benson, K., Le Boudec,
              J., Courtney, W., Davari, S., Firoiu, V., and D.
              Stiliadis, "An Expedited Forwarding PHB (Per-Hop
              Behavior)", RFC 3246, March 2002.

   [RFC3260]  Grossman, D., "New Terminology and Clarifications for
              Diffserv", RFC 3260, April 2002.

Appendix A.  ABNF Code Fragment

   Copyright (c) 2009 IETF Trust and the persons identified as authors
   of the code.  All rights reserved.

   Redistribution and use in source and binary forms, with or without
   modification, are permitted provided that the following conditions
   are met:

   o  Redistributions of source code must retain the above copyright
      notice, this list of conditions and the following disclaimer.

   o  Redistributions in binary form must reproduce the above copyright
      notice, this list of conditions and the following disclaimer in
      the documentation and/or other materials provided with the
      distribution.

   o  Neither the name of Internet Society, IETF or IETF Trust, nor the
      names of specific contributors, may be used to endorse or promote
      products derived from this software without specific prior written
      permission.

   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
   'AS IS' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
   A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT
   OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

     TMOD-1  ::= < AVP Header: 495 >
                 { Token-Rate }
                 { Bucket-Depth }
                 { Peak-Traffic-Rate }
                 { Minimum-Policed-Unit }
                 { Maximum-Packet-Size }


     TMOD-2  ::= < AVP Header: 501 >
                 { Token-Rate }
                 { Bucket-Depth }
                 { Peak-Traffic-Rate }
                 { Minimum-Policed-Unit }
                 { Maximum-Packet-Size }

Authors' Addresses

   Jouni Korhonen (editor)
   Nokia Siemens Networks
   Linnoitustie 6
   Espoo  02600
   Finland

   EMail: jouni.korhonen@nsn.com


   Hannes Tschofenig
   Nokia Siemens Networks
   Linnoitustie 6
   Espoo  02600
   Finland

   Phone: +358 (50) 4871445
   EMail: Hannes.Tschofenig@gmx.net
   URI:   http://www.tschofenig.priv.at


   Elwyn Davies
   Folly Consulting
   Soham
   UK

   Phone: +44 7889 488 335
   EMail: elwynd@dial.pipex.com

AI ELI5

On this page
PROBLEMDifferent groups define their own Quality of Service parameters for Diameter, and a common core set was needed that many applications can reuse.
MECHANISMThe RFC defines Diameter AVPs for a token bucket traffic description (TMOD-1 and TMOD-2), a bandwidth value and a Differentiated Services per-hop behavior class, plus a QoS profile registry for adding more.
WHY IT MATTERSOther Diameter specifications can carry QoS information with these AVPs. The RFC itself says it does not describe how they are exchanged, so it raises no security concerns of its own.

§1Why Diameter Needs QoS Parameters

RFC 5624 defines Quality of Service (QoS) parameters that can be reused for carrying QoS information in the Diameter protocol (RFC 3588). The set is described as a core subset useful for a wide range of applications. More parameters may be defined later as the need arises.

The parameters are written as Diameter Attribute Value Pairs (AVPs), using the modified ABNF and the data types from RFC 3588. The RFC covers three kinds of information: a description of the traffic source (a token bucket), a bandwidth value, and a per-hop behavior class.

Computers asking a network for special treatment need a common set of words. This RFC picks a small starter set of words everyone can share.

§3.1The Traffic Model AVPs

The traffic model (TMOD) AVPs are containers that describe the traffic source with five values: token rate (r), bucket depth (b), peak traffic rate (p), minimum policed unit (m) and maximum packet size (M). Their meaning comes from RFC 2210 and RFC 2215.

TMOD-1 (AVP code 495) is a Grouped AVP holding Token-Rate (496), Bucket-Depth (497), Peak-Traffic-Rate (498), Minimum-Policed-Unit (499) and Maximum-Packet-Size (500). The first three are of type Float32 and the last two are Unsigned32. TMOD-2 (code 501) has the same structure and reuses the same five AVPs.

A second TMOD is needed by some DiffServ applications. The RFC explains that expedited forwarding (EF) traffic is typically shaped by a single-rate token bucket, so one TMOD is enough. Assured forwarding (AF) traffic needs two sets of token bucket parameters, one for average traffic and one for bursts, which is why two TMOD AVPs exist.

A token bucket is like a jar of tickets. You may send a packet only by spending a ticket, and the jar refills at a steady speed. The TMOD says how fast it refills and how big the jar is.

AVP CODES ALLOCATED BY RFC 5624
  • 495TMOD-1 — Grouped; traffic model container.
  • 496Token-Rate — Float32.
  • 497Bucket-Depth — Float32.
  • 498Peak-Traffic-Rate — Float32.
  • 499Minimum-Policed-Unit — Unsigned32.
  • 500Maximum-Packet-Size — Unsigned32.
  • 501TMOD-2 — Grouped; same structure as TMOD-1.
  • 502Bandwidth — Float32, octets of IP datagrams per second.
  • 503PHB-Class — Unsigned32; DiffServ per-hop behavior class.

§3.3The Bandwidth AVP

The Bandwidth AVP (code 502) is of type Float32 and is measured in octets of IP datagrams per second. It is a simplified description for the case where only bandwidth has to be expressed.

It stands for a TMOD setting in which the token rate (r) equals the peak traffic rate (p), and both the bucket depth (b) and the minimum policed unit (m) are set to large.

If you only care about how wide the pipe is, you can use one number instead of filling in the whole ticket-jar form.

§3.4The PHB-Class AVP

The PHB-Class AVP (code 503) is of type Unsigned32. It names a DiffServ per-hop behavior (PHB), meaning how a router treats a class of packets. Its semantics come from RFC 3140, and no new registry is needed. All bits marked reserved MUST be set to zero.

Three cases are distinguished:

  • Single PHB: the recommended DSCP value for that PHB, left-justified in the 16-bit field, with bits 6 through 15 set to zero.
  • Set of PHBs: the numerically smallest encoding of the PHBs in the set, with bit 14 set to 1. For the AF1x PHBs this is the AF11 encoding with bit 14 set.
  • Experimental or local use PHBs: an arbitrary 12-bit PHB identification code assigned by IANA, left-justified in the 16-bit field. Bit 15 is set to 1, bit 14 is 0 for one PHB or 1 for a set, and bits 12 and 13 are zero.

When one identifier stands for a set of PHBs (bit 14 set to 1), the set MUST be a PHB Scheduling Class. Using different PHBs from the set MUST NOT cause packets of the same microflow to be reordered.

Each priority class gets a short code number. The code is written in a fixed spot in a number, and a couple of flag bits say whether it names one class or a whole family.

§4Extensibility and QoS Profiles

Different organizations define their own QoS parameters, so the RFC provides an initial QoS profile with a common set of parameters. If other parameters are needed, or these are used with different semantics, it is advisable to define a new QoS profile. A profile can also be registered as a fixed set of QoS values instead of parameters to fill in.

A QoS profile is identified by an 8-octet field made of a 4-octet vendor field and a 4-octet specifier field. The vendor field holds an Enterprise Number. If it is 0x00000000, the specifier MUST be registered with IANA. Otherwise the specifier is a vendor-specific value allocated by that enterprise.

If the starter set of words is not enough, a company can make its own set. Each set gets a two-part name so that nobody mixes them up.

§5IANA Registrations

IANA allocated the AVP codes 495 to 503 from the Diameter AVP code registry defined in Section 11.1.1 of RFC 3588. IANA also created a QoS profile registry for the standards-specified case (vendor field 0x00000000).

In that registry, values 0 to 511 need Standards Action, values 512 to 32767 need Specification Required, and 32768 to 4294967295 are reserved. The value zero (0) was allocated to the QoS profile defined in this document.

A librarian keeps the official list of code numbers so that two groups never pick the same one. The first entry on the list is the starter set from this RFC.

§6Security Considerations

The RFC says it raises no security concerns, because it only defines QoS parameters and does not yet describe how they are exchanged in an Authentication, Authorization, and Accounting (AAA) protocol. Security considerations are described in the documents that use this specification.

This RFC is only a dictionary of words, not a conversation. Any safety rules belong to the documents that actually use the words.

§8References