TOC |
|
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 becomes aware will be disclosed, in accordance with Section 6 of BCP 79.
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 1, 2008.
This document describes framework, messages and procedures for the Diameter Quality of Service (QoS) application. The Diameter QoS application allows network elements to interact with Diameter servers when allocating QoS resources in the network. In particular, two modes of operation - Pull and Push are defined.
1.
Introduction
2.
Terminology
3.
Framework
3.1.
Network element functional model
3.2.
Implications of Endpoint QoS Capabilities
3.2.1.
Category
3.2.2.
Interaction modes between authorizing entity and network element
3.3.
Schemes
3.3.1.
Schemes for pull mode
3.3.2.
Schemes for push mode
3.4.
QoS Application Requirements
4.
QoS Application Session Establishment and Management
4.1.
Parties involved
4.2.
Session Establishment
4.2.1.
Session establishment for pull mode
4.2.2.
Session establishment for push mode
4.2.3.
Discovery and selection of peer Diameter QoS application node
4.3.
Session re-authorization
4.3.1.
Client-Side Initiated Re-Authorization
4.3.2.
Server-Side Initiated Re-Authorization
4.4.
Session Termination
4.4.1.
Client-Side Initiated Session Termination
4.4.2.
Server-Side Initiated Session Termination
5.
QoS Application Messages
5.1.
QoS-Authorization Request (QAR)
5.2.
QoS-Authorization Answer (QAA)
5.3.
QoS-Install Request (QIR)
5.4.
QoS-Install Answer (QIA)
5.5.
Re-Auth-Request (RAR)
5.6.
Re-Auth-Answer (RAA)
6.
QoS Application State Machine
6.1.
Supplemented states for push mode
7.
QoS Application AVPs
7.1.
Reused Base Protocol AVPs
7.2.
QoS Application Defined AVPs
8.
Accounting
9.
Examples
9.1.
Example call flow for pull mode
9.2.
Example call flow for push mode
10.
IANA Considerations
10.1.
AVP Codes
10.2.
AVP specific values
10.3.
AVP flags
10.4.
Application IDs
10.5.
Command Codes
11.
Security Considerations
12.
Acknowledgements
13.
Contributors
14.
References
14.1.
Normative References
14.2.
Informative References
§
Authors' Addresses
§
Intellectual Property and Copyright Statements
TOC |
This document describes framework, messages and procedures for the Diameter Quality of Service (QoS) Application. The Diameter QoS Application allows network elements (NEs) to interact with Diameter servers when allocating QoS resources in the network.
In particular, two modes of operation are defined. In the first, called "Pull Mode", the network element pro-actively sends a command to the Diameter server for QoS authorization based on some trigger (such as a QoS signaling protocol) that arrives along the data path. In the second, called "Push Mode", the Diameter server pro-actively sends a command to the network element(s) to install QoS authorization state. This could be triggered, for instance, by off-path signaling such as SIP-based (Session Initiation Protocol) call control.
A set of command codes pertinent to this QoS application are specified that allows a single Diameter application to support both Pull and Push modes based on the requirements of network technologies, deployment scenarios and end-host's capabilities. In conjunction with parameters defined in [I‑D.ietf‑dime‑qos‑attributes] (Korhonen, J., Tschofenig, H., Arumaithurai, M., Jones, M., and A. Lior, “Traffic Classification and Quality of Service Attributes for Diameter,” December 2009.) and in [I‑D.ietf‑dime‑qos‑parameters] (Korhonen, J., Tschofenig, H., and E. Davies, “Quality of Service Parameters for Usage with Diameter,” May 2009.), this document depicts basic call flow procedures to establish, modify and terminate a Diameter QoS application session.
TOC |
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] (Bradner, S., “Key words for use in RFCs to Indicate Requirement Levels,” March 1997.).
The following terms are used in this document:
- Diameter QoS Application Server
A Diameter QoS application server is a logical Diameter node that supports the protocol interaction for QoS authorization. The Diameter QoS application server resides in the authorizing entity (AE). In the Pull mode, it responds to a Diameter session initiated by a Diameter QoS application client; in the Push mode, it initiates a Diameter session to a Diameter QoS application client triggered by application signaling or local events.
- Diameter QoS Application Client
A Diameter QoS application client is a logical Diameter node that supports the protocol interaction for QoS enforcement. The Diameter QoS client resides in the network element. In the Pull mode, it initiates a Diameter session to the Diameter QoS application server triggered by a QoS signaling or other events; in the Push mode, it responds to a Diameter session initiated by a Diameter QoS server.
- Resource Requesting Entity
A resource requesting entity is a logical entity that supports the protocol interaction for QoS resources. The resource requesting entity resides in the end-host and is able to communicate with peer logical entities in Authorizing Entity or Network element to trigger the QoS authorization process.
- 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 may 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 acts as a Diameter server (and may collocate with a subscriber database) responsible for authorizing QoS requests for a particular application flow or aggregate. It may be a standalone entity or integrated with an application server. This entity corresponds to the Policy Decision Point (PDP) (see [RFC2753] (Yavatkar, R., Pendarakis, D., and R. Guerin, “A Framework for Policy-based Admission Control,” January 2000.)).
- AAA Cloud
An infrastructure of AAA entities (clients, agents, servers) based on a AAA protocol, which provides trusted secure connections between them. It offers authentication, authorization and accounting services to applications in flexible local and roaming scenarios. Diameter [RFC3588] (Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. Arkko, “Diameter Base Protocol,” September 2003.) and RADIUS [RFC2865] (Rigney, C., Willens, S., Rubens, A., and W. Simpson, “Remote Authentication Dial In User Service (RADIUS),” June 2000.) are both widely deployed AAA protocols.
- 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] (Yavatkar, R., Pendarakis, D., and R. Guerin, “A Framework for Policy-based Admission Control,” January 2000.)).
- Pull Mode
In this mode, the QoS authorization process is invoked by the QoS reservation request received from the endpoint. The Network Element then requests the QoS authorization decision from the Authorizing entity.
- Push Mode
In this mode, the QoS authorization process is invoked by the request from Application Server or local policies in the Authorizing Entity. The Authorizing Entity then installs the QoS authorization decision to the Network Element directly.
TOC |
The Diameter QoS application runs between a network element (acting as a Diameter client) and the resource authorizing entity (acting as a Diameter server). A high-level picture of the resulting architecture is shown in Figure 1 (An Architecture supporting QoS-AAA).
+-------+---------+ | Authorizing | | Entity | |(Diameter Server)| +-------+---------+ | | /\-----+-----/\ //// \\\\ || AAA Cloud || | (Diameter application) | || || \\\\ //// \-------+-----/ | +---+--+ +-----+----+ +---+--+ | | | NE | | | Media + NE +===+(Diameter +===+ NE +=============>> | | | Client) | | | Flow +------+ +----------+ +------+
Figure 1: An Architecture supporting QoS-AAA |
Figure 1 (An Architecture supporting QoS-AAA) depicts network elements through which media 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.
In some deployment scenarios, QoS aware network elements may request authorization through the AAA cloud based on an incoming QoS reservation request. The network element will route the request to a designated authorizing entity. The authorizing entity will return the result of the authorization decision. In other deployment scenarios, the authorization will be initiated upon dynamic application state, so that the request must be authenticated and authorized based on information from one or more application servers. After receiving the authorization request from the application server or the network element, the authorizing entity decides the appropriate mode (i.e. Push or Pull). The Push or Pull mode can be dynamically determined based on the information received from the request of the application server and/or the information (e.g. policy) in the authorizing entity, or statically configured according to operator's demand, or the messages between AE and NE. The Authorizing Entity may identify the access network through the use of some out-of-band signaling, such as SIP, Diameter, which may be sent from the application server to Authorizing Entity, and then select appropriate resource admission and control policies.
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 network operators and third-party application providers, enabling flexible intra- or inter-domain authorization, accounting, and settlement.
TOC |
Figure 2 (Network element functional model) depicts a logical operational model of resource management in a router.
+-------------------------------------------------------+ | DIAMETER Client | | Functionality | | +---------------++-----------------++---------------+ | | | User || QoS Application || Accounting | | | | Authentication|| Client || Client (e.g. | | | | Client || (Authorization ||for QoS Traffic| | | +---------------+| of QoS Requests)|+---------------+ | | +-----------------+ | +-------------------------------------------------------+ ^ 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) <<<>>> = 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 (Framework). 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.
TOC |
TOC |
The QoS capabilities of endpoints are varied, which can be categorized as follows:
TOC |
Different QoS mechanisms are employed in packet networks. Those QoS mechanisms can be categorized into two schemes: IntServ and DiffServ. In the IntServ scheme, network signaling (e.g., RSVP, NSIS, or link specific signaling) is commonly used to initiate a request from endpoint for desired QoS resource of media flow. In the DiffServ scheme, the QoS resources are provisioned based on some predefined QoS service classes instead of endpoint initiated per flow based QoS request.
It is obvious that the eligible QoS scheme is correlated to the endpoint's capability in the context of QoS authorization. Since category 1 and 2 endpoints cannot initiate the QoS resource requests through the network signaling, the IntServ model is not applicable to them in general. Depending on network technology and operator’s demand, a category 3 endpoint may either make use of the network signaling for requesting the resource or not perform the request.
The diversity of QoS capabilities of endpoints and QoS schemes of network technology leads to the distinction on the interaction mode between QoS authorization system and underlying network elements. When the IntServ scheme is employed by category 3 endpoint, the authorization process is typically initiated by network element when a trigger such as the network signaling is received from the endpoint. In the DiffServ scheme, since the network element is unable to request the resource authorization on its own initiative, the authorization process is typically triggered upon either the request of application servers or policies defined by the operator.
As a consequence, two interaction modes are needed in support of different combinations of QoS schemes and endpoint’s QoS capabilities: Push mode and Pull mode.
For category 1 and 2 endpoints, the Push mode is required, in particular, category 1 endpoint requires network initiated push mode and category 2 endpoint may use both them. For category 3 endpoint, either push mode or pull mode is doable.
The Push mode is applicable to certain networks, for example, Cable network, DSL, Ethernet, Diffserv enabled IP/MPLS as defined by other SDOs, e.g., ETSI TISPAN and ITU-T. The Pull mode is more appropriate to IntServ enabled IP networks or certain wireless networks such as GPRS networks as defined by 3GPP/PP2. Some networks, e.g., WiMAX may require both Push and Pull modes.
TOC |
TOC |
Three basic authorization schemes for pull mode exist: one two-party and two three-party schemes. The notation adopted here is in respect to the entity that performs the QoS authorization. The authentication of the QoS requesting entity might be done at the network element as part of the QoS signaling protocol, or by an off-path protocol run (on the application layer or for network access authentication) or the authorizing entity might be contacted with request for authentication and authorization of the QoS requesting entity. From the Diameter QoS application's point of view these schemes differ in type of information that need to be carried. Here we focus on the 'Three party scheme' (see Figure 3 (Three Party Scheme)) and the 'Token-based three party scheme' (see Figure 4 (Token-based Three Party Scheme)). With the 'two party scheme' 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 | | authorizing | <......+ | resource | . | request | . +------------+-+ . --^----------|-- . . ///// | | \\\\\ . // | | \\ . | QoS | QoS AAA | QoS |. | authz| protocol |authz |. | req.| | res. |. \\ | | // . \\\\\ | | ///// . QoS --|----------v-- . . +-------------+ request +-+------------+ . | Entity |----------------->| NE | . | requesting | | performing | . | resource |granted / rejected| QoS | <.....+ | |<-----------------| reservation | financial +-------------+ +--------------+ settlement
Figure 3: Three Party Scheme |
With the 'three party scheme' a QoS reservation request that arrives at the Network Element is forwarded to the Authorizing Entity (e.g., in the user's home network), where the authorization decision is made. A business relationship, such as a roaming agreement, between the visited network and the home network ensures that the visited network is compensated for the resources consumed by the user via the home network.
financial settlement ...........................+ Authorization V ------- . Token Request +--------------+ / QoS AAA \ . +-------------->| | / protocol \ . | | Authorizing +--------------+ \ . | | Entity | | | | . | +------+ |<--+----+ | | . | | +--------------+ |QoS | |QoS |. | | |authz| |authz|. | |Authorization |req.+| |res. |. | |Token |Token| | |. | | | | | . | . | | \ | | . / . | | \ | | / . | | QoS request |-----V . . +-------------+ + Authz. Token +--------+-----+ . | Entity |----------------->| NE | . | requesting | | performing | . | resource |granted / rejected| QoS | <....+ | |<-----------------| reservation | +-------------+ +--------------+
Figure 4: Token-based Three Party Scheme |
The 'Token-based Three Party scheme' is applicable to environments where a previous protocol interaction is used to request authorization tokens to assist the authorization process at the Network Element or the Authorizing Entity.
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:
A possible structure for the authorization token and the policy element carrying it are proposed in context of RSVP [RFC3520] (Hamer, L-N., Gage, B., Kosinski, B., and H. Shieh, “Session Authorization Policy Element,” April 2003.).
In the scenario mentioned above, where the QoS resource requesting entity is involved in an application layer protocol interaction with the Authorizing entity, it may be worthwhile to consider a token less binding mechanism also. The application layer protocol interaction may have indicated the transport port numbers at the QoS resource requesting entity where it might receive media streams, for example in SIP/SDP signalling these port numbers are advertised. The QoS resource requesting entity may also use these port numbers in some IP filter indications to the NE performing QoS reservation so that it may properly tunnel the inbound packets. The NE performing QoS reservation will forward the QoS resource requesting entity's IP address and the IP filter indications to the Authorizing entity in the QoS authz. request. The Authorizing entity will use the QoS resource requesting entity's IP address and the port numbers in the IP filter indication, which will match the port numbers advertised in the earlier application layer protocol interaction, to identify the right piece of policy information to be sent to the NE performing the QoS reservation in the QoS authz. response.
TOC |
The push mode can be further divided into two types: endpoint initiated and network initiated. In the former case, the authorization process is triggered by application server upon explicit QoS request from endpoints through application signaling, e.g. SIP; in the latter case, the authorization process is triggered by application server without explicit QoS request from endpoint.
In the endpoint initiated scheme, the QoS resource requesting entity (i.e. endpoint) determines the required application level QoS and sends the QoS request through application signaling message, the Application Server will extract application level QoS information and trigger the authorization process to Authorizing entity. In the network initiated scheme, the Authorizing entity and/or Application server should derive and determine the QoS requirement according to application attribute, subscription and endpoint's capability when the endpoint does not explicitly indicate the QoS attributes. The authorizing entity makes authorization decision based on application level QoS information, network policies, end user subscription and network resource availability etc., and installs the decision to network element directly.
financial settlement ...........................+ Application V ------- . signaling msg +--------------+ / QoS AAA \ . +-------------->| | / protocol \ . | | Authorizing +--------------+ \ . | | Entity | | | | . | + |<--+----+ | | . | +--------------+ |QoS | |QoS |. | install| |install | |rsp. | |req. |. | | | | |. | | | | . | . | \ | | . / . | \ | | / . V |-----V . . +-------------+ +--------+-----+ . | Entity | | NE | . | requesting | | performing | . | resource |QoS rsrc granted | QoS | <....+ | |<-----------------| reservation | +-------------+ +--------------+
Figure 5: Scheme for Push Mode |
TOC |
A QoS application must meet a number of requirements applicable to a diverse set of networking environments and services. It should be compliant with different deployment scenarios with specific QoS signaling models and security issues. Satisfying the requirements listed below while interworking with QoS signaling protocols, a Diameter QoS application should accommodate the capabilities of the QoS signaling protocols rather than introducing functional requirements on them. A list of requirements for a QoS authorization application 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 provided identity of the QoS requesting entity or the identity of the Authorizing entity encoded in the provided authorization token.
- 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. 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
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 for the 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 may 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 SHOULD be able to send accounting records for a particular QoS reservation state to an accounting 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.
- Accounting Correlation
The QoS AAA protocol may 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 Network Access (NASREQ) application [RFC4005] (Calhoun, P., Zorn, G., Spence, D., and D. Mitton, “Diameter Network Access Server Application,” August 2005.) is required for exchange of authorization, authentication and accounting information.
In deployment scenarios, where authentication of the QoS reservation requesting entity (e.g., the user) is done by means outside the Diameter QoS application protocol interaction the Authorizing Entity is contacted only with a request for QoS authorization. Authentication might have taken place already via the interaction with the Diameter NASREQ application or as part of the QoS signaling protocol (e.g., Transport Layer Security (TLS) handshake in the General Internet Signaling Transport (GIST) protocol, see [I‑D.ietf‑nsis‑ntlp] (Schulzrinne, H. and M. Stiemerling, “GIST: General Internet Signalling Transport,” June 2009.)).
Authentication of the QoS reservation requesting entity to the Authorizing Entity is necessary if a particular Diameter QoS application protocol run cannot be related (or if there is no intention to relate it) to a prior authentication. In this case the Authorizing Entity MUST authenticate the QoS reservation requesting entity in order to authorize the QoS request as part of the Diameter QoS protocol interaction.
The document refers to three types of sessions that need to be properly correlated.
- QoS signaling session
The time period during which a QoS signaling protocol establishes, maintains and deletes a QoS reservation state at the QoS network element is referred as QoS signaling session. Different QoS signaling protocols use different ways to identify QoS signaling sessions. The same applies to different usage environments. Currently, this document supports three types of QoS session identifiers, namely a signaling session id (e.g., the Session Identifier used by the NSIS protocol suite), a flow id (e.g., identifier assigned by an application to a certain flow as used in the 3GPP) and a flow description based on the IP parameters of the flow's end points.
- Diameter authorization session
The time period, for which a Diameter server authorizes a requested service (i.e., QoS resource reservation) is referred to as a Diameter authorization session. It is identified by a Session-Id included in all Diameter messages used for management of the authorized service (initial authorization, re-authorization, termination), see [RFC3588] (Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. Arkko, “Diameter Base Protocol,” September 2003.).
- Application layer session
The application layer session identifies the duration of an application layer service which requires provision of certain QoS. An application layer session identifier is provided by the QoS requesting entity in the QoS signaling messages, for example as part of the authorization token. In general, the application session identifier is opaque to the QoS aware network elements. It is included in the authorization request message sent to the Authorizing entity and helps it to correlate the QoS authorization request to the application session state information.
Correlating these sessions is done at each of the three involved entities: The QoS requesting entity correlates the application with the QoS signaling sessions. The QoS network element correlates the QoS signaling session with the Diameter authorization sessions. The Authorizing entity SHOULD bind the information about the three sessions together. Note that in certain scenarios not all of the sessions are present. For example, the application session might not be visible to QoS signaling protocol directly if there is no binding between the application session and the QoS requesting entity using the QoS signaling protocol.
TOC |
TOC |
Authorization models supported by this application include three parties:
Note that the QoS resource requesting entity is only indirectly involved in the message exchange. This entity provides the trigger to initiate the Diameter QoS protocol interaction by transmitting QoS signaling messages. The Diameter QoS application is only executed between the Network Element (i.e., DQA client) and the Authorizing Entity (i.e., DQA server).
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. This message exchange is, however, outside the scope of this document. The protocol communication between the QoS resource requesting entity and the QoS Network Element 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 desirable since this applications aims to be generic.
TOC |
The Pull and Push modes use a different set of command codes for session establishment. For other operations, such as session modification and termination, they use the same set of command codes.
The Pull mode or Push mode operation is invoked based on the trigger of QoS Authorization session. When a QAR with a new session ID is received, the Authorizing Entity operates in the pull mode; when other triggers are received, the Authorizing Entity operates in the push mode. Similarly, when a QIR with new session ID is received, the Network Element operates in the push mode; when other triggers are received, the Network Element operation in the pull mode.
TOC |
A request for a QoS reservation or local events received by a Network Element can trigger the initiation of a Diameter QoS authorization session. The Network Element generates a QoS-Authorization-Request (QAR) message in which it maps required objects from the QoS signaling message to Diameter payload objects.
Figure 6 (Initial QoS Request Authorization for pull) shows the protocol interaction between a resource requesting entity, a Network Element and the Authorizing Entity.
The Authorizing Entity's identity, information about the application session and/or identity and credentials of the QoS resource requesting entity, requested QoS parameters, signaling session identifier and/or QoS enabled data flows identifiers 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 the home server of the QoS requesting entity or an application server.
+----------------------------------+-------------------------------+ | QoS specific Input Data | Diameter QoS AVPs | +----------------------------------+-------------------------------+ | Authorizing entity ID (e.g., | Destination-Host | | taken from authorization token | Destination-Realm | | or derived based on Network | | | Access ID (NAI) [RFC4282] | | | of the QoS requesting entity) | | +----------------------------------+-------------------------------+ | Authorization Token | QoS-Authz-Data | | Credentials of | User-Name | | the QoS requesting entity | | +----------------------------------+-------------------------------+ | QoS parameters | QoS-Resources | +----------------------------------+-------------------------------+
Authorization processing starts at the Diameter QoS server when it receives the QAR. Based on the information in the QoS-Authentication-Data, User-Name and QoS-Resources AVPs the server determines the authorized QoS resources and flow state (enabled/disabled) from locally available information (e.g., policy information that may be previously established as part of an application layer signaling exchange, or the user's subscription profile). The QoS-Resources AVP is defined in [I‑D.ietf‑dime‑qos‑attributes] (Korhonen, J., Tschofenig, H., Arumaithurai, M., Jones, M., and A. Lior, “Traffic Classification and Quality of Service Attributes for Diameter,” December 2009.). The authorization decision is then reflected in the response returned to the Diameter client with the QoS-Authorization-Answer message (QAA).
Authorizing End-Host Network Element Entity requesting QoS ( Diameter ( Diameter QoS Client) QoS Server) | | | +---QoS-Reserve---->| | | +- - - - - QAR - - - - - >| | |(QoS-Resources, | | | QoS-Auth-Data,User-ID)| | | +--------+--------------+ | | | Authorize request | | | | Keep session data | | | |/Authz-time,Session-Id/| | | +--------+--------------+ | |< - - - - QAA - - - - - -+ | |(Result-Code, | | |QoS-Resources,Authz-time)| | +-------+---------+ | |Install QoS state| | | + | | | Authz. session | | | /Authz-time/ | QoS Responder | | | Node | +-------+---------+ | | +----------QoS-Reserve---....--->| | | | | |<---------QoS-Response--....----| |<--QoS-Response----+ | | | | |=====================Data Flow==============....===>| | | | +- - - - - QAR - - - - - >| | |(START,QoS-Resources) | | | | | | +--------+--------------+ | | | Report for successful | | | | QoS reservation | | | |Update of reserved QoS | | | | resources | | | +--------+--------------+ | |< - - - - QAA - - - - - -+ | | |
Figure 6: Initial QoS Request Authorization for pull |
The Authorizing Entity keeps authorization session state and SHOULD save additional information for management of the session (e.g., Signaling-Session-Id, authentication data) as part of the session state information.
The final result of the authorization request is provided in the Result-Code AVP of the QAA message sent by the Authorizing Entity. In case of successful authorization (i.e., Result-Code = DIAMETER_LIMITED_SUCCESS, (see Section 7.1 (Reused Base Protocol AVPs))), information about the authorized QoS resources and the status of the authorized flow (enabled/disabled) is provided in the QoS-Resources AVP of the QAA message. The QoS information provided via the QAA is installed by the QoS Traffic Control function of the Network Element. The value DIAMETER_LIMITED_SUCCESS indicates that the Authorizing entity expects confirmation via another QAR message for successful QoS resource reservation and for final reserved QoS resources (see below).
One important piece of information returned from the Authorizing Entity is the authorization lifetime (carried inside the QAA). The authorization lifetime allows the Network Element to determine how long the authorization decision is valid for this particular QoS reservation. A number of factors may influence the authorized session duration, such as the user's subscription plan or currently available credits at the user's account (see Section 8 (Accounting)). The authorization duration is time-based as specified in [RFC3588] (Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. Arkko, “Diameter Base Protocol,” September 2003.). For an extension of the authorization period, a new QoS-Authorization-Request/Answer message exchange SHOULD be initiated. Further aspects of QoS authorization session maintenance is discussed in Section 4.3 (Session re-authorization), Section 4.4 (Session Termination) and Section 8 (Accounting).
The indication of a successful QoS reservation and activation of the data flow is provided by the transmission of an QAR message, which reports the parameters of the established QoS state: reserved resources, duration of the reservation, and identification of the QoS enabled flow/QoS signaling session. The Diameter QoS server acknowledges the reserved QoS resources with the QA Answer (QAA) message where the Result-Code is set to 'DIAMETER_SUCCESS'. Note that the reserved QoS resources reported in this QAR message MAY be different than those authorized with the initial QAA message, due to the QoS signaling specific behavior (e.g., receiver-initiated reservations with One-Path-With-Advertisements) or specific process of QoS negotiation along the data path.
TOC |
The Diameter QoS server in the Authorizing Entity initiates a Diameter QoS authorization session upon the request for QoS reservation triggered by application layer signaling or by local events, and generates a QoS-Install-Request (QIR) message to Diameter QoS client in the NE in which it maps required objects to Diameter payload objects.
Figure 7 (Initial QoS Request Authorization for push) shows the protocol interaction between the Authorizing Entity, a Network Element and a resource requesting entity.
The Network Element's identity, information about the application session and/or identity and credentials of the QoS resource requesting entity, requested QoS parameters, signaling session identifier and/or QoS enabled data flows identifiers MAY be encapsulated into respective Diameter AVPs and included into the Diameter message sent from a Diameter QoS server in the Authorizing Entity to a Diameter QoS client in the NE. This requires that the Authorizing Entity has knowledge of specific information for allocating and identifying the Network Element that should be contacted and the data flow for which the QoS reservation should be established. This information can be statically configured or dynamically discovered, see Section 3.2.3 for details.
+----------------------------------+-------------------------------+ | QoS specific Input Data | Diameter QoS AVPs | +----------------------------------+-------------------------------+ | Network Element ID (e.g., from | Destination-Host | | static configuration | Destination-Realm | | or dynamically discovered, see | | | Section 3.2.3 for details) | | +----------------------------------+-------------------------------+ | Authorization Token | QoS-Authz-Data | | Credentials of | User-Name | | the QoS requesting entity | | +----------------------------------+-------------------------------+ | QoS parameters | QoS-Resources | +----------------------------------+-------------------------------+
Authorization processing starts at the Diameter QoS server when it receives the request from a resource requesting entity through application server (e.g., SIP Invite) or the trigger by local events (e.g., pre-configured timer). Based on the received information the server determines the authorized QoS resources and flow state (enabled/disabled) from locally available information (e.g., policy information that may be previously established as part of an application layer signaling exchange, or the user's subscription profile). The authorization decision is then reflected in the QoS-Install-Request message (QIR) to the Diameter QoS client.
Authorizing End-Host Network Element Entity requesting QoS ( Diameter ( Diameter QoS Client) QoS Server) | | | | | |<-- Trigger -- | | +--------+--------------+ | | | Authorize request | | | | Keep session data | | | |/Authz-time,Session-Id/| | | +--------+--------------+ | | | | |<-- - -- - QIR - - - - - -+ | |(Initial Request,Decision | | |(QoS-Resources,Authz-time)| | +-------+---------+ | |Install QoS state| | | + | | | Authz. session | | | /Authz-time/ | | | | | +-------+---------+ | + - - - - QIA - - - - - ->| | | (Result-Code, | | | QoS-Resources) | | | +--------+--------------+ | | | Report for successful | | | | QoS reservation | | | |Update of reserved QoS | | | | resources | | | +--------+--------------+ | | QoS Responder | | Node | | | |=====================Data Flow==============....===>| | | | (+- - - - - QAR - - - - - >|) | (|(START,QoS-Resources) |) | (|< - - - - QAA - - - - - -+) | | |
Figure 7: Initial QoS Request Authorization for push |
The Authorizing Entity keeps authorization session state and SHOULD save additional information for management of the session (e.g., Signaling-Session-Id, authentication data) as part of the session state information.
The final result of the authorization decision is provided in the QoS-Resources AVP of the QIR message sent by the Authorizing Entity. The QoS information provided via the QIR is installed by the QoS Traffic Control function of the Network Element.
One important piece of information from the Authorizing Entity is the authorization lifetime (carried inside the QIR). The authorization lifetime allows the Network Element to determine how long the authorization decision is valid for this particular QoS reservation. A number of factors may influence the authorized session duration, such as the user's subscription plan or currently available credits at the user's account (see Section 8 (Accounting)). The authorization duration is time-based as specified in [RFC3588] (Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. Arkko, “Diameter Base Protocol,” September 2003.). For an extension of the authorization period, a new QoS-Install-Request/Answer message or QoS-Authorization-Request/Answer message exchange SHOULD be initiated. Further aspects of QoS authorization session maintenance is discussed in Section 4.3 (Session re-authorization), Section 4.4 (Session Termination) and Section 8 (Accounting).
The indication of QoS reservation and activation of the data flow, can be provided by the QoS-Install-Answer message immediately. In the case of successful enforcement, the Result-Code (= DIAMETER_SUCCESS, (see Section 7.1 (Reused Base Protocol AVPs))) information is provided in the QIA message. Note that the reserved QoS resources reported in the QIA message MAY be different than those initially authorized with the QIR message, due to the QoS signaling specific behavior (e.g., receiver-initiated reservations with One-Path-With-Advertisements) or specific process of QoS negotiation along the data path. When path coupled signaling is used for QoS reservation along the data path, QAR/QAA may be used to update the results of QoS reservation and enforcement following the establishment of data flows.
TOC |
The Diameter QoS application node may obtain information of its peer nodes (e.g., FQDN, IP address) through static configuration or dynamic discovery as described in [RFC3588] (Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. Arkko, “Diameter Base Protocol,” September 2003.). In particular, the Network Element shall perform the relevant operation for Pull mode; the Authorizing Entity shall perform the relevant operations for Push mode.
Upon receipt of a trigger to initiate a new Diameter QoS authorization session, the Diameter QoS application node selects and retrieves the location information of the peer node and based on some index information provided by the resource requesting entity. For instance, it can be the Authorization Entity's ID stored in the authorization token, the end-host's identity (e.g., NAI [RFC2486] (Aboba, B. and M. Beadles, “The Network Access Identifier,” January 1999.)) or globally routable IP address.
TOC |
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.
There are a number of options for policy rules according to which the NE (AAA client) contacts the Authorizing Entity for re-authorization. These rules depend on the semantics and contents of the QAA message sent by the Authorizing Entity:
- a.
- The QAA message contains the authorized parameters of the flow and its QoS and sets their limits (presumably upper). With these parameters the Authorizing Entity specifies the services that the NE can provide and will be financially compensated for. Therefore, any change or request for change of the parameters of the flow and its QoS that do not conform to the authorized limits requires contacting the Authorizing Entity for authorization.
- b.
- The QAA message contains authorized parameters of the flow and its QoS. The rules that determine whether parameters’ changes require re-authorization are agreed out of band, based on a Service Level Agreement (SLA) between the domains of the NE and the Authorizing Entity.
- c.
- The QAA message contains the authorized parameters of the flow and its QoS. Any change or request for change of these parameters requires contacting the Authorizing entity for re-authorization.
- d.
- In addition to the authorized parameters of the flow and its QoS, the QAA message contains policy rules that determine the NEs actions in case of change or request for change in authorized parameters.
Provided options are not exhaustive. Elaborating on any of the listed approaches is deployment /solution specific and is not considered in the current document.
In addition, the Authorizing Entity may use RAR to perform re-authorization with the authorized parameters directly when the re-authorization is triggered by service request or local events/policy rules.
TOC |
The Authorizing Entity provides the duration of 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. The transmission of the QAR MAY be triggered, such as, when the Network Element receives a QoS signaling message that requires modification of the authorized parameters of an ongoing QoS session, or authorization lifetime expires.
Authorizing End-Host Network Element Entity requesting QoS ( Diameter ( Diameter QoS Client) QoS Server) | | | |=====================Data Flow==========================> | | | | +-------+----------+ | | |Authz-time/CC-Time| | | | expires | | | +-------+----------+ | | +- - - - - QAR - - - - - >| | |(QoS-Resources, | | | QoS-Authz-Data,User-ID) | | +--------+--------------+ NOTE: | | Authorize request | Re-authorization | | Update session data | is transparent to | |/Authz-time,Session-Id/| the End-Host | +--------+--------------+ |< - - - - QAA - - - - - -+ | |(Result-Code, | | |QoS-Resources,Authz-time)| | +-------+---------+ | | |Update QoS state | | | | + | | | | Authz. session | | | | /Authz-time/ | | | | | | | +-------+---------+ | | | | |=====================Data Flow==========================> | |
Figure 8: Client-side initiated QoS re-authorization |
TOC |
The Authorizing Entity MAY initiate a QoS re-authorization by issuing a Re-Auth-Request message (RAR) as defined in the Diameter base protocol [RFC3588] (Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. Arkko, “Diameter Base Protocol,” September 2003.), which may include the parameters of the re-authorized QoS state: reserved resources, duration of the reservation, identification of the QoS enabled flow/QoS signaling session for re-installation of the resource state by the QoS Traffic Control function of the Network Element.
A Network Element 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 towards the Authorizing entity.
If RAR does not include any parameters of the re-authorized QoS state, the Network Element MUST initiate a QoS re-authorization by sending a QoS-Authorization-Request (QAR) message towards the Authorizing entity.
Authorizing End-Host Network Element Entity requesting QoS ( Diameter ( Diameter QoS Client) QoS Server) | | | | | |<-- Trigger -- | | +--------+--------------+ | | | Authorize request | | | | Keep session data | | | |/Authz-time,Session-Id/| | | +--------+--------------+ | | | | |<-- - -- - RAR - - - - - -+ | |(Request,Decision | | |(QoS-Resources,Authz-time)| | +-------+---------+ | |Install QoS state| | | + | | | Authz. session | | | /Authz-time/ | | | | | +-------+---------+ | + - - - - RAA - - - - - ->| | | (Result-Code, | | | QoS-Resources) | | | +--------+--------------+ | | | Report for successful | | | | QoS reservation | | | |Update of reserved QoS | | | | resources | | | +--------+--------------+ | | |
Figure 9: Server-side Initiated QoS re-authorization |
TOC |
TOC |
The authorization session for an installed QoS reservation state MAY be terminated by the Diameter client by sending a Session-Termination-Request message (STR) to the Diameter server. This is a Diameter base protocol function and it is defined in [RFC3588] (Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. Arkko, “Diameter Base Protocol,” September 2003.). Session termination can be caused by a QoS signaling messaging requesting deletion of the existing QoS reservation state or it can be caused as a result of a soft-state expiration of the QoS reservation state.
Authorizing End-Host Network Element Entity requesting QoS ( Diameter ( Diameter QoS Client) QoS Server) | | | |==Data Flow==>X /Stop of the data flow/ | | | | +---QoS-Reserve---->| | | (Delete QoS +- - - - - STR - - - - - >| | reservation) | +--------+--------------+ | | | Remove authorization | |<--QoS-Response----+ | session state | | | +--------+--------------+ |< - - - - STA - - - - - -+ +-------+--------+ | |Delete QoS state| +-------+--------+ QoS Responder | Node +----------QoS-Reserve-----....--->| | (Delete QoS | | reservation) | |<---------QoS-Response----....----+ | |
Figure 10: Client-Side Initiated Session Termination |
TOC |
At anytime during a session the Authorizing Entity MAY send an Abort-Session-Request message (ASR) to the Network Element. This is a Diameter base protocol function and it is defined in [RFC3588] (Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. Arkko, “Diameter Base Protocol,” September 2003.). Possible reasons for initiating the ASR message to the Network Element are insufficient credits or session termination at the application layer. The ASR message results in termination of the 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.
Authorizing End-Host Network Element Entity requesting QoS ( Diameter ( Diameter QoS Client) QoS Server) | | | |=====================Data Flow==========================> | | | |< - - - - ASR - - - - - -+ | | | |====Data Flow=====>X | QoS Responder | | | Node |<--QoS-Notify------+----------QoS-Reserve-----....--->| | | (Delete QoS | | | reservation) | +-------+--------+ | |Delete QoS state| | +-------+--------+ | +- - - - - ASA - - - - - >| | +--------+--------------+ | | Remove authorization | | | session state | | +--------+--------------+ | QoS Responder | Node |<---------QoS-Response----....----+ | |
Figure 11: Server-Side Initiated Session Termination |
TOC |
The Diameter QoS Application requires the definition of new mandatory AVPs and Command-codes (see Section 3 of [RFC3588] (Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. Arkko, “Diameter Base Protocol,” September 2003.)). Four new Diameter messages are defined along with Command-Codes whose values MUST be supported by all Diameter implementations that conform to this specification.
Command-Name Abbrev. Code Reference QoS-Authz-Request QAR [TBD] Section 5.1 QoS-Authz-Answer QAA [TBD] Section 5.2 QoS-Install-Request QIR [TBD] Section 5.3 QoS-Install-Answer QIA [TBD] Section 5.4
In addition, the following Diameter Base protocol messages are used in the Diameter QoS application:
Command-Name Abbrev. Code Reference Re-Auth-Request RAR 258 RFC 3588 Re-Auth-Answer RAA 258 RFC 3588 Abort-Session-Request ASR 274 RFC 3588 Abort-Session-Answer ASA 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, see [RFC3588] (Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. Arkko, “Diameter Base Protocol,” September 2003.).
The value of TBD MUST be used as the Application-Id in all QAR/QAA and QIR/QIA commands.
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 defined in the Diameter base protocol and no additional mandatory AVPs for those commands are defined in this document.
TOC |
The QoS-Authorization-Request message (QAR) indicated by the Command- Code field (see Section 3 of [RFC3588] (Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. Arkko, “Diameter Base Protocol,” September 2003.)) set to TBD and 'R' bit set in the Command Flags field is used by Network elements to request quality of service related resource authorization for a given flow.
The QAR message MUST carry information for signaling session identification, Authorizing Entity identification, information about the requested QoS, and the identity of the QoS requesting entity. In addition, depending on the deployment scenario, an authorization token and credentials of the QoS requesting entity SHOULD be included.
The message format, presented in ABNF form [RFC2234] (Crocker, D., Ed. and P. Overell, “Augmented BNF for Syntax Specifications: ABNF,” November 1997.), is defined as follows:
<QoS-Request> ::= < Diameter Header: XXX, REQ, PXY > < Session-Id > { Auth-Application-Id } { Origin-Host } { Origin-Realm } { Destination-Realm } { Auth-Request-Type } [ Destination-Host ] [ User-Name ] * [ QoS-Resources ] [ QoS-Authz-Data ] [ Bound-Auth-Session-Id ] * [ AVP ]
TOC |
The QoS-Authorization-Answer message (QAA), indicated by the Command- Code field set to TBD and 'R' bit cleared in the Command Flags field is sent in response to the QoS-Authorization-Request message (QAR). If the QoS authorization request is successfully authorized, the response will include the AVPs to allow authorization of the QoS resources and transport plane gating information.
The message format is defined as follows:
<QoS-Answer> ::= < Diameter Header: XXX, PXY > < Session-Id > { Auth-Application-Id } { Auth-Request-Type } { Result-Code } { Origin-Host } { Origin-Realm } * [ QoS-Resources ] [ Acc-Multisession-Id ] [ Session-Timeout ] [ Authz-Session-Lifetime ] [ Authz-Grace-Period ] * [ AVP ]
TOC |
The QoS-Install Request message (QIR), indicated by the Command-Code field set to TDB and 'R' bit set in the Command Flags field is used by Authorizing entity to install or update the QoS parameters and the flow state of an authorized flow at the transport plane element.
The message MUST carry information for signaling session identification or identification of the flow to which the provided QoS rules apply, identity of the transport plane element, description of provided QoS parameters, flow state and duration of the provided authorization.
The message format is defined as follows:
<QoS-Install-Request> ::= < Diameter Header: XXX, REQ, PXY > < Session-Id > { Auth-Application-Id } { Origin-Host } { Origin-Realm } { Destination-Realm } { Auth-Request-Type } [ Destination-Host ] * [ QoS-Resources ] [ Session-Timeout ] [ Authz-Session-Lifetime ] [ Authz-Grace-Period ] [ Authz-Session-Volume ] * [ AVP ]
TOC |
The QoS-Install Answer message (QIA), indicated by the Command-Code field set to TBD and 'R' bit cleared in the Command Flags field is sent in response to the QoS-Install Request message (QIR) for confirmation of the result of the installation of the provided QoS reservation instructions.
The message format is defined as follows:
<QoS-Install-Answer> ::= < Diameter Header: XXX, PXY > < Session-Id > { Auth-Application-Id } { Origin-Host } { Origin-Realm } { Result-Code } * [ QoS-Resources ] * [ AVP ]
TOC |
The Re-Auth-Request message (RAR), indicated by the Command-Code field set to 258 and the 'R' bit set in the Command Flags field, is sent by the Authorizing Entity to the Network Element in order to initiate the QoS re-authorization from DQA server side.
If the RAR command is received by the Network Element without any parameters of the re-authorized QoS state, the Network Element MUST initiate a QoS re-authorization by sending a QoS-Authorization-Request (QAR) message towards the Authorizing entity.
The message format is defined as follows:
<Re-Auth-Request> ::= < Diameter Header: 258, REQ, PXY > < Session-Id > { Auth-Application-Id } { Origin-Host } { Origin-Realm } { Destination-Realm } { Auth-Request-Type } [ Destination-Host ] * [ QoS-Resources ] [ Session-Timeout ] [ Authz-Session-Lifetime ] [ Authz-Grace-Period ] [ Authz-Session-Volume ] * [ AVP ]
TOC |
The Re-Auth-Answer message (RAA), indicated by the Command-Code field set to 258 and the 'R' bit cleared in the Command Flags field, is sent by the Network Element to the Authorizing Entity in response to the RAR command.
The message format is defined as follows:
<Re-Auth-Answer> ::= < Diameter Header: 258, PXY > < Session-Id > { Auth-Application-Id } { Origin-Host } { Origin-Realm } { Result-Code } * [ QoS-Resources ] * [ AVP ]
TOC |
The QoS application reuses the authorization state machine defined in Section 8.1 of the Base Protocol ([RFC3588] (Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. Arkko, “Diameter Base Protocol,” September 2003.)) with its own messages as defined in Section 5 (QoS Application Messages) and QoS AVPs as defined in Section 7 (QoS Application AVPs).
TOC |
In addition to the reused state machines, the following states are supplemented to first 2 state machines in which the session state is maintained on the Server, and MUST be supported in any QoS application implementations in support of server initiated push mode (see (Session establishment for push mode)).
The following states are supplemented to the state machine on the server:
SERVER, STATEFUL State Event Action New State ------------------------------------------------------------- Idle An application or local Send Pending event triggers an initial QIR initial QoS request to the server request Pending Received QIA with a failed Cleanup Idle Result-Code Pending Received QIA with Result-Code Update Open = SUCCESS session Pending Error in processing received Send Discon QIA with Result-Code = SUCCESS ASR
The following states are supplemented to the state machine on the client:
CLIENT, STATEFUL State Event Action New State ------------------------------------------------------------- Idle QIR initial request Send Open received and successfully QIA initial processed answer, reserve resources Idle QIR initial request Send Idle received but not QIA initial successfully processed answer with Result-Code != SUCCESS
TOC |
Each of the AVPs identified in the QoS-Authorization-Request/Answer and QoS-Install-Request/Answer messages and the assignment of their value(s) is given in this section.
TOC |
The QoS application uses a number of session management AVPs, defined in the Base Protocol ([RFC3588] (Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. Arkko, “Diameter Base Protocol,” September 2003.)).
Attribute Name AVP Code Reference [RFC3588] Origin-Host 264 Section 6.3 Origin-Realm 296 Section 6.4 Destination-Host 293 Section 6.5 Destination-Realm 283 Section 6.6 Auth-Application-Id 258 Section 6.8 Result-Code 268 Section 7.1 Auth-Request-Type 274 Section 8.7 Session-Id 263 Section 8.8 Authz-Lifetime 291 Section 8.9 Authz-Grace-Period 276 Section 8.10 Session-Timeout 27 Section 8.13 User-Name 1 Section 8.14
The Auth-Application-Id AVP (AVP Code 258) is assigned by IANA to Diameter applications. The value of the Auth-Application-Id for the Diameter QoS application is TBD.
TOC |
This document reuses the AVPs defined in Section 4 of [I‑D.ietf‑dime‑qos‑attributes] (Korhonen, J., Tschofenig, H., Arumaithurai, M., Jones, M., and A. Lior, “Traffic Classification and Quality of Service Attributes for Diameter,” December 2009.).
This section lists the AVPs that are introduced specifically for the QoS application. The following new AVPs are defined: Bound-Auth-Session-Id and the QoS-Authz-Data AVP.
The following table describes the Diameter AVPs newly defined in this document for usage with 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| +----------------------------------------------+----+---+----+-----+ |QoS-Authz-Data TBD 6.4 Grouped | M | P | | V | |Bound-Auth-Session-Id TBD 6.4 UTF8String | M | P | | V | +----------------------------------------------+----+---+----+-----+ |M - Mandatory bit. An AVP with "M" bit set and its value MUST be | | supported and recognized by a Diameter entity in order the | | message, which carries this AVP, to be accepted. | |P - Indicates the need for encryption for end-to-end security. | |V - Vendor specific bit that indicates whether the AVP belongs to | | a address space. | +------------------------------------------------------------------+
- QoS-Authz-Data
The QoS-Authz-Data AVP (AVP Code TBD) is of type OctetString. It is a container that carries application session or user specific data that has to be supplied to the Authorizing entity as input to the computation of the authorization decision.
- Bound-Authentication-Session-Id
The Bound-Authentication-Session AVP (AVP Code TBD) is of type UTF8String. It carries the id of the Diameter authentication session that is used for the network access authentication (NASREQ authentication session). It is used to tie the QoS authorization request to a prior authentication of the end host done by a co-located application for network access authentication (Diameter NASREQ) at the QoS NE.
TOC |
A Network Element may start an accounting session by sending an Accounting-Request message (ACR) after successful QoS reservation and activation of the data flow (see Figure 6 (Initial QoS Request Authorization for pull) and Figure 7 (Initial QoS Request Authorization for push)). After every successful re-authorization procedure (see Figure 8 (Client-side initiated QoS re-authorization) and Figure 9 (Server-side Initiated QoS re-authorization)), the Network element may initiate an interim accounting message exchange. After successful session termination (see Figure 10 (Client-Side Initiated Session Termination) and Figure 11 (Server-Side Initiated Session Termination)), the Network element may initiate a final exchange of accounting messages for terminating of the accounting session and reporting final records for the usage of the QoS resources reserved. It should be noted that the two sessions (authorization and accounting) have independent management by the Diameter base protocol, which allows for finalizing the accounting session after the end of the authorization session.
The detailed QoS accounting procedures are out of scope in this document.
TOC |
TOC |
This section presents an example of the interaction between the end
host and Diameter QoS application entities using Pull mode. 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).
End-Host SIP Server Correspondent requesting QoS (DQA Server) Node | | | ..|....Application layer SIP signaling.......|..............|.. . | 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-Authz-Data ++------------+ | | >===========>QoS-Resources) |Authorize | | | | |QoS resources| | | | ++------------+ | | | QAA | | | <- - - - -<<AAA>>- - - -+ | | |(Result-Code, | | | |QoS-Resources, | | | |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---------------------------\ \------------------+--------------------------------------/ | | | .-.-.-.-. SIP signaling --------- QoS NSLP signaling - - - - - Diameter QoS Application messages ========= Mapping of objects between QoS and AAA protocol
Figure 12: QoS Authorization Example - Pull Mode |
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 (see Figure 12 (QoS Authorization Example - Pull Mode)). 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 be charged for the service usage). Negotiated session parameters are provided to the end host.
Subsequently, Host A initiates a QoS signaling message towards Host B. It sends a QoS NSLP Reserve message, in which it includes description of the required QoS (QSPEC object) and authorization data for negotiated service session (part of the POLICY_DATA object). Authorization data includes, as a minimum, the identity of the authorizing entity (e.g., the SIP server) and an identifier of the application service session for which QoS resources are requested.
A QoS NSLP Reserve message is intercepted and processed by the first QoS aware Network Element. The NE uses the Diameter QoS application to request authorization for the received QoS reservation request. The identity of the Authorizing Entity (in this case the SIP server that is co-located with a Diameter server) is put into the Destination-Host AVP, any additional session authorization data is encapsulated into the QoS-Authz-Data AVP and the description of the QoS resources is included into QoS-Resources AVP. These AVPs are included into a QoS Authorization Request message, which is sent to the Authorizing entity.
A 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-Resources AVP), as well as duration of the authorization session (Authorization-Lifetime AVP).
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. Moreover, the NE may serve as a signaling proxy and process the QoS signaling (e.g. initiation or termination of QoS signaling) based on the QoS decision received from the authorizing entity.
TOC |
This section presents an example of the interaction between the
end-host and Diameter QoS application entities using Push Mode. 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).
End-Host NE SIP Server Correspondent requesting QoS (DQA Client) (DQA Server) Node | | | | ..|....Application layer SIP signaling..........|..............|.. . | Invite(SDP offer)| | | . . +.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.> | . . | 100 Trying | | | . . <.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.+ | . . |.............................................|..............| . | | +---------+-------------+| | | | Authorize request || | | | Keep session data || | | |/Authz-time,Session-Id/|| | | +---------+-------------+| | | | | | |<-- - -- - QIR - -- - -- -+ | | |(Initial Request,Decision | | | |(QoS-Resources,Authz-time)| | | +-------+---------+ | | | |Install QoS state| | | | | + | | | | | Authz. session | | | | | /Authz-time/ | | | | +-------+---------+ | | | + - - -- - QIA - - - - - ->| | | | (Result-Code, | | | | QoS-Resources) | | | | +----------+------------+ | | | | Report for successful | | | | | QoS reservation | | | | |Update of reserved QoS | | | | | resources | | | | +----------+------------+ | . | | | Invite (SDP) | . . | | +-.-.-.....-.-.> . . | 180 (Ringing) | | . . <.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.<.-.-.-.-.-.-.-+ . . | | | 200 OK (SDP)| . . | | <-.-.-.....-.-.+ . | | +--------+-----------+ | | | |re-Authorize session| | | | | parameters | | | | +--------+-----------+ | | <- - - - - - RAR - - - - - + | | +---------+--------+ | | | |Activate QoS state| | | | +---------+--------+ | | | +- - - - - - RAA - - - - - > | . | 200 (SDP answer) | | | . . <.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.+ | . | | | /------------------+-----Data Flow---------------------------\ \------------------+-----------------------------------------/ | | | .-.-.-.-. SIP signaling - - - - - Diameter QoS Application messages
Figure 13: QoS Authorization Example - Push Mode |
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 (see Figure 13 (QoS Authorization Example - Push Mode)). 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 be charged for the service usage). The DQA server is triggered to authorize the QoS request based on session parameters (i.e., SDP offer), initiate a Diameter QoS authorization session and install authorized QoS state to the Network Element via QIR message.
The DQA server may obtain the info of peer DQA client from pre-configured information or query the DNS based on Host A's identity or IP address (In this case a DQA server is co-located with a SIP server and a DQA client is co-located with a Network element). The identity of Network Element is put into the Destination-Host AVP, the description of the QoS resources is included into QoS-Resources AVP, as well as duration of the authorization session (Authorization-Lifetime AVP). The NE interacts with the traffic control function and reserves the authorized QoS resources accordingly, for instance, the NE may serve as a signaling proxy and process the QoS signaling (e.g. initiation or termination of QoS signaling) based on the QoS decision received from the authorizing entity.
With successful QoS authorization, the SDP offer in SIP Invite is forwarded to Host B. Host B sends back a 18x (ringing) message towards Host A and processes the SDP. Once Host B accepts the call, it sends back a 200 OK, in which it includes description of the accepted session parameters (i.e. SDP answer).
The DQA server may verifies the accepted QoS against the pre-authorized QoS resources, and sends a Diameter RAR message to the DQA client in the network element for activating the installed policies and commit the resource allocation. With successful QoS enforcement, the 200 OK is forwarded towards Host A.
Note that the examples above show a sender-initiated reservation from the end host towards the corresponding node and a receiver-initiated reservation from the correspondent node towards the end host.
TOC |
This section contains the namespaces that have either been created in this specification or had their values assigned to existing namespaces managed by IANA.
TOC |
IANA is requested to allocate two AVP codes to the following:
Registry: AVP Code Attribute Name Reference ----------------------------------------------------------- to be assigned QoS-Authz-Data Section 6.4 to be assigned Bound-Auth-Session-Id Section 6.4
TOC |
IANA is requested to allocate the following sub-registry values.
Sub-registry: Auth-Application-Id AVP Values (code 258) Registry: AVP Values Attribute Name Reference ------------- ------------------------------------------- to be assigned DIAMETER-QOS-NOSUPPORT Section 5 to be assigned DIAMETER-QOS-SUPPORT Section 5
Sub-registry: Acct-Application-Id AVP Values (code 259) Registry: AVP Values Attribute Name Reference ------------- ------------------------------------------- to be assigned DIAMETER-QOS-NOSUPPORT Section 5 to be assigned DIAMETER-QOS-SUPPORT Section 5
TOC |
There are no new AVP flags defined for either the QoS-Authz-Data AVP or the Bound-Ath-Session-ID AVP.
TOC |
IANA is requested to allocate the following application ID using the next value from the 7-16777215 range.
Registry: ID values Name Reference ----------------------------------------------------------- to be asigned Diameter QoS application Section 5
TOC |
IANA is requested to allocate command code values for the following from the range 289-299.
Registry: Code Value Name Reference ----------------------------------------------------------- to be assigned QoS-Authz-Request (QAR) Section 5.1 to be assigned QoS-Authz-Answer (QAA) Section 5.2 to be assigned QoS-Install-Request (QIR) Section 5.3 to be assigned QoS-Install-Answer (QIA) Section 5.4
TOC |
This document describes a mechanism for performing authorization of a QoS reservation at a third party entity. Therefore, it is necessary that the QoS signaling application to carry sufficient information that should be forwarded 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.
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 (see [RFC4005] (Calhoun, P., Zorn, G., Spence, D., and D. Mitton, “Diameter Network Access Server Application,” August 2005.)) 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.
Additionally, QoS authorization might be based on the usage of authorization tokens that are generated by the Authorizing Entity and provided to the end host via application layer signaling.
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.
TOC |
The authors would like to thank John Loughney and Allison Mankin for their input to this document. In September 2005 Robert Hancock, Jukka Manner, Cornelia Kappler, Xiaoming Fu, Georgios Karagiannis and Elwyn Davies provided a detailed review. Robert also provided us with good feedback earlier in 2005. Jerry Ash provided us review comments late 2005/early 2006. Rajith R provided some inputs to the document early 2007
TOC |
The authors would like to thank Tseno Tsenov (tseno.tsenov@gmail.com) and Frank Alfano (falfano@lucent.com) for starting the Diameter Quality of Service work within the IETF, for your significant draft contributions and for being the driving force for the first few draft versions.
[Editor's Note: A bit of history needs to be included here.]
TOC |
TOC |
[I-D.ietf-dime-qos-attributes] | Korhonen, J., Tschofenig, H., Arumaithurai, M., Jones, M., and A. Lior, “Traffic Classification and Quality of Service Attributes for Diameter,” draft-ietf-dime-qos-attributes-15 (work in progress), December 2009 (TXT). |
[I-D.ietf-dime-qos-parameters] | Korhonen, J., Tschofenig, H., and E. Davies, “Quality of Service Parameters for Usage with Diameter,” draft-ietf-dime-qos-parameters-11 (work in progress), May 2009 (TXT). |
[RFC2119] | Bradner, S., “Key words for use in RFCs to Indicate Requirement Levels,” BCP 14, RFC 2119, March 1997 (TXT, HTML, XML). |
[RFC2234] | Crocker, D., Ed. and P. Overell, “Augmented BNF for Syntax Specifications: ABNF,” RFC 2234, November 1997 (TXT, HTML, XML). |
[RFC3588] | Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. Arkko, “Diameter Base Protocol,” RFC 3588, September 2003 (TXT). |
[RFC4005] | Calhoun, P., Zorn, G., Spence, D., and D. Mitton, “Diameter Network Access Server Application,” RFC 4005, August 2005 (TXT). |
[RFC4006] | Hakala, H., Mattila, L., Koskinen, J-P., Stura, M., and J. Loughney, “Diameter Credit-Control Application,” RFC 4006, August 2005 (TXT). |
TOC |
TOC |
Dong Sun (editor) | |
Alcatel-Lucent | |
600-700 Mountain Ave | |
Murray Hill, NJ 07974 | |
USA | |
Phone: | +1 908 582 2617 |
Email: | dongsun@alcatel-lucent.com |
Peter J. McCann | |
Motorola Labs | |
1301 E. Algonquin Rd | |
Schaumburg, IL 60196 | |
USA | |
Phone: | +1 847 576 3440 |
Email: | pete.mccann@motorola.com |
Hannes Tschofenig | |
Nokia Siemens Networks | |
Linnoitustie 6 | |
Espoo 02600 | |
Finland | |
Phone: | +358 (50) 4871445 |
Email: | Hannes.Tschofenig@nsn.com |
URI: | http://www.tschofenig.com |
Tina Tsou | |
Huawei | |
Shenzhen, | |
P.R.C | |
Email: | tena@huawei.com |
Avri Doria | |
Lulea University of Technology | |
Arbetsvetenskap | |
Lulea, SE-97187 | |
Sweden | |
Email: | avri@ltu.se |
Glen Zorn | |
Aruba Networks | |
1322 Crossman Avenue | |
Sunnyvale, CA 94089-1113 | |
USA | |
Email: | gwz@arubanetworks.com |
TOC |
Copyright © The IETF Trust (2008).
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.
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, THE IETF TRUST 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.
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.