Authentication, Authorization and F. Alfano
Accounting P. McCann
Internet-Draft Lucent Technologies
Expires: August 25, 2005 H. Tschofenig
Siemens
February 21, 2005
Diameter Quality of Service Application
draft-alfano-aaa-qosprot-02.txt
Status of this Memo
This document is an Internet-Draft and is subject to all provisions
of Section 3 of RFC 3667. By submitting this Internet-Draft, each
author represents that any 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 become aware will be disclosed, in accordance with
RFC 3668.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as
Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
This Internet-Draft will expire on August 25, 2005.
Copyright Notice
Copyright (C) The Internet Society (2005).
Abstract
This document describes a Diameter Application that performs
Authentication, Authorization, and Accounting for Quality of Service
(QoS) reservations. This protocol is used by elements along the path
of a given application flow to authenticate a reservation request,
Alfano, et al. Expires August 25, 2005 [Page 1]
Internet-Draft Diameter Quality of Service Application February 2005
ensure that the reservation is authorized, and to account for
resources consumed during the lifetime of the application flow.
Clients that implement the Diameter QoS application contact an
authorizing entity/application server that is located somewhere in
the network, allowing for a wide variety of flexible deployment
models.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. Framework . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.1 Network element functional model . . . . . . . . . . . . . 6
3.2 Requirements for a QoS AAA protocol . . . . . . . . . . . 7
4. QoS Application Messages . . . . . . . . . . . . . . . . . . . 10
5. QoS Authorization session . . . . . . . . . . . . . . . . . . 11
5.1 Authorization models . . . . . . . . . . . . . . . . . . . 11
5.2 Session Initiation . . . . . . . . . . . . . . . . . . . . 12
5.3 Session Establishment . . . . . . . . . . . . . . . . . . 13
5.4 QoS Re-Authorization . . . . . . . . . . . . . . . . . . . 13
5.4.1 Client-side initiated Re-Authorization . . . . . . . . 13
5.4.2 Server-side initiated Re-Authorization . . . . . . . . 14
5.5 Session Termination . . . . . . . . . . . . . . . . . . . 14
5.5.1 Client-side initiated session termination . . . . . . 14
5.5.2 Server-side initiated session termination . . . . . . 14
6. Accounting . . . . . . . . . . . . . . . . . . . . . . . . . . 15
7. Diameter QoS Messages . . . . . . . . . . . . . . . . . . . . 16
7.1 QoS-Request (QAR) Command . . . . . . . . . . . . . . . . 16
7.2 QoS-Answer (QAA) Command . . . . . . . . . . . . . . . . . 16
8. Diameter QoS AVPs . . . . . . . . . . . . . . . . . . . . . . 18
8.1 Diameter Base Protocol AVPs . . . . . . . . . . . . . . . 18
8.2 Credit Control . . . . . . . . . . . . . . . . . . . . . . 18
8.3 Authentication/Authorization . . . . . . . . . . . . . . . 19
8.4 Accounting AVPs . . . . . . . . . . . . . . . . . . . . . 19
8.5 Diameter QoS Application Defined AVPs . . . . . . . . . . 19
9. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
10. Security Considerations . . . . . . . . . . . . . . . . . . 26
11. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 27
12. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 28
13. Open Issues . . . . . . . . . . . . . . . . . . . . . . . . 29
14. References . . . . . . . . . . . . . . . . . . . . . . . . . 30
14.1 Normative References . . . . . . . . . . . . . . . . . . . 30
14.2 Informative References . . . . . . . . . . . . . . . . . . 30
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 31
Intellectual Property and Copyright Statements . . . . . . . . 33
Alfano, et al. Expires August 25, 2005 [Page 2]
Internet-Draft Diameter Quality of Service Application February 2005
1. Introduction
To meet the Quality of Service needs of applications such as
Voice-over-IP in a heavily loaded network, packets belonging to
real-time application flows must be identified and segregated from
other traffic to ensure that bandwidth, delay, and loss rate
requirements 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 quality for all flows carried by the network.
In some cases, these goals can be achieved with mechanisms such as
differentiated services and/or end-to-end congestion and admission
control. However, when bandwidth is scarce and must be carefully
managed, such as in cellular networks, or when applications and
transport protocols lack the capability to perform end-to-end
congestion control, explicit reservation techniques are required. In
these cases, the endpoints will send reservation requests to edge
and/or interior nodes along the communication path. In addition to
verifying whether resources are available, the recipient of a
reservation request must also authenticate and authorize the request,
especially in an environment where the endpoints are not trusted. In
addition, these nodes will generate accounting information about the
resources used and attribute usage to the requesting endpoints. This
will enable the owner of the network element to generate
usage-sensitive billing records and to understand how to allocate new
network capacity.
A variety of protocols could be used to make a QoS request, including
RSVP [RFC2210], NSIS [I-D.ietf-nsis-qos-nslp], link-specific
signaling or even SIP/SDP [RFC2327]. This document focuses on
supporting the NSIS QoS NSLP. This will have an implication on the
content and format of the flow identifiers and QoS attributes that
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.
Alfano, et al. Expires August 25, 2005 [Page 3]
Internet-Draft Diameter Quality of Service Application February 2005
2. Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119].
The following terms are used in this document:
Application Server
An application server is a network entity that exchanges signaling
messages with an application endpoint. It may be a source of
authorization for QoS-enhanced application flows. For example, a
SIP server is one kind of application server.
Application Endpoint
An application endpoint is an entity in an end user device that
exchanges signaling messages with application servers or directly
with other application endpoints. Based on the result of this
signaling, the endpoint will make a request for QoS from the
network. For example, a SIP User Agent is one kind of application
endpoint.
Authorizing Entity
The authorizing entity is that entity responsible for authorizing
QoS requests for a particular application flow. This may be a AAA
server (with a subscriber database) or an application server or
some other entity.
AAA Cloud
A network of AAA proxy/broker arrangements.
Furthermore, we use terminology defined in [RFC3588].
Alfano, et al. Expires August 25, 2005 [Page 4]
Internet-Draft Diameter Quality of Service Application February 2005
3. Framework
The Diameter QoS application runs between a network element receiving
QoS reservation requests (acting as a AAA client) and the resource
authorizing entity (acting as a AAA server). A high-level picture of
the resulting architecture is shown in Figure 1.
+-------------+
| Resource |
| Authorizing |
| Entity |
+-----+-------+
|
|
/\-----+-----/\
//// \\\\
|| ||
| AAA Cloud |
|| ||
\\\\ ////
\-------+-----/
|
+---+--+ +---+--+ +---+--+
Application | | | | | |
===============+ NE +===+ NE +===+ NE +========>>
Flow | | | | | |
+------+ +------+ +------+
Figure 1: An Architecture supporting QoS-AAA
Figure 1 depicts network elements through which application flows
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
with the AAA cloud along the path of a given application flow,
although the figure only depicts one for clarity. Routers will
request authorization for QoS from the AAA cloud, which will route
the request, for example, to the home network where the home
authorizing entity will return a grant/deny decision.
In more complex deployment models, the authorization will be based on
dynamic application state, so the request must be authenticated and
authorized based on information from one or more application servers.
If defined properly, the interface between the routers and AAA cloud
would be identical in both cases. Routers are therefore insulated
from the details of particular applications and need not know that
application servers are involved at all. Also, the AAA cloud would
naturally encompass business relationships such as those between
Alfano, et al. Expires August 25, 2005 [Page 5]
Internet-Draft Diameter Quality of Service Application February 2005
network operators and third-party application providers, enabling
flexible intra- or inter-domain authorization, accounting, and
settlement.
3.1 Network element functional model
Figure 2 depicts a logical operational model of resource management
in a router.
+-----------------------------------------------------+
| DIAMETER Client |
| Functionality |
| +---------------++---------------++---------------+ |
| | User || Authorization || Accounting | |
| | Authentication|| of QoS || for QoS | |
| +---------------+| Requests || Traffic | |
| +---------------++---------------+ |
+-----------------------------------------------------+
^ ^
v v
+--------------+ +----------+
|QoS Signaling | | Resource |
|Msg Processing|<<<<<>>>>>>>|Management|
+--------------+ +----------+
. ^ | * ^
| v . * ^
+-------------+ * ^
|Signaling msg| * ^
| Processing | * V
+-------------+ * V
| | * V
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
. . * V
| | * .............................
. . * . Traffic Control .
| | * . +---------+.
. . * . |Admission|.
| | * . | Control |.
+----------+ +------------+ . +---------+.
<-.-| Input | | Outgoing |-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.->
| Packet | | Interface | .+----------+ +---------+.
===>|Processing|====| Selection |===.| Packet |====| Packet |.=>
| | |(Forwarding)| .|Classifier| Scheduler|.
+----------+ +------------+ .+----------+ +---------+.
.............................
<.-.-> = signaling flow
=====> = data flow (sender --> receiver)
Alfano, et al. Expires August 25, 2005 [Page 6]
Internet-Draft Diameter Quality of Service Application February 2005
<<<>>> = control and configuration operations
****** = routing table manipulation
Figure 2: Network element functional model
Processing of incoming QoS reservation requests includes three
actions: admission control, authorization and resource reservation.
The admission control function provides information for available
resources and determines whether there are enough resources to
fulfill the request. Authorization is performed by the Diameter
client function which involves contacting an authorization entity
through the AAA cloud shown in Section 3. If both checks are
successful, the authorized QoS parameters are set in the packet
classifier and the packet scheduler. Note that the parameters passed
to the Traffic Control function may be different from requested QoS
(depending on the authorization decision). Once the requested
resource is granted, the Resource Management function provides
accounting information to the Authorizing entity using the Diameter
client function.
3.2 Requirements for a QoS AAA protocol
Intended deployment architecture and functionalities put a number of
requirements on the Diameter QoS application. These requirements are
reviewed in detail in [I-D.alfano-aaa-qosreq].
A short list is provided here:
Inter-domain support
In particular, users may roam outside their home network, leading
to a situation where the network element and authorizing entity
are in different administrative domains.
Identity-based Routing
The QoS AAA protocol MUST route AAA requests to the authorizing
entity based on the identity information given in the QoS
signaling protocol.
Flexible Authentication Support
The QoS AAA protocol MUST support a variety of different
authentication protocols for verification of authentication
information present in QoS signaling messages.
Alfano, et al. Expires August 25, 2005 [Page 7]
Internet-Draft Diameter Quality of Service Application February 2005
Making an Authorization Decision
The QoS AAA protocol MUST exchange sufficient information between
the authorizing entity and the enforcing entity (and vice versa)
to compute an authorization decision and to execute this decision.
Triggering an Authorization Process
The QoS AAA protocol MUST allow periodic and event triggered
execution of the authorization process, originated at the
enforcing entity or even at the authorizing entity.
Associating QoS Reservations and Application State
The QoS AAA protocol MUST carry information sufficient for an
application server to identify the appropriate application session
and associate it with a particular QoS reservation.
Dynamic Authorization
It MUST be possible forthe QoS AAA protocol to push updates
towards the network element(s) from authorizing entities.
Bearer Gating
The QoS AAA protocol MUST allow the authorizing entity to gate
(i.e., enable/disable) authorized application flows based on e.g.,
application state transitions.
Accounting Records
The QoS AAA protocol MUST define QoS accounting records containing
duration, volume (byte count) usage information and description of
the QoS attributes (e.g., bandwidth, delay, loss rate) that were
supported for the flow.
Sending Accounting Records
The network element MUST send accounting records for a particular
application flow to the authorizing entity for that flow or to
another entity identified by the authorizing entity.
Failure Notification
The QoS AAA protocol MUST allow the network element to report
failures(such as loss of connectivity due to movement of a mobile
node or other reasons for packet loss) to the authorizing entity.
Alfano, et al. Expires August 25, 2005 [Page 8]
Internet-Draft Diameter Quality of Service Application February 2005
Accounting Correlation
The QoS AAA protocol MUST support the exchange of sufficient
information to allow for correlation between accounting records
generated by the network elements and accounting records generated
by an application server.
Interaction with other AAA Applications
Interaction with other AAA applications such as Diameter Credit
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.
This document first defines Diameter messages and Command-Codes.
Then it describes the operation of a Diameter QoS application and
enumerates the Diameter message Command-Codes and AVPs used in these
messages.
Alfano, et al. Expires August 25, 2005 [Page 9]
Internet-Draft Diameter Quality of Service Application February 2005
4. QoS Application Messages
This document requires the definition of new mandatory AVPs and
Command-Codes for the QoS Diameter application. Two new Diameter
messages are defined:
Command-Name Abbrev. Code Reference
QoS-Request QAR XXX 6.1
QoS-Answer QAA XXX 6.2
The following Diameter-base messages are used:
Command-Name Abbrev. Code Reference
Accounting-Request ACR 271 RFC 3588
Accounting-Answer ACA 271 RFC 3588
Re-Auth-Request RAR 258 RFC 3588
Re-Auth-Answer RAA 258 RFC 3588
Abort-Session-Request ASR 274 RFC 3588
Abort-Session-Answer ACA 274 RFC 3588
Session-Term-Request STR 275 RFC 3588
Session-Term-Answer STA 275 RFC 3588
Diameter nodes conforming to this specification MAY advertise support
by including the value of TBD in the Auth-Application-Id or the
Acct-Application-Id AVP of the Capabilities-Exchange-Request and
Capabilities-Exchange-Answer commands [RFC3588].
The value of TBD (TBD) MUST be used as the Application-Id in all QAR
and QAA commands. The value of TBD (TBD) MUST be used as the
Application-Id in all ACR/ACA commands, because this application
defines new, mandatory AVPs for accounting. The value of zero (0)
SHOULD be used as the Application-Id in all STR/STA, ASR/ASA, and
RAR/RAA commands, because these are defined in the Diameter base
protocol and no additional mandatory AVPs for those commands are
defined in this document.
Alfano, et al. Expires August 25, 2005 [Page 10]
Internet-Draft Diameter Quality of Service Application February 2005
5. QoS Authorization session
5.1 Authorization models
With respect to NSIS signaling, different authorization models have
been investigated and discussed in detail in
[I-D.tschofenig-nsis-aaa-issues] and in
[I-D.tschofenig-nsis-qos-authz-issues]. From the Diameter QoS
application's point of view these models differ in type of
information that need to be carried. Here we focus on the 'Three
party approach' model (Figure 5) and the 'Token based three party
approach'(Figure 6).
+--------------+
| Entity |
| authorizing | <......+
| resource | .
| request | .
+------------+-+ .
--^----------|-- . .
///// | | \\\\\ .
// | | \\ .
| QoS | QoS AAA | QoS |.
| authz| protocol |authz |.
| req.| | res. |.
\\ | | // .
\\\\\ | | ///// .
QoS --|----------v-- . .
+-------------+ request +-+------------+ .
| Entity |----------------->| BE | .
| requesting | | performing | .
| resource |granted / rejected| QoS | <.....+
| |<-----------------| reservation | financial
+-------------+ +--------------+ settlement
Figure 5: Three Party Approach
In the 'Three party approach' model, a resource request by the end
host is received at the router in the local network and then sent to
the user's home network (after processing) where authorization is
provided. The response is then returned and resources are granted
(in case of a successful authorization decision). The interaction
between the visited network and the home network establishes the
necessary financial infrastructure to later charge the user for the
consumed resources.
Alfano, et al. Expires August 25, 2005 [Page 11]
Internet-Draft Diameter Quality of Service Application February 2005
financial settlement
...........................+
Authorization V ------- .
Token Request +--------------+ / QoS AAA \ .
+-------------->| Entity | / protocol \ .
| | authorizing +--------------+ \ .
| | resource | | | | .
| +------+ request |<--+----+ | | .
| | +--------------+ |QoS | |QoS |.
| | |authz| |authz|.
| |Authorization |req.+| |res. |.
| |Token |Token| | |.
| | | | | . | .
| | \ | | . / .
| | \ | | / .
| | QoS request |-----V . .
+-------------+ + Authz. Token +--------+-----+ .
| Entity |----------------->| BE | .
| requesting | | performing | .
| resource |granted / rejected| QoS | <....+
| |<-----------------| reservation |
+-------------+ +--------------+
Figure 6: Token based three party approach
The token based three party approach is applicable in environments
where a previous protocol interaction is used to request
authorization tokens (or something similar) to assist the
authorization process at the entity performing the QoS reservation.
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.)
5.2 Session Initiation
A request for a QoS enabled transport plane service starts a Diameter
QoS message exchange (see Section 9). The identity of the user,
message authentication information, signaling session identification
and depending on the scenario, the identity of the QoS authorizing
application server and authorization token, are assembled into a
Diameter QoS Authorization Request (QAR) message by the transport
plane control element(s) responsible for resource allocation and sent
either to the identified application server, or to a supporting
Diameter server in the user's home realm.
Alfano, et al. Expires August 25, 2005 [Page 12]
Internet-Draft Diameter Quality of Service Application February 2005
The authorization server evaluates the information in the token to
determine the session for which QoS resource information is being
requested. It can be assumed that the server was involved in some
off-path resource negotiation signaling earlier on and at that time
resources were validated against a user subscription (see Figure 6).
The server responds with QoS-Authorization-Answer (QAA) message,
which includes the authorized QoS resources, gating information and
accounting coordination ID, which will be used for reporting
accounting information for the session. Also authorization session
management information (lifetime, session timeout, grace period) is
provided (see Section 6, [RFC3588] and [I-D.alfano-aaa-qosreq]).
In case of an unsuccessful authorization, the QAA message, including
a failure code (Result-Code AVP) specifying the rejection reason, is
sent and terminates this session. Since the QoS reservation request
is rejected, the QoS signaling protocol sends a negative response
message to it's peer in order to terminate the signaling session.
5.3 Session Establishment
When the QoS authorization exchange completes successfully and the
authorization session is established, requested QoS resources are
reserved at the router. Based on the gating information (see
Section 8.5) included in the QAA message, the corresponding transport
flow may be allowed to pass through the node. If not, then an
additional command for enabling of the transport plane service is
required from the Authorizing entity. Until the enabling command is
received packets SHOULD be given only best-effort treatment or MAY be
dropped. Once the authorized transport flow starts passing through
the node, an AAA accounting session should be established between the
transport. Accounting information is reported as described in
[RFC3588] and as extended in this Diameter application Section 6.
Loss of bearer information is reported using Diameter QoS defined
command codes (QAR) and AVPs.
5.4 QoS Re-Authorization
Ths section describes client- and server-side reauthorization
handling by the Diameter QoS application.
5.4.1 Client-side initiated Re-Authorization
The Authorization server can specify a period of time for which an
application is authorized to use the QoS resources and after which
re-authorization is required. The authorization lifetime is
specified in the Authorization-Lifetime and the Grace-Period AVPs
that are included in a successful authorization QAA message. In the
event of Authorization-Lifetime expiration the transport plane
Alfano, et al. Expires August 25, 2005 [Page 13]
Internet-Draft Diameter Quality of Service Application February 2005
element initiates QAR/QAA message exchange for re-authorization.
5.4.2 Server-side initiated Re-Authorization
At any time during the QoS session the Authorizing server MAY send
Re-Auth-Request (RAR) message. The Diameter client /the transport
plane element/ MUST respond with Re-Auth-Answer (RAA) message. The
transport plane element will then send an QoS-Request message with
re-authorization info.
5.5 Session Termination
5.5.1 Client-side initiated session termination
A QoS Authorization Session may be terminated from the client side by
sending a Session-Termination-Request message to the server. This is
Base Diameter protocol functionality and it is defined in [RFC3588].
Session termination can be caused by an NSIS tear down message or via
a loss of bearer report. After a successful termination of the
authorization session, final accounting messages should be exchanged
and accounting session should be finalized, too.
5.5.2 Server-side initiated session termination
At anytime during a session the Authorizing server may send an
Abort-Session-Request message to the transport plane element
[RFC3588]. Possible reasons are insufficient credits or session
termination at the application layer. This results in termination of
the authorization session, release of the reserved resources at the
node and sending notification to other transport plane nodes aware of
the signaling session. Final accounting message exchange must also
be terminated.
Alfano, et al. Expires August 25, 2005 [Page 14]
Internet-Draft Diameter Quality of Service Application February 2005
6. Accounting
The Diameter QoS application presented in this document reuses
Diameter Accounting as defined in [RFC3588]. A definition of new
Accounting attributes is necessary, but left for further study.
After a successful QoS authorization and start of the transport plane
flow, the router starts the corresponding Accounting session by
sending an Accounting-Request message. The message SHOULD contain
necessary attributes to bind the current accounting session to the
reported QoS session/CC-Correlation-ID AVP and Acc-MultiSession-ID
AVP. The Accounting server replies to a successfully received
Accounting-Request message with an Accounting-Answer message which
MAY contain instructions for handling of the accounting session,
e.g., the Accounting-Interim-Interval AVPs.
After every successful re-authorization procedure the transport plane
node SHOULD initiate accounting message exchange.
After successful session termination the transport plane node SHOULD
initiate final exchange of accounting messages with the accounting
server.
Alfano, et al. Expires August 25, 2005 [Page 15]
Internet-Draft Diameter Quality of Service Application February 2005
7. Diameter QoS Messages
This section defines new Diameter message Command-Code [RFC3588]
values that MUST be supported by all Diameter implementations that
conform to this specification. The Command Codes are:
Command-Name Abbrev. Code Reference
QoS-Request QAR XXX 6.1
QoS-Answer QAA XXX 6.2
7.1 QoS-Request (QAR) Command
The QoS-Request message (QAR), indicated by the Command-Code field
set to XXX and 'R' bit set in the Command Flags field, is used by
transport plane control elements to request quality of service
related resource authorization for a given flow.
The message MUST carry information to authorize the QoS requestor.
As such, it is at minimum necessary to carry enough information to
identify the user. If the QoS-Request is intended for a specific
application server, the QoS-Request MUST include a session
identification AVPs.
The message format is defined as follows:
<QoS-Request> ::= < Diameter Header: XXX, REQ, PXY >
< Session-Id >
{ Auth- Application-Id }
{ Origin-Host }
{ Origin-Realm }
{ Destination-Host }
{ Destination Realm }
{ Auth-Request-Type }
[ User-Name ]
[ CC-Correlation-Id ]
[ State ]
* [ AVP ]
7.2 QoS-Answer (QAA) Command
The QoS-Answer message (QAA), indicated by the Command-Code field set
to XXX and 'R' bit cleared in the Command Flags field, is sent in
response to the QoS-Request message. If the QoS-Request message is
processed successfully, the response will include the AVPs to allow
Alfano, et al. Expires August 25, 2005 [Page 16]
Internet-Draft Diameter Quality of Service Application February 2005
authorization of the QoS resources as well as accounting and
transport plane gating information.
The message format is defined as follows:
<QoS-Answer> ::= < Diameter Header: XXX, PXY >
< Session-Id >
{ Auth-Application-Id }
{ Result-Code }
{ Origin-Host }
{ Origin-Realm }
[ QoS-Auth-Resources ]
[ QoS-Flow-State ]
* [ AVP ]
Alfano, et al. Expires August 25, 2005 [Page 17]
Internet-Draft Diameter Quality of Service Application February 2005
8. Diameter QoS AVPs
Each of the AVPs identified in the QoS-Request and QoS-Answer command
codes and the assignment of their value(s) is given in this section.
8.1 Diameter Base Protocol AVPs
The AVPs in this section are defined in the Base Protocol, and are
included here for reference. For more information, see [RFC3588].
Session-Id AVP
Identifier of the AAA session established between the router,
acting as a Diameter client, and the Authorization entity, the
Diameter server, for QoS authorization. The Diameter client MUST
create a unique value for the Session-Id that will identify the
particular session.
Auth-Application-Id
The Auth-Application-Id is assigned by IANA to Diameter
applications. The value of the Auth-Application-Id for the
Diameter QoS application is XXX.
Result-Code AVP
The Result-Code AVP indicates if a particular request was
completed successfully.
Origin-Host
The Origin-Host AVP identifies the endpoint that originated the
Diameter message.
Origin-Realm
The Origin-Realm AVP contains the Realm of the originator of the
Diameter message.
8.2 Credit Control
The AVPs in this section are defined as part of the Diameter Credit
Control document [I-D.ietf-aaa-diameter-cc].
Alfano, et al. Expires August 25, 2005 [Page 18]
Internet-Draft Diameter Quality of Service Application February 2005
CC-Correlation-Id
The CC-Correlation-ID AVP (AVP code TBD) is of type OcterString
and contains information to correlate accounting data generated
for different components of the service, e.g. transport and
application level. In the Diameter QoS application, this AVP is
assigned a value by the Diameter QoS client and sent to the server
in a QAR message.
8.3 Authentication/Authorization
Authentication and authorization is important for the Diameter QoS
application. Therefore, a number of AVPs of related Diameter
applications can be used, such as [I-D.ietf-aaa-eap],
[I-D.ietf-aaa-diameter-sip-app] and [I-D.ietf-aaa-diameter-nasreq]
The details of the required attributes for authentication and
authorization is for further study.
8.4 Accounting AVPs
The Diameter QoS application uses Diameter Accounting as defined in
[RFC3588]. Diameter base accounting AVPs and Credit-Control AVPs
SHOULD be used.
Acc-Multisession-ID
Acc-Multisession-ID AVP SHOULD be used to link multiple accounting
sessions together. At the authorizing entity, the Diameter
session ID is bound to the NSIS-Session-ID. Additionally, the
Acc-Multisession-ID SHOULD be used with these IDs, allowing the
correlation of accounting information. This AVP MAY be returned
by the Diameter server in an Authorization answer, and MUST be
used in all accounting messages for the given session.
8.5 Diameter QoS Application Defined AVPs
This section defines the Quality of Service AVPs that are specific to
the Diameter QoS application and MAY be included in the Diameter QoS
application messages. Unlike the approach followed with RSVP (see
[RFC2749]), where the entire RSVP message is encapsulated into a COPS
message, only the relevant fields SHOULD be included. This approach
avoids a certain overhead of transmitting fields which are irrelevant
for the AAA infrastructure. It keeps implementations simpler and it
allows to reuse other Diameter AVPs. Finally, it helps to make this
Diameter application less dependent on any particular QoS signaling
protocol or a particular QoS model.
Alfano, et al. Expires August 25, 2005 [Page 19]
Internet-Draft Diameter Quality of Service Application February 2005
The following table describes the Diameter AVPs in the QoS
Application, their AVP code values, types, possible flag values, and
whether the AVP MAY be encrypted.
| AVP Flag rules |
|----+---+----+-----|----+
AVP Section | | |SHLD| MUST| |
Attribute Name Code Defined Data Type |MUST|MAY| NOT| NOT|Encr|
-----------------------------------------|----+---+----+-----|----|
NSIS-Session-ID XXX 4.3 UTF8String | M | P | | V | Y |
QoS-Auth- XXX 4.3 Grouped | M | P | | V | Y |
Resources | | | | | |
QoS-Filter-Rule XXX 4.3 Grouped | M | P | | v | Y |
QoS-Flow-State XXX 4.3 Enumerated | M | P | | V | Y |
QoS-NSIS XXX 4.3 OctetString | M | P | | V | Y |
IPFilter XXX 4.3 IpfltrRule | M | P | | V | Y |
SPI XXX 4.3 Unsigned32 | M | P | | V | Y |
DSCP XXX 4.3 Unsigned32 | M | P | | V | Y |
-----------------------------------------+----+---+----+-----+----+
NSIS-Session-ID
NSIS-Session-ID AVP is of type UTF8String and contains a copy of
the NSIS Session ID, which is unique identifier of the signaling
session that remains unchanged for the duration of the session.
It is added into QoS-Authorization-Request message for
identification of the signaling session that requests
authorization.
QoS-Auth-Resources
The QoS-Auth-Resources AVP (AVP Code N) is of type Grouped. Each
individual AVP in the grouped QoS-Auth-Resources describes the
value of a resource that has been authorized by an application
server for a particular QoS Request (described by the Session-Id
AVP). The QoS-Auth-Resources AVP is Optional, however one of
QoS-Auth-Resources, or QoS-Flow-State is mandatory in a QAA
message.
QoS-Auth-Resources ::= * [ QoS-Filter-Rule ]
0*1 < QoS-NSIS >
The AVPs that are part of QoS-Auth-resource AVP are:
Alfano, et al. Expires August 25, 2005 [Page 20]
Internet-Draft Diameter Quality of Service Application February 2005
QoS-Filter-Rule
QoS-Filter-Rule::= 0*1 < IPFilter >
0*1 < SPI >
0*1 < DSCP >
The QoS-Filter-Rule AVP is of type Grouped, and provides filter
rules for the packet flow of the user. One or more such AVPs MAY
be present in a QAA response.
QoS-NSIS
The QoS-NSIS AVP is of type OctetString. It contains QoS
parameter information. Description format is taken from QoS NSLP
Qspec Template which is expected to cover all present QoS
description methods [I-D.ietf-nsis-qspec]. The template proposed
there includes description of QoS Control information and
requested, reserved, available and minimum QoS which are used in
NSIS QoS protocol. For the authorization purposes not all of the
description parameters are required e.g. only Minimum and
Available QoS description MAY be used. Considering that the work
on the QoS parameters is ongoing, a future version of this
document will contain payload descriptions of objects introduced
in [I-D.ietf-nsis-qos-nslp] and [I-D.ietf-nsis-qspec]. A separate
AVP MAY be specified for description of QoS in 3GPP networks
scenarios.
QoS-Flow-State:
The QoS-Flow-State AVP is of type Enumerated and is used in QAA
messages. It gives indication by the Authorizing entity how the
flow MUST be treated. When included in a QAA message, it is
instructions to the transport plane control element with regard to
the state to which the flow should be set. The supported values
are
0 Open - Enable the transport plane service, for which
the signaling is done
1 Close - Disable the transport plane service
2 Maintain - Current state(enabled/disabled) of the transport
plane service is maintained
The QoS-Flow-State is an optional AVP. When not included in a QAA
response, the default behaviour is to immediately allow the flow
of packets (Open).
Alfano, et al. Expires August 25, 2005 [Page 21]
IPFilter:
The IPFilter AVP is of type IPflrtRule and represents a flow
identifier used in Packet Clasifier.
SPI:
The SPI AVP is of type Unsigned32 and together with IPFilter AVP
provides support for IPsec protected traffic.
DSCP:
The DSCP AVP is of type Unsigned32 and together with IPFilter AVP
provides support for DiffServ marked flow identification. For
this purpose, DSCP does not imply any QoS description. Full
description of the QoS is provided in NSIS-QoS AVP.
Alfano, et al. Expires August 25, 2005 [Page 22]
Internet-Draft Diameter Quality of Service Application February 2005
9. Examples
This section illustrates a general message flow of QoS authorization
session establishment(Figure 14) and interworking with NSIS
(Figure 15).
Figure 14 shows the protocol exchange between the Diameter Client and
the Diameter Server. An incoming QoS reservation request received at
the transport plane element invokes sending of QoS-Request message to
the Authorization server. Server replies with QoS-Answer 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. The server replies with an Accounting-Answer message 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 life-timer
initiates a QAR/QAA message exchange. After successful
re-authorization an accounting message ACR SHOULD be sent. The
server replies to it with an ACA message. A session termination that
is initiated by the server will be sent using an
Abort-Session-Request message. The client responds with an ASA
message and a Session-Termination-request message. After receiving
the STA message sent by the server, which finalizes the authorization
session, final accounting information is sent with the ACR message.
The ACA message from the server also terminates the accounting
session.
Router(Diameter client) Diameter Server
-----------> | |
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./ |
Alfano, et al. Expires August 25, 2005 [Page 23]
Internet-Draft Diameter Quality of Service Application February 2005
|<-------------------------------------------|
| 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 14: Diameter QoS Application Session
Figure 15 shows the interaction between NSIS, application layer
signaling (e.g., SIP) and the Diameter QoS application. First, a
service request is sent from the client to the application server.
In response, for example, it returns an authorization token to bind
the application layer signaling exchange to the subsequent NSIS
signaling session. The authorization token is attached to the NSIS
signaling message and the message itself is intercepted by the first
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
authorization 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
Alfano, et al. Expires August 25, 2005 [Page 24]
Internet-Draft Diameter Quality of Service Application February 2005
Application
Enabled Router Application
Enforcement Pt Server
Application +
Client Domain 1 + Domain 2
| | + |
| Service Request (QoS) |
+------------+------------+------------->
| | + |
| | + |
| Service Response (QoS', Token) |
<------------+------------+-------------+
| | + |
| | + |
|NSIS (Token)| + |
+------------> + |
| | + |
| | -+-- |
| |QAR(Token)- + -QAR(Token)|
| +--------/> + --\-------->
| | / + \ |
| | / + \ |
| | | + | |
| | QAA(QoS) + QAA(QoS) |
| <------+--- + <---+------+
| | | + | |
| | | Diameter | |
| | \ Network / |
| | \ + / |
| | \ + / |
| Authorization \- + -/ |
| Enforcement -+-- |
| Decision + |
| | + |
| | + |
| Allow or Terminate Flow |
<-----------+*+------------------------->
| | + |
| | + |
Figure 15: Message flow with NSIS and Diameter QoS Application
A future version of this document will describe scenarios with other
authorization models.
Alfano, et al. Expires August 25, 2005 [Page 25]
Internet-Draft Diameter Quality of Service Application February 2005
10. Security Considerations
This document describes a mechanism for performing authorization of a
QoS reservation at a third party entity. Thereby, it is necessary
the QoS signaling protocol to forward the necessary information to
the backend AAA server. This functionality is particularly useful in
roaming environments where the authorization decision is most likely
provided at an entity where the user can be authorized, such as in
the home realm. To provide proper authorization, authentication
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].
Alfano, et al. Expires August 25, 2005 [Page 26]
Internet-Draft Diameter Quality of Service Application February 2005
11. Contributors
The authors would like to thank Tseno Tsenov for his contributions to
this document.
Alfano, et al. Expires August 25, 2005 [Page 27]
Internet-Draft Diameter Quality of Service Application February 2005
12. Acknowledgements
Add your name here.
Alfano, et al. Expires August 25, 2005 [Page 28]
Internet-Draft Diameter Quality of Service Application February 2005
13. Open Issues
During our work on this document we identified the following open
issues:
o This Diameter QoS application can reuse a number of other Diameter
applications. This is a big advantage over other approaches.
This interaction and a list of useful attributes needs to be
collected and described. This aspect is for further study.
o The NSIS group is currently working on QoS models. As soon as
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-nsis-qos-nslp]. Section 9 currently addresses only the
third party approach using authorization tokens. Further work is
needed to describe the details of a generic three party scenario.
o Section 5.5 describes the session termination functionality.
Should a new command code for transport plane gating purposes be
introduced, i.e., what if the application server wants to
temporarily disable the transport plane service without
terminating the session with ASR?
o Section 5.4 raises the question of a re-authorizing capability for
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 Section 5.4 presents a possible re-authorization solution taken
from [RFC3588]. A time based authorization life period is used.
Adding a re-authorization functionality with volume-based
authorization period MIGHT be useful. A corresponding metering
functionality MUST be present at the router.
o The terminology regarding the 'transport plane node' needs further
refinement.
Alfano, et al. Expires August 25, 2005 [Page 29]
Internet-Draft Diameter Quality of Service Application February 2005
14. References
14.1 Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", March 1997.
[RFC3588] Calhoun, P., Loughney, J., Guttman, E., Zorn, G. and J.
Arkko, "Diameter Base Protocol", RFC 3588, September 2003.
14.2 Informative References
[I-D.alfano-aaa-qosreq]
Alfano, F., "Requirements for a QoS AAA Protocol",
Internet-Draft draft-alfano-aaa-qosreq-01, October 2003.
[I-D.ietf-aaa-diameter-cc]
Mattila, L., Koskinen, J., Stura, M., Loughney, J. and H.
Hakala, "Diameter Credit-control Application",
Internet-Draft draft-ietf-aaa-diameter-cc-06, August 2004.
[I-D.ietf-aaa-diameter-nasreq]
Calhoun, P., Zorn, G., Spence, D. and D. Mitton, "Diameter
Network Access Server Application",
Internet-Draft draft-ietf-aaa-diameter-nasreq-17, July
2004.
[I-D.ietf-aaa-diameter-sip-app]
Garcia-Martin, M., "Diameter Session Initiation Protocol
(SIP) Application",
Internet-Draft draft-ietf-aaa-diameter-sip-app-06,
February 2005.
[I-D.ietf-aaa-eap]
Eronen, P., Hiller, T. and G. Zorn, "Diameter Extensible
Authentication Protocol (EAP) Application",
Internet-Draft draft-ietf-aaa-eap-10, November 2004.
[I-D.ietf-nsis-qos-nslp]
Bosch, S., Karagiannis, G. and A. McDonald, "NSLP for
Quality-of-Service signaling",
Internet-Draft draft-ietf-nsis-qos-nslp-05, October 2004.
[I-D.ietf-nsis-qspec]
Ash, J., "QoS-NSLP QSpec Template",
Internet-Draft draft-ietf-nsis-qspec-03, February 2005.
[I-D.tschofenig-nsis-aaa-issues]
Alfano, et al. Expires August 25, 2005 [Page 30]
Internet-Draft Diameter Quality of Service Application February 2005
Tschofenig, H., "NSIS Authentication, Authorization and
Accounting Issues",
Internet-Draft draft-tschofenig-nsis-aaa-issues-01, March
2003.
[I-D.tschofenig-nsis-qos-authz-issues]
Tschofenig, H., "QoS NSLP Authorization Issues",
Internet-Draft draft-tschofenig-nsis-qos-authz-issues-00,
June 2003.
[RFC2210] Wroclawski, J., "The Use of RSVP with IETF Integrated
Services", RFC 2210, September 1997.
[RFC2327] Handley, M. and V. Jacobson, "SDP: Session Description
Protocol", RFC 2327, April 1998.
[RFC2749] Herzog, S., Boyle, J., Cohen, R., Durham, D., Rajan, R.
and A. Sastry, "COPS usage for RSVP", RFC 2749, January
2000.
[RFC3313] Marshall, W., "Private Session Initiation Protocol (SIP)
Extensions for Media Authorization", RFC 3313, January
2003.
[RFC3520] Hamer, L-N., Gage, B., Kosinski, B. and H. Shieh, "Session
Authorization Policy Element", RFC 3520, April 2003.
[RFC3521] Hamer, L-N., Gage, B. and H. Shieh, "Framework for Session
Set-up with Media Authorization", RFC 3521, April 2003.
Authors' Addresses
Frank M. Alfano
Lucent Technologies
1960 Lucent Lane
Naperville, IL 60563
USA
Phone: +1 630 979 7209
Email: falfano@lucent.com
Alfano, et al. Expires August 25, 2005 [Page 31]
Internet-Draft Diameter Quality of Service Application February 2005
Peter J. McCann
Lucent Technologies
1960 Lucent Lane
Naperville, IL 60563
USA
Phone: +1 630 713 9359
Email: mccap@lucent.com
Hannes Tschofenig
Siemens
Otto-Hahn-Ring 6
Munich, Bavaria 81739
Germany
Email: Hannes.Tschofenig@siemens.com
URI: http://www.tschofenig.com
Alfano, et al. Expires August 25, 2005 [Page 32]
Internet-Draft Diameter Quality of Service Application February 2005
Intellectual Property Statement
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org.
Disclaimer of Validity
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Copyright Statement
Copyright (C) The Internet Society (2005). This document is subject
to the rights, licenses and restrictions contained in BCP 78, and
except as set forth therein, the authors retain all their rights.
Acknowledgment
Funding for the RFC Editor function is currently provided by the
Internet Society.
Alfano, et al. Expires August 25, 2005 [Page 33]