draft-ietf-dime-qos-attributes-05.txt   draft-ietf-dime-qos-attributes-06.txt 
Diameter Maintenance and J. Korhonen, Ed. Diameter Maintenance and J. Korhonen, Ed.
Extensions (DIME) TeliaSonera Extensions (DIME) TeliaSonera
Internet-Draft H. Tschofenig Internet-Draft H. Tschofenig
Intended status: Standards Track Nokia Siemens Networks Intended status: Standards Track Nokia Siemens Networks
Expires: August 25, 2008 M. Arumaithurai Expires: November 27, 2008 M. Arumaithurai
University of Goettingen University of Goettingen
M. Jones M. Jones
A. Lior
Bridgewater Systems Bridgewater Systems
February 22, 2008 May 26, 2008
Quality of Service Attributes for Diameter Quality of Service Attributes for Diameter
draft-ietf-dime-qos-attributes-05.txt draft-ietf-dime-qos-attributes-06.txt
Status of this Memo Status of this Memo
By submitting this Internet-Draft, each author represents that any By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79. aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
skipping to change at page 1, line 39 skipping to change at page 1, line 40
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt. http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on August 25, 2008. This Internet-Draft will expire on November 27, 2008.
Copyright Notice
Copyright (C) The IETF Trust (2008).
Abstract Abstract
This document extends the QoSFilterRule AVP functionality of the This document extends the QoSFilterRule AVP functionality of the
Diameter Base protocol and the functionality of the QoS-Filter-Rule Diameter Base protocol and the functionality of the QoS-Filter-Rule
AVP defined in RFC 4005. The ability to convey Quality of Service AVP defined in RFC 4005. The ability to convey Quality of Service
information using the AVPs defined in this document is available to information using the AVPs defined in this document is available to
existing and future Diameter applications where permitted by the existing and future Diameter applications where permitted by the
command ABNF. command ABNF.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. Diameter QoS Defined AVPs . . . . . . . . . . . . . . . . . . 3 3. Diameter QoS Defined AVPs . . . . . . . . . . . . . . . . . . 4
3.1. QoS-Capability AVP . . . . . . . . . . . . . . . . . . . . 3 3.1. QoS-Capability AVP . . . . . . . . . . . . . . . . . . . . 4
3.2. QoS-Profile-Template AVP . . . . . . . . . . . . . . . . . 4 3.2. QoS-Profile-Template AVP . . . . . . . . . . . . . . . . . 5
3.3. QoS-Resources AVP . . . . . . . . . . . . . . . . . . . . 4 3.3. Vendor-Specific-QoS-Profile-Template AVP . . . . . . . . . 5
3.4. Extended-QoS-Filter-Rule AVP . . . . . . . . . . . . . . . 5 3.4. QoS-Resources AVP . . . . . . . . . . . . . . . . . . . . 5
3.5. QoS-Semantics . . . . . . . . . . . . . . . . . . . . . . 5 3.5. Extended-QoS-Filter-Rule AVP . . . . . . . . . . . . . . . 5
3.6. QoS-Parameters AVP . . . . . . . . . . . . . . . . . . . . 5 3.6. QoS-Semantics . . . . . . . . . . . . . . . . . . . . . . 6
3.7. QoS-Rule-Precedence AVP . . . . . . . . . . . . . . . . . 5 3.7. QoS-Parameters AVP . . . . . . . . . . . . . . . . . . . . 6
3.8. QoS-Flow-Direction AVP . . . . . . . . . . . . . . . . . . 6 3.8. QoS-Rule-Precedence AVP . . . . . . . . . . . . . . . . . 6
4. Semantics of QoS Parameters . . . . . . . . . . . . . . . . . 6 4. Semantics of QoS Parameters . . . . . . . . . . . . . . . . . 6
5. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 5. Diameter Classifier AVPs . . . . . . . . . . . . . . . . . . . 7
5.1. Diameter EAP with QoS Information . . . . . . . . . . . . 7 5.1. Classifier AVP . . . . . . . . . . . . . . . . . . . . . . 10
5.2. Diameter NASREQ with QoS Information . . . . . . . . . . . 8 5.2. Classifier-ID AVP . . . . . . . . . . . . . . . . . . . . 11
5.3. QoS Authorization . . . . . . . . . . . . . . . . . . . . 9 5.3. Protocol AVP . . . . . . . . . . . . . . . . . . . . . . . 11
5.4. Diameter Server Initiated Re-authorization of QoS . . . . 10 5.4. Direction AVP . . . . . . . . . . . . . . . . . . . . . . 11
5.5. Diameter Credit Control with QoS Information . . . . . . . 11 5.5. From-Spec AVP . . . . . . . . . . . . . . . . . . . . . . 12
6. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 12 5.6. To-Spec AVP . . . . . . . . . . . . . . . . . . . . . . . 12
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 5.7. Source and Destination AVPs . . . . . . . . . . . . . . . 13
8. Security Considerations . . . . . . . . . . . . . . . . . . . 13 5.7.1. Negated AVP . . . . . . . . . . . . . . . . . . . . . 13
9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 13 5.7.2. IP-Address AVP . . . . . . . . . . . . . . . . . . . . 14
9.1. Normative References . . . . . . . . . . . . . . . . . . . 13 5.7.3. IP-Address-Range AVP . . . . . . . . . . . . . . . . . 14
9.2. Informative References . . . . . . . . . . . . . . . . . . 13 5.7.4. IP-Address-Start AVP . . . . . . . . . . . . . . . . . 14
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 14 5.7.5. IP-Address-End AVP . . . . . . . . . . . . . . . . . . 15
Intellectual Property and Copyright Statements . . . . . . . . . . 15 5.7.6. IP-Address-Mask AVP . . . . . . . . . . . . . . . . . 15
5.7.7. IP-Mask-Bit-Mask-Width AVP . . . . . . . . . . . . . . 15
5.7.8. MAC-Address AVP . . . . . . . . . . . . . . . . . . . 15
5.7.9. Port AVP . . . . . . . . . . . . . . . . . . . . . . . 15
5.7.10. Port-Range AVP . . . . . . . . . . . . . . . . . . . . 15
5.7.11. Port-Start AVP . . . . . . . . . . . . . . . . . . . . 16
5.7.12. Port-End AVP . . . . . . . . . . . . . . . . . . . . . 16
5.7.13. Use-Assigned-Address AVP . . . . . . . . . . . . . . . 16
5.8. Header Option AVPs . . . . . . . . . . . . . . . . . . . . 16
5.8.1. Diffserv-Code-Point AVP . . . . . . . . . . . . . . . 16
5.8.2. Fragmentation-Flag AVP . . . . . . . . . . . . . . . . 16
5.8.3. IP-Option AVP . . . . . . . . . . . . . . . . . . . . 17
5.8.4. IP-Option-Type AVP . . . . . . . . . . . . . . . . . . 17
5.8.5. IP-Option-Value AVP . . . . . . . . . . . . . . . . . 17
5.8.6. TCP-Option AVP . . . . . . . . . . . . . . . . . . . . 17
5.8.7. TCP-Option-Type AVP . . . . . . . . . . . . . . . . . 18
5.8.8. TCP-Option-Value AVP . . . . . . . . . . . . . . . . . 18
5.8.9. TCP-Flags AVP . . . . . . . . . . . . . . . . . . . . 18
5.8.10. TCP-Flag-Type AVP . . . . . . . . . . . . . . . . . . 18
5.8.11. ICMP-Type . . . . . . . . . . . . . . . . . . . . . . 19
5.8.12. ICMP-Type-Number AVP . . . . . . . . . . . . . . . . . 19
5.8.13. ICMP-Code AVP . . . . . . . . . . . . . . . . . . . . 19
6. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
6.1. Diameter EAP with QoS Information . . . . . . . . . . . . 20
6.2. Diameter NASREQ with QoS Information . . . . . . . . . . . 21
6.3. QoS Authorization . . . . . . . . . . . . . . . . . . . . 22
6.4. Diameter Server Initiated Re-authorization of QoS . . . . 23
6.5. Diameter Credit Control with QoS Information . . . . . . . 24
6.6. Classifier mapping from IPFilterRule type . . . . . . . . 25
6.7. Complex Classifier . . . . . . . . . . . . . . . . . . . . 25
7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 25
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 25
9. Security Considerations . . . . . . . . . . . . . . . . . . . 26
10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 26
10.1. Normative References . . . . . . . . . . . . . . . . . . . 26
10.2. Informative References . . . . . . . . . . . . . . . . . . 27
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 27
Intellectual Property and Copyright Statements . . . . . . . . . . 29
1. Introduction 1. Introduction
This document defines a number of Diameter Quality of Service (QoS) This document defines a number of Diameter Quality of Service (QoS)
related AVPs that can be used in existing and future Diameter related AVPs that can be used in existing and future Diameter
applications where permitted by the command ABNF. The Extended-QoS- applications where permitted by the command ABNF. The Extended-QoS-
Filter-Rule AVP thereby replaces the QoSFilterRule, defined in RFC Filter-Rule AVP thereby replaces the QoSFilterRule, defined in RFC
3588 [RFC3588], and the QoS-Filter-Rule, defined in RFC 4005 3588 [RFC3588], and the QoS-Filter-Rule, defined in RFC 4005
[RFC4005]. [RFC4005].
skipping to change at page 3, line 27 skipping to change at page 4, line 27
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119]. document are to be interpreted as described in RFC 2119 [RFC2119].
3. Diameter QoS Defined AVPs 3. Diameter QoS Defined AVPs
The following table lists the Diameter AVPs used by this document, The following table lists the Diameter AVPs used by this document,
their AVP code values, types and possible flag values. their AVP code values, types and possible flag values.
+------------------+ +------------------+
| AVP Flag Rules | | AVP Flag Rules |
+-------------------------------------------------|----+---+----+----+ +------------------------------------------------|----+---+----+----+
| AVP Section |MUST|MAY|SHLD|MUST| | AVP Section |MUST|MAY|SHLD|MUST|
| Attribute Name Code Defined Data Type | | | NOT| NOT| | Attribute Name Code Defined Data Type | | | NOT| NOT|
+-------------------------------------------------+----+---+----+----+ +------------------------------------------------+----+---+----+----+
|QoS-Capability TBD 3.1 Grouped | |M,P| | V | |QoS-Capability TBD 3.1 Grouped | | P | |M,V |
|QoS-Profile-Template TBD 3.2 Unsigned64 | |M,P| | V | |QoS-Profile-Template TBD 3.2 Unsigned32 | | P | |M,V |
|QoS-Resources TBD 3.3 Grouped | |M,P| | V | |Vendor-Specific- | | | | |
|Extended-QoS-Filter-Rule TBD 3.4 Grouped | |M,P| | V | | QoS-Profile-Template TBD 3.3 Grouped | | P | |M,V |
|QoS-Semantics TBD 3.5 Enumerated | |M,P| | V | |QoS-Resources TBD 3.4 Grouped | | P | |M,V |
|QoS-Parameters TBD 3.6 OctetString| |M,P| | V | |Extended-QoS-Filter-Rule TBD 3.5 Grouped | | P | |M,V |
|QoS-Rule-Precedence TBD 3.7 Unsigned32 | |M,P| | V | |QoS-Semantics TBD 3.6 Enumerated | | P | |M,V |
|QoS-Flow-Direction TBD 3.9 Enumerated | |M,P| | V | |QoS-Parameters TBD 3.7 OctetString| | P | |M,V |
+-------------------------------------------------+----+---+----+----+ |QoS-Rule-Precedence TBD 3.8 Unsigned32 | | P | |M,V |
+------------------------------------------------+----+---+----+----+
3.1. QoS-Capability AVP 3.1. QoS-Capability AVP
The QoS-Capability AVP (AVP Code TBD) is of type Grouped and contains The QoS-Capability AVP (AVP Code TBD) is of type Grouped and contains
a list of supported Quality of Service profile templates (and a list of supported Quality of Service profile templates (and
therefore the support of the respective parameter AVPs). therefore the support of the respective parameter AVPs).
QoS-Capability ::= < AVP Header: XXX > QoS-Capability ::= < AVP Header: XXX >
1* { QoS-Profile-Template } 1* { QoS-Profile-Template }
* [ AVP ] * [ AVP ]
3.2. QoS-Profile-Template AVP 3.2. QoS-Profile-Template AVP
The QoS-Profile-Template AVP (AVP Code TBD) is of type Unsigned64 and The QoS-Profile-Template AVP (AVP Code TBD) is of type Unsigned32 and
contains a vendor and a specifier field. The 64-bit value in the contains a QoS profile template identifier. An initial QoS profile
QoS-Profile-Template AVP is structured as shown below. template is defined with value of 0 and is described in
[I-D.ietf-dime-qos-parameters]. The registry for the QoS profile
0 1 2 3 templates is created with the same document.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Vendor |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Specifier |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Vendor Field:
32 bits of IANA SMI Network Management Private Enterprise Code. 3.3. Vendor-Specific-QoS-Profile-Template AVP
The Vendor-ID 0x00000000 is reserved for IANA registered QoS
profiles.
Specifier Field: The Vendor-Specific-QoS-Profile-Template AVP (AVP Code TBD) is of
type Grouped and defines a vendor-specific QoS profile template.
32-bit unsigned integer, representing the defined profile value. The Vendor-Id AVP contains a 32 bit IANA SMI Network Management
Private Enterprise Code and the QoS-Profile-Template AVP contains the
template identifier assigned by the vendor.
An initial QoS profile template is defined with vendor field set to Vendor-Specific-QoS-Profile-Template ::= < AVP Header: XXX >
0x00000000 and the specifier field set to 0. The initial QoS profile { Vendor-Id }
template is described in [I-D.ietf-dime-qos-parameters]. The { QoS-Profile-Template }
registry for the QoS profile templates is created with the same * [ AVP ]
document.
3.3. QoS-Resources AVP 3.4. QoS-Resources AVP
The QoS-Resources AVP (AVP Code TBD) is of type Grouped and includes The QoS-Resources AVP (AVP Code TBD) is of type Grouped and includes
a description of the Quality of Service resources for policing a description of the Quality of Service resources for policing
traffic flows. traffic flows.
QoS-Resources ::= < AVP Header: XXX > QoS-Resources ::= < AVP Header: XXX >
* [ Extended-QoS-Filter-Rule ] * [ Extended-QoS-Filter-Rule ]
[ QoS-Flow-State ]
* [ AVP ] * [ AVP ]
3.4. Extended-QoS-Filter-Rule AVP 3.5. Extended-QoS-Filter-Rule AVP
The Extended-QoS-Filter-Rule AVP (AVP Code TBD) is of type Grouped The Extended-QoS-Filter-Rule AVP (AVP Code TBD) is of type Grouped
and defines one or more traffic flows together with a set of QoS and defines one or more traffic flows together with a set of QoS
parameters that should be applied to the flow(s) by the Resource parameters that should be applied to the flow(s) by the Resource
Management Function. This AVP re-uses the RADIUS NAS-Traffic-Rule Management Function. This AVP uses the Classifier AVP (see
AVP [I-D.ietf-radext-filter-rules] to describe traffic flows. At Section 5) to describe traffic flows.
least either one of the NAS-Traffic-Rule or the QoS-Flow-Direction
AVPs SHOULD be included.
Extended-QoS-Filter-Rule ::= < AVP Header: XXX > Extended-QoS-Filter-Rule ::= < AVP Header: XXX >
{ QoS-Semantics } { QoS-Semantics }
{ QoS-Profile-Template } { QoS-Profile-Template }
[ QoS-Parameters ] [ QoS-Parameters ]
[ QoS-Rule-Precedence ] [ QoS-Rule-Precedence ]
[ NAS-Traffic-Rule ] [ Classifier ]
[ QoS-Flow-Direction ]
* [ AVP ] * [ AVP ]
3.5. QoS-Semantics 3.6. QoS-Semantics
The QoS-Semantics AVP (AVP Code TBD) is of type Enumerated and The QoS-Semantics AVP (AVP Code TBD) is of type Enumerated and
provides the semantics for the QoS-Profile-Template and QoS- provides the semantics for the QoS-Profile-Template and QoS-
Parameters AVPs in the Extended-QoS-Filter-Rule AVP. Parameters AVPs in the Extended-QoS-Filter-Rule AVP.
This document defines the following values: This document defines the following values:
(0): QoS-Desired (0): QoS-Desired
(1): QoS-Available (1): QoS-Available
(2): QoS-Reserved (2): QoS-Reserved
(3): Minimum-QoS (3): Minimum-QoS
(4): QoS-Authorized (4): QoS-Authorized
3.6. QoS-Parameters AVP 3.7. QoS-Parameters AVP
The QoS-Parameters AVP (AVP Code TBD) is of type OctetString and The QoS-Parameters AVP (AVP Code TBD) is of type OctetString and
contains Quality of Service parameters. These parameters are defined contains Quality of Service parameters. These parameters are defined
in a separate document, see [I-D.ietf-dime-qos-parameters]. in a separate document, see [I-D.ietf-dime-qos-parameters].
3.7. QoS-Rule-Precedence AVP 3.8. QoS-Rule-Precedence AVP
The QoS-Rule-Precedence AVP (AVP Code TBD) is of type Unsigned32 and The QoS-Rule-Precedence AVP (AVP Code TBD) is of type Unsigned32 and
specifies the execution order of the rules expressed in the QoS- specifies the execution order of the rules expressed in the QoS-
Resources AVP. Rules with equal precedence MAY be executed in Resources AVP. Rules with equal precedence MAY be executed in
parallel if supported by the Resource Management Function. If the parallel if supported by the Resource Management Function. If the
QoS-Rule-Precedence AVP is absent from the Extended-QoS-Filter-Rule QoS-Rule-Precedence AVP is absent from the Extended-QoS-Filter-Rule
AVP, the rules SHOULD be executed in the order in which they appear AVP, the rules SHOULD be executed in the order in which they appear
in the QoS-Resources AVP. in the QoS-Resources AVP.
3.8. QoS-Flow-Direction AVP
The QoS-Flow-Direction AVP (AVP Code TBD) is of type Enumerated. It
gives an indication of the direction the provided QoS information
should be applied to. The QoS information can be applied to downlink
flows or to uplink flows. The QoS-Flow-Direction AVP may be used in
conjunction with the NAS-Traffic-Rule AVP. In a case conflicting
definitions between the QoS-Flow-Direction and the NAS-Traffic-Rule,
the QoS-Flow-Direction has precedence meaning the filter rules are
applied only to the flows going to the direction indicated by the
QoS-Flow-Direction AVP. In the absence of the QoS-Flow-Direction the
default treatment is to both directions.
Value | Name and Semantic
------+------------------------------------------------------------
0 | QOS_FLOW_DIRECTION_BOTH - The QoS information in applied to
| both downlink and uplink flows. This is also the default.
1 | QOS_FLOW_DIRECTION_DL - The QoS information in applied to
| downlink flows only.
2 | QOS_FLOW_DIRECTION_UL - The QoS information in applied to
| uplink flows only.
4. Semantics of QoS Parameters 4. Semantics of QoS Parameters
The QoS parameters carried in the QoS-Resources AVP may appear in The QoS parameters carried in the QoS-Resources AVP may appear in
different messages. The semantic of the QoS parameters depend on the different messages. The semantic of the QoS parameters depend on the
information provided in the QoS-Semantics AVP which currently defines information provided in the QoS-Semantics AVP which currently defines
5 values, namely QoS-Desired (0), QoS-Available (1), QoS-Reserved 5 values, namely QoS-Desired (0), QoS-Available (1), QoS-Reserved
(2), Minimum-QoS (3), and QoS-Authorized (4). (2), Minimum-QoS (3), and QoS-Authorized (4).
The semantics of the different values are as follows: The semantics of the different values are as follows:
Object Type Direction Semantic Object Type Direction Semantic
---------------------------------------------------------------------- ---------------------------------------------------------------------
QoS-Desired C->S Please authorize the indicated QoS QoS-Desired C->S Please authorize the indicated QoS
QoS-Desired C<-S NA QoS-Desired C<-S NA
QoS-Available C->S Admission Control at router indicates QoS-Available C->S Admission Control at router indicates
that this QoS is available. (note 1) that this QoS is available. (note 1)
QoS-Available C<-S Indicated QoS is available. (note 2) QoS-Available C<-S Indicated QoS is available. (note 2)
QoS-Reserved C->S Used for reporting during accounting. QoS-Reserved C->S Used for reporting during accounting.
QoS-Reserved C<-S NA QoS-Reserved C<-S NA
Minimum-QoS C->S Indicates that the client is not interested Minimum-QoS C->S Indicates that the client is not
interested in authorizing QoS that is interested in authorizing QoS that is
lower than Min. QoS lower than Min. QoS.
Minimum-QoS C<-S The client must not provide QoS guarantees Minimum-QoS C<-S The client must not provide QoS
lower than Min. QoS guarantees lower than Min. QoS.
QoS-Authorized C->S NA QoS-Authorized C->S NA
QoS-Authorized C<-S Indicated QoS authorized QoS-Authorized C<-S Indicated QoS authorized
Legend: Legend:
C: Diameter client C: Diameter client
S: Diameter server S: Diameter server
NA: Not applicable to this document; NA: Not applicable to this document;
no semantic defined in this specification no semantic defined in this specification
Notes: Notes:
(1) QoS-Available is only useful in relationship with QoS-Desired (1) QoS-Available is only useful in relationship with QoS-Desired
(and optionally with Minimum-QoS). (and optionally with Minimum-QoS).
(2) QoS-Available is only useful when the AAA server performs (2) QoS-Available is only useful when the AAA server performs
admission control and knows about the resources in the network. admission control and knows about the resources in the network.
5. Examples 5. Diameter Classifier AVPs
Classifiers are used in many applications to specify how to classify
packets. For example in a QoS application, if a packet matches a
classifier then that packet will be treated in accordance with a QoS
specification associated with that classifier.
The Classifiers are sent to on on-path element (e.g. a router) which
uses the classifier to match packets. Figure 1 shows a typical
deployment.
+-----------+
+-----------+|
+--------+ +-------------+ +------------+||
| | IN | | | |||
| +--------->| +------------->| |||
|Managed | | Classifying | | Unmanaged |||
|Terminal| OUT | Entity | | Terminal |||
| |<---------+ |<-------------+ ||+
| | | | | |+
+--------+ +-------------+ +------------+
^
| Classifiers
|
+------+-------+
| |
| AAA |
| |
+--------------+
Figure 1: Example of a Classifier Architecture
The managed terminal, the terminal for which the classifiers are
being specified is located on the left of the Classifying Entity.
The unmanaged terminal, the terminal that receives packets from the
Managed terminal or sends packets to the managed terminal is located
to the right side of the Classifying Entity.
The Classifying Entity is responsible for classifying packets that
are incoming (IN) from the Managed Terminal or packets outgoing (OUT)
to the Managed Terminal.
A Classifier consists of a group of attributes that specify how to
match a packet. Each set of attributes expresses values about
aspects of the packet - typically the packet header. Different
protocols therefore would use different attributes.
In general a Classifier consists of the following:
Identifier:
The identifier uniquely identifies this classifier and maybe used
to reference the classifier from another structure.
From:
Specifies the rule for matching the source part of the packet.
To:
Specifies the rule for matching the destination part of the
packet.
Protocol:
Specifies the matching protocol of the packet.
Direction:
Specifies whether the classifier is to apply to packets flowing
from the Managed Terminal (IN) or to packets flowing to the
Managed Terminal (OUT), or packets flowing in both direction.
Options:
Associated with each protocol or layer, or various values specific
to the header of the protocol or layer. Options allow matching on
those values.
Each protocol type will have a specific set of attributes that can be
used to specify a classifier for that protocol. These attributes
will be grouped under a grouped AVP called a Classifier AVP.
The following table lists the Classifer AVPs used by this document,
their AVP code values, types and possible flag values.
+------------------+
| AVP Flag Rules |
+------------------------------------------------|----+---+----+----+
| AVP Section |MUST|MAY|SHLD|MUST|
| Attribute Name Code Defined Data Type | | | NOT| NOT|
+------------------------------------------------+----+---+----+----+
|Classifier TBD 5.1 Grouped | | P | |M,V |
|Classifier-ID TBD 5.2 OctetString| | P | |M,V |
|Protocol TBD 5.3 Enumerated | | P | |M,V |
|Direction TBD 5.4 Enumerated | | P | |M,V |
|From-Spec TBD 5.5 Grouped | | P | |M,V |
|To-Spec TBD 5.6 Grouped | | P | |M,V |
|Negated TBD 5.7.1 Enumerated | | P | |M,V |
|IP-Address TBD 5.7.2 Address | | P | |M,V |
|IP-Address-Range TBD 5.7.3 Grouped | | P | |M,V |
|IP-Address-Start TBD 5.7.4 Address | | P | |M,V |
|IP-Address-End TBD 5.7.5 Address | | P | |M,V |
|IP-Address-Mask TBD 5.7.6 Grouped | | P | |M,V |
|IP-Mask-Bit-Mask-Width TBD 5.7.7 OctetString| | P | |M,V |
|MAC-Address TBD 5.7.8 OctetString| | P | |M,V |
|Port TBD 5.7.9 Integer32 | | P | |M,V |
|Port-Range TBD 5.7.10 Grouped | | P | |M,V |
|Port-Start TBD 5.7.11 Integer32 | | P | |M,V |
|Port-End TBD 5.7.12 Integer32 | | P | |M,V |
|Use-Assigned-Address TBD 5.7.13 Enumerated | | P | |M,V |
|Diffserv-Code-Point TBD 5.8.1 Enumerated | | P | |M,V |
|Fragmentation-Flag TBD 5.8.2 Enumerated | | P | |M,V |
|IP-Option TBD 5.8.3 Grouped | | P | |M,V |
|IP-Option-Type TBD 5.8.4 Enumerated | | P | |M,V |
|IP-Option-Value TBD 5.8.5 OctetString| | P | |M,V |
|TCP-Option TBD 5.8.6 Grouped | | P | |M,V |
|TCP-Option-Type TBD 5.8.7 Enumerated | | P | |M,V |
|TCP-Option-Value TBD 5.8.8 OctetString| | P | |M,V |
|TCP-Flags TBD 5.8.9 Grouped | | P | |M,V |
|TCP-Flag-Type TBD 5.8.10 Enumerated | | P | |M,V |
|ICMP-Type TBD 5.8.11 Grouped | | P | |M,V |
|ICMP-Type-Number TBD 5.8.12 Enumerated | | P | |M,V |
|ICMP-Code TBD 5.8.13 Enumerated | | P | |M,V |
+------------------------------------------------+----+---+----+----+
5.1. Classifier AVP
The Classifier AVP (AVP Code TBD) is a grouped AVP that consists of a
set of attributes that specify how to match a packet.
Classifier ::= < AVP Header: XXX >
{ Classifier-ID }
{ Protocol }
{ Direction }
* [ From-Spec ]
* [ To-Spec ]
* [ Diffserv-Code-Point ]
[ Fragmentation-Flag ]
* [ IP-Option ]
* [ TCP-Option ]
[ TCP-Flags ]
* [ ICMP-Type ]
* [ AVP ]
5.2. Classifier-ID AVP
The Classifier-ID AVP (AVP Code TBD) is of type OctetString and
uniquely identifies the classifier. Each application will define the
uniqueness scope of this identifier, e.g. unique per terminal or
globally unique. Exactly one Classifier-ID AVP MUST be contained
within a Classifier AVP.
5.3. Protocol AVP
The Protocol AVP (AVP Code TBD) is of type Enumerated and specifies
the protocol being matched. The attributes included in the
Classifier AVP must be consistent with the value of the Protocol AVP.
Exactly one Protocol AVP MUST be contained within a Classifier AVP.
The values for this AVP are managed by IANA under the Protocol
Numbers registry [PROTOCOL].
5.4. Direction AVP
The Direction AVP (AVP Code TBD) is of type Enumerated that specifies
in which direction to apply the Classifier. The values of the
enumeration are: "IN","OUT","BOTH". In the "IN" and "BOTH"
directions, the From-Spec refers to the address of the Managed
Terminal and the To-Spec refers to the unmanaged terminal. In the
"OUT" direction, the From-Spec refers to the Unmanaged Terminal
whereas the To-Spec refers to the Managed Terminal.
Value | Name and Semantic
------+------------------------------------------------------------
0 | RESERVED
1 | IN - The classifier applies to downlink flows only.
2 | OUT - The classifier applies to uplink flows only.
3 | BOTH - The classifier applies to both downlink
| and uplink flows.
5.5. From-Spec AVP
The From-Spec AVP (AVP Code TBD) is a grouped AVP that specifies the
Source Specification used to match the packet. Zero or more of these
AVPs may appear in the Classifier. If this AVP is absent from the
Classifier then all packets are matched regardless of the source
address. If more than one instance of this AVP appears in the
Classifier then the source of the packet can match any From-Spec AVP.
The contents of this AVP are protocol specific.
If more than one instance of the IP address AVPs (IP-Address, IP-
Address-Range, IP-Address-Mask, Use-Assigned-Address) appear in the
From-Spec AVP then the source IP address of the packet must match one
of the addresses represented by these AVPs.
If more that one instance of the MAC-Address AVP appears in the From-
Spec then the the source MAC address of the packet must match one of
the addresses represented in these AVPs.
If more that one instance of the port AVPs (Port, Port-Range) appears
in the From-Spec AVP then the source port number must match one of
the port numbers represented in these AVPs.
If the IP address, MAC address and port AVPs appear in the same From-
Spec AVP then the source packet must match all the specifications,
i.e. match the IP address AND MAC address AND port number.
From-Spec ::= < AVP Header: XXX >
* [ IP-Address ]
* [ IP-Address-Range ]
* [ IP-Address-Mask ]
* [ MAC-Address ]
* [ Port ]
* [ Port-Range ]
[ Negated ]
[ Use-Assigned-Address ]
* [ AVP ]
5.6. To-Spec AVP
The To-Spec AVP (AVP Code TBD) is a grouped AVP that specifies the
Destination Specification used to match the packet. Zero or more of
these AVPs may appear in the Classifier. If this AVP is absent from
the Classifier then all packets are matched regardless of the
destination address. If more than one instance of this AVP appears
in the Classifier then the destination of the packet can match any
To-Spec AVP. The contents of this AVP are protocol specific.
If more than one instance of the IP address AVPs (IP-Address, IP-
Address-Range, IP-Address-Mask, Use-Assigned-Address) appear in the
To-Spec AVP then the destination IP address of the packet must match
one of the addresses represented by these AVPs.
If more that one instance of the MAC-Address AVP appears in the To-
Spec then the the destination MAC address of the packet must match
one of the addresses represented in these AVPs.
If more that one instance of the port AVPs (Port, Port-Range) appears
in the To-Spec AVP then the destination port number must match one of
the port numbers represented in these AVPs.
If the IP address, MAC address and port AVPs appear in the same To-
Spec AVP then the destination packet must match all the
specifications, i.e. match the IP address AND MAC address AND port
number.
To-Spec ::= < AVP Header: XXX >
* [ IP-Address ]
* [ IP-Address-Range ]
* [ IP-Address-Mask ]
* [ MAC-Address ]
* [ Port ]
* [ Port-Range ]
[ Negated ]
[ Use-Assigned-Address ]
* [ AVP ]
5.7. Source and Destination AVPs
For packet classification the contents of the From-Spec and To-Spec
can contain the following AVPs.
By combining several of these AVPs within a From-Spec or To-Spec AVP
and using more than one From-Spec or To-Spec AVP in the Classifier
AVP, one can express many different types of address pools.
5.7.1. Negated AVP
The Negated AVP (AVP Code TBD) of type Enumerated containing the
values of True or False. Exactly zero or one of these AVPs may
appear in the From-Spec or To-Spec AVP. When set to True the meaning
of the match in the To-Spec and From-Spec are negated, causing all
other addresses to be matched instead.
When set to False, or when the AVP is not included in the From-Spec
or To-Spec AVP then the meaning of the match is not inverted, causing
only the addresses specified to be matched.
Note that the negation does not impact the port comparisons.
Value | Name
------+--------
0 | False
1 | True
5.7.2. IP-Address AVP
The IP-Address AVP (AVP Code TBD) is of type Address and specifies a
single IP address (IPv4 or IPv6) address to match.
5.7.3. IP-Address-Range AVP
The IP-Address-Range AVP (AVP Code TBD) is of type Grouped and
specifies an inclusive IP address range.
IP-Address-Range ::= < AVP Header: XXX >
[ IP-Address-Start ]
[ IP-Address-End ]
* [ AVP ]
If the IP-Address-Start AVP is not included then the address range
starts from the first valid IP address up to and including the
specified IP-Address-End address.
If the IP-Address-End AVP is not included then the address range
starts at the address specified by the IP-Address-Start AVP and
includes all the remaining valid IP addresses.
For the IP-Address-Range AVP to be valid, the IP-Address-Start AVP
MUST contain a value that is less than that of the IP-Address-End
AVP.
5.7.4. IP-Address-Start AVP
The IP-Address-Start AVP (AVP Code TBD) is of type Address and
specifies the first IP address (IPv4 or IPv6) address of an IP
address range.
5.7.5. IP-Address-End AVP
The IP-Address-End AVP (AVP Code TBD) is of type Address and
specifies the last IP address (IPv4 or IPv6) address of an address
range.
5.7.6. IP-Address-Mask AVP
The IP-Address-Mask AVP (AVP Code TBD) is of type Grouped and
specifies an IP address range using a base IP address and the bit-
width of the mask. For example, a range expressed as 1.2.3.0/24 will
match all IP addresses from 1.2.3.0 up to and including 1.2.3.255.
The bit-width MUST be valid for the type of IP address.
IP-Address-Mask ::= < AVP Header: XXX >
{ IP-Address }
{ IP-Bit-Mask-Width }
* [ AVP ]
5.7.7. IP-Mask-Bit-Mask-Width AVP
The IP-Bit-Mask-Width AVP (AVP Code TBD) is of type OctetString. The
value is a single octet and specifies the width of an IP address bit-
mask.
5.7.8. MAC-Address AVP
The MAC-Address AVP (AVP Code TBD) is of type OctetString and
specifies a single MAC address. The value is a 6 octets encoding of
the MAC address as it would appear in the frame header.
5.7.9. Port AVP
The Port AVP (AVP Code TBD) is of type Integer32 in the range of 0 to
65535 and specifies the TCP or UDP port number to match.
5.7.10. Port-Range AVP
The Port-Range AVP (AVP Code TBD) is of type Grouped and specifies an
inclusive range of ports.
Port-Range ::= < AVP Header: XXX >
[ Port-Start ]
[ Port-End ]
* [ AVP ]
If the Port-Start AVP is omitted then port 0 is assumed. If the
Port-End AVP is omitted then port 65535 is assumed.
5.7.11. Port-Start AVP
The Port-Start AVP (AVP Code TBD) is of type Integer32 and specifies
the first port number of an IP port range.
5.7.12. Port-End AVP
The Port-End AVP (AVP Code TBD) is of type Integer32 and specifies
the last port number of an IP port range.
5.7.13. Use-Assigned-Address AVP
In some scenarios, the AAA does not know the IP address assigned to
the Managed Terminal at the time that the Classifier is sent to the
Classifying Entity. The Use-Assigned-Address AVP (AVP Code TBD) is
of type Enumerated containing the values of True or False. When
present and set to True, it represents the IP address assigned to the
Managed Terminal.
Value | Name
------+--------
0 | False
1 | True
5.8. Header Option AVPs
The Classifier AVP may contain one or more of the following AVPs to
match on the various possible IP, TCP or ICMP header options.
5.8.1. Diffserv-Code-Point AVP
The Diffserv-Code-Point AVP (AVP Code TBD) is of type Enumerated and
specifies the Differentiated Services Field Codepoints to match in
the IP header. The values are managed by IANA under the
Differentiated Services Field Codepoints registry [DSCP].
5.8.2. Fragmentation-Flag AVP
The Fragmentation-Flag AVP (AVP Code TBD) is of type Enumerated and
specifies the packet fragmentation flags to match in the IP header.
Value | Name and Semantic
------+------------------------------------------------------------
0 | RESERVED
1 | Don't Fragment (DF)
2 | More Fragments (MF)
5.8.3. IP-Option AVP
The IP-Option AVP (AVP Code TBD) is of type Grouped and specifies an
IP header option that must be matched.
IP-Option ::= < AVP Header: XXX >
{ IP-Option-Type }
* [ IP-Option-Value ]
[ Negated ]
* [ AVP ]
If one or more IP-Option-Value AVPs are present, one of the values
MUST match the value in the IP header option. If the IP-Option-Value
AVP is absent, the option type MUST be present in the IP header but
the value is wild carded.
The Negated AVP is used in conjunction with the IP-Option-Value AVPs
to specify IP header options which do not match specific values. The
Negated AVP is used without the IP-Option-Value AVP to specify IP
headers which do not contain the option type.
5.8.4. IP-Option-Type AVP
The IP-Option-Type AVP (AVP Code TBD) is of type Enumerated and the
values are managed by IANA under the IP Option Numbers registry
[IPOPTIONS].
5.8.5. IP-Option-Value AVP
The IP-Option-Value AVP (AVP Code TBD) is of type OctetString and
contains the option value that must be matched.
5.8.6. TCP-Option AVP
The TCP-Option AVP (AVP Code TBD) is of type Grouped and specifies a
TCP header option that must be matched.
TCP-Option ::= < AVP Header: XXX >
{ TCP-Option-Type }
* [ TCP-Option-Value ]
[ Negated ]
* [ AVP ]
If one or more TCP-Option-Value AVPs are present, one of the values
MUST match the value in the TCP header option. If the TCP-Option-
Value AVP is absent, the option type MUST be present in the TCP
header but the value is wild carded.
The Negated AVP is used in conjunction which the TCP-Option-Value
AVPs to specify TCP header options which do not match specific
values. The Negated AVP is used without the TCP-Option-Value AVP to
specify TCP headers which do not contain the option type.
5.8.7. TCP-Option-Type AVP
The TCP-Option-Type AVP (AVP Code TBD) is of type Enumerated and the
values are managed by IANA under the TCP Option Numbers registry
[TCPOPTIONS].
5.8.8. TCP-Option-Value AVP
The TCP-Option-Value AVP (AVP Code TBD) is of type OctetString and
contains the option value that must be matched.
5.8.9. TCP-Flags AVP
The TCP-Flags AVP (AVP Code TBD) is of type Grouped and specifies a
set of TCP control flags that must be matched.
TCP-Flags ::= < AVP Header: XXX >
* [ TCP-Flag-Type ]
[ Negated ]
* [ AVP ]
If the Negated AVP is not present, the TCP-Flag-Type AVPs specifies
which flags MUST be set. If the Negated AVP is present, the TCP-
Flag-Type AVPs specifies which flags MUST be cleared.
5.8.10. TCP-Flag-Type AVP
The TCP-Flag-Type AVP (AVP Code TBD) is of type Enumerated and
specifies a TCP control flag type that must be matched.
Value | Name and Semantic
------+------------------------------------------------------------
0 | RESERVED
1 | CWR - Congestion Window Reduced.
2 | ECE - ECN-Echo. TCP peer is ECN capable.
3 | URG - URGent pointer field is significant.
4 | ACK - ACKnowledgment field is significant.
5 | PSH - Push function.
6 | RST - Reset the connection.
7 | SYN - Synchronize sequence numbers.
8 | FIN - No more data from sender.
5.8.11. ICMP-Type
The ICMP-Type AVP (AVP Code TBD) is of type Grouped and specifies a
ICMP message type that must be matched.
ICMP-Type ::= < AVP Header: XXX >
{ ICMP-Type-Number }
* [ ICMP-Code ]
[ Negated ]
* [ AVP ]
If the ICMP-Code AVP is present, the value MUST match that in the
ICMP header. If the ICMP-Code AVP is absent, the ICMP type MUST be
present in the ICMP header but the code is wild carded.
The Negated AVP is used in conjunction which the ICMP-Code AVPs to
specify ICMP codes which do not match specific values. The Negated
AVP is used without the ICMP-Code AVP to specify ICMP headers which
do not contain the ICMP type.
5.8.12. ICMP-Type-Number AVP
The ICMP-Type-Number AVP (AVP Code TBD) is of type Enumerated and the
values are managed by IANA under the ICMP Type Numbers registry
[ICMPTYPE].
5.8.13. ICMP-Code AVP
The ICMP-Code AVP (AVP Code TBD) is of type Enumerated and the values
are managed by IANA under the ICMP Type Numbers registry [ICMPTYPE].
6. Examples
This section shows a number of signaling flows where QoS negotiation This section shows a number of signaling flows where QoS negotiation
and authorization is part of the conventional NASREQ, EAP or Credit and authorization is part of the conventional NASREQ, EAP or Credit
Control applications message exchanges. The signalling flows for the Control applications message exchanges. The signalling flows for the
Diameter QoS Application are described in Diameter QoS Application are described in
[I-D.ietf-dime-diameter-qos]. [I-D.ietf-dime-diameter-qos].
5.1. Diameter EAP with QoS Information 6.1. Diameter EAP with QoS Information
Figure 9 shows a simple signaling flow where a NAS (Diameter Client) Figure 2 shows a simple signaling flow where a NAS (Diameter Client)
announces its QoS awareness and capabilities included into the DER announces its QoS awareness and capabilities included into the DER
message and as part of the access authentication procedure. Upon message and as part of the access authentication procedure. Upon
completion of the EAP exchange, the Diameter Server provides a pre- completion of the EAP exchange, the Diameter Server provides a pre-
provisioned QoS profile with the QoS-Semantics in the Extended-QoS- provisioned QoS profile with the QoS-Semantics in the Extended-QoS-
Filter-Rule AVP set to "QoS-Authorized", to the NAS in the final DEA Filter-Rule AVP set to "QoS-Authorized", to the NAS in the final DEA
message. message.
End Diameter Diameter End Diameter Diameter
Host Client server Host Client Server
| | | | | |
| (initiate EAP) | | | (initiate EAP) | |
|<------------------------------>| | |<----------------------------->| |
| | Diameter-EAP-Request | | | Diameter-EAP-Request |
| | EAP-Payload(EAP Start) | | | EAP-Payload(EAP Start) |
| | QoS-Capability | | | QoS-Capability |
| |------------------------------->| | |------------------------------->|
| | | | | |
| | Diameter-EAP-Answer | | | Diameter-EAP-Answer |
| Result-Code=DIAMETER_MULTI_ROUND_AUTH | | Result-Code=DIAMETER_MULTI_ROUND_AUTH |
| | EAP-Payload(EAP Request #1) | | | EAP-Payload(EAP Request #1) |
| |<-------------------------------| | |<-------------------------------|
| EAP Request(Identity) | | | EAP Request(Identity) | |
|<-------------------------------| | |<------------------------------| |
: : : : : :
: <<<more message exchanges>>> : : <<<more message exchanges>>> :
: : : : : :
| | | | | |
| EAP Response #N | | | EAP Response #N | |
|------------------------------->| | |------------------------------>| |
| | Diameter-EAP-Request | | | Diameter-EAP-Request |
| | EAP-Payload(EAP Response #N) | | | EAP-Payload(EAP Response #N) |
| |------------------------------->| | |------------------------------->|
| | | | | |
| | Diameter-EAP-Answer | | | Diameter-EAP-Answer |
| | Result-Code=DIAMETER_SUCCESS | | | Result-Code=DIAMETER_SUCCESS |
| | EAP-Payload(EAP Success) | | | EAP-Payload(EAP Success) |
| | [EAP-Master-Session-Key] | | | [EAP-Master-Session-Key] |
| | (authorization AVPs) | | | (authorization AVPs) |
| | QoS-Resources(QoS-Authorized) | | | QoS-Resources(QoS-Authorized) |
| |<-------------------------------| | |<-------------------------------|
| | | | | |
| EAP Success | | | EAP Success | |
|<-------------------------------| | |<------------------------------| |
| | | | | |
Figure 9: Example of a Diameter EAP enhanced with QoS Information Figure 2: Example of a Diameter EAP enhanced with QoS Information
5.2. Diameter NASREQ with QoS Information 6.2. Diameter NASREQ with QoS Information
Figure 10 shows a similar pre-provisioned QoS signaling as in Figure 3 shows a similar pre-provisioned QoS signaling as in Figure 2
Figure 9 but using the NASREQ application instead of EAP application. but using the NASREQ application instead of EAP application.
End Diameter End Diameter
Host NAS Server Host NAS Server
| | | | | |
| Start Network | | | Start Network | |
| Attachment | | | Attachment | |
|<---------------->| | |<---------------->| |
| | | | | |
| |AA-Request | | |AA-Request |
| |NASREQ-Payload | | |NASREQ-Payload |
skipping to change at page 9, line 45 skipping to change at page 22, line 45
| | AA-Answer| | | AA-Answer|
| | Result-Code=DIAMETER_SUCCESS| | | Result-Code=DIAMETER_SUCCESS|
| | (authorization AVPs)| | | (authorization AVPs)|
| |QoS-Resources(QoS-Authorized) | | |QoS-Resources(QoS-Authorized) |
| |<-----------------------------+ | |<-----------------------------+
| | | | | |
| Success | | | Success | |
|<-----------------+ | |<-----------------+ |
| | | | | |
Figure 10: Example of a Diameter NASREQ enhanced with QoS Information Figure 3: Example of a Diameter NASREQ enhanced with QoS Information
5.3. QoS Authorization 6.3. QoS Authorization
Figure 11 shows an example of authorization only QoS signaling as Figure 4 shows an example of authorization only QoS signaling as part
part of the NASREQ message exchange. The NAS provides the Diameter of the NASREQ message exchange. The NAS provides the Diameter server
server with the "QoS-Desired" QoS-Semantics AVP included in the QoS- with the "QoS-Desired" QoS-Semantics AVP included in the QoS-
Resources AVP. The Diameter server then either authorizes the Resources AVP. The Diameter server then either authorizes the
indicated QoS or rejects the request and informs the NAS about the indicated QoS or rejects the request and informs the NAS about the
result. In this scenario the NAS does not need to include the QoS- result. In this scenario the NAS does not need to include the QoS-
Capability AVP in the AAR message as the QoS-Resources AVP implicitly Capability AVP in the AAR message as the QoS-Resources AVP implicitly
does the same and also the NAS is authorizing a specific QoS profile, does the same and also the NAS is authorizing a specific QoS profile,
not a pre-provisioned one. not a pre-provisioned one.
End Diameter End Diameter
Host NAS Server Host NAS Server
| | | | | |
skipping to change at page 10, line 33 skipping to change at page 23, line 33
| | AA-Answer| | | AA-Answer|
| | NASREQ-Payload(Success)| | | NASREQ-Payload(Success)|
| | QoS-Resources(QoS-Authorized)| | | QoS-Resources(QoS-Authorized)|
| |<-----------------------------+ | |<-----------------------------+
| Accept | | | Accept | |
|<-----------------+ | |<-----------------+ |
| | | | | |
| | | | | |
| | | | | |
Figure 11: Example of an Authorization-Only Message Flow Figure 4: Example of an Authorization-Only Message Flow
5.4. Diameter Server Initiated Re-authorization of QoS 6.4. Diameter Server Initiated Re-authorization of QoS
Figure 12 shows a message exchange for a Diameter server initiated Figure 5 shows a message exchange for a Diameter server initiated QoS
QoS re-authorization procedure. The Diameter server sends the NAS a re-authorization procedure. The Diameter server sends the NAS a RAR
RAR message requesting re-authorization for an existing session and message requesting re-authorization for an existing session and the
the NAS acknowledges it with a RAA message. The NAS is aware of its NAS acknowledges it with a RAA message. The NAS is aware of its
existing QoS profile and information for the ongoing session that the existing QoS profile and information for the ongoing session that the
Diameter server requested for re-authorization. Thus, the NAS must Diameter server requested for re-authorization. Thus, the NAS must
initiate re-authorization of the existing QoS profile. The re- initiate re-authorization of the existing QoS profile. The re-
authorization procedure is the same as in Figure 11. authorization procedure is the same as in Figure 4.
End Diameter End Diameter
Host NAS Server Host NAS Server
| | | | | |
| | | | | |
: : : : : :
: <<<Initial Message Exchanges>>> : : <<<Initial Message Exchanges>>> :
: : : : : :
| | | | | |
| | RA-Request | | | RA-Request |
skipping to change at page 11, line 34 skipping to change at page 24, line 34
| |QoS-Resources(QoS-Desired) | | |QoS-Resources(QoS-Desired) |
| +----------------------------->| | +----------------------------->|
| | | | | |
| | AA-Answer| | | AA-Answer|
| | Result-Code=DIAMETER_SUCCESS| | | Result-Code=DIAMETER_SUCCESS|
| | (authorization AVPs)| | | (authorization AVPs)|
| | QoS-Resources(QoS-Authorized)| | | QoS-Resources(QoS-Authorized)|
| |<-----------------------------+ | |<-----------------------------+
| | | | | |
Figure 12: Example of a Server-initiated Re-Authorization Procedure Figure 5: Example of a Server-initiated Re-Authorization Procedure
5.5. Diameter Credit Control with QoS Information 6.5. Diameter Credit Control with QoS Information
In this case the User is charged as soon as the Service Element (CC In this case the User is charged as soon as the Service Element (CC
client) receives the service request. In this case the client uses client) receives the service request. In this case the client uses
the "QoS-Desired" QoS-Semantics parameter in the QoS-Resources AVP the "QoS-Desired" QoS-Semantics parameter in the QoS-Resources AVP
that it sends to the Accounitng server. The server responds with a that it sends to the Accounitng server. The server responds with a
"QoS-Available" QoS-Semantics parameter in the QoS-Resources AVP "QoS-Available" QoS-Semantics parameter in the QoS-Resources AVP
Service Element Service Element
End User (CC Client) B CC Server End User (CC Client) B CC Server
| | | | | | | |
|(1) Service Request | | | |(1) Service Request | | |
skipping to change at page 12, line 23 skipping to change at page 25, line 23
| | Resources[QoS-Authorized]) | | | Resources[QoS-Authorized]) |
| |<--------------------------------| | |<--------------------------------|
|(4) Service Delivery | | | |(4) Service Delivery | | |
|<--------------------| | | |<--------------------| | |
|(5) Begin service | | | |(5) Begin service | | |
|<------------------------------------>| | |<------------------------------------>| |
| | | | | | | |
. . . . . . . .
. . . . . . . .
Figure 13: Example for a One-Time Diameter Credit Control Charging Figure 6: Example for a One-Time Diameter Credit Control Charging
Event Event
6. Acknowledgments 6.6. Classifier mapping from IPFilterRule type
6.7. Complex Classifier
7. Acknowledgments
We would like to thank Victor Fajardo, Tseno Tsenov, Robert Hancock, We would like to thank Victor Fajardo, Tseno Tsenov, Robert Hancock,
Jukka Manner, Cornelia Kappler, Xiaoming Fu, Frank Alfano, Avi Lior, Jukka Manner, Cornelia Kappler, Xiaoming Fu, Frank Alfano,Tolga
Tolga Asveren, Mike Montemurro, Glen Zorn, Avri Doria, Dong Sun, Tina Asveren, Mike Montemurro,Glen Zorn, Avri Doria, Dong Sun, Tina Tsou,
Tsou, Pete McCann, Georgios Karagiannis and Elwyn Davies for their Pete McCann, Georgios Karagiannis and Elwyn Davies for their
comments. comments.
7. IANA Considerations 8. IANA Considerations
This specification requests IANA to assignment of new AVPs from the This specification requests IANA to assignment of new AVPs from the
AVP Code namespace defined in RFC 3588 [RFC3588]. Section 3 lists AVP Code namespace defined in RFC 3588 [RFC3588]. Section 3 and
the newly defined AVPs. Section 5 list the newly defined AVPs.
IANA is requested to allocate a registry for the QoS-Semantics. The IANA is requested to allocate a registry for the QoS-Semantics. The
following values are allocated by this specification. following values are allocated by this specification.
(0): QoS-Desired (0): QoS-Desired
(1): QoS-Available (1): QoS-Available
(2): QoS-Reserved (2): QoS-Reserved
(3): Minimum-QoS (3): Minimum-QoS
(4): QoS-Authorized (4): QoS-Authorized
A specification is required to add a new value to the registry. A A specification is required to add a new value to the registry. A
standards track document is required to depreciate, delete, or modify standards track document is required to depreciate, delete, or modify
existing values. existing values.
8. Security Considerations 9. Security Considerations
This document describes the extension of Diameter for conveying This document describes the extension of Diameter for conveying
Quality of Service information. The security considerations of the Quality of Service information. The security considerations of the
Diameter protocol itself have been discussed in RFC 3588 [RFC3588]. Diameter protocol itself have been discussed in RFC 3588 [RFC3588].
Use of the AVPs defined in this document MUST take into consideration Use of the AVPs defined in this document MUST take into consideration
the security issues and requirements of the Diameter Base protocol. the security issues and requirements of the Diameter Base protocol.
9. References 10. References
9.1. Normative References 10.1. Normative References
[DSCP] IANA,, "Differentiated Services Field Codepoints",
http://www.iana.org/assignments/dscp-registry.
[I-D.ietf-dime-qos-parameters] [I-D.ietf-dime-qos-parameters]
Korhonen, J. and H. Tschofenig, "Quality of Service Korhonen, J. and H. Tschofenig, "Quality of Service
Parameters for Usage with the AAA Framework", Parameters for Usage with the AAA Framework",
draft-ietf-dime-qos-parameters-01 (work in progress), draft-ietf-dime-qos-parameters-03 (work in progress),
September 2007. February 2008.
[I-D.ietf-radext-filter-rules] [ICMPTYPE]
Congdon, P., "RADIUS Attributes for Filtering and IANA,, "ICMP Type Numbers",
Redirection", draft-ietf-radext-filter-rules-03 (work in http://www.iana.org/assignments/icmp-parameters.
progress), July 2007.
[IPOPTIONS]
IANA,, "IP Option Numbers",
http://www.iana.org/assignments/ip-parameters.
[PROTOCOL]
IANA,, "Protocol Types",
http://www.iana.org/assignments/protocol-numbers.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC3588] Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. [RFC3588] Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J.
Arkko, "Diameter Base Protocol", RFC 3588, September 2003. Arkko, "Diameter Base Protocol", RFC 3588, September 2003.
[RFC4005] Calhoun, P., Zorn, G., Spence, D., and D. Mitton, [RFC4005] Calhoun, P., Zorn, G., Spence, D., and D. Mitton,
"Diameter Network Access Server Application", RFC 4005, "Diameter Network Access Server Application", RFC 4005,
August 2005. August 2005.
9.2. Informative References [TCPOPTIONS]
IANA,, "TCP Option Numbers",
http://www.iana.org/assignments/tcp-parameters.
10.2. Informative References
[I-D.ietf-dime-diameter-qos] [I-D.ietf-dime-diameter-qos]
Sun, D., McCann, P., Tschofenig, H., Tsou, T., Doria, A., Sun, D., McCann, P., Tschofenig, H., Tsou, T., Doria, A.,
and G. Zorn, "Diameter Quality of Service Application", and G. Zorn, "Diameter Quality of Service Application",
draft-ietf-dime-diameter-qos-04 (work in progress), draft-ietf-dime-diameter-qos-05 (work in progress),
January 2008. February 2008.
Authors' Addresses Authors' Addresses
Jouni Korhonen (editor) Jouni Korhonen (editor)
TeliaSonera TeliaSonera
Teollisuuskatu 13 Teollisuuskatu 13
Sonera FIN-00051 Sonera FIN-00051
Finland Finland
Email: jouni.korhonen@teliasonera.com Email: jouni.korhonen@teliasonera.com
Hannes Tschofenig Hannes Tschofenig
Nokia Siemens Networks Nokia Siemens Networks
Otto-Hahn-Ring 6 Linnoitustie 6
Munich, Bavaria 81739 Espoo 02600
Germany Finland
Email: Hannes.Tschofenig@nsn.com Phone: +358 (50) 4871445
URI: http://www.tschofenig.com Email: Hannes.Tschofenig@gmx.net
URI: http://www.tschofenig.priv.at
Mayutan Arumaithurai Mayutan Arumaithurai
University of Goettingen University of Goettingen
Email: mayutan.arumaithurai@gmail.com Email: mayutan.arumaithurai@gmail.com
Mark Jones Mark Jones
Bridgewater Systems Bridgewater Systems
303 Terry Fox Drive 303 Terry Fox Drive
Ottawa, Ontario K2K 3J1 Ottawa, Ontario K2K 3J1
Canada Canada
Email: mark.jones@bridgewatersystems.com Email: mark.jones@bridgewatersystems.com
Avi Lior
Bridgewater Systems
303 Terry Fox Drive, Suite 500
Ottawa, Ontario
Canada K2K 3J1
Phone: +1 613-591-6655
Email: avi@bridgewatersystems.com
Full Copyright Statement Full Copyright Statement
Copyright (C) The IETF Trust (2008). Copyright (C) The IETF Trust (2008).
This document is subject to the rights, licenses and restrictions This document is subject to the rights, licenses and restrictions
contained in BCP 78, and except as set forth therein, the authors contained in BCP 78, and except as set forth therein, the authors
retain all their rights. retain all their rights.
This document and the information contained herein are provided on an This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
skipping to change at page 15, line 44 skipping to change at line 1200
attempt made to obtain a general license or permission for the use of attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr. http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at this standard. Please address the information to the IETF at
ietf-ipr@ietf.org. ietf-ipr@ietf.org.
Acknowledgment
Funding for the RFC Editor function is provided by the IETF
Administrative Support Activity (IASA).
 End of changes. 63 change blocks. 
158 lines changed or deleted 725 lines changed or added

This html diff was produced by rfcdiff 1.35. The latest version is available from http://tools.ietf.org/tools/rfcdiff/