idnits 2.17.1 draft-ietf-dime-diameter-qos-07.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** The document seems to lack a License Notice according IETF Trust Provisions of 28 Dec 2009, Section 6.b.i or Provisions of 12 Sep 2009 Section 6.b -- however, there's a paragraph with a matching beginning. Boilerplate error? -- It seems you're using the 'non-IETF stream' Licence Notice instead Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (December 18, 2008) is 5607 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Missing Reference: 'TBD1' is mentioned on line 1376, but not defined == Missing Reference: 'TBD2' is mentioned on line 1401, but not defined == Missing Reference: 'TBD3' is mentioned on line 1430, but not defined == Missing Reference: 'TBD4' is mentioned on line 1455, but not defined == Missing Reference: 'TBD5' is mentioned on line 1348, but not defined == Outdated reference: A later version (-15) exists of draft-ietf-dime-qos-attributes-08 == Outdated reference: A later version (-11) exists of draft-ietf-dime-qos-parameters-07 ** Obsolete normative reference: RFC 3588 (Obsoleted by RFC 6733) ** Obsolete normative reference: RFC 4005 (Obsoleted by RFC 7155) ** Obsolete normative reference: RFC 4234 (Obsoleted by RFC 5234) == Outdated reference: A later version (-20) exists of draft-ietf-nsis-ntlp-17 == Outdated reference: A later version (-18) exists of draft-ietf-nsis-qos-nslp-16 -- Obsolete informational reference (is this intentional?): RFC 4282 (Obsoleted by RFC 7542) -- Obsolete informational reference (is this intentional?): RFC 4346 (Obsoleted by RFC 5246) -- Obsolete informational reference (is this intentional?): RFC 4566 (Obsoleted by RFC 8866) Summary: 4 errors (**), 0 flaws (~~), 10 warnings (==), 6 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Diameter Maintenance and D. Sun, Ed. 3 Extensions (DIME) Alcatel-Lucent 4 Internet-Draft P. McCann 5 Intended status: Standards Track Motorola Labs 6 Expires: June 21, 2009 H. Tschofenig 7 Nokia Siemens Networks 8 T. Tsou 9 Huawei 10 A. Doria 11 Lulea University of Technology 12 G. Zorn, Ed. 13 Aruba Networks 14 December 18, 2008 16 Diameter Quality of Service Application 17 draft-ietf-dime-diameter-qos-07.txt 19 Status of this Memo 21 This Internet-Draft is submitted to IETF in full conformance with the 22 provisions of BCP 78 and BCP 79. 24 Internet-Drafts are working documents of the Internet Engineering 25 Task Force (IETF), its areas, and its working groups. Note that 26 other groups may also distribute working documents as Internet- 27 Drafts. 29 Internet-Drafts are draft documents valid for a maximum of six months 30 and may be updated, replaced, or obsoleted by other documents at any 31 time. It is inappropriate to use Internet-Drafts as reference 32 material or to cite them other than as "work in progress." 34 The list of current Internet-Drafts can be accessed at 35 http://www.ietf.org/ietf/1id-abstracts.txt. 37 The list of Internet-Draft Shadow Directories can be accessed at 38 http://www.ietf.org/shadow.html. 40 This Internet-Draft will expire on June 21, 2009. 42 Copyright Notice 44 Copyright (c) 2008 IETF Trust and the persons identified as the 45 document authors. All rights reserved. 47 This document is subject to BCP 78 and the IETF Trust's Legal 48 Provisions Relating to IETF Documents 49 (http://trustee.ietf.org/license-info) in effect on the date of 50 publication of this document. Please review these documents 51 carefully, as they describe your rights and restrictions with respect 52 to this document. 54 Abstract 56 This document describes the framework, messages and procedures for 57 the Diameter Quality of Service (QoS) application. The Diameter QoS 58 application allows network elements to interact with Diameter servers 59 when allocating QoS resources in the network. In particular, two 60 modes of operation -- Pull and Push -- are defined. 62 Table of Contents 64 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 5 65 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 6 66 3. Framework . . . . . . . . . . . . . . . . . . . . . . . . . . 8 67 3.1. Network Element Functional Model . . . . . . . . . . . . . 9 68 3.2. Implications of Endpoint QoS Capabilities . . . . . . . . 11 69 3.2.1. Endpoint Categories . . . . . . . . . . . . . . . . . 11 70 3.2.2. Interaction Modes Between the Authorizing Entity 71 and Network Element . . . . . . . . . . . . . . . . . 11 72 3.3. Authorization Schemes . . . . . . . . . . . . . . . . . . 13 73 3.3.1. Pull Mode Schemes . . . . . . . . . . . . . . . . . . 13 74 3.3.2. Push Mode Schemes . . . . . . . . . . . . . . . . . . 16 75 3.4. QoS Application Requirements . . . . . . . . . . . . . . . 17 76 4. QoS Application Session Establishment and Management . . . . . 21 77 4.1. Parties Involved . . . . . . . . . . . . . . . . . . . . . 21 78 4.2. Session Establishment . . . . . . . . . . . . . . . . . . 21 79 4.2.1. Session Establishment for Pull Mode . . . . . . . . . 21 80 4.2.2. Session Establishment for Push Mode . . . . . . . . . 24 81 4.2.3. Discovery and Selection of Peer Diameter QoS 82 Application Node . . . . . . . . . . . . . . . . . . . 27 83 4.3. Session Re-authorization . . . . . . . . . . . . . . . . . 28 84 4.3.1. Client-Side Initiated Re-Authorization . . . . . . . . 28 85 4.3.2. Server-Side Initiated Re-Authorization . . . . . . . . 29 86 4.4. Session Termination . . . . . . . . . . . . . . . . . . . 31 87 4.4.1. Client-Side Initiated Session Termination . . . . . . 31 88 4.4.2. Server-Side Initiated Session Termination . . . . . . 31 89 5. QoS Application Messages . . . . . . . . . . . . . . . . . . . 33 90 5.1. QoS-Authorization Request (QAR) . . . . . . . . . . . . . 34 91 5.2. QoS-Authorization Answer (QAA) . . . . . . . . . . . . . . 34 92 5.3. QoS-Install Request (QIR) . . . . . . . . . . . . . . . . 35 93 5.4. QoS-Install Answer (QIA) . . . . . . . . . . . . . . . . . 36 94 5.5. Re-Auth-Request (RAR) . . . . . . . . . . . . . . . . . . 36 95 5.6. Re-Auth-Answer (RAA) . . . . . . . . . . . . . . . . . . . 37 96 6. QoS Application State Machine . . . . . . . . . . . . . . . . 38 97 6.1. Supplemented States for Push Mode . . . . . . . . . . . . 38 98 7. QoS Application AVPs . . . . . . . . . . . . . . . . . . . . . 40 99 7.1. Reused Base Protocol AVPs . . . . . . . . . . . . . . . . 40 100 7.2. QoS Application Defined AVPs . . . . . . . . . . . . . . . 40 102 8. Accounting . . . . . . . . . . . . . . . . . . . . . . . . . . 42 103 9. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 104 9.1. Example Call Flow for Pull Mode . . . . . . . . . . . . . 43 105 9.2. Example Call Flow for Push Mode . . . . . . . . . . . . . 45 106 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 48 107 10.1. AVP Codes . . . . . . . . . . . . . . . . . . . . . . . . 48 108 10.2. AVP Specific Values . . . . . . . . . . . . . . . . . . . 48 109 10.3. AVP Flags . . . . . . . . . . . . . . . . . . . . . . . . 48 110 10.4. Application IDs . . . . . . . . . . . . . . . . . . . . . 48 111 10.5. Command Codes . . . . . . . . . . . . . . . . . . . . . . 49 112 11. Security Considerations . . . . . . . . . . . . . . . . . . . 50 113 12. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 52 114 13. Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 53 115 14. References . . . . . . . . . . . . . . . . . . . . . . . . . . 54 116 14.1. Normative References . . . . . . . . . . . . . . . . . . . 54 117 14.2. Informative References . . . . . . . . . . . . . . . . . . 54 118 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 56 120 1. Introduction 122 This document describes the framework, messages and procedures for 123 the Diameter Quality of Service (QoS) Application. The Diameter QoS 124 Application allows Network Elements (NEs) to interact with Diameter 125 servers when allocating QoS resources in the network. 127 Two modes of operation are defined. In the first, called "Pull" 128 mode, the network element requests QoS authorization from the 129 Diameter server based on some trigger (such as a QoS signaling 130 protocol) that arrives along the data path. In the second, called 131 "Push" mode, the Diameter server pro-actively sends a command to the 132 network element(s) to install QoS authorization state. This could be 133 triggered, for instance, by off-path signaling such as Session 134 Initiation Protocol (SIP) [RFC3261] call control. 136 A set of command codes is specified that allows a single Diameter QoS 137 application server to support both Pull and Push modes based on the 138 requirements of network technologies, deployment scenarios and end- 139 host capabilities. In conjunction with parameters defined in the 140 documents "Quality of Service Attributes for Diameter" 141 [I-D.ietf-dime-qos-attributes] and "Quality of Service Parameters for 142 Usage with the AAA Framework" [I-D.ietf-dime-qos-parameters], this 143 note depicts the basic call flow procedures used to establish, modify 144 and terminate a Diameter QoS application session. 146 2. Terminology 148 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 149 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 150 document are to be interpreted as described in RFC 2119 [RFC2119]. 152 The following terms are used in this document: 154 AAA Cloud 155 An infrastructure of AAA entities (clients, agents, servers) 156 communicating via a AAA protocol over trusted, secure connections. 157 It offers authentication, authorization and accounting services to 158 applications in flexible local and roaming scenarios. Diameter 159 [RFC3588] and RADIUS [RFC2865] are both widely deployed AAA 160 protocols. 162 Application Endpoint (AppE) 163 An Application Endpoint is an entity in an end-user device that 164 exchanges signaling messages with Application Servers (see below) 165 or directly with other Application Endpoints. Based on the result 166 of this signaling, the Endpoint may make a request for QoS from 167 the network. For example, a SIP Agent is one kind of Application 168 Endpoint. 170 Application Server (AppS) 171 An Application Server is an entity that exchanges signaling 172 messages with an Application Endpoint (see above). It may be a 173 source of authorization for QoS-enhanced application flows. For 174 example, a SIP server is one kind of Application Server. 176 Authorizing Entity (AE) 177 The Authorizing Entity is a Diameter server that supports the QoS 178 application. It is responsible for authorizing QoS requests for a 179 particular application flow or aggregate. The Authorizing Entity 180 may be a standalone entity or may be integrated with an 181 Application Server and may be co-located with a subscriber 182 database. This entity corresponds to the Policy Decision Point 183 (PDP) [RFC2753]. 185 Network Element (NE) 186 A QoS aware router that acts as a Diameter client for the QoS 187 application. This entity triggers the protocol interaction for 188 the Pull mode, and it is the recipient of QoS information in the 189 Push mode. The Network Element corresponds to the Policy 190 Enforcement Point (PEP) [RFC2753]. 192 Pull Mode 193 In this mode, the QoS authorization process is invoked by the QoS 194 reservation request received from the Application Endpoint. The 195 Network Element then requests the QoS authorization decision from 196 the Authorizing Entity. 198 Push Mode 199 In this mode, the QoS authorization process is invoked by the 200 request from Application Server or local policies in the 201 Authorizing Entity. The Authorizing Entity then installs the QoS 202 authorization decision to the Network Element directly. 204 Resource Requesting Entity (RRE) 205 A Resource Requesting Entity is a logical entity that supports the 206 protocol interaction for QoS resources. The RRE resides in the 207 end-host and is able to communicate with peer logical entities in 208 an Authorizing Entity or a Network Element to trigger the QoS 209 authorization process. 211 3. Framework 213 The Diameter QoS application runs between a NE (acting as a Diameter 214 client) and the resource AE (acting as a Diameter server). A high- 215 level picture of the resulting architecture is shown in Figure 1. 217 +-------+---------+ 218 | Authorizing | 219 | Entity | 220 |(Diameter Server)| 221 +-------+---------+ 222 | 223 | 224 /\-----+-----/\ 225 //// \\\\ 226 || AAA Cloud || 227 | (Diameter application) | 228 || || 229 \\\\ //// 230 \-------+-----/ 231 | 232 +---+--+ +-----+----+ +---+--+ 233 | | | NE | | | Media 234 + NE +===+(Diameter +===+ NE +=============>> 235 | | | Client) | | | Flow 236 +------+ +----------+ +------+ 238 Figure 1: An Architecture Supporting QoS-AAA 240 Figure 1 depicts NEs through which media flows need to pass, a cloud 241 of AAA servers, and an AE. Note that there may be more than one 242 router that needs to interact with the AAA cloud along the path of a 243 given application flow, although the figure only depicts one for 244 clarity. 246 In some deployment scenarios, NEs may request authorization through 247 the AAA cloud based on an incoming QoS reservation request. The NE 248 will route the request to a designated AE. The AE will return the 249 result of the authorization decision. In other deployment scenarios, 250 the authorization will be initiated upon dynamic application state, 251 so that the request must be authenticated and authorized based on 252 information from one or more AppSs. After receiving the 253 authorization request from the AppS or the NE, the AE decides the 254 appropriate mode (i.e. Push or Pull). The usage Push or Pull mode 255 can be determined by the authorizing entity either statically or 256 dynamically. Static determination might be based on a configurable 257 defined policy in the authorizing entity, while dynamic determination 258 might be based on information received from an application server. 259 For Push mode, the authorizing entity needs to identify the 260 appropriate NE(s) to which QoS authorization information needs to be 261 pushed. It might determine this based on information received from 262 the AppS, such as the IP addresses of media flows. 264 In some deployment scenarios, there is a mapping between access 265 network type and the service logic (e.g. selection of the Push or 266 Pull mode, and other differentiated handling of the resource 267 admission and control). The access network type might be derived 268 from the authorization request from the AppS or the NE, and in this 269 case, the authorizing entity can identify the corresponding service 270 logic based on the mapping. 272 If defined properly, the interface between the NEs and AAA cloud 273 would be identical whether the AE communicates with an AppS or not. 274 Routers are therefore insulated from the details of particular 275 applications and need not know that Application Servers are involved 276 at all. Also, the AAA cloud would naturally encompass business 277 relationships such as those between network operators and third-party 278 application providers, enabling flexible intra- or inter-domain 279 authorization, accounting, and settlement. 281 3.1. Network Element Functional Model 283 Figure 2 depicts a logical operational model of resource management 284 in a router. 286 +-------------------------------------------------------+ 287 | DIAMETER Client | 288 | Functionality | 289 | +---------------++-----------------++---------------+ | 290 | | User || QoS Application || Accounting | | 291 | | Authentication|| Client || Client (e.g. | | 292 | | Client || (Authorization ||for QoS Traffic| | 293 | +---------------+| of QoS Requests)|+---------------+ | 294 | +-----------------+ | 295 +-------------------------------------------------------+ 296 ^ 297 v 298 +--------------+ +----------+ 299 |QoS Signaling | | Resource | 300 |Msg Processing|<<<<<>>>>>>>|Management| 301 +--------------+ +----------+ 302 . ^ | * ^ 303 | v . * ^ 304 +-------------+ * ^ 305 |Signaling msg| * ^ 306 | Processing | * V 307 +-------------+ * V 308 | | * V 309 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 310 . . * V 311 | | * ............................. 312 . . * . Traffic Control . 313 | | * . +---------+. 314 . . * . |Admission|. 315 | | * . | Control |. 316 +----------+ +------------+ . +---------+. 317 <-.-| Input | | Outgoing |-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-> 318 | Packet | | Interface | .+----------+ +---------+. 319 ===>|Processing|====| Selection |===.| Packet |====| Packet |.=> 320 | | |(Forwarding)| .|Classifier| Scheduler|. 321 +----------+ +------------+ .+----------+ +---------+. 322 ............................. 323 <.-.-> = signaling flow 324 =====> = data flow (sender --> receiver) 325 <<<>>> = control and configuration operations 326 ****** = routing table manipulation 328 Figure 2: Network Element Functional Model 330 Processing of incoming QoS reservation requests includes three 331 actions: admission control, authorization and resource reservation. 333 The admission control function provides information about available 334 resources and determines whether there are enough resources to 335 fulfill the request. Authorization is performed by the Diameter 336 client, which involves contacting an authorization entity through the 337 AAA cloud shown in Section 3. If both checks are successful, the 338 authorized QoS parameters are set in the packet classifier and the 339 packet scheduler. Note that the parameters passed to the Traffic 340 Control function may be different from requested QoS (depending on 341 the authorization decision). Once the requested resource is granted, 342 the Resource Management function provides accounting information to 343 the AE via the Diameter client. 345 3.2. Implications of Endpoint QoS Capabilities 347 3.2.1. Endpoint Categories 349 The QoS capabilities of Application Endpoints are varied, and can be 350 categorized as follows: 352 Category 1 353 A Category 1 Application Endpoint has QoS capability at neither 354 the application nor the network level. This type of AppE may set 355 up a connection through application signaling, but it is incapable 356 of specifying resource/QoS requirements through either application 357 or network-level signaling. 359 Category 2 360 A Category 2 Application Endpoint only has QoS capability at the 361 application level. This type of AppE is able to set up a 362 connection through application signaling with certain resource/QoS 363 requirements (e.g., application attributes), but it is unable to 364 signal any resource/QoS requirements at the network level. 366 Category 3 367 A Category 3 Application Endpoint has QoS capability at the 368 network level. This type of AppE may set up a connection through 369 application signaling, translate service characteristics into 370 network resource/QoS requirements (e.g., network QoS class) 371 locally, and request the resources through network signaling, 372 e.g., Resource ReSerVation Protocol (RSVP) [RFC2205] or NSIS 373 [I-D.ietf-nsis-qos-nslp]. 375 3.2.2. Interaction Modes Between the Authorizing Entity and Network 376 Element 378 Different QoS mechanisms are employed in packet networks. Those QoS 379 mechanisms can be categorized into two schemes: IntServ [RFC2211], 380 [RFC2212] and DiffServ [RFC2474]. In the IntServ scheme, network 381 signaling (e.g., RSVP, NSIS, or link specific signaling) is commonly 382 used to initiate a request from an AppE for the desired QoS resource. 383 In the DiffServ scheme, QoS resources are provisioned based upon some 384 predefined QoS service classes rather than AppE-initiated, flow-based 385 QoS requests. 387 It is obvious that the eligible QoS scheme is correlated to the 388 AppE's capability in the context of QoS authorization. Since 389 Category 1 and 2 AppEs cannot initiate the QoS resource requests by 390 means of network signaling, the IntServ model is not applicable to 391 them in general. Depending on network technology and operator 392 requirements, a Category 3 AppE may either make use of network 393 signaling for resource requests or not. 395 The diversity of QoS capabilities of endpoints and QoS schemes of 396 network technology leads to the distinction on the interaction mode 397 between QoS authorization system and underlying NEs. When the 398 IntServ scheme is employed by a Category 3 endpoint, the 399 authorization process is typically initiated by a NE when a trigger 400 such as network signaling is received from the endpoint. In the 401 DiffServ scheme, since the NE is unable to request the resource 402 authorization on its own initiative, the authorization process is 403 typically triggered by either the request of AppSs or policies 404 defined by the operator. 406 As a consequence, two interaction modes are needed in support of 407 different combinations of QoS schemes and endpoint's QoS 408 capabilities: Push mode and Pull mode. 410 Push mode 411 The QoS authorization process is triggered by AppSs or local 412 network conditions (e.g., time of day on resource usage and QoS 413 classes), and the authorization decisions are installed by the AE 414 to the network element on its own initiative without explicit 415 request. In order to support the push mode, the AE (i.e., 416 Diameter server) should be able to initiate a Diameter 417 authorization session to communicate with the NE (i.e., Diameter 418 client) without any pre-established connection from the network 419 element. 421 Pull mode 422 The QoS authorization process is triggered by the network 423 signaling received from end-user equipment or by a local event in 424 the NE according to pre-configured policies, and authorization 425 decisions are produced upon the request of the NE. In order to 426 support the pull mode, the NE (i.e., Diameter client) will 427 initiate a Diameter authorization session to communicate with the 428 authorizing entity (i.e., Diameter server). 430 For Category 1 and 2 Application Endpoints, Push mode is required. 431 For a Category 3 AppE, either Push mode or Pull mode may be used. 433 Push mode is applicable to certain networks, for example, Cable 434 network, DSL, Ethernet, and Diffserv-enabled IP/MPLS as defined by 435 other SDOs (e.g., ETSI TISPAN and ITU-T}. The Pull mode is more 436 appropriate to IntServ-enabled IP networks or certain wireless 437 networks such as the GPRS networks defined by 3GPP. Some networks 438 (for example, WiMAX) may require both Push and Pull modes. 440 3.3. Authorization Schemes 442 3.3.1. Pull Mode Schemes 444 Three basic authorization schemes for Pull mode exist: one two-party 445 and two three-party schemes. The notation adopted here is in respect 446 to the entity that performs the QoS authorization. The 447 authentication of the QoS requesting entity might be done at the NE 448 as part of the QoS signaling protocol, or by an off-path protocol run 449 (on the application layer or for network access authentication) or 450 the AE might be contacted with request for authentication and 451 authorization of the QoS requesting entity. From the Diameter QoS 452 application's point of view these schemes differ in type of 453 information that need to be carried. Here we focus on the 'Basic 454 Three Party Scheme' (see Figure 3) and the 'Token-based Three Party 455 Scheme' (see Figure 4). In the 'Two Party Scheme', the QoS RRE is 456 authenticated by the NE and the authorization decision is made either 457 locally at the NE itself or offloaded to a trusted entity (most 458 likely within the same administrative domain). In the two-party case 459 no Diameter QoS protocol interaction is required. 461 +--------------+ 462 | Entity | 463 | authorizing | <......+ 464 | resource | . 465 | request | . 466 +------------+-+ . 467 --^----------|-- . . 468 ///// | | \\\\\ . 469 // | | \\ . 470 | QoS | QoS AAA | QoS |. 471 | authz| protocol |authz |. 472 | req.| | res. |. 473 \\ | | // . 474 \\\\\ | | ///// . 475 QoS --|----------v-- . . 476 +-------------+ request +-+------------+ . 477 | Entity |----------------->| NE | . 478 | requesting | | performing | . 479 | resource |granted / rejected| QoS | <.....+ 480 | |<-----------------| reservation | financial 481 +-------------+ +--------------+ settlement 483 Figure 3: Three Party Scheme 485 In the 'Basic Three Party Scheme' a QoS reservation request that 486 arrives at the NE is forwarded to the Authorizing Entity (e.g., in 487 the user's home network), where the authorization decision is made. 488 A business relationship, such as a roaming agreement, between the 489 visited network and the home network ensures that the visited network 490 is compensated for the resources consumed by the user via the home 491 network. 493 financial settlement 494 ...........................+ 495 Authorization V ------- . 496 Token Request +--------------+ / QoS AAA \ . 497 +-------------->| | / protocol \ . 498 | | Authorizing +--------------+ \ . 499 | | Entity | | | | . 500 | +------+ |<--+----+ | | . 501 | | +--------------+ |QoS | |QoS |. 502 | | |authz| |authz|. 503 | |Authorization |req.+| |res. |. 504 | |Token |Token| | |. 505 | | | | | . | . 506 | | \ | | . / . 507 | | \ | | / . 508 | | QoS request |-----V . . 509 +-------------+ + Authz. Token +--------+-----+ . 510 | Entity |----------------->| NE | . 511 | requesting | | performing | . 512 | resource |granted / rejected| QoS | <....+ 513 | |<-----------------| reservation | 514 +-------------+ +--------------+ 516 Figure 4: Token-based Three Party Scheme 518 The 'Token-based Three Party Scheme' is applicable to environments 519 where a previous protocol interaction is used to request 520 authorization tokens to assist the authorization process at the NE or 521 the AE [RFC3521]. 523 The QoS RRE may be involved in an application layer protocol 524 interaction, for example using SIP [RFC3313], with the AE. As part 525 of this interaction, authentication and authorization at the 526 application layer might take place. As a result of a successful 527 authorization decision, which might involve the user's home AAA 528 server, an authorization token is generated by the AE (e.g., the SIP 529 proxy and an entity trusted by the SIP proxy) and returned to the end 530 host for inclusion into the QoS signaling protocol. The 531 authorization token will be used by a NE that receives the QoS 532 signaling message to authorize the QoS request. Alternatively, the 533 Diameter QoS application will be used to forward the authorization 534 token to the user's home network. The authorization token allows the 535 authorization decision performed at the application layer protocol 536 run to be associated with a corresponding QoS signaling session. 537 Note that the authorization token might either refer to established 538 state concerning the authorization decision or the token might itself 539 carry the authorized parameters (protected by a digital signature or 540 a keyed message digest to prevent tampering). In the latter case the 541 authorization token may contain several pieces of information 542 pertaining to the authorized application session, but at minimum it 543 should contain: 544 o An identifier for the AE (for example, an AppS) that issued the 545 authorization token 546 o An identifier referring to a specific application protocol session 547 for which the token was issued and 548 o A keyed message digest or digital signature protecting the content 549 of the authorization token 551 A possible structure for the authorization token and the policy 552 element carrying it are proposed in context of RSVP [RFC3520]. 554 In the scenario mentioned above, where the QoS resource requesting 555 entity is involved in an application layer protocol interaction with 556 the AE, it may be worthwhile to consider a token-less binding 557 mechanism also. The application layer protocol interaction may have 558 indicated the transport port numbers at the QoS RRE where it might 559 receive media streams (for example in SIP/SDP [RFC4566] signalling, 560 these port numbers are advertised). The QoS RRE may also use these 561 port numbers in some IP filter indications to the NE performing QoS 562 reservation so that it may properly tunnel the inbound packets. The 563 NE performing QoS reservation will forward the QoS resource 564 requesting entity's IP address and the IP filter indications to the 565 AE in the QoS authorization request. The AE will use the QoS RRE's 566 IP address and the port numbers in the IP filter indication, which 567 will match the port numbers advertised in the earlier application 568 layer protocol interaction, to identify the right piece of policy 569 information to be sent to the NE performing the QoS reservation in 570 the QoS authz. response. 572 3.3.2. Push Mode Schemes 574 The push mode can be further divided into two types: endpoint- 575 initiated and network-initiated. In the former case, the 576 authorization process is triggered by AppS in response to an explicit 577 QoS request from an endpoint through application signaling, e.g. 578 SIP; in the latter case, the authorization process is triggered by 579 the AppS without an explicit QoS request from an endpoint. 581 In the endpoint-initiated scheme, the QoS RRE (i.e., the AppE) 582 determines the required application level QoS and sends a QoS request 583 through an application signaling message. The AppS will extract 584 application-level QoS information and trigger the authorization 585 process to the AE. In the network-initiated scheme, the AE and/or 586 AppS should derive and determine the QoS requirements according to 587 application attribute, subscription and endpoint's capability when 588 the endpoint does not explicitly indicate the QoS attributes. The AE 589 makes an authorization decision based on application level QoS 590 information, network policies, end-user subscription, network 591 resource availability, etc., and installs the decision to NE 592 directly. 594 A Category 1 AppE requires network-initiated Push mode and a Category 595 2 AppE may use either mode 597 financial settlement 598 ...........................+ 599 Application V ------- . 600 signaling msg +--------------+ / QoS AAA \ . 601 +-------------->| | / protocol \ . 602 | | Authorizing +--------------+ \ . 603 | | Entity | | | | . 604 | + |<--+----+ | | . 605 | +--------------+ |QoS | |QoS |. 606 | install| |install 607 | |rsp. | |req. |. 608 | | | | |. 609 | | | | . | . 610 | \ | | . / . 611 | \ | | / . 612 V |-----V . . 613 +-------------+ +--------+-----+ . 614 | Entity | | NE | . 615 | requesting | | performing | . 616 | resource |QoS rsrc granted | QoS | <....+ 617 | |<-----------------| reservation | 618 +-------------+ +--------------+ 620 Figure 5: Scheme for Push Mode 622 3.4. QoS Application Requirements 624 A QoS application must meet a number of requirements applicable to a 625 diverse set of networking environments and services. It should be 626 compatible with different deployment scenarios having specific QoS 627 signaling models and security issues. Satisfying the requirements 628 listed below while interworking with QoS signaling protocols, a 629 Diameter QoS application should accommodate the capabilities of the 630 QoS signaling protocols rather than introducing functional 631 requirements on them. A list of requirements for a QoS authorization 632 application is provided here: 634 Inter-domain support 635 In particular, users may roam outside their home network, leading 636 to a situation where the NE and AE are in different administrative 637 domains. 639 Identity-based Routing 640 The QoS AAA protocol MUST route AAA requests to the Authorizing 641 Entity, based on the provided identity of the QoS requesting 642 entity or the identity of the AE encoded in the provided 643 authorization token. 645 Flexible Authentication Support 646 The QoS AAA protocol MUST support a variety of different 647 authentication protocols for verification of authentication 648 information present in QoS signaling messages. The support for 649 these protocols MAY be provided indirectly by tying the signaling 650 communication for QoS to a previous authentication protocol 651 exchange (e.g., using network access authentication). 653 Making an Authorization Decision 654 The QoS AAA protocol MUST exchange sufficient information between 655 the AE and the enforcing entity (and vice versa) to compute an 656 authorization decision and to execute this decision. 658 Triggering an Authorization Process 659 The QoS AAA protocol MUST allow periodic and event triggered 660 execution of the authorization process, originated at the 661 enforcing entity or even at the AE. 663 Associating QoS Reservations and Application State 664 The QoS AAA protocol MUST carry information sufficient for an AppS 665 to identify the appropriate application session and associate it 666 with a particular QoS reservation. 668 Dynamic Authorization 669 It MUST be possible for the QoS AAA protocol to push updates 670 towards the NE(s) from authorizing entities. 672 Bearer Gating 673 The QoS AAA protocol MUST allow the AE to gate (i.e., enable/ 674 disable) authorized application flows based on, e.g., application 675 state transitions. 677 Accounting Records 678 The QoS AAA protocol may define QoS accounting records containing 679 duration, volume (byte count) usage information and description of 680 the QoS attributes (e.g., bandwidth, delay, loss rate) that were 681 supported for the flow. 683 Sending Accounting Records 684 The NE SHOULD be able to send accounting records for a particular 685 QoS reservation state to an accounting entity. 687 Failure Notification 688 The QoS AAA protocol MUST allow the NE to report failures, such as 689 loss of connectivity due to movement of a mobile node or other 690 reasons for packet loss, to the authorizing entity. 692 Accounting Correlation 693 The QoS AAA protocol may support the exchange of sufficient 694 information to allow for correlation between accounting records 695 generated by the NEs and accounting records generated by an AppS. 697 Interaction with other AAA Applications 698 Interaction with other AAA applications such as Diameter Network 699 Access (NASREQ) application [RFC4005] is required for exchange of 700 authorization, authentication and accounting information. 702 In deployment scenarios where authentication of the QoS reservation 703 requesting entity (e.g., the user) is done by means outside the 704 Diameter QoS application protocol interaction, the AE is contacted 705 only with a request for QoS authorization. Authentication might have 706 taken place already via the interaction with the Diameter NASREQ 707 application or as part of the QoS signaling protocol (e.g., Transport 708 Layer Security (TLS) [RFC4346] in the General Internet Signaling 709 Transport (GIST) protocol [I-D.ietf-nsis-ntlp]). 711 Authentication of the QoS reservation requesting entity to the AE is 712 necessary if a particular Diameter QoS application protocol run 713 cannot be related (or if there is no intention to relate it) to a 714 prior authentication. In this case the AE MUST authenticate the QoS 715 reservation requesting entity in order to authorize the QoS request 716 as part of the Diameter QoS protocol interaction. 718 The document refers to three types of sessions that need to be 719 properly correlated. 721 QoS Signaling Session 722 The time period during which a QoS signaling protocol establishes, 723 maintains and deletes a QoS reservation state at the QoS network 724 element is referred to as QoS signaling session. Different QoS 725 signaling protocols use different ways to identify QoS signaling 726 sessions. The same applies to different usage environments. 727 Currently, this document supports three types of QoS session 728 identifiers, namely a signaling session id (e.g., the Session 729 Identifier used by the NSIS protocol suite), a flow id (e.g., 730 identifier assigned by an application to a certain flow as used in 731 the 3GPP) and a flow description based on the IP parameters of the 732 flow's end points. 734 Diameter Authorization Session 735 The time period, for which a Diameter server authorizes a 736 requested service (i.e., QoS resource reservation) is referred to 737 as a Diameter authorization session. It is identified by a 738 Session-Id included in all Diameter messages used for management 739 of the authorized service (initial authorization, re- 740 authorization, termination), see [RFC3588]. 742 Application-layer Session 743 The application layer session identifies the duration of an 744 application layer service which requires provision of certain QoS. 745 An application layer session identifier is provided by the QoS 746 requesting entity in the QoS signaling messages, for example as 747 part of the authorization token. In general, the application 748 session identifier is opaque to the QoS aware NEs. It is included 749 in the authorization request message sent to the AE and helps it 750 to correlate the QoS authorization request to the application 751 session state information. 753 Correlating these sessions is done at each of the three involved 754 entities: The QoS requesting entity correlates the application with 755 the QoS signaling sessions. The QoS NE correlates the QoS signaling 756 session with the Diameter authorization sessions. The AE SHOULD bind 757 the information about the three sessions together. Note that in 758 certain scenarios not all of the sessions are present. For example, 759 the application session might not be visible to QoS signaling 760 protocol directly if there is no binding between the application 761 session and the QoS requesting entity using the QoS signaling 762 protocol. 764 4. QoS Application Session Establishment and Management 766 4.1. Parties Involved 768 Authorization models supported by this application include three 769 parties: 770 o Resource Requesting Entity 771 o Network Elements (Diameter QoS application (DQA) client) 772 o Authorizing Entity (Diameter QoS application (DQA) server) 774 Note that the QoS RRE is only indirectly involved in the message 775 exchange. This entity provides the trigger to initiate the Diameter 776 QoS protocol interaction by transmitting QoS signaling messages. The 777 Diameter QoS application is only executed between the Network Element 778 (i.e., DQA client) and the Authorizing Entity (i.e., DQA server). 780 The QoS RRE may communicate with the AE using application layer 781 signaling for negotiation of service parameters. As part of this 782 application layer protocol interaction, for example using SIP, 783 authentication and authorization might take place. This message 784 exchange is, however, outside the scope of this document. The 785 protocol communication between the QoS resource requesting entity and 786 the QoS NE might be accomplished using the NSIS protocol suite, RSVP 787 or a link layer signaling protocol. A description of these protocols 788 is also outside the scope of this document and a tight coupling with 789 these protocols is not desirable since this applications aims to be 790 generic. 792 4.2. Session Establishment 794 The Pull and Push modes use a different set of command codes for 795 session establishment. For other operations, such as session 796 modification and termination, they use the same set of command codes. 798 The selection of Pull mode or Push mode operation is based on the 799 trigger of the QoS Authorization session. When a QoS-Authz-Request 800 (QAR, see Section 5.1) message with a new session ID is received, the 801 AE operates in the Pull mode; when other triggers are received, the 802 AE operates in the Push mode. Similarly, when a QoS-Install-Request 803 (QIR, see Section 5.3} with a new session ID is received, the NE 804 operates in the Push mode; when other triggers are received, the NE 805 operation in the Pull mode. 807 4.2.1. Session Establishment for Pull Mode 809 A request for a QoS reservation or local events received by a NE can 810 trigger the initiation of a Diameter QoS authorization session. The 811 NE generates a QAR message in which the required objects from the QoS 812 signaling message to Diameter AVPs. 814 Figure 6 shows the protocol interaction between a Resource Requesting 815 Entity, a Network Element and the Authorizing Entity. 817 The AE's identity, information about the application session and/or 818 identity and credentials of the QoS RRE, requested QoS parameters, 819 signaling session identifier and/or QoS enabled data flows 820 identifiers MAY be encapsulated into respective Diameter AVPs and 821 included in the Diameter message sent to the AE. The QAR is sent to 822 a Diameter server that can either be the home server of the QoS 823 requesting entity or an AppS. 825 +-----------------------------------------------+-------------------+ 826 | QoS-specific Input Data | Diameter AVPs | 827 +-----------------------------------------------+-------------------+ 828 | Authorizing entity ID (e.g., Destination-Host | Destination-Host | 829 | taken from authorization token, | Destination-Realm | 830 | Destination-Realm or derived from the NAI of | | 831 | the QoS requesting entity) | | 832 | | | 833 | Authorization Token Credentials of the QoS | QoS-Authz-Data | 834 | requesting entity | User-Name | 835 | | | 836 | QoS parameters | QoS-Resources | 837 +-----------------------------------------------+-------------------+ 839 Table 1: Mapping Input Data to QoS AVPs--Pull Mode 841 Authorization processing starts at the Diameter QoS server when it 842 receives the QAR. Based on the information in the QoS- 843 Authentication-Data, User-Name and QoS-Resources AVPs the server 844 determines the authorized QoS resources and flow state (enabled/ 845 disabled) from locally available information (e.g., policy 846 information that may be previously established as part of an 847 application layer signaling exchange, or the user's subscription 848 profile). The QoS-Resources AVP is defined in 849 [I-D.ietf-dime-qos-attributes]. The authorization decision is then 850 reflected in the response returned to the Diameter client with the 851 QoS-Authorization-Answer message (QAA). 853 Authorizing 854 End-Host Network Element Entity 855 requesting QoS ( Diameter ( Diameter 856 QoS Client) QoS Server) 857 | | | 858 +---QoS-Reserve---->| | 859 | +- - - - - QAR - - - - - >| 860 | |(QoS-Resources, | 861 | | QoS-Auth-Data,User-ID)| 862 | | +--------+--------------+ 863 | | | Authorize request | 864 | | | Keep session data | 865 | | |/Authz-time,Session-Id/| 866 | | +--------+--------------+ 867 | |< - - - - QAA - - - - - -+ 868 | |(Result-Code, | 869 | |QoS-Resources,Authz-time)| 870 | +-------+---------+ 871 | |Install QoS state| 872 | | + | 873 | | Authz. session | 874 | | /Authz-time/ | QoS Responder 875 | | | Node 876 | +-------+---------+ | 877 | +----------QoS-Reserve---....--->| 878 | | | 879 | |<---------QoS-Response--....----| 880 |<--QoS-Response----+ | 881 | | | 882 |=====================Data Flow==============....===>| 883 | | 884 | +- - - - - QAR - - - - - >| 885 | |(START,QoS-Resources) | 886 | | | 887 | | +--------+--------------+ 888 | | | Report for successful | 889 | | | QoS reservation | 890 | | |Update of reserved QoS | 891 | | | resources | 892 | | +--------+--------------+ 893 | |< - - - - QAA - - - - - -+ 894 | | | 896 Figure 6: Initial QoS Request Authorization for Pull Mode 898 The Authorizing Entity keeps authorization session state and SHOULD 899 save additional information for management of the session (e.g., 900 Signaling-Session-Id, authentication data) as part of the session 901 state information. 903 The final result of the authorization request is provided in the 904 Result-Code AVP of the QAA message sent by the Authorizing Entity. 905 In case of successful authorization (i.e., Result-Code = 906 DIAMETER_LIMITED_SUCCESS, (see Section 7.1)), information about the 907 authorized QoS resources and the status of the authorized flow 908 (enabled/disabled) is provided in the QoS-Resources AVP of the QAA 909 message. The QoS information provided via the QAA is installed by 910 the QoS Traffic Control function of the NE. The value 911 DIAMETER_LIMITED_SUCCESS indicates that the AE expects confirmation 912 via another QAR message for successful QoS resource reservation and 913 for final reserved QoS resources (see below). 915 One important piece of information returned from the Authorizing 916 Entity is the authorization lifetime (carried inside the QAA). The 917 authorization lifetime allows the NE to determine how long the 918 authorization decision is valid for this particular QoS reservation. 919 A number of factors may influence the authorized session duration, 920 such as the user's subscription plan or currently available credits 921 at the user's account (see Section 8). The authorization duration is 922 time-based as specified in [RFC3588]. For an extension of the 923 authorization period, a new QoS-Authorization-Request/Answer message 924 exchange SHOULD be initiated. Further aspects of QoS authorization 925 session maintenance is discussed in Section 4.3, Section 4.4 and 926 Section 8. 928 The indication of a successful QoS reservation and activation of the 929 data flow is provided by the transmission of a QAR message, which 930 reports the parameters of the established QoS state: reserved 931 resources, duration of the reservation, and identification of the QoS 932 enabled flow/QoS signaling session. The Diameter QoS server 933 acknowledges the reserved QoS resources with the QA Answer (QAA) 934 message where the Result-Code is set to 'DIAMETER_SUCCESS'. Note 935 that the reserved QoS resources reported in this QAR message MAY be 936 different than those authorized with the initial QAA message, due to 937 the QoS signaling specific behavior (e.g., receiver-initiated 938 reservations with One-Path-With-Advertisements) or specific process 939 of QoS negotiation along the data path. 941 4.2.2. Session Establishment for Push Mode 943 The Diameter QoS server in the AE initiates a Diameter QoS 944 authorization session upon the request for QoS reservation triggered 945 by application layer signaling or by local events, and generates a 946 QoS-Install-Request (QIR) message to Diameter QoS client in the NE in 947 which it maps required objects to Diameter payload objects. 949 Figure 7 shows the protocol interaction between the AE, a Network 950 Element and a RRE. 952 The NE's identity, information about the application session and/or 953 identity and credentials of the QoS resource requesting entity, 954 requested QoS parameters, signaling session identifier and/or QoS 955 enabled data flows identifiers MAY be encapsulated into respective 956 Diameter AVPs and included into the Diameter message sent from a 957 Diameter QoS server in the Authorizing Entity to a Diameter QoS 958 client in the NE. This requires that the AE has knowledge of 959 specific information for allocating and identifying the NE that 960 should be contacted and the data flow for which the QoS reservation 961 should be established. This information can be statically configured 962 or dynamically discovered, see Section 4.2.3 for details. 964 +-----------------------------------------+-------------------------+ 965 | QoS-specific Input Data | Diameter AVPs | 966 +-----------------------------------------+-------------------------+ 967 | Network Element ID | Destination-Host | 968 | | Destination-Realm | 969 | | | 970 | Authorization Token Credentials of the | QoS-Authz-Data | 971 | QoS requesting entity | User-Name | 972 | | | 973 | QoS parameters | QoS-Resources | 974 +-----------------------------------------+-------------------------+ 976 Table 2: Mapping Input Data to QoS AVPs--Push Mode 978 Authorization processing starts at the Diameter QoS server when it 979 receives a request from a RRE through an AppS (e.g., SIP Invite) or 980 is triggered by a local event (e.g., pre-configured timer). Based on 981 the received information the server determines the authorized QoS 982 resources and flow state (enabled/disabled) from locally available 983 information (e.g., policy information that may be previously 984 established as part of an application layer signaling exchange, or 985 the user's subscription profile). The authorization decision is then 986 reflected in the QoS-Install-Request message (QIR) to the Diameter 987 QoS client. 989 Authorizing 990 End-Host Network Element Entity 991 requesting QoS ( Diameter ( Diameter 992 QoS Client) QoS Server) 993 | | | 994 | | |<-- Trigger -- 995 | | +--------+--------------+ 996 | | | Authorize request | 997 | | | Keep session data | 998 | | |/Authz-time,Session-Id/| 999 | | +--------+--------------+ 1000 | | | 1001 | |<-- - -- - QIR - - - - - -+ 1002 | |(Initial Request,Decision | 1003 | |(QoS-Resources,Authz-time)| 1004 | +-------+---------+ 1005 | |Install QoS state| 1006 | | + | 1007 | | Authz. session | 1008 | | /Authz-time/ | 1009 | | | 1010 | +-------+---------+ 1011 | + - - - - QIA - - - - - ->| 1012 | | (Result-Code, | 1013 | | QoS-Resources) | 1014 | | +--------+--------------+ 1015 | | | Report for successful | 1016 | | | QoS reservation | 1017 | | |Update of reserved QoS | 1018 | | | resources | 1019 | | +--------+--------------+ 1020 | | QoS Responder 1021 | | Node 1022 | | | 1023 |=====================Data Flow==============....===>| 1024 | | 1025 | (+- - - - - QAR - - - - - >|) 1026 | (|(START,QoS-Resources) |) 1027 | (|< - - - - QAA - - - - - -+) 1028 | | | 1030 Figure 7: Initial QoS Request Authorization for Push Mode 1032 The AE keeps authorization session state and SHOULD save additional 1033 information for management of the session (e.g., 1034 Signaling-Session-Id, authentication data) as part of the session 1035 state information. 1037 The final result of the authorization decision is provided in the 1038 QoS-Resources AVP of the QIR message sent by the AE. The QoS 1039 information provided via the QIR is installed by the QoS Traffic 1040 Control function of the NE. 1042 One important piece of information from the AE is the authorization 1043 lifetime (carried inside the QIR). The authorization lifetime allows 1044 the NE to determine how long the authorization decision is valid for 1045 this particular QoS reservation. A number of factors may influence 1046 the authorized session duration, such as the user's subscription plan 1047 or currently available credits at the user's account (see Section 8). 1048 The authorization duration is time-based as specified in [RFC3588]. 1049 For an extension of the authorization period, a new QoS-Install- 1050 Request/Answer message or QoS-Authorization-Request/Answer message 1051 exchange SHOULD be initiated. Further aspects of QoS authorization 1052 session maintenance is discussed in Section 4.3, Section 4.4 and 1053 Section 8. 1055 The indication of QoS reservation and activation of the data flow can 1056 be provided by the QoS-Install-Answer message immediately. In the 1057 case of successful enforcement, the Result-Code (= DIAMETER_SUCCESS, 1058 (see Section 7.1)) information is provided in the QIA message. Note 1059 that the reserved QoS resources reported in the QIA message MAY be 1060 different than those initially authorized with the QIR message, due 1061 to the QoS signaling specific behavior (e.g., receiver-initiated 1062 reservations with One-Path-With-Advertisements) or specific process 1063 of QoS negotiation along the data path. When path coupled signaling 1064 is used for QoS reservation along the data path, QAR/QAA may be used 1065 to update the results of QoS reservation and enforcement following 1066 the establishment of data flows. 1068 4.2.3. Discovery and Selection of Peer Diameter QoS Application Node 1070 The Diameter QoS application node may obtain information of its peer 1071 nodes (e.g., FQDN, IP address) through static configuration or 1072 dynamic discovery as described in [RFC3588]. In particular, the NE 1073 shall perform the relevant operation for Pull mode; the AE shall 1074 perform the relevant operations for Push mode. 1076 Upon receipt of a trigger to initiate a new Diameter QoS 1077 authorization session, the Diameter QoS application node selects and 1078 retrieves the location information of the peer node and based on some 1079 index information provided by the RRE. For instance, it can be the 1080 Authorization Entity's ID stored in the authorization token, the end- 1081 user's identity (e.g., NAI [RFC4282]) or globally routable IP 1082 address. 1084 4.3. Session Re-authorization 1086 Client and server-side initiated re-authorizations are considered in 1087 the design of the Diameter QoS application. Whether the re- 1088 authorization events are transparent for the resource requesting 1089 entity or result in specific actions in the QoS signaling protocol is 1090 outside the scope of the Diameter QoS application. It is directly 1091 dependent on the capabilities of the QoS signaling protocol. 1093 There are a number of options for policy rules according to which the 1094 NE (AAA client) contacts the AE for re-authorization. These rules 1095 depend on the semantics and contents of the QAA message sent by the 1096 AE: 1098 a. The QAA message contains the authorized parameters of the flow 1099 and its QoS and sets their limits (presumably upper). With these 1100 parameters the AE specifies the services that the NE can provide 1101 and will be financially compensated for. Therefore, any change 1102 or request for change of the parameters of the flow and its QoS 1103 that do not conform to the authorized limits requires contacting 1104 the AE for authorization. 1105 b. The QAA message contains authorized parameters of the flow and 1106 its QoS. The rules that determine whether parameters' changes 1107 require re-authorization are agreed out of band, based on a 1108 Service Level Agreement (SLA) between the domains of the NE and 1109 the AE. 1110 c. The QAA message contains the authorized parameters of the flow 1111 and its QoS. Any change or request for change of these 1112 parameters requires contacting the AE for re-authorization. 1113 d. In addition to the authorized parameters of the flow and its QoS, 1114 the QAA message contains policy rules that determine the NEs 1115 actions in case of change or request for change in authorized 1116 parameters. 1118 Provided options are not exhaustive. Elaborating on any of the 1119 listed approaches is deployment /solution specific and is not 1120 considered in the current document. 1122 In addition, the AE may use a RAR to perform re-authorization with 1123 the authorized parameters directly when the re-authorization is 1124 triggered by service request or local events/policy rules. 1126 4.3.1. Client-Side Initiated Re-Authorization 1128 The AE provides the duration of the authorization session as part of 1129 the QoS-Authorization-Answer message (QAA). At any time before 1130 expiration of this period, a new QoS-Authorization-Request message 1131 (QAR) MAY be sent to the AE. The transmission of the QAR MAY be 1132 triggered when the NE receives a QoS signaling message that requires 1133 modification of the authorized parameters of an ongoing QoS session, 1134 or authorization lifetime expires. 1136 Authorizing 1137 End-Host Network Element Entity 1138 requesting QoS ( Diameter ( Diameter 1139 QoS Client) QoS Server) 1140 | | | 1141 |=====================Data Flow==========================> 1142 | | | 1143 | +-------+----------+ | 1144 | |Authz-time/CC-Time| | 1145 | | expires | | 1146 | +-------+----------+ | 1147 | +- - - - - QAR - - - - - >| 1148 | |(QoS-Resources, | 1149 | | QoS-Authz-Data,User-ID) | 1150 | +--------+--------------+ 1151 NOTE: | | Authorize request | 1152 Re-authorization | | Update session data | 1153 is transparent to | |/Authz-time,Session-Id/| 1154 the End-Host | +--------+--------------+ 1155 |< - - - - QAA - - - - - -+ 1156 | |(Result-Code, | 1157 | |QoS-Resources,Authz-time)| 1158 | +-------+---------+ | 1159 | |Update QoS state | | 1160 | | + | | 1161 | | Authz. session | | 1162 | | /Authz-time/ | | 1163 | | | | 1164 | +-------+---------+ | 1165 | | | 1166 |=====================Data Flow==========================> 1167 | | 1169 Figure 8: Client-side Initiated QoS Re-Authorization 1171 4.3.2. Server-Side Initiated Re-Authorization 1173 The AE MAY initiate a QoS re-authorization by issuing a Re-Auth- 1174 Request message (RAR) as defined in the Diameter base protocol 1175 [RFC3588], which may include the parameters of the re-authorized QoS 1176 state: reserved resources, duration of the reservation, 1177 identification of the QoS enabled flow/QoS signaling session for re- 1178 installation of the resource state by the QoS Traffic Control 1179 function of the NE. 1181 A NE that receives such a RAR message with Session-Id matching a 1182 currently active QoS session acknowledges the request by sending the 1183 Re-Auth-Answer (RAA) message towards the AE. 1185 If RAR does not include any parameters of the re-authorized QoS 1186 state, the NE MUST initiate a QoS re-authorization by sending a QoS- 1187 Authorization-Request (QAR) message towards the AE. 1189 Authorizing 1190 End-Host Network Element Entity 1191 requesting QoS ( Diameter ( Diameter 1192 QoS Client) QoS Server) 1193 | | | 1194 | | |<-- Trigger -- 1195 | | +--------+--------------+ 1196 | | | Authorize request | 1197 | | | Keep session data | 1198 | | |/Authz-time,Session-Id/| 1199 | | +--------+--------------+ 1200 | | | 1201 | |<-- - -- - RAR - - - - - -+ 1202 | |(Request,Decision | 1203 | |(QoS-Resources,Authz-time)| 1204 | +-------+---------+ 1205 | |Install QoS state| 1206 | | + | 1207 | | Authz. session | 1208 | | /Authz-time/ | 1209 | | | 1210 | +-------+---------+ 1211 | + - - - - RAA - - - - - ->| 1212 | | (Result-Code, | 1213 | | QoS-Resources) | 1214 | | +--------+--------------+ 1215 | | | Report for successful | 1216 | | | QoS reservation | 1217 | | |Update of reserved QoS | 1218 | | | resources | 1219 | | +--------+--------------+ 1220 | | | 1222 Figure 9: Server-side Initiated QoS Re-Authorization 1224 4.4. Session Termination 1226 4.4.1. Client-Side Initiated Session Termination 1228 The authorization session for an installed QoS reservation state MAY 1229 be terminated by the Diameter client by sending a Session- 1230 Termination-Request message (STR) to the Diameter server. This is a 1231 Diameter base protocol function and it is defined in [RFC3588]. 1232 Session termination can be caused by a QoS signaling messaging 1233 requesting deletion of the existing QoS reservation state or it can 1234 be caused as a result of a soft-state expiration of the QoS 1235 reservation state. 1237 Authorizing 1238 End-Host Network Element Entity 1239 requesting QoS ( Diameter ( Diameter 1240 QoS Client) QoS Server) 1241 | | | 1242 |==Data Flow==>X /Stop of the data flow/ | 1243 | | | 1244 +---QoS-Reserve---->| | 1245 | (Delete QoS +- - - - - STR - - - - - >| 1246 | reservation) | +--------+--------------+ 1247 | | | Remove authorization | 1248 |<--QoS-Response----+ | session state | 1249 | | +--------+--------------+ 1250 |< - - - - STA - - - - - -+ 1251 +-------+--------+ | 1252 |Delete QoS state| 1253 +-------+--------+ QoS Responder 1254 | Node 1255 +----------QoS-Reserve-----....--->| 1256 | (Delete QoS | 1257 | reservation) | 1258 |<---------QoS-Response----....----+ 1259 | | 1261 Figure 10: Client-Side Initiated Session Termination 1263 4.4.2. Server-Side Initiated Session Termination 1265 At anytime during a session the AE MAY send an Abort-Session-Request 1266 message (ASR) to the NE. This is a Diameter base protocol function 1267 and it is defined in [RFC3588]. Possible reasons for initiating the 1268 ASR message to the NE are insufficient credits or session termination 1269 at the application layer. The ASR message results in termination of 1270 the authorized session, release of the reserved resources at the NE 1271 and transmission of an appropriate QoS signaling message indicating a 1272 notification to other Network Elements aware of the signaling 1273 session. 1275 Authorizing 1276 End-Host Network Element Entity 1277 requesting QoS ( Diameter ( Diameter 1278 QoS Client) QoS Server) 1279 | | | 1280 |=====================Data Flow==========================> 1281 | | 1282 | |< - - - - ASR - - - - - -+ 1283 | | | 1284 |====Data Flow=====>X | QoS Responder 1285 | | | Node 1286 |<--QoS-Notify------+----------QoS-Reserve-----....--->| 1287 | | (Delete QoS | | 1288 | reservation) | 1289 +-------+--------+ | 1290 |Delete QoS state| | 1291 +-------+--------+ | 1292 +- - - - - ASA - - - - - >| 1293 | +--------+--------------+ 1294 | | Remove authorization | 1295 | | session state | 1296 | +--------+--------------+ 1297 | QoS Responder 1298 | Node 1299 |<---------QoS-Response----....----+ 1300 | | 1302 Figure 11: Server-Side Initiated Session Termination 1304 5. QoS Application Messages 1306 The Diameter QoS Application requires the definition of new mandatory 1307 AVPs and Command-codes (see Section 3 of [RFC3588]). Four new 1308 Diameter messages are defined along with Command-Codes whose values 1309 MUST be supported by all Diameter implementations that conform to 1310 this specification. 1312 +---------------------+---------+--------+-------------+ 1313 | Command Name | Abbrev. | Code | Reference | 1314 +---------------------+---------+--------+-------------+ 1315 | QoS-Authz-Request | QAR | [TBD1] | Section 5.1 | 1316 | | | | | 1317 | QoS-Authz-Answer | QAA | [TBD2] | Section 5.2 | 1318 | | | | | 1319 | QoS-Install-Request | QIR | [TBD3] | Section 5.3 | 1320 | | | | | 1321 | QoS-Install-Answer | QIA | [TBD4] | Section 5.4 | 1322 +---------------------+---------+--------+-------------+ 1324 Table 3: Diameter QoS Commands 1326 In addition, the following Diameter Base protocol messages are used 1327 in the Diameter QoS application: 1329 +-----------------------+---------+------+-----------+ 1330 | Command-Name | Abbrev. | Code | Reference | 1331 +-----------------------+---------+------+-----------+ 1332 | Re-Auth-Request | RAR | 258 | [RFC3588] | 1333 | | | | | 1334 | Re-Auth-Answer | RAA | 258 | [RFC3588] | 1335 | | | | | 1336 | Abort-Session-Request | ASR | 274 | [RFC3588] | 1337 | | | | | 1338 | Abort-Session-Answer | ASA | 274 | [RFC3588] | 1339 | | | | | 1340 | Session-Term-Request | STR | 275 | [RFC3588] | 1341 | | | | | 1342 | Session-Term-Answer | STA | 275 | [RFC3588] | 1343 +-----------------------+---------+------+-----------+ 1345 Table 4: Diameter Base Commands 1347 Diameter nodes conforming to this specification MAY advertise support 1348 by including the value of [TBD5] in the Auth-Application-Id or the 1349 Acct-Application-Id AVP of the Capabilities-Exchange-Request and 1350 Capabilities-Exchange-Answer commands, see [RFC3588]. 1352 The value of {TBD5] MUST be used as the Application-Id in all QAR/QAA 1353 and QIR/QIA commands. 1355 The value of zero (0) SHOULD be used as the Application-Id in all 1356 STR/STA, ASR/ASA, and RAR/RAA commands, because these commands are 1357 defined in the Diameter base protocol and no additional mandatory 1358 AVPs for those commands are defined in this document. 1360 5.1. QoS-Authorization Request (QAR) 1362 The QoS-Authorization-Request message (QAR) indicated by the Command- 1363 Code field (see Section 3 of [RFC3588]) set to [TBD1] and 'R' bit set 1364 in the Command Flags field is used by NEs to request quality of 1365 service related resource authorization for a given flow. 1367 The QAR message MUST carry information for signaling session 1368 identification, AE identification, information about the requested 1369 QoS, and the identity of the QoS requesting entity. In addition, 1370 depending on the deployment scenario, an authorization token and 1371 credentials of the QoS requesting entity SHOULD be included. 1373 The message format, presented in ABNF form [RFC4234], is defined as 1374 follows: 1376 ::= < Diameter Header: [TBD1], REQ, PXY > 1377 < Session-Id > 1378 { Auth-Application-Id } 1379 { Origin-Host } 1380 { Origin-Realm } 1381 { Destination-Realm } 1382 { Auth-Request-Type } 1383 [ Destination-Host ] 1384 [ User-Name ] 1385 * [ QoS-Resources ] 1386 [ QoS-Authz-Data ] 1387 [ Bound-Auth-Session-Id ] 1388 * [ AVP ] 1390 5.2. QoS-Authorization Answer (QAA) 1392 The QoS-Authorization-Answer message (QAA), indicated by the Command- 1393 Code field set to [TBD2] and 'R' bit cleared in the Command Flags 1394 field is sent in response to the QoS-Authorization-Request message 1395 (QAR). If the QoS authorization request is successfully authorized, 1396 the response will include the AVPs to allow authorization of the QoS 1397 resources and transport plane gating information. 1399 The message format is defined as follows: 1401 ::= < Diameter Header: [TBD2], PXY > 1402 < Session-Id > 1403 { Auth-Application-Id } 1404 { Auth-Request-Type } 1405 { Result-Code } 1406 { Origin-Host } 1407 { Origin-Realm } 1408 * [ QoS-Resources ] 1409 [ Acc-Multisession-Id ] 1410 [ Session-Timeout ] 1411 [ Authz-Session-Lifetime ] 1412 [ Authz-Grace-Period ] 1413 * [ AVP ] 1415 5.3. QoS-Install Request (QIR) 1417 The QoS-Install Request message (QIR), indicated by the Command-Code 1418 field set to [TBD3] and 'R' bit set in the Command Flags field is 1419 used by AE to install or update the QoS parameters and the flow state 1420 of an authorized flow at the transport plane element. 1422 The message MUST carry information for signaling session 1423 identification or identification of the flow to which the provided 1424 QoS rules apply, identity of the transport plane element, description 1425 of provided QoS parameters, flow state and duration of the provided 1426 authorization. 1428 The message format is defined as follows: 1430 ::= < Diameter Header: [TBD3], REQ, PXY > 1431 < Session-Id > 1432 { Auth-Application-Id } 1433 { Origin-Host } 1434 { Origin-Realm } 1435 { Destination-Realm } 1436 { Auth-Request-Type } 1437 [ Destination-Host ] 1438 * [ QoS-Resources ] 1439 [ Session-Timeout ] 1440 [ Authz-Session-Lifetime ] 1441 [ Authz-Grace-Period ] 1442 [ Authz-Session-Volume ] 1443 * [ AVP ] 1445 5.4. QoS-Install Answer (QIA) 1447 The QoS-Install Answer message (QIA), indicated by the Command-Code 1448 field set to [TBD4] and 'R' bit cleared in the Command Flags field is 1449 sent in response to the QoS-Install Request message (QIR) for 1450 confirmation of the result of the installation of the provided QoS 1451 reservation instructions. 1453 The message format is defined as follows: 1455 ::= < Diameter Header: [TBD4], PXY > 1456 < Session-Id > 1457 { Auth-Application-Id } 1458 { Origin-Host } 1459 { Origin-Realm } 1460 { Result-Code } 1461 * [ QoS-Resources ] 1462 * [ AVP ] 1464 5.5. Re-Auth-Request (RAR) 1466 The Re-Auth-Request message (RAR), indicated by the Command-Code 1467 field set to 258 and the 'R' bit set in the Command Flags field, is 1468 sent by the AE to the NE in order to initiate the QoS re- 1469 authorization from DQA server side. 1471 If the RAR command is received by the NE without any parameters of 1472 the re-authorized QoS state, the NE MUST initiate a QoS re- 1473 authorization by sending a QoS-Authorization-Request (QAR) message 1474 towards the AE. 1476 The message format is defined as follows: 1478 ::= < Diameter Header: 258, REQ, PXY > 1479 < Session-Id > 1480 { Auth-Application-Id } 1481 { Origin-Host } 1482 { Origin-Realm } 1483 { Destination-Realm } 1484 { Auth-Request-Type } 1485 [ Destination-Host ] 1486 * [ QoS-Resources ] 1487 [ Session-Timeout ] 1488 [ Authz-Session-Lifetime ] 1489 [ Authz-Grace-Period ] 1490 [ Authz-Session-Volume ] 1492 * [ AVP ] 1494 5.6. Re-Auth-Answer (RAA) 1496 The Re-Auth-Answer message (RAA), indicated by the Command-Code field 1497 set to 258 and the 'R' bit cleared in the Command Flags field, is 1498 sent by the NE to the AE in response to the RAR command. 1500 The message format is defined as follows: 1502 ::= < Diameter Header: 258, PXY > 1503 < Session-Id > 1504 { Auth-Application-Id } 1505 { Origin-Host } 1506 { Origin-Realm } 1507 { Result-Code } 1508 * [ QoS-Resources ] 1509 * [ AVP ] 1511 6. QoS Application State Machine 1513 The QoS application reuses the authorization state machine defined in 1514 Section 8.1 of the Base Protocol ([RFC3588]) with its own messages as 1515 defined in Section 5 and QoS AVPs as defined in Section 7. 1517 6.1. Supplemented States for Push Mode 1519 In addition to the reused state machines, the following states are 1520 supplemented to first 2 state machines in which the session state is 1521 maintained on the Server, and MUST be supported in any QoS 1522 application implementations in support of server initiated push mode 1523 (see (Section 4.2.2)). 1525 The following states are supplemented to the state machine on the 1526 server when it is maintaining state for the session as defined in 1527 Section 8.1 of the Base Protocol [RFC3588]: 1529 SERVER, STATEFUL 1530 State Event Action New State 1531 ------------------------------------------------------------- 1532 Idle An application or local Send Pending 1533 event triggers an initial QIR initial 1534 QoS request to the server request 1536 Pending Received QIA with a failed Cleanup Idle 1537 Result-Code 1539 Pending Received QIA with Result-Code Update Open 1540 = SUCCESS session 1541 Pending Error in processing received Send Discon 1542 QIA with Result-Code = SUCCESS ASR 1544 The following states are supplemented to the state machine on the 1545 client when state is maintained on the server as defined in Section 1546 8.1 of the Base Protocol [RFC3588]: 1548 CLIENT, STATEFUL 1549 State Event Action New State 1550 ------------------------------------------------------------- 1551 Idle QIR initial request Send Open 1552 received and successfully QIA initial 1553 processed answer, 1554 reserve resources 1556 Idle QIR initial request Send Idle 1557 received but not QIA initial 1558 successfully processed answer with 1559 Result-Code 1560 != SUCCESS 1562 7. QoS Application AVPs 1564 Each of the AVPs identified in the QoS-Authorization-Request/Answer 1565 and QoS-Install-Request/Answer messages and the assignment of their 1566 value(s) is given in this section. 1568 7.1. Reused Base Protocol AVPs 1570 The QoS application uses a number of session management AVPs, defined 1571 in the Base Protocol ([RFC3588]). 1573 Attribute Name AVP Code Reference [RFC3588] 1574 Origin-Host 264 Section 6.3 1575 Origin-Realm 296 Section 6.4 1576 Destination-Host 293 Section 6.5 1577 Destination-Realm 283 Section 6.6 1578 Auth-Application-Id 258 Section 6.8 1579 Result-Code 268 Section 7.1 1580 Auth-Request-Type 274 Section 8.7 1581 Session-Id 263 Section 8.8 1582 Authz-Lifetime 291 Section 8.9 1583 Authz-Grace-Period 276 Section 8.10 1584 Session-Timeout 27 Section 8.13 1585 User-Name 1 Section 8.14 1587 The Auth-Application-Id AVP (AVP Code 258) is assigned by IANA to 1588 Diameter applications. The value of the Auth-Application-Id for the 1589 Diameter QoS application is TBD. 1591 7.2. QoS Application Defined AVPs 1593 This document reuses the AVPs defined in Section 4 of 1594 [I-D.ietf-dime-qos-attributes]. 1596 This section lists the AVPs that are introduced specifically for the 1597 QoS application. The following new AVPs are defined: Bound-Auth- 1598 Session-Id and the QoS-Authz-Data AVP. 1600 The following table describes the Diameter AVPs newly defined in this 1601 document for usage with the QoS Application, their AVP code values, 1602 types, possible flag values, and whether the AVP may be encrypted. 1604 +-------------------+ 1605 | AVP Flag rules | 1606 +----------------------------------------------|----+---+----+-----+ 1607 | AVP Section | | |SHLD| MUST| 1608 | Attribute Name Code Defined Data Type |MUST|MAY| NOT| NOT| 1609 +----------------------------------------------+----+---+----+-----+ 1610 |QoS-Authz-Data TBD 7.2 Grouped | M | P | | V | 1611 |Bound-Auth-Session-Id TBD 7.2 UTF8String | M | P | | V | 1612 +----------------------------------------------+----+---+----+-----+ 1613 |M - Mandatory bit. An AVP with "M" bit set and its value MUST be | 1614 | supported and recognized by a Diameter entity in order the | 1615 | message, which carries this AVP, to be accepted. | 1616 |P - Indicates the need for encryption for end-to-end security. | 1617 |V - Vendor specific bit that indicates whether the AVP belongs to | 1618 | a address space. | 1619 +------------------------------------------------------------------+ 1621 QoS-Authz-Data 1622 The QoS-Authz-Data AVP (AVP Code TBD) is of type OctetString. It 1623 is a container that carries application session or user specific 1624 data that has to be supplied to the AE as input to the computation 1625 of the authorization decision. 1627 Bound-Authentication-Session-Id 1628 The Bound-Authentication-Session AVP (AVP Code TBD) is of type 1629 UTF8String. It carries the id of the Diameter authentication 1630 session that is used for the network access authentication (NASREQ 1631 authentication session). It is used to tie the QoS authorization 1632 request to a prior authentication of the end host done by a co- 1633 located application for network access authentication (Diameter 1634 NASREQ) at the QoS NE. 1636 8. Accounting 1638 A NE may start an accounting session by sending an Accounting-Request 1639 message (ACR) after successful QoS reservation and activation of the 1640 data flow (see Figure 6 and Figure 7). After every successful re- 1641 authorization procedure (see Figure 8 and Figure 9), the NE may 1642 initiate an interim accounting message exchange. After successful 1643 session termination (see Figure 10 and Figure 11), the NE may 1644 initiate a final exchange of accounting messages for terminating of 1645 the accounting session and reporting final records for the usage of 1646 the QoS resources reserved. It should be noted that the two sessions 1647 (authorization and accounting) have independent management by the 1648 Diameter base protocol, which allows for finalizing the accounting 1649 session after the end of the authorization session. 1651 The detailed QoS accounting procedures are out of scope in this 1652 document. 1654 9. Examples 1656 9.1. Example Call Flow for Pull Mode 1658 This section presents an example of the interaction between the end 1659 host and Diameter QoS application entities using Pull mode. The 1660 application layer signaling is, in this example, provided using SIP. 1661 Signaling for a QoS resource reservation is done using the QoS NSLP. 1662 The authorization of the QoS reservation request is done by the 1663 Diameter QoS application (DQA). 1665 End-Host SIP Server Correspondent 1666 requesting QoS (DQA Server) Node 1668 | | | 1669 ..|....Application layer SIP signaling.......|..............|.. 1670 . | Invite (SDP) | | . 1671 . +.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-> | . 1672 . | 100 Trying | | . 1673 . <.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-+ Invite (SDP)| . 1674 . | +-.-.-.....-.-.> . 1675 . | | 180 SDP' | . 1676 . | <-.-.-.....-.-.+ . 1677 . | +--------+--------+ | . 1678 . | |Authorize session| | . 1679 . | | parameters | | . 1680 . | 180 (Session parameters) +--------+--------+ | . 1681 . <.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-+ | . 1682 ..|..........................................|... ..........|.. 1683 | | | 1684 | +------------+ | | 1685 | | NE | | | 1686 | |(DQA Client)| | | 1687 | +------+-----+ | | 1688 | | | | 1689 |QoS NSLP Reserve | | | 1690 +------------------> QAR | | 1691 | (POLICY_DATA>v +- - - - -<>- - - -> | 1692 | QSPEC) v >===>(Destination-Host, | | 1693 | v >=======>QoS-Authz-Data ++------------+ | 1694 | >===========>QoS-Resources) |Authorize | | 1695 | | |QoS resources| | 1696 | | ++------------+ | 1697 | | QAA | | 1698 | <- - - - -<>- - - -+ | 1699 | |(Result-Code, | | 1700 | |QoS-Resources, | | 1701 | |Authz-Lifetime) | | 1702 | +---------+--------+ | | 1703 | |Install QoS state1| | | 1704 | |+ Authz. session | | | 1705 | +---------+--------+ | | 1706 | |QoS NSLP Reserve | 1707 | +---------------..............---------> 1708 | | | 1709 | | QoS NSLP Response| 1710 |QoS NSLP Response <---------------..............---------+ 1711 <------------------+ | 1712 | | QoS NSLP Query| 1713 |QoS NSLP Query <---------------..............---------+ 1714 <------------------+ | 1715 |QoS NSLP Reserve | | 1716 +------------------> QAR | | 1717 | +- - - - -<>- - - -> | 1718 | | +---+---------+ | 1719 | | |Authorize | | 1720 | | |QoS resources| | 1721 | | QAA +---+---------+ | 1722 | <- - - - -<>- - - -+ | 1723 | +---------+--------+ | | 1724 | |Install QoS state2| | 1725 | |+ Authz. session | | 1726 | +---------+--------+ | 1727 | | QoS NSLP Reserve | 1728 | +---------------..............---------> 1729 | | QoS NSLP Response| 1730 |QoS NSLP Response <---------------..............---------+ 1731 <------------------+ | 1732 | | | 1733 /------------------+--Data Flow---------------------------\ 1734 \------------------+--------------------------------------/ 1735 | | | 1737 .-.-.-.-. SIP signaling 1738 --------- QoS NSLP signaling 1739 - - - - - Diameter QoS Application messages 1740 ========= Mapping of objects between QoS and AAA protocol 1742 Figure 12: QoS Authorization Example - Pull Mode 1744 The communication starts with SIP signaling between the two end 1745 points and the SIP server for negotiation and authorization of the 1746 requested service and its parameters (see Figure 12). As a part of 1747 the process, the SIP server verifies whether the user at Host A is 1748 authorized to use the requested service (and potentially the ability 1749 to be charged for the service usage). Negotiated session parameters 1750 are provided to the end host. 1752 Subsequently, Host A initiates a QoS signaling message towards Host 1753 B. It sends a QoS NSLP Reserve message, in which it includes 1754 description of the required QoS (QSPEC object) and authorization data 1755 for negotiated service session (part of the POLICY_DATA object). 1756 Authorization data includes, as a minimum, the identity of the AE 1757 (e.g., the SIP server) and an identifier of the application service 1758 session for which QoS resources are requested. 1760 A QoS NSLP Reserve message is intercepted and processed by the first 1761 QoS aware Network Element. The NE uses the Diameter QoS application 1762 to request authorization for the received QoS reservation request. 1763 The identity of the AE (in this case the SIP server that is co- 1764 located with a Diameter server) is put into the Destination-Host AVP, 1765 any additional session authorization data is encapsulated into the 1766 QoS-Authz-Data AVP and the description of the QoS resources is 1767 included into QoS-Resources AVP. These AVPs are included into a QoS 1768 Authorization Request message, which is sent to the AE. 1770 A QAR message will be routed through the AAA network to the AE. The 1771 AE verifies the requested QoS against the QoS resources negotiated 1772 for the service session and replies with QoS-Authorization answer 1773 (QAA) message. It carries the authorization result (Result-Code AVP) 1774 and the description of the authorized QoS parameters (QoS-Resources 1775 AVP), as well as duration of the authorization session 1776 (Authorization-Lifetime AVP). 1778 The NE interacts with the traffic control function and installs the 1779 authorized QoS resources and forwards the QoS NSLP Reserve message 1780 further along the data path. Moreover, the NE may serve as a 1781 signaling proxy and process the QoS signaling (e.g. initiation or 1782 termination of QoS signaling) based on the QoS decision received from 1783 the authorizing entity. 1785 9.2. Example Call Flow for Push Mode 1787 This section presents an example of the interaction between the end- 1788 host and Diameter QoS application entities using Push mode. The 1789 application layer signaling is, in this example, provided using SIP. 1790 Signaling for a QoS resource reservation is done using the QoS NSLP. 1791 The authorization of the QoS reservation request is done by the 1792 Diameter QoS application (DQA). 1794 End-Host NE SIP Server Correspondent 1795 requesting QoS (DQA Client) (DQA Server) Node 1796 | | | | 1797 ..|....Application layer SIP signaling..........|..............|.. 1798 . | Invite(SDP offer)| | | . 1799 . +.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.> | . 1800 . | 100 Trying | | | . 1801 . <.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.+ | . 1802 . |.............................................|..............| . 1803 | | +---------+-------------+| 1804 | | | Authorize request || 1805 | | | Keep session data || 1806 | | |/Authz-time,Session-Id/|| 1807 | | +---------+-------------+| 1808 | | | | 1809 | |<-- - -- - QIR - -- - -- -+ | 1810 | |(Initial Request,Decision | | 1811 | |(QoS-Resources,Authz-time)| | 1812 | +-------+---------+ | | 1813 | |Install QoS state| | | 1814 | | + | | | 1815 | | Authz. session | | | 1816 | | /Authz-time/ | | | 1817 | +-------+---------+ | | 1818 | + - - -- - QIA - - - - - ->| | 1819 | | (Result-Code, | | 1820 | | QoS-Resources) | | 1821 | | +----------+------------+ | 1822 | | | Report for successful | | 1823 | | | QoS reservation | | 1824 | | |Update of reserved QoS | | 1825 | | | resources | | 1826 | | +----------+------------+ | 1827 . | | | Invite (SDP) | . 1828 . | | +-.-.-.....-.-.> . 1829 . | 180 (Ringing) | | . 1830 . <.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.<.-.-.-.-.-.-.-+ . 1831 . | | | 200 OK (SDP)| . 1832 . | | <-.-.-.....-.-.+ . 1833 | | +--------+-----------+ | 1834 | | |re-Authorize session| | 1835 | | | parameters | | 1836 | | +--------+-----------+ | 1837 | <- - - - - - RAR - - - - - + | 1838 | +---------+--------+ | | 1839 | |Activate QoS state| | | 1840 | +---------+--------+ | | 1841 | +- - - - - - RAA - - - - - > | 1842 . | 200 (SDP answer) | | | . 1843 . <.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.+ | . 1845 | | | 1846 /------------------+-----Data Flow---------------------------\ 1847 \------------------+-----------------------------------------/ 1848 | | | 1850 .-.-.-.-. SIP signaling 1851 - - - - - Diameter QoS Application messages 1853 Figure 13: QoS Authorization Example - Push Mode 1855 The communication starts with SIP signaling between the two end 1856 points and the SIP server for negotiation and authorization of the 1857 requested service and its parameters (see Figure 13). As a part of 1858 the process, the SIP server verifies whether the user at Host A is 1859 authorized to use the requested service (and potentially the ability 1860 to be charged for the service usage). The DQA server is triggered to 1861 authorize the QoS request based on session parameters (i.e., SDP 1862 offer), initiate a Diameter QoS authorization session and install 1863 authorized QoS state to the Network Element via QIR message. 1865 The DQA server may obtain the info of peer DQA client from pre- 1866 configured information or query the DNS based on Host A's identity or 1867 IP address (In this case a DQA server is co-located with a SIP server 1868 and a DQA client is co-located with a NE). The identity of Network 1869 Element is put into the Destination-Host AVP, the description of the 1870 QoS resources is included into QoS-Resources AVP, as well as duration 1871 of the authorization session (Authorization-Lifetime AVP). The NE 1872 interacts with the traffic control function and reserves the 1873 authorized QoS resources accordingly, for instance, the NE may serve 1874 as a signaling proxy and process the QoS signaling (e.g. initiation 1875 or termination of QoS signaling) based on the QoS decision received 1876 from the authorizing entity. 1878 With successful QoS authorization, the SDP offer in SIP Invite is 1879 forwarded to Host B. Host B sends back a 18x (ringing) message 1880 towards Host A and processes the SDP. Once Host B accepts the call, 1881 it sends back a 200 OK, in which it includes description of the 1882 accepted session parameters (i.e. SDP answer). 1884 The DQA server may verify the accepted QoS against the pre-authorized 1885 QoS resources, and sends a Diameter RAR message to the DQA client in 1886 the NE for activating the installed policies and commit the resource 1887 allocation. With successful QoS enforcement, the 200 OK is forwarded 1888 towards Host A. 1890 Note that the examples above show a sender-initiated reservation from 1891 the end host towards the corresponding node and a receiver-initiated 1892 reservation from the correspondent node towards the end host. 1894 10. IANA Considerations 1896 This section contains the namespaces that have either been created in 1897 this specification or had their values assigned to existing 1898 namespaces managed by IANA. 1900 10.1. AVP Codes 1902 IANA is requested to allocate two AVP codes to the following: 1904 Registry: 1905 AVP Code Attribute Name Reference 1906 ----------------------------------------------------------- 1907 to be assigned QoS-Authz-Data Section 7.2 1908 to be assigned Bound-Auth-Session-Id Section 7.2 1910 10.2. AVP Specific Values 1912 IANA is requested to allocate the following sub-registry values. 1914 Sub-registry: Auth-Application-Id AVP Values (code 258) 1915 Registry: 1916 AVP Values Attribute Name Reference 1917 ------------- ------------------------------------------- 1918 to be assigned DIAMETER-QOS-NOSUPPORT Section 5 1919 to be assigned DIAMETER-QOS-SUPPORT Section 5 1921 Sub-registry: Acct-Application-Id AVP Values (code 259) 1922 Registry: 1923 AVP Values Attribute Name Reference 1924 ------------- ------------------------------------------- 1925 to be assigned DIAMETER-QOS-NOSUPPORT Section 5 1926 to be assigned DIAMETER-QOS-SUPPORT Section 5 1928 10.3. AVP Flags 1930 There are no new AVP flags defined for either the QoS-Authz-Data AVP 1931 or the Bound-Ath-Session-ID AVP. 1933 10.4. Application IDs 1935 IANA is requested to allocate the following application ID using the 1936 next value from the 7-16777215 range. 1938 Registry: 1939 ID values Name Reference 1940 ----------------------------------------------------------- 1941 to be assigned Diameter QoS application Section 5 1943 10.5. Command Codes 1945 IANA is requested to allocate command code values for the following 1946 from the range 289-299. 1948 Registry: 1949 Code Value Name Reference 1950 ----------------------------------------------------------- 1951 to be assigned QoS-Authz-Request (QAR) Section 5.1 1952 to be assigned QoS-Authz-Answer (QAA) Section 5.2 1953 to be assigned QoS-Install-Request (QIR) Section 5.3 1954 to be assigned QoS-Install-Answer (QIA) Section 5.4 1956 11. Security Considerations 1958 This document describes a mechanism for performing authorization of a 1959 QoS reservation at a third party entity. Therefore, sufficient 1960 information needs to be made available to the Authorizing Entity to 1961 can make such an authorization decision. Information may come from 1962 various sources, including the application layer signaling, the 1963 Diameter protocol (with its security mechanisms), from policy 1964 information stored available with a AAA server and from a QoS 1965 signaling protocol. 1967 Below there is a discussion about considerations for the Diameter QoS 1968 interaction between an Authorizing Entity and a Network Element. 1969 Security between the Authorizing Entity and the Network Element has a 1970 number of components: authentication, authorization, integrity and 1971 confidentiality. 1973 Authentication refers to confirming the identity of an originator for 1974 all datagrams received from the originator. Lack of authentication 1975 of Diameter messages between the Authorizing Entity and the Network 1976 Element can seriously jeopardize the fundamental service rendered by 1977 the Network Element. A consequence of not authenticating the message 1978 sender by the Network Element would be that an attacker could spoof 1979 the identity of a "legitimate" Authorizing Entity in order to 1980 allocate resources, change resource assignments or free resources. 1981 The adversary can also manipulate the state at the Network Element in 1982 such a way that it leads to a denial of service attack by, for 1983 example, setting the allowed bandwidth to zero or allocating the 1984 entire bandwidth available to a single flow. 1986 A consequence of not authenticating the Network Element to an 1987 Authorizing Entity is that an attacker could impact the policy based 1988 admission control procedure run by the Authorizing Entity to provide 1989 a wrong view of the resources used in the network. Failing to 1990 provide the required credentials should be subject to logging. 1992 Authorization refers to whether a particular Authorizing Entity is 1993 authorized to signal a Network Element with requests for one or more 1994 applications, adhering to a certain policy profile. Failing the 1995 authorization process might indicate a resource theft attempt or 1996 failure due to administrative and/or credential deficiencies. In 1997 either case, the Network Element should take the proper measures to 1998 log such attempts. 2000 Integrity is required to ensure that a Diameter message has not been 2001 maliciously altered. The result of a lack of data integrity 2002 enforcement in an untrusted environment could be that an imposter 2003 will alter the messages exchanged between a Network Entity and an 2004 Authorizing Entity potentially causing a denial of service. 2006 Confidentiality protection of Diameter messages ensures that the 2007 signaling data is accessible only to the authorized entities. When 2008 signaling messages from the Application Server, via the Authorizing 2009 Entity towards the Network Element traverse untrusted networks, lack 2010 of confidentiality will allow eavesdropping and traffic analysis. 2011 Additionally, Diamater QoS messages may carry authorization tokens 2012 that require confidentiality protection. 2014 Lastly, there can be security vulnerability to the applications 2015 traversing a Network Element when a resource on a Network Element is 2016 controlled by multiple Authorizing Entities. The operation of a 2017 Network Element may be disrupted due to conflicting directives from 2018 multiple Authorizing Entities. Care must be taken in deployment to 2019 ensure that Network Elements are impacted by misconfiguration. 2021 Diameter offers security mechanisms to deal with the functionality 2022 demanded in the paragraphs above. In particular, Diameter offers 2023 communication security between neighboring Diameter peers using 2024 Transport Layer Security (TLS) or IPsec. Authorization capabilities 2025 are application specific and part of the overal implementation. 2027 12. Acknowledgements 2029 The authors would like to thank John Loughney and Allison Mankin for 2030 their input to this document. In September 2005 Robert Hancock, 2031 Jukka Manner, Cornelia Kappler, Xiaoming Fu, Georgios Karagiannis and 2032 Elwyn Davies provided a detailed review. Robert also provided us 2033 with good feedback earlier in 2005. Jerry Ash provided us review 2034 comments late 2005/early 2006. Rajith R provided some inputs to the 2035 document early 2007 2037 13. Contributors 2039 The authors would like to thank Tseno Tsenov and Frank Alfano for 2040 starting the Diameter Quality of Service work within the IETF, for 2041 your significant draft contributions and for being the driving force 2042 for the first few draft versions. 2044 14. References 2046 14.1. Normative References 2048 [I-D.ietf-dime-qos-attributes] 2049 Korhonen, J., Tschofenig, H., Arumaithurai, M., Jones, M., 2050 and A. Lior, "Quality of Service Attributes for Diameter", 2051 draft-ietf-dime-qos-attributes-08 (work in progress), 2052 October 2008. 2054 [I-D.ietf-dime-qos-parameters] 2055 Korhonen, J. and H. Tschofenig, "Quality of Service 2056 Parameters for Usage with the AAA Framework", 2057 draft-ietf-dime-qos-parameters-07 (work in progress), 2058 November 2008. 2060 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 2061 Requirement Levels", BCP 14, RFC 2119, March 1997. 2063 [RFC3588] Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. 2064 Arkko, "Diameter Base Protocol", RFC 3588, September 2003. 2066 [RFC4005] Calhoun, P., Zorn, G., Spence, D., and D. Mitton, 2067 "Diameter Network Access Server Application", RFC 4005, 2068 August 2005. 2070 [RFC4234] Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax 2071 Specifications: ABNF", RFC 4234, October 2005. 2073 14.2. Informative References 2075 [I-D.ietf-nsis-ntlp] 2076 Schulzrinne, H. and R. Hancock, "GIST: General Internet 2077 Signalling Transport", draft-ietf-nsis-ntlp-17 (work in 2078 progress), October 2008. 2080 [I-D.ietf-nsis-qos-nslp] 2081 Manner, J., Karagiannis, G., and A. McDonald, "NSLP for 2082 Quality-of-Service Signaling", draft-ietf-nsis-qos-nslp-16 2083 (work in progress), February 2008. 2085 [RFC2205] Braden, B., Zhang, L., Berson, S., Herzog, S., and S. 2086 Jamin, "Resource ReSerVation Protocol (RSVP) -- Version 1 2087 Functional Specification", RFC 2205, September 1997. 2089 [RFC2211] Wroclawski, J., "Specification of the Controlled-Load 2090 Network Element Service", RFC 2211, September 1997. 2092 [RFC2212] Shenker, S., Partridge, C., and R. Guerin, "Specification 2093 of Guaranteed Quality of Service", RFC 2212, 2094 September 1997. 2096 [RFC2474] Nichols, K., Blake, S., Baker, F., and D. Black, 2097 "Definition of the Differentiated Services Field (DS 2098 Field) in the IPv4 and IPv6 Headers", RFC 2474, 2099 December 1998. 2101 [RFC2753] Yavatkar, R., Pendarakis, D., and R. Guerin, "A Framework 2102 for Policy-based Admission Control", RFC 2753, 2103 January 2000. 2105 [RFC2865] Rigney, C., Willens, S., Rubens, A., and W. Simpson, 2106 "Remote Authentication Dial In User Service (RADIUS)", 2107 RFC 2865, June 2000. 2109 [RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, 2110 A., Peterson, J., Sparks, R., Handley, M., and E. 2111 Schooler, "SIP: Session Initiation Protocol", RFC 3261, 2112 June 2002. 2114 [RFC3313] Marshall, W., "Private Session Initiation Protocol (SIP) 2115 Extensions for Media Authorization", RFC 3313, 2116 January 2003. 2118 [RFC3520] Hamer, L-N., Gage, B., Kosinski, B., and H. Shieh, 2119 "Session Authorization Policy Element", RFC 3520, 2120 April 2003. 2122 [RFC3521] Hamer, L-N., Gage, B., and H. Shieh, "Framework for 2123 Session Set-up with Media Authorization", RFC 3521, 2124 April 2003. 2126 [RFC4282] Aboba, B., Beadles, M., Arkko, J., and P. Eronen, "The 2127 Network Access Identifier", RFC 4282, December 2005. 2129 [RFC4346] Dierks, T. and E. Rescorla, "The Transport Layer Security 2130 (TLS) Protocol Version 1.1", RFC 4346, April 2006. 2132 [RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session 2133 Description Protocol", RFC 4566, July 2006. 2135 Authors' Addresses 2137 Dong Sun (editor) 2138 Alcatel-Lucent 2139 600 Mountain Ave 2140 Murray Hill, NJ 07974 2141 USA 2143 Phone: +1 908 582 2617 2144 Email: dongsun@alcatel-lucent.com 2146 Peter J. McCann 2147 Motorola Labs 2148 1301 E. Algonquin Rd 2149 Schaumburg, IL 60196 2150 USA 2152 Phone: +1 847 576 3440 2153 Email: pete.mccann@motorola.com 2155 Hannes Tschofenig 2156 Nokia Siemens Networks 2157 Linnoitustie 6 2158 Espoo 02600 2159 Finland 2161 Phone: +358 (50) 4871445 2162 Email: Hannes.Tschofenig@gmx.net 2163 URI: http://www.tschofenig.priv.at 2165 Tina Tsou 2166 Huawei 2167 Shenzhen, 2168 P.R.C 2170 Email: tena@huawei.com 2171 Avri Doria 2172 Lulea University of Technology 2173 Arbetsvetenskap 2174 Lulea, SE-97187 2175 Sweden 2177 Email: avri@ltu.se 2179 Glen Zorn (editor) 2180 Aruba Networks 2181 1322 Crossman Avenue 2182 Sunnyvale, CA 94089-1113 2183 USA 2185 Email: gwz@arubanetworks.com