idnits 2.17.1 draft-ietf-dime-capablities-update-04.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. 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 date (May 24, 2010) is 5085 days in the past. Is this intentional? -- Found something which looks like a code comment -- if you have code sections in the document, please surround them with '' and '' lines. Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) ** Obsolete normative reference: RFC 3588 (Obsoleted by RFC 6733) -- Obsolete informational reference (is this intentional?): RFC 4960 (Obsoleted by RFC 9260) Summary: 1 error (**), 0 flaws (~~), 1 warning (==), 3 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group K. Jiao 3 Internet-Draft Huawei 4 Intended status: Standards Track G. Zorn 5 Expires: November 25, 2010 Network Zen 6 May 24, 2010 8 The Diameter Capabilities Update Application 9 draft-ietf-dime-capablities-update-04 11 Abstract 13 This document defines a new Diameter application and associated 14 command codes. The Capabilities Update application is intended to 15 allow the dynamic update of certain Diameter peer capabilities while 16 the peer-to-peer connection is in the open state. 18 Status of this Memo 20 This Internet-Draft is submitted in full conformance with the 21 provisions of BCP 78 and BCP 79. 23 Internet-Drafts are working documents of the Internet Engineering 24 Task Force (IETF). Note that other groups may also distribute 25 working documents as Internet-Drafts. The list of current Internet- 26 Drafts is at http://datatracker.ietf.org/drafts/current/. 28 Internet-Drafts are draft documents valid for a maximum of six months 29 and may be updated, replaced, or obsoleted by other documents at any 30 time. It is inappropriate to use Internet-Drafts as reference 31 material or to cite them other than as "work in progress." 33 This Internet-Draft will expire on November 25, 2010. 35 Copyright Notice 37 Copyright (c) 2010 IETF Trust and the persons identified as the 38 document authors. All rights reserved. 40 This document is subject to BCP 78 and the IETF Trust's Legal 41 Provisions Relating to IETF Documents 42 (http://trustee.ietf.org/license-info) in effect on the date of 43 publication of this document. Please review these documents 44 carefully, as they describe your rights and restrictions with respect 45 to this document. Code Components extracted from this document must 46 include Simplified BSD License text as described in Section 4.e of 47 the Trust Legal Provisions and are provided without warranty as 48 described in the Simplified BSD License. 50 Table of Contents 52 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 53 2. Specification of Requirements . . . . . . . . . . . . . . . . . 3 54 3. Diameter Protocol Considerations . . . . . . . . . . . . . . . 3 55 4. Capabilities Update . . . . . . . . . . . . . . . . . . . . . . 3 56 4.1. Command-Code Values . . . . . . . . . . . . . . . . . . . . 4 57 4.1.1. Capabilities-Update-Request . . . . . . . . . . . . . . 5 58 4.1.2. Capabilities-Update-Answer . . . . . . . . . . . . . . 5 59 5. Security Considerations . . . . . . . . . . . . . . . . . . . . 6 60 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 6 61 6.1. Application Identifier . . . . . . . . . . . . . . . . . . 6 62 6.2. Command Codes . . . . . . . . . . . . . . . . . . . . . . . 6 63 7. Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 6 64 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 6 65 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 6 66 9.1. Normative References . . . . . . . . . . . . . . . . . . . 6 67 9.2. Informative References . . . . . . . . . . . . . . . . . . 7 68 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 7 70 1. Introduction 72 Capabilities exchange is an important component of the Diameter Base 73 Protocol [RFC3588], allowing peers to exchange identities and 74 Diameter capabilities (protocol version number, supported Diameter 75 applications, security mechanisms, etc.). As defined in RFC 3588, 76 however, the capabilities exchange process takes place only once, at 77 the inception of a transport connection between a given pair of 78 peers. Therefore, if a peer's capabilities change (due to software 79 update, for example), the existing connection(s) must be torn down 80 (along with all of the associated user sessions) and restarted before 81 the modified capabilities can be advertised. 83 This document defines a new Diameter application intended to allow 84 the dynamic update of a subset of Diameter peer capabilities over an 85 existing connection. Because the Capabilities Update application 86 specified herein operates over an existing transport connection, 87 modification of certain capabilities is prohibited. Specifically, 88 modifying the security mechanism in use is not allowed; if the 89 security method used between a pair of peers is changed the affected 90 connection MUST be restarted. 92 Discussion of this draft may be directed to the dime Working Group of 93 the IETF (dime@ietf.org). 95 2. Specification of Requirements 97 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 98 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 99 document are to be interpreted as described in RFC 2119 [RFC2119]. 101 3. Diameter Protocol Considerations 103 This section details the relationship of the Diameter Capabilities 104 Update application to the Diameter Base Protocol. 106 This document specifies Diameter Application-ID . Diameter 107 nodes conforming to this specification MUST advertise support by 108 including the value in the Auth-Application-Id of the 109 Capabilities-Exchange-Req and Capabilities-Exchange-Answer commands 110 [RFC3588]. 112 4. Capabilities Update 114 When the capabilities of a Diameter node conforming to this 115 specification change, it SHOULD notify all of the nodes with which it 116 has an open transport connection and have also advertised support for 117 the Capabilities Update application using the Capabilities-Update- 118 Request message (Section 4.1.1). This message allows the update of a 119 peer's capabilities (supported Diameter applications, etc.). 121 A Diameter node only issues a given command to those peers that have 122 advertised support for the Diameter application that defines the 123 command. A Diameter node MUST cache the supported applications in 124 order to ensure that unrecognized commands and/or AVPs are not 125 unnecessarily sent to a peer. 127 The receiver of the CUR MUST determine common applications by 128 computing the intersection of its own set of supported Application Id 129 against all of the application identifier AVPs (Auth-Application-Id, 130 Acct-Application-Id and Vendor-Specific- Application-Id) present in 131 the CUR. The value of the Vendor-Id AVP in the Vendor-Specific- 132 Application-Id MUST NOT be used during computation. 134 If the receiver of a Capabilities-Update-Req (CUR) message does not 135 have any applications in common with the sender then it MUST return a 136 Capabilities-Update-Answer (CUA) (Section 4.1.2) with the Result-Code 137 AVP set to DIAMETER_NO_COMMON_APPLICATION, and SHOULD disconnect the 138 transport layer connection; however, if active sessions are using the 139 connection, peers MAY delay disconnection until the sessions can be 140 redirected or gracefully terminated. Note that receiving a CUA from 141 a peer advertising itself as a Relay (see [RFC3588], Section 2.4) 142 MUST be interpreted as having common applications with the peer. 144 The CUR and CUA messages MUST NOT be proxied, redirected or relayed. 146 Even though the CUR/CUA messages cannot be proxied, it is still 147 possible for an upstream agent to receive a message for which there 148 are no peers available to handle the application that corresponds to 149 the Command-Code. This could happen if, for example, the peers are 150 too busy or down. In such instances, the 'E' bit MUST be set in the 151 answer message with the Result-Code AVP set to 152 DIAMETER_UNABLE_TO_DELIVER to inform the downstream peer to take 153 action (e.g., re-routing requests to an alternate peer). 155 4.1. Command-Code Values 157 This section defines Command-Code [RFC3588] values that MUST be 158 supported by all Diameter implementations conforming to this 159 specification. The following Command Codes are defined in this 160 document: Capabilities-Update-Request (CUR, Section 4.1.1) and 161 Capabilities-Update-Answer (CUA, Section 4.1.2). 163 4.1.1. Capabilities-Update-Request 165 The Capabilities-Update-Request (CUR), indicated by the Command-Code 166 set to and the Command Flags' 'R' bit set, is sent to update 167 local capabilities. Upon detection of a transport failure, this 168 message MUST NOT be sent to an alternate peer. 170 When Diameter is run over SCTP [RFC4960], which allows connections to 171 span multiple interfaces and multiple IP addresses, the Capabilities- 172 Update-Request message MUST contain one Host-IP-Address AVP for each 173 potential IP address that may be locally used when transmitting 174 Diameter messages. 176 Message Format 178 ::= < Diameter Header: TBD2, REQ > 179 { Origin-Host } 180 { Origin-Realm } 181 1* { Host-IP-Address } 182 { Vendor-Id } 183 { Product-Name } 184 [ Origin-State-Id ] 185 * [ Supported-Vendor-Id ] 186 * [ Auth-Application-Id ] 187 * [ Acct-Application-Id ] 188 * [ Vendor-Specific-Application-Id ] 189 [ Firmware-Revision ] 190 * [ AVP ] 192 4.1.2. Capabilities-Update-Answer 194 The Capabilities-Update-Answer indicated by the Command-Code set to 195 and the Command Flags' 'R' bit set, is sent in response to a 196 CUR message. 198 Message Format 200 ::= < Diameter Header: TBD3 > 201 { Origin-Host } 202 { Origin-Realm } 203 { Result-Code } 204 [ Error-Message ] 205 * [ AVP ] 207 5. Security Considerations 209 The security considerations applicable to the Diameter Base Protocol 210 [RFC3588] are also applicable to this document. 212 6. IANA Considerations 214 This section explains the criteria to be used by the IANA for 215 assignment of numbers within namespaces used within this document. 217 6.1. Application Identifier 219 This specification assigns the value from the Application 220 Identifiers namespace defined in RFC 3588. See Section 3 for the 221 assignment of the namespace in this specification. 223 6.2. Command Codes 225 This specification assigns the values and from the 226 Command Codes namespace defined in RFC 3588. See Section 4.1 for the 227 assignment of the namespace in this specification. 229 7. Contributors 231 This document is based upon work done by Tina Tsou. 233 8. Acknowledgements 235 Thanks to Sebastien Decugis, Niklas Neumann, Subash Comerica and Ravi 236 for helpful discussion. 238 9. References 240 9.1. Normative References 242 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 243 Requirement Levels", BCP 14, RFC 2119, March 1997. 245 [RFC3588] Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. 246 Arkko, "Diameter Base Protocol", RFC 3588, September 2003. 248 9.2. Informative References 250 [RFC4960] Stewart, R., "Stream Control Transmission Protocol", 251 RFC 4960, September 2007. 253 Authors' Addresses 255 Jiao Kang 256 Huawei Technologies 257 Section B1, Huawei Industrial Base 258 Bantian, Longgang District 259 Shenzhen 518129 260 P.R. China 262 Phone: +86 755 2878-6690 263 Email: kangjiao@huawei.com 265 Glen Zorn 266 Network Zen 267 1463 East Republican Street 268 #358 269 Seattle, WA 98112 270 USA 272 Email: gwz@net-zen.net