Quality of Service Parameters [RFC5624] AVPs
Quality of Service Parameters in Diameter (RFC5624)
This interface defines a set of Quality of Service (QoS) parameters for conveying QoS information within the Diameter protocol [RFC3588]. It establishes a core subset of parameters deemed useful for a wide range of applications and provides a framework that can be extended in the future to support additional services.
Purpose of the Quality of Service Parameters Interface
- Conveying QoS Information: The interface enables the transmission of essential QoS parameters as Diameter-encoded Attribute Value Pairs (AVPs). These parameters support both integrated and differentiated services functionality in the network by describing key traffic characteristics.
- Standardized Signaling: Using a modified version of the Augmented Backus-Naur Form (ABNF) and data types defined in [RFC3588], the QoS parameters provide a standardized method for signaling network traffic behavior. This consistency is crucial for ensuring interoperability among diverse network elements and applications.
Key Elements and Operational Workflow
Traffic Model (TMOD) AVPs:
The QoS parameters include TMOD AVPs that serve as containers to describe the traffic source. These containers encapsulate parameters such as:
Token Rate (r)
Bucket Depth (b)
Peak Traffic Rate (p)
Minimum Policed Unit (m)
Maximum Packet Size (M)
TMOD Variants and DiffServ Applications:
- TMOD-1 and TMOD-2 AVPs: The encoding details for these AVPs are specified in Sections 3.1 and 3.2 of the document, with semantics described in [RFC2210] and [RFC2215].
- DiffServ Expedited Forwarding (EF): Typically, EF traffic is shaped at the ingress using a single-rate token bucket; therefore, a single TMOD parameter is sufficient to signal such traffic.
- DiffServ Assured Forwarding (AF): For AF traffic, two sets of token bucket parameters are required—one for average traffic and one for burst traffic. This approach aligns with the Single Rate Three Color Marker (srTCM) defined in [RFC2697], which distinguishes among three levels of drop precedence by marking packets as green, yellow, or red. Two TMOD AVPs enable this differentiation, as further exemplified in [RFC2597].
- Resource Reservation and DiffServ PHB: The interface also supports resource reservations that may reference a packet processor with specific DiffServ per-hop behavior (PHB). This is facilitated by the use of the <PHB-Class> AVP, with further details available in [RFC2475], [RFC2474], [RFC3260], [RFC2597], and [RFC3246].
For complete technical specification of Quality of Service Parameters in Diameter protocol please refer to: [RFC5624]
package com.mobius.software.telco.protocols.diameter.primitives.rfc5624
Name |
AVP Code |
Data Type |
Vendor |
Bandwidth |
502 |
Float32 |
IETF |
Represents the data transmission rate in octets per second for IP datagrams. It is used to specify bandwidth requirements or allocations in network traffic management and QoS (Quality of Service) enforcement. The bandwidth value represents the number of octets per second. This AVP simplifies traffic modeling (TMOD) settings by defining: Token Rate (r) = Peak Traffic Rate (p) Bucket Depth (b) = large (effectively unlimited buffer size) Minimum Policed Unit (m) = large (effectively unlimited minimum packet size). This simplification makes it suitable for applications that need to describe only bandwidth constraints without considering other traffic shaping parameters. |
|||
Bucket-Depth |
497 |
Float32 |
IETF |
Used to define the token bucket depth in octets for traffic shaping and rate-limiting mechanisms. It specifies the maximum burst size that can be transmitted or received without violating traffic contracts in Quality of Service (QoS) or policy enforcement scenarios. Specifies the depth of the bucket in octets (bytes). Works in conjunction with the Bandwidth AVP (502) to describe traffic profiles in Token Bucket Models [RFC 5624]. Ensures compatibility with Traffic Policing and Traffic Shaping Algorithms in network architectures. |
|||
Maximum-Packet-Size |
500 |
Unsigned32 |
IETF |
Defines the maximum size of a packet in octets for a specific Diameter session or application. It is primarily used in QoS enforcement and traffic management scenarios to ensure compliance with network policies regarding packet size limits. |
|||
Minimum-Policed-Unit |
499 |
Unsigned32 |
IETF |
Defines the smallest unit of data (in octets) that is subject to policing for traffic management and QoS enforcement. |
|||
Peak-Traffic-Rate |
498 |
Float32 |
IETF |
Represents the maximum allowable traffic rate (in octets per second) for a given flow or connection. It defines the peak transmission rate permitted in a traffic profile, helping to enforce QoS and bandwidth control policies. |
|||
PHB-Class |
503 |
Unsigned32 |
IETF |
Used to specify the Per-Hop Behavior (PHB) class associated with traffic flows. It enables traffic differentiation and QoS (Quality of Service) control based on DiffServ (Differentiated Services) architecture as described in [RFC 3140]. Encoding Rules: The PHB-Class AVP follows two encoding methods, depending on whether the PHB is standardized or experimental/local use. 1. Standardized PHBs (Defined by Standards [RFC 2474]) Uses DSCP values, left-justified in a 16-bit field. Bits 6–15 are set to zero. If representing a PHB set, bit 14 is set to 1. Example Encoding for a Standardized PHB: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ | DSCP | 0 0 0 0 0 0 0 0 X 0 | +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ 2. Experimental/Local Use PHBs Uses a 12-bit PHB identification code, left-justified. Bit 15 is set to 1. Bit 14 is 0 for a single PHB and 1 for a PHB set. Bits 12–13 are reserved (set to 0). Example Encoding for an Experimental PHB: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ | PHB id code | 0 0 X 1 | +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ |
|||
TMOD-1 |
495 |
Grouped |
IETF |
The TMOD-1 AVP is a Grouped AVP derived from [RFC 2210] and [RFC 2215] specifications. It defines traffic parameters required for Integrated Services (IntServ) and QoS provisioning in IP networks. This AVP is used to describe Token Bucket traffic models, specifying token rate, bucket depth, peak traffic rate, minimum policed unit, and maximum packet size. The AVP structure is defined as follows: Token-Rate (Mandatory, Float32): Specifies the rate (r) at which tokens are added to the bucket (in octets/second). Must be a non-negative value. Bucket-Depth (Mandatory, Float32): Represents the capacity (b) of the bucket in octets. It defines the maximum burst size allowed. Must be a positive value greater than or equal to Token-Rate. Peak-Traffic-Rate (Mandatory, Float32): Specifies the peak rate (p) at which data may be transmitted. It is used to model bursty traffic patterns. Must be greater than or equal to Token-Rate. Minimum-Policed-Unit (Mandatory, Unsigned32): Defines the minimum size of packets subject to policing. Smaller packets are treated as this size for policing purposes. Must be greater than zero. Maximum-Packet-Size (Mandatory, Unsigned32): Specifies the largest packet size allowed in the flow. It enforces upper limits for packet size in QoS policies. Must be greater than or equal to Minimum-Policed-Unit. |
|||
TMOD-2 |
501 |
Grouped |
IETF |
Extends the TMOD-1 AVP, following the specifications [RFC 2215]. It defines traffic parameters required for Integrated Services (IntServ) and QoS provisioning in IP networks, with the same semantics and structure as TMOD-1 but is often applied in scenarios requiring alternative traffic profiles or secondary QoS definitions. It models Token Bucket parameters, specifying token rate, bucket depth, peak traffic rate, minimum policed unit, and maximum packet size. The AVP structure is defined as follows: Token-Rate (Mandatory, Float32): Specifies the rate (r) at which tokens are added to the bucket (in octets/second). Must be a non-negative value. Bucket-Depth (Mandatory, Float32): Represents the capacity (b) of the bucket in octets, defining the maximum burst size allowed. Must be a positive value greater than or equal to Token-Rate. Peak-Traffic-Rate (Mandatory, Float32): Specifies the peak rate (p) at which data may be transmitted, modeling bursty traffic patterns. Must be greater than or equal to Token-Rate. Minimum-Policed-Unit (Mandatory, Unsigned32): Defines the minimum size of packets subject to policing, with smaller packets treated as this size. Must be greater than zero. Maximum-Packet-Size (Mandatory, Unsigned32): Specifies the largest packet size allowed in the flow. Must be greater than or equal to Minimum-Policed-Unit. |
|||
Token-Rate |
496 |
Float32 |
IETF |
Defines the rate (r) at which tokens are added to a token bucket in octets per second. This AVP is primarily used in traffic policing and QoS enforcement mechanisms to control data flow rates and ensure compliance with network resource allocation policies. |
Start innovating with Mobius
What's next? Let's talk!