< draft-alfano-aaa-qosprot-03.txt   draft-alfano-aaa-qosprot-04.txt >
Authentication, Authorization and F. Alfano Authentication, Authorization and F. Alfano
Accounting P. McCann Accounting P. McCann
Internet-Draft Lucent Technologies Internet-Draft Lucent Technologies
Expires: January 19, 2006 H. Tschofenig Expires: March 9, 2006 H. Tschofenig
T. Tsenov T. Tsenov
Siemens Siemens
July 18, 2005 September 5, 2005
Diameter Quality of Service Application Diameter Quality of Service Application
draft-alfano-aaa-qosprot-03.txt draft-alfano-aaa-qosprot-04.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 37 skipping to change at page 1, line 37
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 January 19, 2006. This Internet-Draft will expire on March 9, 2006.
Copyright Notice Copyright Notice
Copyright (C) The Internet Society (2005). Copyright (C) The Internet Society (2005).
Abstract Abstract
This document describes a Diameter Application that performs This document describes a Diameter application that performs
Authentication, Authorization, and Accounting for Quality of Service Authentication, Authorization, and Accounting for Quality of Service
(QoS) reservations. This protocol is used by elements along the path (QoS) reservations. This protocol is used by elements along the path
of a given application flow to authenticate a reservation request, of a given application flow to authenticate a reservation request,
ensure that the reservation is authorized, and to account for ensure that the reservation is authorized, and to account for
resources consumed during the lifetime of the application flow. resources consumed during the lifetime of the application flow.
Clients that implement the Diameter QoS application contact an Clients that implement the Diameter QoS application contact an
authorizing entity/application server that is located somewhere in authorizing entity/application server that is located somewhere in
the network, allowing for a wide variety of flexible deployment the network, allowing for a wide variety of flexible deployment
models. models.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5
3. Framework . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3. Framework . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.1 Network element functional model . . . . . . . . . . . . . 7 3.1. Network element functional model . . . . . . . . . . . . . 7
3.2 Authorization models . . . . . . . . . . . . . . . . . . . 9 3.2. Authorization models . . . . . . . . . . . . . . . . . . . 9
3.3 QoS authorization considerations . . . . . . . . . . . . . 10 3.3. QoS authorization considerations . . . . . . . . . . . . . 12
4. Diameter QoS Authorization session establishment and 4. Diameter QoS Authorization session establishment and
management . . . . . . . . . . . . . . . . . . . . . . . . . . 14 management . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.1 Session parties' functional description . . . . . . . . . 14 4.1. Involved parties . . . . . . . . . . . . . . . . . . . . . 15
4.1.1 End-user initiator of the QoS signaling session . . . 14 4.2. Initial QoS authorization (Diameter QoS authorization
4.1.2 QoS policy aware transport plane element session establishment) . . . . . . . . . . . . . . . . . . 15
functionality . . . . . . . . . . . . . . . . . . . . 15 4.3. QoS authorization session re-authorization . . . . . . . . 18
4.1.3 Authorizing Entity functionality . . . . . . . . . . . 16 4.3.1. Client-side initiated Re-Authorization . . . . . . . . 19
4.2 QoS authorization session re-authorization . . . . . . . . 16 4.3.2. Server-side initiated Re-Authorization . . . . . . . . 20
4.2.1 Client-side initiated Re-Authorization . . . . . . . . 16 4.4. Server-side initiated QoS parameter provisioning . . . . . 21
4.2.2 Server-side initiated Re-Authorization . . . . . . . . 16 4.5. Session Termination . . . . . . . . . . . . . . . . . . . 22
4.3 Server-side initiated QoS parameter provisioning . . . . . 17 4.5.1. Client-side initiated session termination . . . . . . 22
4.4 Session Termination . . . . . . . . . . . . . . . . . . . 17 4.5.2. Server-side initiated session termination . . . . . . 23
4.4.1 Client-side initiated session termination . . . . . . 17 5. Accounting . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.4.2 Server-side initiated session termination . . . . . . 17 6. Diameter QoS authorization application Messages . . . . . . . 27
5. Accounting . . . . . . . . . . . . . . . . . . . . . . . . . . 18 6.1. QoS-Authorization Request (QAR) . . . . . . . . . . . . . 28
6. Diameter QoS authorization application Messages . . . . . . . 19 6.2. QoS-Authorization Answer (QAA) . . . . . . . . . . . . . . 28
6.1 QoS-Authorization Request (QAR) . . . . . . . . . . . . . 20 6.3. QoS-Install Request (QIR) . . . . . . . . . . . . . . . . 29
6.2 QoS-Authorization Answer . . . . . . . . . . . . . . . . . 20 6.4. QoS-Install Answer (QAA) . . . . . . . . . . . . . . . . . 30
6.3 QoS-Install Request . . . . . . . . . . . . . . . . . . . 21 6.5. Accounting Request (ACR) . . . . . . . . . . . . . . . . . 30
6.4 QoS-Install Request . . . . . . . . . . . . . . . . . . . 22 6.6. Accounting Answer (ACA) . . . . . . . . . . . . . . . . . 31
7. Diameter QoS Authorization Application AVPs . . . . . . . . . 23 7. Diameter QoS Authorization Application AVPs . . . . . . . . . 32
7.1 Diameter Base Protocol AVPs . . . . . . . . . . . . . . . 23 7.1. Diameter Base Protocol AVPs . . . . . . . . . . . . . . . 32
7.2 Credit Control application AVPs . . . . . . . . . . . . . 23 7.2. Credit Control application AVPs . . . . . . . . . . . . . 32
7.3 Authentication/Authorization AVPs . . . . . . . . . . . . 24 7.3. Accounting AVPs . . . . . . . . . . . . . . . . . . . . . 33
7.4 Accounting AVPs . . . . . . . . . . . . . . . . . . . . . 24 7.4. Diameter QoS Application Defined AVPs . . . . . . . . . . 33
7.5 Diameter QoS Application Defined AVPs . . . . . . . . . . 24 8. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
8. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 9. Security Considerations . . . . . . . . . . . . . . . . . . . 40
9. Security Considerations . . . . . . . . . . . . . . . . . . . 33 10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 41
10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 34 11. Open Issues . . . . . . . . . . . . . . . . . . . . . . . . . 42
11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 35 12. References . . . . . . . . . . . . . . . . . . . . . . . . . . 43
12. Open Issues . . . . . . . . . . . . . . . . . . . . . . . . 36 12.1. Normative References . . . . . . . . . . . . . . . . . . . 43
13. References . . . . . . . . . . . . . . . . . . . . . . . . . 37 12.2. Informative References . . . . . . . . . . . . . . . . . . 43
13.1 Normative References . . . . . . . . . . . . . . . . . . . 37 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 45
13.2 Informative References . . . . . . . . . . . . . . . . . . 37 Intellectual Property and Copyright Statements . . . . . . . . . . 46
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 39
Intellectual Property and Copyright Statements . . . . . . . . 40
1. Introduction 1. Introduction
To meet the Quality of Service needs of applications such as Voice- To meet the Quality of Service needs of applications such as Voice-
over-IP in a heavily loaded network, packets belonging to real-time over-IP in a heavily loaded network, packets belonging to real-time
application flows must be identified and segregated from other application flows must be identified and segregated from other
traffic to ensure that bandwidth, delay, and loss rate requirements traffic to ensure that bandwidth, delay, and loss rate requirements
are met. In addition, new flows should not be added to the network are met. In addition, new flows should not be added to the network
when it is at or near capacity, which would result in degradation of when it is at or near capacity, which would result in degradation of
quality for all flows carried by the network. quality for all flows carried by the network.
skipping to change at page 4, line 34 skipping to change at page 4, line 34
reservation request must also authenticate and authorize the request, reservation request must also authenticate and authorize the request,
especially in an environment where the endpoints are not trusted. In especially in an environment where the endpoints are not trusted. In
addition, these nodes will generate accounting information about the addition, these nodes will generate accounting information about the
resources used and attribute usage to the requesting endpoints. This resources used and attribute usage to the requesting endpoints. This
will enable the owner of the network element to generate usage- will enable the owner of the network element to generate usage-
sensitive billing records and to understand how to allocate new sensitive billing records and to understand how to allocate new
network capacity. network capacity.
A variety of protocols could be used to make a QoS request, including A variety of protocols could be used to make a QoS request, including
RSVP [RFC2210], NSIS [I-D.ietf-nsis-qos-nslp], link-specific RSVP [RFC2210], NSIS [I-D.ietf-nsis-qos-nslp], link-specific
signaling or even SIP/SDP [RFC2327]. This document focuses on signaling or even SIP/SDP [RFC2327]. This document aims to be
supporting the NSIS QoS NSLP. This will have an implication on the agnostic to the used QoS signaling protocol and to the signaled QoS
content and format of the flow identifiers and QoS attributes that model.
represent a particular reservation request within the Diameter QoS
application; however, other aspects of its operation can easily be
generalized to other QoS signaling protocols. The Diameter QoS
application could be used directly in the context of these other
reservation protocols, given the definition of a suitable conversion
between the representations used by those protocols and the ones used
by NSIS.
2. Terminology 2. Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"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].
The following terms are used in this document: The following terms are used in this document:
Application Server Application Server
skipping to change at page 5, line 32 skipping to change at page 5, line 32
An application endpoint is an entity in an end user device that An application endpoint is an entity in an end user device that
exchanges signaling messages with application servers or directly exchanges signaling messages with application servers or directly
with other application endpoints. Based on the result of this with other application endpoints. Based on the result of this
signaling, the endpoint will make a request for QoS from the signaling, the endpoint will make a request for QoS from the
network. For example, a SIP User Agent is one kind of application network. For example, a SIP User Agent is one kind of application
endpoint. endpoint.
Authorizing Entity Authorizing Entity
The authorizing entity is that entity responsible for authorizing The authorizing entity is that entity responsible for authorizing
QoS requests for a particular application flow. This may be a AAA QoS requests for a particular application flow or aggregate. This
server (with a subscriber database) or an application server or may be a Diameter server (with a subscriber database) or an
some other entity. application server acting as a Diameter server.
AAA Cloud AAA Cloud
A network of AAA proxy/broker arrangements. A network of AAA proxy/broker arrangements.
Furthermore, we use terminology defined in [RFC3588]. Network Element (NE)
QoS aware router that acts as Diameter client that implements the
Diameter QoS application in the context of this document. For
almost all scenarios this entity triggers the protocol interaction
described in this document. This entity corresponds to the Policy
Enforcement Point (PEP) (see [RFC2753]) from a functionality point
of view.
3. Framework 3. Framework
The Diameter QoS application runs between a network element receiving The Diameter QoS application runs between a network element receiving
QoS reservation requests (acting as a AAA client) and the resource QoS reservation requests (acting as a AAA client) and the resource
authorizing entity (acting as a AAA server). A high-level picture of authorizing entity (acting as a AAA server). A high-level picture of
the resulting architecture is shown in Figure 1. the resulting architecture is shown in Figure 1.
+-------------+ +-----------------+
| Resource | | Authorizing |
| Authorizing | | Entity |
| Entity | |(Diameter Server)|
+-----+-------+ +-------+---------+
| |
| |
/\-----+-----/\ /\-----+-----/\
//// \\\\ //// \\\\
|| || || AAA Cloud ||
| AAA Cloud | | (Diameter application) |
|| || || ||
\\\\ //// \\\\ ////
\-------+-----/ \-------+-----/
| |
+---+--+ +---+--+ +---+--+ +---+--+ +-----+----+ +---+--+
Application | | | | | | | | | NE | | | Application
===============+ NE +===+ NE +===+ NE +========>> + NE +===+(Diameter +===+ NE +=============>>
Flow | | | | | | | | | Client) | | | Flow
+------+ +------+ +------+ +------+ +----------+ +------+
Figure 1: An Architecture supporting QoS-AAA Figure 1: An Architecture supporting QoS-AAA
Figure 1 depicts network elements through which application flows Figure 1 depicts network elements through which application flows
need to pass, a cloud of AAA servers, and an authorizing entity. need to pass, a cloud of AAA servers, and an authorizing entity.
Note that there may be more than one router that needs to interact Note that there may be more than one router that needs to interact
with the AAA cloud along the path of a given application flow, with the AAA cloud along the path of a given application flow,
although the figure only depicts one for clarity. Routers will although the figure only depicts one for clarity. QoS aware network
request authorization for QoS from the AAA cloud, which will route elements will request authorization from the AAA cloud based on an
the request, for example, to the home network where the home incoming QoS reservation request, which will route the request, for
authorizing entity will return authorizing information. example, to the home network where the home authorizing entity will
return the result of the authorization decision.
In more complex deployment models, the authorization will be based on In more complex deployment models, the authorization will be based on
dynamic application state, so the request must be authenticated and dynamic application state, so that the request must be authenticated
authorized based on information from one or more application servers. and authorized based on information from one or more application
If defined properly, the interface between the routers and AAA cloud servers. If defined properly, the interface between the routers and
would be identical in both cases. Routers are therefore insulated AAA cloud would be identical in both cases. Routers are therefore
from the details of particular applications and need not know that insulated from the details of particular applications and need not
application servers are involved at all. Also, the AAA cloud would know that application servers are involved at all. Also, the AAA
naturally encompass business relationships such as those between cloud would naturally encompass business relationships such as those
network operators and third-party application providers, enabling between network operators and third-party application providers,
flexible intra- or inter-domain authorization, accounting, and enabling flexible intra- or inter-domain authorization, accounting,
settlement. and settlement.
3.1 Network element functional model 3.1. Network element functional model
Figure 2 depicts a logical operational model of resource management Figure 2 depicts a logical operational model of resource management
in a router. in a router.
+-----------------------------------------------------+ +-----------------------------------------------------+
| DIAMETER Client | | DIAMETER Client |
| Functionality | | Functionality |
| +---------------++---------------++---------------+ | | +---------------++---------------++---------------+ |
| | User || Authorization || Accounting | | | | User || Authorization || Accounting | |
| | Authentication|| of QoS || for QoS | | | | Authentication|| of QoS || for QoS | |
skipping to change at page 8, line 46 skipping to change at page 8, line 46
| Packet | | Interface | .+----------+ +---------+. | Packet | | Interface | .+----------+ +---------+.
===>|Processing|====| Selection |===.| Packet |====| Packet |.=> ===>|Processing|====| Selection |===.| Packet |====| Packet |.=>
| | |(Forwarding)| .|Classifier| Scheduler|. | | |(Forwarding)| .|Classifier| Scheduler|.
+----------+ +------------+ .+----------+ +---------+. +----------+ +------------+ .+----------+ +---------+.
............................. .............................
<.-.-> = signaling flow <.-.-> = signaling flow
=====> = data flow (sender --> receiver) =====> = data flow (sender --> receiver)
<<<>>> = control and configuration operations <<<>>> = control and configuration operations
****** = routing table manipulation ****** = routing table manipulation
Figure 2: Network element functional model Figure 2: Network element functional model
Processing of incoming QoS reservation requests includes three Processing of incoming QoS reservation requests includes three
actions: admission control, authorization and resource reservation. actions: admission control, authorization and resource reservation.
The admission control function provides information for available The admission control function provides information for available
resources and determines whether there are enough resources to resources and determines whether there are enough resources to
fulfill the request. Authorization is performed by the Diameter fulfill the request. Authorization is performed by the Diameter
client function which involves contacting an authorization entity client function which involves contacting an authorization entity
through the AAA cloud shown in Section 3. If both checks are through the AAA cloud shown in Section 3. If both checks are
successful, the authorized QoS parameters are set in the packet successful, the authorized QoS parameters are set in the packet
classifier and the packet scheduler. Note that the parameters passed classifier and the packet scheduler. Note that the parameters passed
to the Traffic Control function may be different from requested QoS to the Traffic Control function may be different from requested QoS
(depending on the authorization decision). Once the requested (depending on the authorization decision). Once the requested
resource is granted, the Resource Management function provides resource is granted, the Resource Management function provides
accounting information to the Authorizing entity using the Diameter accounting information to the Authorizing entity using the Diameter
client function. client function.
3.2 Authorization models 3.2. Authorization models
With respect to NSIS signaling, different authorization models have Three fundamental models for authorizing QoS reservations exist: one
been investigated and discussed in detail in [I-D.tschofenig-nsis- two-party and two three party models. See [I-D.tschofenig-nsis-aaa-
aaa-issues] and in [I-D.tschofenig-nsis-qos-authz-issues]. From the issues] and in [I-D.tschofenig-nsis-qos-authz-issues] for a more
Diameter QoS application's point of view these models differ in type detailed discussion of authorization models and the impact for QoS
of information that need to be carried. Here we focus on the 'Three reservations. From the Diameter QoS application's point of view
party approach' model (Figure 3) and the 'Token based three party these models differ in type of information that need to be carried.
approach' model (Figure 4). Here we focus on the 'Three party model' (Figure 3) and the Token
based three party model' (Figure 4). With the 'Two party model' the
QoS resource requesting entity is authenticated by the Network
Element and the authorization decision is made either locally at the
Network Element itself or offloaded to a trusted entity (most likely
within the same administrative domain). In the former case no
Diameter QoS protocol interaction is required.
+--------------+ +--------------+
| Entity | | Entity |
| authorizing | <......+ | authorizing | <......+
| resource | . | resource | .
| request | . | request | .
+------------+-+ . +------------+-+ .
--^----------|-- . . --^----------|-- . .
///// | | \\\\\ . ///// | | \\\\\ .
// | | \\ . // | | \\ .
| QoS | QoS AAA | QoS |. | QoS | QoS AAA | QoS |.
| authz| protocol |authz |. | authz| protocol |authz |.
| req.| | res. |. | req.| | res. |.
\\ | | // . \\ | | // .
\\\\\ | | ///// . \\\\\ | | ///// .
QoS --|----------v-- . . QoS --|----------v-- . .
+-------------+ request +-+------------+ . +-------------+ request +-+------------+ .
| Entity |----------------->| BE | . | Entity |----------------->| NE | .
| requesting | | performing | . | requesting | | performing | .
| resource |granted / rejected| QoS | <.....+ | resource |granted / rejected| QoS | <.....+
| |<-----------------| reservation | financial | |<-----------------| reservation | financial
+-------------+ +--------------+ settlement +-------------+ +--------------+ settlement
Figure 3: Three Party Approach Figure 3: Three Party Model
In the 'Three party approach' model, a resource request by the end With the 'Three party model' a QoS reservation request that hits the
host is received at the router in the local network and then sent to Network Element is forwarded to the Authorizing Entity (e.g., the
the user's home network (after processing) where authorization is user's home network), where the authorization decision is made. A
provided. The response is then returned and resources are granted business relationship, such as a roaming agreement, between the
(in case of a successful authorization decision). The interaction visited network and the home network ensures that the visited network
between the visited network and the home network establishes the is compensated for the consumed resources of the user via the home
necessary financial infrastructure to later charge the user for the network.
consumed resources.
financial settlement financial settlement
...........................+ ...........................+
Authorization V ------- . Authorization V ------- .
Token Request +--------------+ / QoS AAA \ . Token Request +--------------+ / QoS AAA \ .
+-------------->| Entity | / protocol \ . +-------------->| | / protocol \ .
| | authorizing +--------------+ \ . | | Authorizing +--------------+ \ .
| | resource | | | | . | | Entity | | | | .
| +------+ request |<--+----+ | | . | +------+ |<--+----+ | | .
| | +--------------+ |QoS | |QoS |. | | +--------------+ |QoS | |QoS |.
| | |authz| |authz|. | | |authz| |authz|.
| |Authorization |req.+| |res. |. | |Authorization |req.+| |res. |.
| |Token |Token| | |. | |Token |Token| | |.
| | | | | . | . | | | | | . | .
| | \ | | . / . | | \ | | . / .
| | \ | | / . | | \ | | / .
| | QoS request |-----V . . | | QoS request |-----V . .
+-------------+ + Authz. Token +--------+-----+ . +-------------+ + Authz. Token +--------+-----+ .
| Entity |----------------->| BE | . | Entity |----------------->| NE | .
| requesting | | performing | . | requesting | | performing | .
| resource |granted / rejected| QoS | <....+ | resource |granted / rejected| QoS | <....+
| |<-----------------| reservation | | |<-----------------| reservation |
+-------------+ +--------------+ +-------------+ +--------------+
Figure 4: Token based three party approach Figure 4: Token based Three Party Model
The token based three party approach is applicable in environments The 'Token based Three Party model' is applicable to environments
where a previous protocol interaction is used to request where a previous protocol interaction is used to request
authorization tokens (or something similar) to assist the authorization tokens to assist the authorization process at the
authorization process at the entity performing the QoS reservation. Network Element or the Authorizing Entity.
A host contacts the Authorizing entity and obtains an authorization
token for a requested service prior to sending a QoS reservation
request. It includes the authorization token in its reservation
request and this token is used in the routers along the flow path for
QoS authorization. (e.g. the authorization token is included in QoS
AAA messages between the router and the Authorizing entity.)
3.3 QoS authorization considerations The QoS resource requesting entity may be involved in an application
layer protocol interaction, for example using SIP, with the
Authorizing Entity. As part of this interaction, authentication and
authorization at the application layer might take place. As a result
of a successful authorization decision, which might involve the
user's home AAA server, an authorization token is generated by the
Authorizing Entity (e.g., the SIP proxy and an entity trusted by the
SIP proxy) and returned to the end host for inclusion into the QoS
signaling protocol. The authorization token will be used by a
Network Element that receives the QoS signaling message to authorize
the QoS request. Alternatively, the Diameter QoS application will be
used to forward the authorization token to the user's home network.
The authorization token allows the authorization decision performed
at the application layer protocol run to be associated with a
corresponding QoS signaling session. Note that the authorization
token might either refer to established state concerning the
authorization decision or the token might itself carry the authorized
parameters (protected by a digital signature or a keyed message
digest to prevent tampering). In the latter case the authorization
token may contain several pieces of information pertaining to the
authorized application session, but at minimum it should contain:
o An identifier of the Authorizing Entity (for example, of an
application server) that issued the authorization token,
o An identifier referring to a specific application protocol session
for which the token was issued and
o A keyed message digest or digital signature protecting the content
of the authorization token.
A possible structure for the authorization token and the policy
element carrying it are proposed in context of RSVP [RFC3520], with
the OSP [ETSI-OSP] or as outlined in [I-D.ietf-sipping-trait-authz]
and [I-D.tschofenig-sip-saml].
3.3. QoS authorization considerations
A QoS authorization application must meet a number of requirements A QoS authorization application must meet a number of requirements
applicable to a diverse set of networking environments and services. applicable to a diverse set of networking environments and services.
It should be compliant with different deployment scenarios with It should be compliant with different deployment scenarios with
specific QoS signaling models and security issues. In addition, specific QoS signaling models and security issues. Satisfying the
real-time signaling for QoS provisioning requires a QoS authorization requirements listed below requirements while interworking with QoS
application to support flexible and fast authentication and signaling protocols, a Diameter QoS application should accommodate
authorization methods. Satisfying these requirements while the capabilities of the QoS signaling protocols rather than
interworking with QoS signaling protocols, a Diameter QoS application introducing functional requirements on them. A list of requirements
should accommodate the capabilities of the QoS signaling protocols for a QoS authorization application is provided here:
rather than introducing functional requirements on them. A list of
requirements for a QoS authorization application is reviewed in
details in [I-D.alfano-aaa-qosreq]. A short list is provided here:
Inter-domain support Inter-domain support
In particular, users may roam outside their home network, leading In particular, users may roam outside their home network, leading
to a situation where the network element and authorizing entity to a situation where the network element and authorizing entity
are in different administrative domains. are in different administrative domains.
Identity-based Routing Identity-based Routing
The QoS AAA protocol MUST route AAA requests to the authorizing The QoS AAA protocol MUST route AAA requests to the Authorizing
entity based on the identity information given in the QoS Entity.
signaling protocol.
Flexible Authentication Support Flexible Authentication Support
The QoS AAA protocol MUST support a variety of different The QoS AAA protocol MUST support a variety of different
authentication protocols for verification of authentication authentication protocols for verification of authentication
information present in QoS signaling messages. information present in QoS signaling messages. The support for
these protocols MAY be provided indirectly by tying the signaling
communication for QoS to a previous authentication protocol
exchange (e.g., using network access authentication).
Making an Authorization Decision Making an Authorization Decision
The QoS AAA protocol MUST exchange sufficient information between The QoS AAA protocol MUST exchange sufficient information between
the authorizing entity and the enforcing entity (and vice versa) the authorizing entity and the enforcing entity (and vice versa)
to compute an authorization decision and to execute this decision. to compute an authorization decision and to execute this decision.
Triggering an Authorization Process Triggering an Authorization Process
The QoS AAA protocol MUST allow periodic and event triggered The QoS AAA protocol MUST allow periodic and event triggered
skipping to change at page 12, line 43 skipping to change at page 14, line 13
node or other reasons for packet loss) to the authorizing entity. node or other reasons for packet loss) to the authorizing entity.
Accounting Correlation Accounting Correlation
The QoS AAA protocol MUST support the exchange of sufficient The QoS AAA protocol MUST support the exchange of sufficient
information to allow for correlation between accounting records information to allow for correlation between accounting records
generated by the network elements and accounting records generated generated by the network elements and accounting records generated
by an application server. by an application server.
Interaction with other AAA Applications Interaction with other AAA Applications
Interaction with other AAA applications such as Diameter NASREQ
Interaction with other AAA applications such as Diameter Credit [RFC4005] is required for exchange of authorization,
Control [I-D.ietf-aaa-diameter-cc] and Diameter NASREQ [I-D.ietf-
aaa-diameter-nasreq] is required for exchange of authorization,
authentication and accounting information. authentication and accounting information.
Deployment scenarios for Diameter QoS applicatuion should be divided In deployment scenarios, where authentication of the QoS reservation
into Authorization_Only or Authentication_and_Authorization, requesting entity (e.g., the user) is done by means outside the
depending on the service that a contacted 3-rd party Authorizing Diameter QoS application protocol interaction the Authorizing Entity
entity must provide. Authorization decisions are based on a provided is contacted only with a request for QoS authorization.
identifier (user or application session) that must be authenticated. Authentication might have taken place already via the interaction
with the Diameter NASREQ application or as part of the QoS signaling
protocol (e.g., TLS handshake in GIST [I-D.ietf-nsis-ntlp]).
In cases where authentication is done a priory at the Authorizing Authentication of the QoS reservation requesting entity to the
entity or at the transport plane element by other means, (e.g., Authorizing Entity is necessary if a particular Diameter QoS
collocated application for network access (NASREQ) or authentication application protocol run cannot be related (of if there is no
for secured transport channel establishment used by GIMPS [I-D.ietf- intention to relate it) to a prior authentication. In this case the
nsis-ntlp] in the NSIS, the Authorizing entity is contacted only with Authorizing Entity MUST authenticate the QoS reservation requesting
a request for QoS authorization. In cases where other authentication entity in order to authorize the QoS request as part of the Diameter
mechanisms are not present, the Authorizing entity must also QoS protocol interaction.
authenticate the user in order to authorize the QoS request.
4. Diameter QoS Authorization session establishment and management 4. Diameter QoS Authorization session establishment and management
4.1 Session parties' functional description 4.1. Involved parties
Authorization models supported by this application include 3 parties: Authorization models supported by this application include three
o The End-user as the initiator of the QoS signaling session. parties:
o QoS policy aware transport plane element(s) (Diameter QoS o Resource requesting entity
application client). o Network Elements (Diameter QoS clients)
o Authorizing entity (Diameter QoS application server). o Authorizing Entity (Diameter QoS server)
Note that the End-user is an indirect participant in the QoS Note that the QoS resource requesting entity is only indirectly
authorization session and is not directly involved in the Diameter involved in the message exchange. This entity provides the trigger
QoS application session. The End-user may communicate with the to initiate the Diameter QoS protocol interaction by transmitting QoS
Authorizing entity via off-path application level signaling. The signaling messages. The Diameter QoS application is only executed
End-user communicates with the QoS policy aware network element(s) between the Network Element (i.e., Diameter QoS client) and the
via the QoS signaling protocol. Considering its indirect role in the Authorizing Entity (i.e., Diameter QoS server).
Diameter QoS application session, we briefly include its functional
description for clarification purposes.
4.1.1 End-user initiator of the QoS signaling session The QoS resource requesting entity may communicate with the
Authorizing Entity using application layer signaling for negotiation
of service parameters. As part of this application layer protocol
interaction, for example using SIP, authentication and authorization
might take place (see Figure 4). This message exchange is, however,
outside the scope of this document. This protocol communication
might be accomplished using the NSIS protocol suite, RSVP or a link
layer signaling protocol. A description of these protocols is also
outside the scope of this document and a tight coupling with these
protocols is not desired since this applications aims to be generic.
Based on one of the authorization and authentication models, an End- 4.2. Initial QoS authorization (Diameter QoS authorization session
user may be involved in application level service negotiation with an establishment)
Application server (Authorizing entity). At that time the user
requests are validated against their subscription and as a result the
Application server issues an authorization token to the End-user for
the negotiated application service and QoS resources. An
authorization token may contain several pieces of information
pertaining to the authorized application session, but at minimum it
should contain:
o An identifier of the Application server which issued the token,
o An identifier of the application session for which it is issued
and
o Authentication data that guarantees the validity of the token.
A possible structure for the authorization token and the policy
element carrying it are proposed in [RFC3520], [ETSI-OSP].
In a different authentication and authorization scenario, which does Figure 5 shows the protocol interaction between a resource requesting
not use a token generated by the authorizing entity, (General 3 party entity, a Network Element and the Authorizing Entity.
approach Figure 3), an End-user MAY initiate a QoS signaling session
by generating a QoS Reserve message containing the requested QoS
resource description and additional user identification data, which
is used also to locate the Authorizing entity. The Authorizing
entity should use the provided request and credentials in the
authentication and authorization process and integrity verification
of the QoS request.
4.1.2 QoS policy aware transport plane element functionality A request for a QoS reservation received by a Network Element
initiates a Diameter QoS authorization session. The Network Element
generates a QoS-Authorization-Request message (QAR) in which it maps
required objects from the QoS signaling message to Diameter AVPs.
Authorizing Entity's identity (Destination-Host AVP), pointer to the
application session and/or identity and credentials of the QoS
resource requesting entity (QoS-Authentication-Data, User-Name-ID
AVPs), requested QoS parameters (QSPEC AVP), signaling session
identifier and/or QoS enabled data flows identifiers (Signaling-
Session-Id and Flows AVPs) MAY be encapsulated into respective
Diameter AVPs and included into the Diameter message sent to the
Authorizing Entity. The QAR is sent to a Diameter server that can
either be in the realm of the QoS requesting entity or also be an
application server.
A request for a QoS reservation received by a Policy aware node, When the Diameter QoS server receives the QAR authorization
initiates a Diameter QoS authorization session. The Policy aware processing starts. Based on the information in the QoS-
node generates a QoS-Authorization-Request message (QAR) in which it Authentication-Data, User-Name-ID and QoS-Authorized-Resources AVPs
maps required objects from the QoS signaling message to Diameter the server determines the authorized QoS resources and flow state
AVPs. Depending on the deployment scenario, information for (enabled/disabled) from locally available information (e.g., policy
signaling session identification, Authorizing entity identification, information that may be previously established as part of an
requested QoS description, End-user identity, authorization token, application layer signaling exchange, or the user's subscription
End-user authentication credentials and authentication information profile). The authorization decision is then reflected in the
for QoS objects may all be encapsulated into Diameter AVPs and response returned to the Diameter client with the QoS-Authorization-
included into the Diameter message send to the Authorizing entity Answer message (QAA).
(Application server or End-user's home realm).
Authorizing
End-Host Network Element Entity
requesting QoS ( Diameter ( Diameter
QoS Client) QoS Server)
| | |
+---QoS-Reserve---->| |
| +- - - - - QAR - - - - - >|
| |(QoS-Resources,Cost, |
| | QoS-Auth-Data,User-ID)|
| | +--------+--------------+
| | | Authorize request |
| | | Keep session data |
| | |/Authz-time,Session-Id/|
| | +--------+--------------+
| |< - - - - QAA - - - - - -+
| |(Result-Code,CC-Time,Cost|
| |QoS-Resources,Authz-time)|
| +-------+---------+
| |Install QoS state|
| | + |
| | Authz. session |
| | /Authz-time, |
| | CC-Time,Cost/ |
| +-------+---------+
| +----------QoS-Reserve--------------->
| |
| |<---------QoS-Response---------------
|<--QoS-Response----+
| |
|=====================Data Flow==========================>
| |
| +- - - - - ACR - - - - - >|
| |(START,QoS-Resources,Cost|
| |CC-Time,Acc-Multisess-id)|
| | +--------+--------------+
| | | Report for successful |
| | | QoS reservation |
| | |Update of reserved QoS |
| | | resources |
| | +--------+--------------+
| |< - - - - ACA - - - - - -+
| | |
Figure 5: Initial QoS request authorization
The Authorizing Entity keeps authorization session state and SHOULD
save additional information for management of the session (e.g., Acc-
Multi-Session-Id, Signaling-Session-Id, authentication data) as part
of the session state information. A Signaling-session-Id (if
present) SHOULD be used together with the generated Acc-Multi-
Session-Id AVP for binding the authorization and the accounting
session information in case of end host mobility (i.e., to correlate
the Diameter sessions that are initiated for the same signaling
session from different QoS NE).
The final result of the authorization request is provided in the The final result of the authorization request is provided in the
Result-Code AVP of the QoS-Authorization-Answer message (QAA) sent by Result-Code AVP of the QAA message sent by the Authorizing Entity.
the Authorizing entity. Description of authorized QoS resources and In case of successful authorization (i.e., Result-Code =
status of the authorized flow (enabled/disabled) are provided in the DIAMETER_LIMITED_SUCCESS), information about the authorized QoS
included QoS-Authorization-Resources AVP of the QAA message too. resources and the status of the authorized flow (enabled/disabled) is
Authorized parameters may be installed into the QoS Traffic Control provided in the QoS-Authorization-Resources AVP of the QAA message.
function of the QoS policy aware transport plane element (see The QoS information provided via the QAA is installed by the QoS
Figure 2). Traffic Control function of the Network Element (see Figure 2).
Authorization duration information is also provided in the QAA. A One important piece of information returned from the Authorizing
number of factors MAY influence the authorized session duration such Entity is the authorization lifetime (carried inside the QAA). The
as the user's subscription plan or the method used for QoS authorization lifetime allows the Network Element to determine how
negotiation and authorization. Currently authorization duration is long the authorization decision is valid for this particular QoS
time-based as specified in [RFC3588]. Before expiration of the reservation. A number of factors may influence the authorized
authorization period, a new QoS-Authorization-Request/Answer message session duration, such as the user's subscription plan or currently
exchange should be initiated. After expiration of the authorization available credits at the user's account (see Section 5). The
lifetime, an explicit request for re-authorization must be sent to authorization duration is time-based as specified in [RFC3588]. For
the transport plane element using a Re-Auth-Request message (RAR). an extension of the authorization period, a new QoS-Authorization-
Further authorization session maintenance issues are discussed in the Request/Answer message exchange SHOULD be initiated. Further aspects
following section for Re-Authorization and Session termination (see of QoS authorization session maintenance is discussed in Section 4.3,
Section 4.2 and Section 4.4). Section 4.5 and Section 5.
Authorization duration may also be based on data volume transferred The indication of a successful QoS reservation and activation of the
on an authorized data flow. data flow, is done by the transmission of an Accounting Request (ACR)
message, which reports the parameters of the established QoS state:
reserved resources, duration of the reservation, identification of
the QoS enabled flow/QoS signaling session and accounting parameters.
The Diameter QoS server acknowledges the reserved QoS resources with
the Accounting Answer (ACA) message where the Result-Code is set to
'DIAMETER_SUCCESS'. Note that the reserved QoS resources reported in
the ACR message MAY be less than those initially authorized with QAA
message, due to the QoS signaling specific behavior (e.g., receiver-
initiated reservations with One-Path-With-Advertisements) specific
process of QoS negotiation along the data path.
After successful authorization, session establishment and initiation 4.3. QoS authorization session re-authorization
of the data flow, a Diameter accounting session should be established
between the transport plane element and an Accounting server.
Accounting information is reported as specified in [RFC3588] with
additional extensions specified in a subsequent section for
Accounting (Section 5).
4.1.3 Authorizing Entity functionality Client and server-side initiated re-authorizations are considered in
the design of the Diameter QoS application. Whether the re-
authorization events are transparent for the resource requesting
entity or result in specific actions in the QoS signaling protocol is
outside the scope of the Diameter QoS application. It is directly
dependent on the capabilities of the QoS signaling protocol.
The Diameter QoS application server receives the initial QoS- 4.3.1. Client-side initiated Re-Authorization
Authorization-Request message (QAR). It verifies the integrity of
the included Authorization-Token AVP (if included) (Figure 4). Based
on the info in the authorization token and/or the provided user
identity and credentials, the server determines the authorized QoS
resources and flow state (enabled/disabled) from a priory negotiated
resource information or user subscription profile, and includes this
information in an QoS-Authorization-Answer message (QAA).
Authorizing entity establishes authorization session state and SHOULD The Authorizing Entity provides the duration of the authorization
save additional information for management of the session (Acc- session as part of the QoS-Authorization-Answer message (QAA). At
Mulisession-Id, signaling session identifier and authentication data) any time before expiration of this period, a new QoS-Authorization-
as part of the session state info. Signaling session identifier (if Request message (QAR) MAY be sent to the Authorizing Entity. The
present) SHOULD be used together with the generated transmission of the QAR MAY be triggered when the Network Element
Acc-Multisession-Id AVP for binding of authorization and accounting receives a QoS signaling message with the semantic of modifying an
session information in case of user mobility. The authentication ongoing authorized QoS session or when authorization lifetime expires
data should be used for verification of the freshness and or by an accounting event (see Section 5)(Figure 6)
authenticity of subsequent QoS requests. Authorizing
End-Host Network Element Entity
requesting QoS ( Diameter ( Diameter
QoS Client) QoS Server)
| | |
|=====================Data Flow==========================>
| | |
| +-------+----------+ |
| |Authz-time/CC-Time| |
| | expires | |
| +-------+----------+ |
| +- - - - - QAR - - - - - >|
| |(QoS-Resources,Cost, |
| | QoS-Auth-Data,User-ID)|
| +--------+--------------+
NOTE: | | Authorize request |
Re-authorization | | Update session data |
is transparent to | |/Authz-time,Session-Id/|
the End-Host | +--------+--------------+
|< - - - - QAA - - - - - -+
| |(Result-Code,CC-Time,Cost|
| |QoS-Resources,Authz-time)|
| +-------+---------+ |
| |Update QoS state | |
| | + | |
| | Authz. session | |
| | /Authz-time, | |
| | CC-Time,Cost/ | |
| +-------+---------+ |
| | |
| +- - - - - ACR - - - - - >|
| |(INTRM,QoS-Resources,Cost|
| |CC-Time,Acc-Multisess-id)|
| | +--------+--------------+
| | | Update of used QoS |
| | |resources/CC-Time,Cost/|
| | +--------+--------------+
| |< - - - - ACA - - - - - -+
| | |
|=====================Data Flow==========================>
| |
4.2 QoS authorization session re-authorization Figure 6: QoS request re-authorization
Client and server-side initiated re-authorizations are considered in 4.3.2. Server-side initiated Re-Authorization
the design of the Diameter QoS application. These have impact on the
interworking between the Diameter and the QoS signaling protocols.
4.2.1 Client-side initiated Re-Authorization The Authorizing Entity MAY optionally initiate a QoS re-authorization
by issuing a Re-Auth-Request message (RAR) as defined in the Diameter
base protocol [BASE]. A Network Element client that receives such a
RAR message with Session-Id matching a currently active QoS session
acknowledges the request by sending the Re-Auth-Answer (RAA) message
and MUST initiate a QoS reservation re-authorization by sending a
QoS-Authorization-Request (QAR) message towards the Authorizing
entity.
As described above, the Authorizing entity provides the duration of 4.4. Server-side initiated QoS parameter provisioning
the authorization session as part of the QoS-Authorization-Answer
message (QAA). At any time before expiration of this period, a new
QoS-Authorization-Request message (QAR) may be sent to the
authorizing entity. It may be triggered by a reception of a new QoS
Reserve message which requests modification of the authorized QoS
reservation state.
4.2.2 Server-side initiated Re-Authorization The Authorizing Entity is enabled to update installed QoS parameters
and flow state at the Network Element by sending a QoS-Install
Request message (QIR). Network Elements MUST apply the updates and
respond with an QoS-Install Answer message (QIA). This
functionality, for example, allows to update already authorized flow
status of an established QoS reservation due to a change at the
application layer session (Figure 7).
If the client does not re-authorize the session before it expires, Authorizing
after expiration of the authorization lifetime, an explicit request End-Host Network Element Entity
for re-authorization is sent from the Authorizing entity to the requesting QoS ( Diameter ( Diameter
transport plane element with an Re-Auth-Request message (RAR). This QoS Client) QoS Server)
message should trigger a notification QoS signaling message sent to | | |
the End-user who is expected to initiate a refreshing QoS Reserve +===================+=Data Flow==========================>
message containing a description of the refreshed QoS resources. | | +--------+--------------+
Reception of this message at the QoS policy aware node will trigger | | | Gate close event |
QoS-Authorization-Request message (QAR), which eventually re- | | +--------+--------------+
authorizes the authorization session and extend its lifetime. | |< - - - - QIR - - - - - -+
| |(QoS-Resources[QoS-Flow- |
| | -State=CLOSE]) |
| +-------+---------+ |
| |Update QoS state | |
| | + | |
| | Authz. session | |
| |/QoS-Flow-State= | |
| | CLOSE/ | |
| +-------+---------+ |
+====Data Flow=====>X |
| +- - - - - QAA - - - - - >|
| | (Result-Code) |
At any time during the QoS authorization session the Authorizing Figure 7: Server-side initiated QoS parameter provisioning
server MAY send Re-Auth-Request message (RAR). The transport plane
element MUST respond with Re-Auth-Answer message (RAA) and send a
notification QoS signaling message to the End-user, which will
trigger the previously described process of QoS state refresh and re-
authorization.
4.3 Server-side initiated QoS parameter provisioning The Authorizing Entity MAY initiate QoS authorization session
establishment and QoS reservation state installation (prior to a
request from a Network Element). Such function requires that the
Authorizing Entity has knowledge of specific information identifying
the Network Element that should be contacted and the data flow for
which the QoS reservation should be established.
The Authorizing entity (Home Server or Application Server) is enabled 4.5. Session Termination
to update installed QoS parameters and flow state at the QoS aware
transport plane elements by sending a QoS-Install Request message
(QIR). Transport elements MUST apply the updates and respond with an
QoS-Install Answer message (QIA). An example application of this
functionality would be updating of the flow status of an established
QoS reservation due to a change of the application service session.
Early initial QoS parameter installation (prior to a request from a
transport plane element) is allowed. Early installation requires
availability of specific information to the Authorizing entity, e.g.,
identity of the node that should be contacted and identification of
the flow (filter specifications) for which the QoS reservation is
established.
4.4 Session Termination 4.5.1. Client-side initiated session termination
4.4.1 Client-side initiated session termination A QoS authorization session MAY be terminated by the Diameter client
by sending a Session-Termination-Request message (STR) to the
Diameter server. This is a Base Diameter protocol functionality and
it is defined in [RFC3588]. Session termination can be caused by a
QoS signaling messaging requesting to delete an existing QoS
reservation state or it can be caused as a result of a loss of bearer
report. After a successful termination of the authorization session,
final accounting messages MUST be exchanged (Figure 8).
A QoS authorization session MAY be terminated from the client side by Authorizing
sending a Session-Termination-Request message (STR) to the server. End-Host Network Element Entity
This is a Base Diameter protocol functionality and it is defined in requesting QoS ( Diameter ( Diameter
[RFC3588]. Session termination can be caused by a QoS signaling tear QoS Client) QoS Server)
down message or via a loss of bearer report. After a successful | | |
termination of the authorization session, final accounting messages |==Data Flow==>X /Stop of the data flow/ |
should be exchanged. | | |
+---QoS-Reserve---->| |
| (TearOn) +- - - - - STR - - - - - >|
| | +--------+--------------+
|<--QoS-Response----+ | Remove session state |
| | +--------+--------------+
|< - - - - STA - - - - - -+
+-------+-----------+ |
|Tear down QoS state|
| Report final |
| accounting data |
+-------+-----------+
+----------QoS-Reserve--------------->
| (TearOn)
|
+- - - - - ACR - - - - - >|
|(FINAL,QoS-Resources,Cost|
|CC-Time,Acc-Multisess-id)|
| +--------+--------------+
| | Report for successful |
| | end of QoS session |
| +--------+--------------+
|< - - - - ACA - - - - - -+
|
|
|<---------QoS-Response---------------
|
4.4.2 Server-side initiated session termination Figure 8: Client-side initiated session termination
At anytime during a session the Authorizing server may send an Abort- 4.5.2. Server-side initiated session termination
Session-Request message (ASR) to the transport plane element
[RFC3588]. Possible reasons are insufficient accounting credits or At anytime during a session the Authorizing Entity MAY send an Abort-
session termination at the application layer. This results in Session-Request message (ASR) to the Network Element. This is a Base
termination of the authorization session, release of the reserved Diameter protocol functionality and it is defined in [RFC3588].
resources at the transport plane node and sending appropriate QoS Possible reasons for initiating the ASR message to the Network
signaling notification to other transport plane elements aware of the Element are insufficient credits or session termination at the
signaling session. Final accounting message exchanges must also application layer. The ASR message results in termination of the
occur. authorized session, release of the reserved resources at the Network
Element and transmission of an appropriate QoS signaling message
indicating a notification to other Network Elements aware of the
signaling session. A final accounting message exchanges MUST be
triggered as a result of this ASR message exchange (Figure 9).
Authorizing
End-Host Network Element Entity
requesting QoS ( Diameter ( Diameter
QoS Client) QoS Server)
| | |
|=====================Data Flow==========================>
| |
| |< - - - - ASR - - - - - -+
| | |
|====Data Flow=====>X |
| | |
|<--QoS-Notify------+----------QoS-Reserve--------------->
| | (TearOn) |
+-------+-----------+ |
|Tear down QoS state| |
| Report final | |
| accounting data | |
+-------+-----------+ |
+- - - - - ASA - - - - - >|
| +--------+--------------+
| | Remove session state |
| +--------+--------------+
+- - - - - ACR - - - - - >|
|(FINAL,QoS-Resources,Cost|
|CC-Time,Acc-Multisess-id)|
| +--------+--------------+
| | Report for successful |
| | end of QoS session |
| +--------+--------------+
|< - - - - ACA - - - - - -+
|
|
|<---------QoS-Response---------------
|
Figure 9: Server-side initiated session termination
5. Accounting 5. Accounting
The Diameter QoS application presented in this document reuses The Diameter QoS application provides accounting for usage of
Diameter Accounting as defined in [RFC3588]. A definition of new reserved QoS resources. Diameter QoS accounting has built-in support
Accounting attributes is necessary, but left for further study. for online, duration based accounting. This accounting is based on
the notion that the routers making the QoS Authorization Request
(Diameter QoS clients) are in the best position to determine the cost
of those resources. This cost represents the financial settlement
that will be ultimately demanded by the router if the Resource
Authorizing Entity authorizes the reservation.
After a successful QoS authorization and start of the transport plane In the Diameter QoS application, the router MAY send a Cost-
flow, the transport plane element starts the corresponding accounting Information AVP ([RFC4006]) in the QAR. If the Cost-Information AVP
session by sending an Accounting-Request message (ACR). The message includes a Cost-Unit AVP ([RFC4006]) then the Cost-Unit SHOULD be
SHOULD contain necessary attributes to facilitate the binding of the "minute". The Cost-Information AVPs represent the cost to allocate
current accounting session to the reported authorization session. the resources requested in the QoS-Authorization-Resources AVP
The Accounting server replies to a successfully received Accounting- included in the same QAR message. The QAR MAY optionally contain a
Request message (ACR) with an Accounting-Answer message (ACA), which Tariff-Time-Change AVP ([RFC4006]) which is the time at which the
MAY contain instructions for handling of the accounting session, cost will change, a second Cost-Information AVP, which is the cost of
e.g., the Accounting-Interim-Interval AVPs. the reserved resources after the tariff time change, and a second
Tariff-Time-Change, which is the time at which the tariff would
change again. Either all three or none of these AVPs MUST be present
in the QAR.
After every successful re-authorization procedure the transport plane The Resource Authorizing Entity returns a CC-Time AVP ([RFC4006]) in
element SHOULD initiate an accounting message exchange. the QAA message which is the total authorized gate-on time for the
service. If the QAR included two Tariff-Time-Change AVPs, the
current time plus the CC-Time AVP returned in the QAA MUST NOT exceed
the second Tariff-Time-Change AVP from the QAR. Based on information
in the Cost-Information AVPs, the Resource Authorizing Entity can use
the CC-Time AVP to guarantee that the total cost of the session will
not exceed a certain threshold, which allows, for example, support of
prepaid users.
After successful session termination the transport plane element MUST Each ACR message contains a triplet of QoS-Authorization-Resources
initiate a final exchange of accounting messages with the Accounting AVP, Cost-Information AVP, and CC-Time AVP. This represents the
server. total time consumed at the given cost for the given resources. Note
that an ACR message MUST be sent separately for each interval defined
by the Tariff-Time-Change AVPs and the expiration of the CC-Time
returned in the QAA (Figure 6).
The Network Element starts an accounting session by sending an
Accounting-Request message (ACR) after successful QoS reservation and
activation of the data flow (Figure 5). After every successful re-
authorization procedure the Network element MUST initiate an interim
accounting message exchange (Figure 6). After successful session
termination the Network element MUST initiate a final exchange of
accounting messages for terminating of the accounting session and
reporting final records for the usage of reserved QoS resources
(Figure 8).
6. Diameter QoS authorization application Messages 6. Diameter QoS authorization application Messages
The Diameter QoS Application requires the definition of new mandatory The Diameter QoS Application requires the definition of new mandatory
AVPs and Command-codes [RFC3588]. Four new Diameter messages are AVPs and Command-codes [RFC3588]. Four new Diameter messages are
defined along with Command-Codes whose values MUST be supported by defined along with Command-Codes whose values MUST be supported by
all Diameter implementations that conform to this specification. all Diameter implementations that conform to this specification.
Command-Name Abbrev. Code Reference Command-Name Abbrev. Code Reference
QoS-Authz-Request QAR [TBD] Section 6.1 QoS-Authz-Request QAR [TBD] Section 6.1
skipping to change at page 20, line 5 skipping to change at page 28, line 5
The value of TBD (TBD) MUST be used as the Application-Id in all ACR/ The value of TBD (TBD) MUST be used as the Application-Id in all ACR/
ACA commands, because this application defines new, mandatory AVPs ACA commands, because this application defines new, mandatory AVPs
for accounting. for accounting.
The value of zero (0) SHOULD be used as the Application-Id in all The value of zero (0) SHOULD be used as the Application-Id in all
STR/STA, ASR/ASA, and RAR/RAA commands, because these commands are STR/STA, ASR/ASA, and RAR/RAA commands, because these commands are
defined in the Diameter base protocol and no additional mandatory defined in the Diameter base protocol and no additional mandatory
AVPs for those commands are defined in this document. AVPs for those commands are defined in this document.
6.1 QoS-Authorization Request (QAR) 6.1. QoS-Authorization Request (QAR)
The QoS-Authorization-Request message (QAR) indicated by the Command- The QoS-Authorization-Request message (QAR) indicated by the Command-
Code field set to TDB (TBD) and 'R' bit set in the Command Flags Code field set to TDB (TBD) and 'R' bit set in the Command Flags
field is used by transport plane elements to request quality of field is used by Network elements to request quality of service
service related resource authorization for a given flow. related resource authorization for a given flow.
The message MUST carry information for signaling session The QAR message MUST carry information for signaling session
identification, Authorizing entity identification, requested QoS identification, Authorizing Entity identification, information about
description, and End-user identity. In addition, depending on the the requested QoS, and the identity of the QoS requesting entity. In
deployment scenario, an authorization token, End-user authentication addition, depending on the deployment scenario, an authorization
credentials and QoS objects authentication information should be token and credentials of the QoS requesting entity SHOULD be
included. included.
The message format is defined as follows: The message format is defined as follows:
<QoS-Request> ::= < Diameter Header: XXX, REQ, PXY > <QoS-Request> ::= < Diameter Header: XXX, REQ, PXY >
< Session-Id > < Session-Id >
{ Auth-Application-Id } { Auth-Application-Id }
{ Origin-Host } { Origin-Host }
{ Origin-Realm } { Origin-Realm }
{ Destination-Realm } { Destination-Realm }
{ Auth-Request-Type } { Auth-Request-Type }
[ Destination-Host ] [ Destination-Host ]
[ Signaling-Session-Id ] [ User-Name ]
[ Authorization-Token ] * [ QoS-Authorization-Resources ]
[ User-Name ] [ QoS-Authentication-Data ]
[ QoS-Authorization-Resources ] [ Cost-Information ]
[ QoS-Authentication-Data ] [ Acc-Multisession-Id ]
[ CC-Corelation-Id ] [ Bound-Auth-Session-Id ]
[ Acc-Multisession-Id ] * [ AVP ]
* [ AVP ]
6.2 QoS-Authorization Answer 6.2. QoS-Authorization Answer (QAA)
The QoS-Authorization-Answer message (QAA), indicated by the Command- The QoS-Authorization-Answer message (QAA), indicated by the Command-
Code field set to TBD (TBD) and 'R' bit cleared in the Command Flags Code field set to TBD (TBD) and 'R' bit cleared in the Command Flags
field is sent in response to the QoS-Authorization-Request message field is sent in response to the QoS-Authorization-Request message
(QAR). If the QoS authorization request is successfully authorized, (QAR). If the QoS authorization request is successfully authorized,
the response will include the AVPs to allow authorization of the QoS the response will include the AVPs to allow authorization of the QoS
resources as well as accounting and transport plane gating resources as well as accounting and transport plane gating
information. information.
The message format is defined as follows: The message format is defined as follows:
<QoS-Answer> ::= < Diameter Header: XXX, PXY > <QoS-Answer> ::= < Diameter Header: XXX, PXY >
< Session-Id > < Session-Id >
{ Auth-Application-Id } { Auth-Application-Id }
{ Auth-Request-Type } { Auth-Request-Type }
{ Result-Code } { Result-Code }
{ Origin-Host } { Origin-Host }
{ Origin-Realm } { Origin-Realm }
[ Signaling-Session-Id ] * [ QoS-Authorization-Resources ]
[ QoS-Authorization-Resources ] [ CC-Time ]
[ Acc-Multisession-Id ] [ Acc-Multisession-Id ]
[ Session-lifetime ] [ Session-Timeout ]
[ Authz-Session-Lifetime ] [ Authz-Session-Lifetime ]
[ Authz-Grace-Period ] [ Authz-Grace-Period ]
[ Authz-Session-Volume ] * [ AVP ]
* [ AVP ]
6.3 QoS-Install Request 6.3. QoS-Install Request (QIR)
The QoS-Install Request message (QIR), indicated by the Command-Code The QoS-Install Request message (QIR), indicated by the Command-Code
field set to TDB (TBD) and 'R' bit set in the Command Flags field is field set to TDB (TBD) and 'R' bit set in the Command Flags field is
used by Authorizing entity to install or update the QoS parameters used by Authorizing entity to install or update the QoS parameters
and the flow state of an authorized flow at the transport plane and the flow state of an authorized flow at the transport plane
element. element.
The message MUST carry information for signaling session The message MUST carry information for signaling session
identification or identification of the flow to which the provided identification or identification of the flow to which the provided
QoS rules apply, identity of the transport plane element, description QoS rules apply, identity of the transport plane element, description
of provided QoS parameters, flow state and duration of the provided of provided QoS parameters, flow state and duration of the provided
authorization. authorization.
The message format is defined as follows: The message format is defined as follows:
<QoS-Install-Request> ::= < Diameter Header: XXX, REQ, PXY > <QoS-Install-Request> ::= < Diameter Header: XXX, REQ, PXY >
< Session-Id > < Session-Id >
{ Auth-Application-Id } { Auth-Application-Id }
{ Origin-Host } { Origin-Host }
{ Origin-Realm } { Origin-Realm }
{ Destination-Realm } { Destination-Realm }
{ Auth-Request-Type } { Auth-Request-Type }
[ Destination-Host ] [ Destination-Host ]
[ Signaling-Session-Id ] * [ QoS-Authorization-Resources ]
[ QoS-Authorization-Resources ] [ Session-Timeout ]
[ Session-Timeout ] [ Authz-Session-Lifetime ]
[ Authz-Session-Lifetime ] [ Authz-Grace-Period ]
[ Authz-Grace-Period ] [ Authz-Session-Volume ]
[ Authz-Session-Volume ] * [ AVP ]
* [ AVP ]
6.4 QoS-Install Request 6.4. QoS-Install Answer (QAA)
The QoS-Install Answer message (QAA), indicated by the Command-Code The QoS-Install Answer message (QAA), indicated by the Command-Code
field set to TBD (TBD) and 'R' bit cleared in the Command Flags field field set to TBD (TBD) and 'R' bit cleared in the Command Flags field
is sent in response to the QoS-Install Request message (QIR) for is sent in response to the QoS-Install Request message (QIR) for
confirmation of the result of the installation of the provided QoS confirmation of the result of the installation of the provided QoS
reservation instructions. reservation instructions.
The message format is defined as follows: The message format is defined as follows:
<QoS-Install-Answer> ::= < Diameter Header: XXX, REQ, PXY > <QoS-Install-Answer> ::= < Diameter Header: XXX, PXY >
< Session-Id > < Session-Id >
{ Auth-Application-Id } { Auth-Application-Id }
{ Origin-Host } { Origin-Host }
{ Origin-Realm } { Origin-Realm }
{ Auth-Request-Type } { Result-Code }
{ Result-Code } * [ QoS-Authorization-Resources ]
[ Signaling-Session-Id ] * [ AVP ]
[ QoS-Authorization-Resources ]
* [ AVP ] 6.5. Accounting Request (ACR)
The Accounting Request message (ACR), indicated by the Command-Code
field set to 271 and 'R' bit set in the Command Flags field is used
by Network Element to report parameters of the authorized and
established QoS reservation.
The message MUST carry accounting information authorized QoS
resources and its usage, e.g., QoS-Authorized-Resources, CC-Time, CC-
Cost, Acc-Multi-Session-Id.
The message format is defined as follows:
<Accounting-Request> ::= < Diameter Header: XXX, REQ, PXY >
< Session-Id >
{ Acct-Application-Id }
{ Destination-Realm }
[ Destination-Host ]
[ Accounting-Record-Type ]
[ Accounting-Record-Number ]
* [ QoS-Authorization-Resources ]
[ Cost-Information ]
[ CC-Time ]
[ Acc-Multi-Session-Id ]
* [ AVP ]
6.6. Accounting Answer (ACA)
The Accounting Answer message (ACA), indicated by the Command-Code
field set to 271 and 'R' bit cleared in the Command Flags field is
sent in response to the Accounting Request message (ACR) as an
acknowledgment of the ACR message and MAY carry additional management
information for the accounting session, e.g. Acc-Interim-Interval
AVP.
The message format is defined as follows:
<Accounting-Answer> ::= < Diameter Header: XXX, PXY >
< Session-Id >
{ Acct-Application-Id }
[ Result-Code ]
[ Accounting-Record-Type ]
[ Accounting-Record-Number ]
[ Acc-Multi-Session-Id ]
* [ AVP ]
7. Diameter QoS Authorization Application AVPs 7. Diameter QoS Authorization Application AVPs
Each of the AVPs identified in the QoS-Authorization-Request/Answer Each of the AVPs identified in the QoS-Authorization-Request/Answer
and QoS-Install-Request/Answer messages and the assignment of their and QoS-Install-Request/Answer messages and the assignment of their
value(s) is given in this section. value(s) is given in this section.
7.1 Diameter Base Protocol AVPs 7.1. Diameter Base Protocol AVPs
The Diameter QoS application uses a number of session management The Diameter QoS application uses a number of session management
AVPs, defined in the Base Protocol ([RFC3588]). AVPs, defined in the Base Protocol ([RFC3588]).
Attribute Name AVP Code Reference [RFC3588] Attribute Name AVP Code Reference [RFC3588]
Origin-Host 264 Section 6.3 Origin-Host 264 Section 6.3
Origin-Realm 296 Section 6.4 Origin-Realm 296 Section 6.4
Destination-Host 293 Section 6.5 Destination-Host 293 Section 6.5
Destination-Realm 283 Section 6.6 Destination-Realm 283 Section 6.6
Auth-Application-Id 258 Section 6.8 Auth-Application-Id 258 Section 6.8
Result-Code 268 Section 7.1 Result-Code 268 Section 7.1
Auth-Request-Type 274 Section 8.7 Auth-Request-Type 274 Section 8.7
Session-Id 263 Section 8.8 Session-Id 263 Section 8.8
Authz-Lifetime 291 Section 8.9 Authz-Lifetime 291 Section 8.9
Authz-Grace-Period 276 Section 8.10 Authz-Grace-Period 276 Section 8.10
Session-Timeout 27 Section 8.13 Session-Timeout 27 Section 8.13
User-Name 1 Section 8.14 User-Name 1 Section 8.14
QoS-Filter-Rule 407 Section 6.9 [RFC4005]
Some of the listed AVPs require definition and assignment of Some of the listed AVPs require definition and assignment of
additional values which is described here: additional values which is described here:
Auth-Application-Id AVP Auth-Application-Id AVP
The Auth-Application-Id is assigned by IANA to Diameter The Auth-Application-Id AVP (AVP Code 258) is assigned by IANA to
applications. The value of the Auth-Application-Id for the Diameter applications. The value of the Auth-Application-Id for
Diameter QoS application is TBD (TBD). the Diameter QoS application is TBD (TBD).
Result-Code AVP
The Result-Code AVP indicates if a particular request was 7.2. Credit Control application AVPs
completed successfully. Definition of QoS authorization specific
Result-Code values is for further study. (TBD)
7.2 Credit Control application AVPs The Diameter QoS application provides accounting for usage of
reserved QoS resources. Diameter QoS accounting has built-in support
for online, duration based accounting. For this purpose it re-uses a
number of AVPs defined in Diameter Credit Control application.
[RFC4006].
The process of QoS authorization and accounting of the consumed Attribute Name AVP Code Reference [RFC4006]
reserved resources is closely related to credit control over the Cost-Information AVP 423 Section 8.7
services provided to a user. An option for correlating of the Unit-Value AVP 445 Section 8.8
accounting records for the different provided services should be Currency-Code AVP 425 Section 8.11
available. For this purpose, the Diameter QoS application should Cost-Unit AVP 424 Section 8.12
support appropriate AVPs defined by the Diameter Credit Control CC-Time AVP 420 Section 8.21
document [I-D.ietf-aaa-diameter-cc]. Tariff-Time-Change AVP 451 Section 6.20
CC-Correlation-Id AVP Usage of the listed AVPs is described in Section 5
The CC-Correlation-ID AVP (AVP code TBD) is of type OcterString 7.3. Accounting AVPs
and contains information to correlate accounting data generated
for different components of the service, e.g. transport and
application level.
7.3 Authentication/Authorization AVPs The Diameter QoS application uses Diameter Accounting and accounting
AVPs as defined in Section 9 of [RFC3588]. Additional description of
the usage of some of them in QoS authorization context is provided:
Authentication and authorization is essential for the Diameter QoS Attribute Name AVP Code Reference [RFC3588]
application. Flexibility is desired for deployment into Acct-Application-Id 259 Section 6.9
infrastructures with different security features and usage of Accounting-Record-Type 480 Section 9.8.1
authentication and authorization applications such as [I-D.ietf-aaa- Accounting-Interim-Interval 85 Section 9.8.2
eap] and [I-D.ietf-aaa-diameter-nasreq]. Multiple methods specified Accounting-Record-Number 485 Section 9.8.3
in these applications MIGHT be reused. Alternatively autonomous and Accounting-Realtime-Required 483 Section 9.8.7
QoS-specific authentication methods may be supported depending on the Acc-Multi-Session-ID 50 Section 9.8.5
features of the QoS signaling protocols. Therefore, a number of AVPs
of related Diameter applications can be used.
The three party general approach (see Figure 3) utilizes an EAP based The following AVP needs further explanation:
authentication and session key exchange which requires the support of
AVPs defined in the Diameter-EAP application [I-D.ietf-aaa-eap]. The
details of the required attributes for authentication and
authorization is for further study.
7.4 Accounting AVPs Acct-Application-Id AVP
The Diameter QoS application uses Diameter Accounting and accounting The Acct-Application-Id AVP (AVP Code 259)is assigned by IANA to
AVPs as defined in Section 9 of [RFC3588]. Additional description of Diameter applications. The value of the Acct-Application-Id for
the usage of some of them in QoS authorization context is provided: the Diameter QoS application is TBD (TBD).
Acc-Multisession-ID Acc-Multisession-ID
Acc-Multisession-ID AVP (AVP Code 50) SHOULD be used to link Acc-Multi-Session-ID AVP (AVP Code 50) SHOULD be used to link
multiple accounting sessions together, allowing the correlation of multiple accounting sessions together, allowing the correlation of
accounting information. This AVP MAY be returned by the Diameter accounting information. This AVP MAY be returned by the Diameter
server in a QoS-Authorization-Answer message (QAA), and MUST be server in a QoS-Authorization-Answer message (QAA), and MUST be
used in all accounting messages for the given session. used in all accounting messages for the given session.
7.5 Diameter QoS Application Defined AVPs 7.4. Diameter QoS Application Defined AVPs
This section defines the Quality of Service AVPs that are specific to This section defines the Quality of Service AVPs that are specific to
the Diameter QoS application and MAY be included in the Diameter QoS the Diameter QoS application and MAY be included in the Diameter QoS
application messages. Unlike the approach followed with RSVP (see application messages. Unlike the approach followed with RSVP (see
[RFC2749]), where the entire RSVP message is encapsulated into a COPS [RFC2749]), where the entire RSVP message is encapsulated into a COPS
message, only the relevant fields SHOULD be included. This approach message, only the relevant fields SHOULD be included. This approach
avoids a certain overhead of transmitting fields which are irrelevant avoids a certain overhead of transmitting fields which are irrelevant
for the AAA infrastructure. It keeps implementations simpler and it for the AAA infrastructure. It keeps implementations simpler and it
allows the reuse of other Diameter AVPs. allows the reuse of other Diameter AVPs.
The following table describes the Diameter AVPs in the QoS The following table describes the Diameter AVPs in the QoS
Application, their AVP code values, types, possible flag values, and Application, their AVP code values, types, possible flag values, and
whether the AVP MAY be encrypted. whether the AVP MAY be encrypted.
| AVP Flag rules | | AVP Flag rules |
|----+---+----+-----|----+ |----+---+----+-----|----+
AVP Section | | |SHLD| MUST| | AVP Section | | |SHLD| MUST| |
Attribute Name Code Defined Data Type |MUST|MAY| NOT| NOT|Encr| Attribute Name Code Defined Data Type |MUST|MAY| NOT| NOT|Encr|
------------------------------------------+----+---+----+-----+----+ ------------------------------------------+----+---+----+-----+----+
Signaling-Session TBD 7.5 Unsigned32 | M | P | | V | Y | Signaling-Session TBD 7.4 Unsigned32 | M | P | | V | Y |
-Id | | | | | | -Id | | | | | |
Flow-ID TBD 7.5 Unsigned32 | M | P | | V | Y | Flow-ID TBD 7.4 Unsigned32 | M | P | | V | Y |
QoS-Filter-Rule TBD 7.5 QoSFltrRule| M | P | | V | Y | SPI TBD 7.4 Unsigned32 | M | P | | V | Y |
SPI TBD 7.5 Unsigned32 | M | P | | V | Y | QoS-Flow-State TBD 7.4 Enumerated | M | P | | V | Y |
QoS-Flow-State TBD 7.5 Enumerated | M | P | | V | Y | IND-Flow TBD 7.4 Grouped | M | P | | V | Y |
IND-Flow TBD 7.5 Grouped | M | P | | V | Y | Flows TBD 7.4 Grouped | M | P | | V | Y |
Flows TBD 7.5 Grouped | M | P | | V | Y | QSPEC TBD 7.4 OctetString| M | P | | V | Y |
QSPEC TBD 7.5 OctetString| M | P | | V | Y | QoS-Auth TBD 7.4 Grouped | M | P | | V | Y |
QoS-Auth TBD 7.5 Grouped | M | P | | V | Y |
-Resources | | | | | | -Resources | | | | | |
QoS-Auth-Data TBD 7.5 Grouped | M | P | | V | Y | QoS-Auth-Data TBD 7.4 Grouped | M | P | | V | Y |
Authorization TBD 7.5 OctetString| M | P | | V | Y | Bound-Auth | | | | | |
-Token | | | | | | -Session-Id TBD 7.4 UTF8String | M | P | | V | Y |
Auth-Session TBD 7.5 Unsigned32 | M | P | | V | Y |
-Volume | | | | | |
------------------------------------------+----+---+----+-----+----+ ------------------------------------------+----+---+----+-----+----+
Signaling-Session-ID Signaling-Session-ID
Signaling-Session-ID AVP (AVP Code TBD) is of type Unsigned32 and Signaling-Session-ID AVP (AVP Code TBD) is of type Unsigned32 and
contains a copy of the QoS signaling session identifier, which is contains a copy of the QoS signaling session identifier, which is
a unique identifier of the QoS signaling session that in NSIS case a unique identifier of the QoS signaling session that in NSIS case
remains unchanged for the duration of the session. remains unchanged for the duration of the session.
Flow-ID Flow-ID
The Flow-ID AVP (AVP Code TBD) is of type Unsigned32 and contains The Flow-ID AVP (AVP Code TBD) is of type Unsigned32 and contains
identifier of an IP flow. identifier of an IP flow.
QoS-Filter-Rule
The QoS-Filter-Rule AVP (AVP Code TBD) is of type QoSFilterRule
and provides filter rules for a packet flow of the user. It would
be used in case of the explicit rule provisioning initiated by the
Authorizing server, too.
SPI SPI
The SPI AVP (AVP Code TBD) is of type Unsigned32 and extends the The SPI AVP (AVP Code TBD) is of type Unsigned32 and extends the
QoS-Filter-Rule AVP to support IPsec protected traffic. QoS-Filter-Rule AVP to support IPsec protected traffic.
QoS-Flow-State QoS-Flow-State
The QoS-Flow-State AVP (AVP Code TBD) is of type Enumerated. It The QoS-Flow-State AVP (AVP Code TBD) is of type Enumerated. It
gives an indication by the Authorizing entity how the flow MUST be gives an indication by the Authorizing entity how the flow MUST be
treated. When included in a QAA message, it is instructions to treated. When included in a QAA message, it is instructions to
the transport plane control element with regard to the state to the QoS network element with regard to the state to which the flow
which the flow should be set. The supported values are: should be set. The supported values are:
0 Open - Enable the transport plane service, for which 0 Open - Enable the transport plane service, for which
the signaling is done the signaling is done
1 Close - Disable the transport plane service 1 Close - Disable the transport plane service
2 Maintain - Current state (enabled/disabled) of the transport 2 Maintain - Current state (enabled/disabled) of the transport
plane service is maintained plane service is maintained
The QoS-Flow-State is an optional AVP. When not included in a QAA The QoS-Flow-State is an optional AVP. When not included in a QAA
response, the default behaviour is to immediately allow the flow response, the default behaviour is to immediately allow the flow
of packets (Open). of packets (Open).
skipping to change at page 27, line 39 skipping to change at page 36, line 24
[0-1] [ Signaling-Session-ID ] [0-1] [ Signaling-Session-ID ]
[0-1]* [ Flows ] [0-1]* [ Flows ]
[1] [ QSPEC ] [1] [ QSPEC ]
[0-1] [ QoS-Flow-State ] [0-1] [ QoS-Flow-State ]
Included QoS-Flow-State AVP SHOULD be overwritten by any included Included QoS-Flow-State AVP SHOULD be overwritten by any included
QoS-Flow-State AVPs specified for the individual flows. QoS-Flow-State AVPs specified for the individual flows.
QoS-Authentication-Data QoS-Authentication-Data
The QoS-Authentication-Data AVP (AVP Code TBD) is of type Grouped The QoS-Authentication-Data AVP (AVP Code TBD) is of type
and contains data used for End-user authentication and integrity OctetString. It is a container that carries application session
protection of the QoS signaling messages. (TBD) or user specific data that allows to the Authorizing entity in
computation of the authorization decision.
Authorization-Token Bound-Authentication-Session-Id
The Authorization-Token AVP (AVP Code TBD) is of type OctetString The Bound-Authentication-Session AVP (AVP Code TBD) is of type
and SHOULD contain application session authorization token such as UTF8String. It carries the id of the Diameter authentication
the one defined in [RFC3520] (TBD) session that is used for the network access authentication (NASREQ
authentication session). It is used to tie the QoS authorization
request to a priory authentication of the end host done by a
collocated NASREQ application at the QoS NE.
Authz-Session-Volume 8. Examples
The Authz-Session-Volume AVP (AVP Code TBD) is of type Unsigned32 This section presents an example of the interaction between the
and contains the maximum data volume authorized by the Authorizing application layer signaling and the QoS signaling along the data
entity. path. The application layer signaling is, in this example, provided
using SIP. Signaling for a QoS resource reservation is done using
the QoS NSLP. The authorization of the QoS reservation request is
done by the Diameter QoS application (DQA).
8. Examples End-Host SIP Server Correspondent
requesting QoS (DQA Server) Node
This section illustrates a general message flow of QoS authorization | | |
session establishment(Figure 17) and interworking with NSIS ..|....Application layer SIP signaling.......|..............|..
(Figure 18). . | Invite (SDP) | | .
. +.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-> | .
. | 100 Trying | | .
. <.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-+ Invite (SDP)| .
. | +-.-.-.....-.-.> .
. | | 180 SDP' | .
. | <-.-.-.....-.-.+ .
. | +--------+--------+ | .
. | |Authorize session| | .
. | | parameters | | .
. | 180 (Session parameters) +--------+--------+ | .
. <.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-+ | .
..|..........................................|... ..........|..
| | |
| +------------+ | |
| | NE | | |
| |(DQA Client)| | |
| +------+-----+ | |
| | | |
|QoS NSLP Reserve | | |
+------------------> QAR | |
| (POLICY_DATA>v +- - - - -<<AAA>>- - - -> |
| QSPEC) v >===>(Destination-Host, | |
| v >=======>QoS-Auth-Data, ++------------+ |
| >===========>QoS-Authz-Resources, |Authorize | |
| |Cost-Info) |QoS resources| |
| | ++------------+ |
| | QAA | |
| <- - - - -<<AAA>>- - - -+ |
| |(Result-Code, | |
| |QoS-Authz-Resources, | |
| |CC-Time, | |
| |Authz-Lifetime) | |
| +---------+--------+ | |
| |Install QoS state1| | |
| |+ Authz. session | | |
| +---------+--------+ | |
| |QoS NSLP Reserve |
| +---------------..............--------->
| | |
| | QoS NSLP Response|
|QoS NSLP Response <---------------..............---------+
<------------------+ |
| | QoS NSLP Query|
|QoS NSLP Query <---------------..............---------+
<------------------+ |
|QoS NSLP Reserve | |
+------------------> QAR | |
| +- - - - -<<AAA>>- - - -> |
| | +---+---------+ |
| | |Authorize | |
| | |QoS resources| |
| | QAA +---+---------+ |
| <- - - - -<<AAA>>- - - -+ |
| +---------+--------+ | |
| |Install QoS state2| |
| |+ Authz. session | |
| +---------+--------+ |
| | QoS NSLP Reserve |
| +---------------..............--------->
| | QoS NSLP Response|
|QoS NSLP Response <---------------..............---------+
<------------------+ |
| | |
/------------------+--Data Flow---------------------------\
\------------------+--------------------------------------/
| | |
Figure 17 shows the protocol exchange between the Diameter client and .-.-.-.-. SIP signaling
the Diameter server. An incoming QoS reservation request received at --------- QoS NSLP signaling
the transport plane element invokes sending of QoS-Authorization- - - - - - Diameter QoS Application messages
Request message {QAR) to the Authorization server. Server replies ========= Mapping of objects between QoS and AAA protocol
with QoS-Authorization-Answer message (QAA), which grants reservation
of certain resources. After the successful exchange of authorization
QAR/QAA messages, the transport plane node starts an accounting
session by sending an Accounting-Request message (ACR). The server
replies with an Accounting-Answer message (ACA) that MAY include
instructions for further handling of the accounting session, such as
the Acc-Interim-Period AVP. A possible client-side re-authorization
caused by expiration of the authorization lifetime initiates a QAR/
QAA message exchange. After successful re-authorization an
accounting message ACR SHOULD be sent. The server relpies to the ACR
with an ACA message. In this example, the Application server
initiates a session termination. To do this it sends an Abort-
Session-Request message (ASR). The client responds with an ASA
message and a Session-Termination-Request message {STR). After
receiving the STA message sent by the server, which finalizes the
authorization session, the client sends final accounting information
with the ACR message. The ACA message from the server also
terminates the accounting session.
Router(Diameter client) Diameter Server Figure 26: Example for a token-based QoS authorization
-----------> | |
QOS | QoS-Request |
reservation |------------------------------------------->|
request | |
| QoS-Answer/QoS-Auth-Res./ |
|<-------------------------------------------|
| |
Start |Acc-Request/Start,QoS Acc-Msess-ID.../ |
Accounting |------------------------------------------->|
| Acc-Answer/...Acc-Interim-Period.../ |
|<-------------------------------------------|
| |
Authorization| |
LifeTime | |
Expires: | |
Re- | QoS-Request |
Authorization|------------------------------------------->|
| QoS-Answer/QoS-Auth-Res./ |
|<-------------------------------------------|
| Acc-Request/Interim, Acc-Msess-ID.../ |
|------------------------------------------->|
| Acc-Answer/...Acc-Interim-Period.../ |
|<-------------------------------------------|
.....................
| | Session
| | Term.
| |initiate
| |by Server
| Abort-Session-Request |<--------
|<-------------------------------------------|
| Abort-Session-Answer |
|------------------------------------------->|
| Session-Termination-Request |
|------------------------------------------->|
| Session-Termination-Answer |
|<-------------------------------------------|
Accounting | Acc-Request/Final,Acc-Msess-ID.../ |
end |------------------------------------------->|
| Acc-Answer /Final,.../ |
|<-------------------------------------------|
Figure 17: Diameter QoS Application Session The communication starts with SIP signaling between the two end
points and the SIP server for negotiation and authorization of the
requested service and its parameters (Figure 26). As a part of the
process, the SIP server verifies whether the user at Host A is
authorized to use the requested service (and potentially the ability
to get charged for the service usage). Negotiated session parameters
are provided to the end host.
Figure 18 shows the interaction between NSIS, application layer Subsequently, Host A initiates a QoS signaling message towards Host
signaling (e.g., SIP) and the Diameter QoS application. First, a B. It sends a QoS NSLP Reserve message, in which it includes
service request is sent from the client to the application server. description of the required QoS (QSPEC object) and authorization data
In response, for example, it returns an authorization token to bind for negotiated service session (part of the POLICY_DATA object).
the application layer signaling exchange to the subsequent NSIS Authorization data includes, as a minimum, the identity of the
signaling session. The authorization token is attached to the NSIS authorizing entity (e.g., the SIP server) and an identifier of the
signaling message and the message itself is intercepted by the first application service session for which QoS resources are requested.
NSIS QoS NSLP node. This router then needs to authorize the QoS
request and delegates this responsibility to the Diameter QoS
application. This type of authorization model is described in
Section 1 and in Section 3.6 of [I-D.ietf-nsis-qos-nslp]. The
Diameter QoS Authorization Request (QAR), which includes the
authorization token and QoS information, is forwarded to the
administrative domain of the application domain for verification. As
a response, the authorization decision is returned with the Diameter
QoS Answer (QAA) message. Finally, the NSIS QoS NLP aware router
acts as an enforcement point. If the authorization decision provided
with the QAA message was successful then the NSIS signaling message
is forwarded further along the path. Otherwise, the QoS NSLP returns
an error message to the end host (such as 'Authorization denied').
Diameter QoS A QoS NSLP Reserve message is intercepted and processed by the first
Application QoS aware Network Element. The NE uses the Diameter QoS application
Enabled Router Application to request authorization for the received QoS reservation request.
Enforcement Pt Server The identity of the Authorizing Entity (in our case the SIP server
Application + that is co-located with a Diameter server) is put into the
Client Domain 1 + Domain 2 Destination-Host AVP, any additional session authorization data is
| | + | encapsulated into the QoS-Authentication AVP and the description of
| Service Request (QoS) | the QoS resources is included into QoS-Authorized-Resources AVP. In
+------------+------------+-------------> addition, the NE rates the requested QoS resources and announces the
| | + | charging rate into the Cost-Information AVP. These AVPs are included
| | + | into a QoS Authorization Request message, which is sent to the
| Service Response (QoS', Token) | Authorizing entity.
<------------+------------+-------------+
| | + |
| | + |
|NSIS (Token)| + |
+------------> + |
| | + |
| | -+-- |
| |QAR(Token)- + -QAR(Token)|
| +--------/> + --\-------->
| | / + \ |
| | / + \ |
| | | + | |
| | QAA(QoS) + QAA(QoS) |
| <------+--- + <---+------+
| | | + | |
| | | Diameter | |
| | \ Network / |
| | \ + / |
| | \ + / |
| Authorization \- + -/ |
| Enforcement -+-- |
| Decision + |
| | + |
| | + |
| Allow or Terminate Flow |
<-----------+*+------------------------->
| | + |
| | + |
Figure 18: Message flow with NSIS and Diameter QoS Application A Diameter QAR message will be routed through the AAA network to the
Authorizing Entity. The Authorizing Entity verifies the requested
QoS against the QoS resources negotiated for the service session and
replies with QoS-Authorization answer (QAA) message. It carries the
authorization result (Result-Code AVP) and the description of the
authorized QoS parameters (QoS-Authorized-Resources AVP), as well as
duration of the authorization session (Authorization-Lifetime AVP)
and duration of the time (CC-Time) for which the end-user should be
charged with the rate announced in the QAR message. The NE interacts
with the traffic control function and installs the authorized QoS
resources and forwards the QoS NSLP Reserve message further along the
data path.
A future version of this document will describe scenarios with other If the data communication might be necessary in both directions, from
authorization models. Host A to Host B and vice versa, a separate QoS signaling
communication is required for the reverse direction (with path-
coupled signaling). This message exchange is not shown in this
example.
9. Security Considerations 9. Security Considerations
This document describes a mechanism for performing authorization of a This document describes a mechanism for performing authorization of a
QoS reservation at a third party entity. Therefore, it is necessary QoS reservation at a third party entity. Therefore, it is necessary
the QoS signaling protocol to forward the necessary information to the QoS signaling application to carry sufficient information that
the backend AAA server. This functionality is particularly useful in should be forwarded to the backend AAA server. This functionality is
roaming environments where the authorization decision is most likely particularly useful in roaming environments where the authorization
provided at an entity where the user can be authorized, such as in decision is most likely provided at an entity where the user can be
the home realm. To provide proper authorization, authentication authorized, such as in the home realm.
might be necessary at least for the generic third party model
(described in Section 3.6 of [I-D.ietf-nsis-qos-nslp]). Please note
that authentication is not provided to the QoS NSLP router but
torwards the users home network. The concept of an authorization
token based third party approach is also described in the same
document. The impact of the existence of different authorization
models is (with respect to this Diameter QoS application) the ability
to carry different authentication and authorization information.
Further discussions on the authorization handling for QoS signaling
protocols is available with [I-D.tschofenig-nsis-aaa-issues] and
[I-D.tschofenig-nsis-qos-authz-issues].
10. Contributors
11. Acknowledgements
Add your name here.
12. Open Issues QoS signaling application MAY re-use the authenticated identities
used for the establishment of the secured transport channel for the
signaling messages, e.g., TLS or IPsec between the end host and the
policy aware QoS NE. In addition, a collocation of the QoS NE with,
for example, the Diameter NASREQ application ([RFC4005]) may allow
the QoS authorization to be based on the authenticated identity used
during the network access authentication protocol run. If a co-
located deployment is not desired then special security protection is
required to ensure that arbitrary nodes cannot reuse a previous
authentication exchange to perform an authorization decision.
During our work on this document we identified the following open Additionally, QoS authorization might be based on the usage of
issues: authorization tokens that are generated by the Authorizing Entity and
provided to the end host via application layer signaling.
o This Diameter QoS application can reuse a number of other Diameter The impact of the existence of different authorization models is
applications. This is a big advantage over other approaches. (with respect to this Diameter QoS application) the ability to carry
This interaction and a list of useful attributes needs to be different authentication and authorization information. Further
collected and described. This aspect is for further study. discussions on the authorization handling for QoS signaling protocols
is available with [I-D.tschofenig-nsis-aaa-issues] and
[I-D.tschofenig-nsis-qos-authz-issues].
o The NSIS group is currently working on QoS models. As soon as 10. Acknowledgements
results are available it is feasible to incorporate them into this
Diameter application to build a complete solution for QoS
signaling which uses a backend infrastructure.
o Several authorization models have been described in [I-D.ietf- The authors would like to thank John Loughney and Allison Mankin for
nsis-qos-nslp]. Section 8 currently addresses only the third their input to this document.
party approach using authorization tokens. Further work is needed
to describe the details of a generic three party scenario.
o Section 4.2 raises the question of a re-authorizing capability for 11. Open Issues
the Diameter application. The authors think that such a re-
authorization capability would be desirable (e.g., using with the
RAR/RAA message exchange). Note that it would require the
transport plane signaling protocol (for example RSVP or NSIS) to
support network-initiated re-auth, which might not always be in
place. There should be a failure code for the case where the
underlying transport plane signaling protocol does not support it.
o The terminology regarding the 'transport plane node' needs further Open issues related to this draft are listed at the issue tracker
refinement. available at: http://www.tschofenig.com:8080/diameter-qos/
13. References 12. References
13.1 Normative References 12.1. Normative References
[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.
13.2 Informative References 12.2. Informative References
[ETSI-OSP] [ETSI-OSP]
European Telecommunications Standards Institute, European Telecommunications Standards Institute,
"Telecommunications and Internet Protocol Harmonization "Telecommunications and Internet Protocol Harmonization
Over Networks (TIPHON); Open Settlement Protocol (OSP) Over Networks (TIPHON); Open Settlement Protocol (OSP)
for Inter-domain pricing, authorization, and usage for Inter-domain pricing, authorization, and usage
exchange", TS 101 321. exchange", TS 101 321.
[I-D.alfano-aaa-qosreq]
Alfano, F., "Requirements for a QoS AAA Protocol",
draft-alfano-aaa-qosreq-01 (work in progress),
October 2003.
[I-D.ietf-aaa-diameter-cc]
Mattila, L., Koskinen, J., Stura, M., Loughney, J., and H.
Hakala, "Diameter Credit-control Application",
draft-ietf-aaa-diameter-cc-06 (work in progress),
August 2004.
[I-D.ietf-aaa-diameter-nasreq]
Calhoun, P., Zorn, G., Spence, D., and D. Mitton,
"Diameter Network Access Server Application",
draft-ietf-aaa-diameter-nasreq-17 (work in progress),
July 2004.
[I-D.ietf-aaa-diameter-sip-app]
Garcia-Martin, M., "Diameter Session Initiation Protocol
(SIP) Application", draft-ietf-aaa-diameter-sip-app-07
(work in progress), March 2005.
[I-D.ietf-aaa-eap]
Eronen, P., Hiller, T., and G. Zorn, "Diameter Extensible
Authentication Protocol (EAP) Application",
draft-ietf-aaa-eap-10 (work in progress), November 2004.
[I-D.ietf-nsis-ntlp] [I-D.ietf-nsis-ntlp]
Schulzrinne, H. and R. Hancock, "GIMPS: General Internet Schulzrinne, H. and R. Hancock, "GIMPS: General Internet
Messaging Protocol for Signaling", draft-ietf-nsis-ntlp-06 Messaging Protocol for Signaling", draft-ietf-nsis-ntlp-07
(work in progress), May 2005. (work in progress), July 2005.
[I-D.ietf-nsis-qos-nslp] [I-D.ietf-nsis-qos-nslp]
Bosch, S., Karagiannis, G., and A. McDonald, "NSLP for Bosch, S., "NSLP for Quality-of-Service signalling",
Quality-of-Service signaling", draft-ietf-nsis-qos-nslp-06 draft-ietf-nsis-qos-nslp-07 (work in progress), July 2005.
(work in progress), February 2005.
[I-D.ietf-nsis-qspec] [I-D.ietf-nsis-qspec]
Ash, J., "QoS-NSLP QSPEC Template", Ash, J., "QoS-NSLP QSPEC Template",
draft-ietf-nsis-qspec-05 (work in progress), July 2005. draft-ietf-nsis-qspec-05 (work in progress), July 2005.
[I-D.ietf-sipping-trait-authz]
Peterson, J., "Trait-based Authorization Requirements for
the Session Initiation Protocol (SIP)",
draft-ietf-sipping-trait-authz-01 (work in progress),
February 2005.
[I-D.tschofenig-nsis-aaa-issues] [I-D.tschofenig-nsis-aaa-issues]
Tschofenig, H., "NSIS Authentication, Authorization and Tschofenig, H., "NSIS Authentication, Authorization and
Accounting Issues", draft-tschofenig-nsis-aaa-issues-01 Accounting Issues", draft-tschofenig-nsis-aaa-issues-01
(work in progress), March 2003. (work in progress), March 2003.
[I-D.tschofenig-nsis-qos-authz-issues] [I-D.tschofenig-nsis-qos-authz-issues]
Tschofenig, H., "QoS NSLP Authorization Issues", Tschofenig, H., "QoS NSLP Authorization Issues",
draft-tschofenig-nsis-qos-authz-issues-00 (work in draft-tschofenig-nsis-qos-authz-issues-00 (work in
progress), June 2003. progress), June 2003.
[I-D.tschofenig-sip-saml]
Tschofenig, H., "Using SAML for SIP",
draft-tschofenig-sip-saml-04 (work in progress),
July 2005.
[RFC2210] Wroclawski, J., "The Use of RSVP with IETF Integrated [RFC2210] Wroclawski, J., "The Use of RSVP with IETF Integrated
Services", RFC 2210, September 1997. Services", RFC 2210, September 1997.
[RFC2327] Handley, M. and V. Jacobson, "SDP: Session Description [RFC2327] Handley, M. and V. Jacobson, "SDP: Session Description
Protocol", RFC 2327, April 1998. Protocol", RFC 2327, April 1998.
[RFC2749] Herzog, S., Boyle, J., Cohen, R., Durham, D., Rajan, R., [RFC2749] Herzog, S., Boyle, J., Cohen, R., Durham, D., Rajan, R.,
and A. Sastry, "COPS usage for RSVP", RFC 2749, and A. Sastry, "COPS usage for RSVP", RFC 2749,
January 2000. January 2000.
[RFC2753] Yavatkar, R., Pendarakis, D., and R. Guerin, "A Framework
for Policy-based Admission Control", RFC 2753,
January 2000.
[RFC3313] Marshall, W., "Private Session Initiation Protocol (SIP) [RFC3313] Marshall, W., "Private Session Initiation Protocol (SIP)
Extensions for Media Authorization", RFC 3313, Extensions for Media Authorization", RFC 3313,
January 2003. January 2003.
[RFC3520] Hamer, L-N., Gage, B., Kosinski, B., and H. Shieh, [RFC3520] Hamer, L-N., Gage, B., Kosinski, B., and H. Shieh,
"Session Authorization Policy Element", RFC 3520, "Session Authorization Policy Element", RFC 3520,
April 2003. April 2003.
[RFC3521] Hamer, L-N., Gage, B., and H. Shieh, "Framework for [RFC3521] Hamer, L-N., Gage, B., and H. Shieh, "Framework for
Session Set-up with Media Authorization", RFC 3521, Session Set-up with Media Authorization", RFC 3521,
April 2003. April 2003.
[RFC4005] Calhoun, P., Zorn, G., Spence, D., and D. Mitton,
"Diameter Network Access Server Application", RFC 4005,
August 2005.
[RFC4006] Hakala, H., Mattila, L., Koskinen, J-P., Stura, M., and J.
Loughney, "Diameter Credit-Control Application", RFC 4006,
August 2005.
[RFC4027] Josefsson, S., "Domain Name System Media Types", RFC 4027,
April 2005.
Authors' Addresses Authors' Addresses
Frank M. Alfano Frank M. Alfano
Lucent Technologies Lucent Technologies
1960 Lucent Lane 1960 Lucent Lane
Naperville, IL 60563 Naperville, IL 60563
USA USA
Phone: +1 630 979 7209 Phone: +1 630 979 7209
Email: falfano@lucent.com Email: falfano@lucent.com
 End of changes. 129 change blocks. 
694 lines changed or deleted 924 lines changed or added

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