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