idnits 2.17.1 draft-ietf-6man-multicast-addr-arch-update-08.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 (Using the creation date from RFC3306, updated by this document, for RFC5378 checks: 2000-09-27) -- The document seems to contain a disclaimer for pre-RFC5378 work, and may have content which was first submitted before 10 November 2008. The disclaimer is necessary when there are original authors that you have been unable to contact, or if some do not wish to grant the BCP78 rights to the IETF Trust. If you are able to get all authors (current and original) to grant those rights, you can and should remove the disclaimer; otherwise, the disclaimer is needed and you can ignore this comment. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (August 11, 2014) is 3544 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: 'ADDRARCH' is mentioned on line 187, but not defined == Outdated reference: A later version (-06) exists of draft-ietf-mboned-64-multicast-address-format-05 Summary: 0 errors (**), 0 flaws (~~), 3 warnings (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 6man Working Group M. Boucadair 3 Internet-Draft France Telecom 4 Updates: 3306,3956,4291 (if approved) S. Venaas 5 Intended status: Standards Track Cisco 6 Expires: February 12, 2015 August 11, 2014 8 Updates to the IPv6 Multicast Addressing Architecture 9 draft-ietf-6man-multicast-addr-arch-update-08 11 Abstract 13 This document updates the IPv6 multicast addressing architecture by 14 re-defining the reserved bits as generic flag bits. The document 15 provides also some clarifications related to the use of these flag 16 bits. 18 This document updates RFC 3956, RFC 3306 and RFC 4291. 20 Requirements Language 22 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 23 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 24 document are to be interpreted as described in RFC 2119 [RFC2119]. 26 Status of This Memo 28 This Internet-Draft is submitted in full conformance with the 29 provisions of BCP 78 and BCP 79. 31 Internet-Drafts are working documents of the Internet Engineering 32 Task Force (IETF). Note that other groups may also distribute 33 working documents as Internet-Drafts. The list of current Internet- 34 Drafts is at http://datatracker.ietf.org/drafts/current/. 36 Internet-Drafts are draft documents valid for a maximum of six months 37 and may be updated, replaced, or obsoleted by other documents at any 38 time. It is inappropriate to use Internet-Drafts as reference 39 material or to cite them other than as "work in progress." 41 This Internet-Draft will expire on February 12, 2015. 43 Copyright Notice 45 Copyright (c) 2014 IETF Trust and the persons identified as the 46 document authors. All rights reserved. 48 This document is subject to BCP 78 and the IETF Trust's Legal 49 Provisions Relating to IETF Documents 50 (http://trustee.ietf.org/license-info) in effect on the date of 51 publication of this document. Please review these documents 52 carefully, as they describe your rights and restrictions with respect 53 to this document. Code Components extracted from this document must 54 include Simplified BSD License text as described in Section 4.e of 55 the Trust Legal Provisions and are provided without warranty as 56 described in the Simplified BSD License. 58 This document may contain material from IETF Documents or IETF 59 Contributions published or made publicly available before November 60 10, 2008. The person(s) controlling the copyright in some of this 61 material may not have granted the IETF Trust the right to allow 62 modifications of such material outside the IETF Standards Process. 63 Without obtaining an adequate license from the person(s) controlling 64 the copyright in such materials, this document may not be modified 65 outside the IETF Standards Process, and derivative works of it may 66 not be created outside the IETF Standards Process, except to format 67 it for publication as an RFC or to translate it into languages other 68 than English. 70 Table of Contents 72 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 73 2. Addressing Architecture Update . . . . . . . . . . . . . . . 3 74 3. Flag Bits: New Processing Rules . . . . . . . . . . . . . . . 3 75 4. RFC Updates . . . . . . . . . . . . . . . . . . . . . . . . . 4 76 4.1. RFC 3306 . . . . . . . . . . . . . . . . . . . . . . . . 4 77 4.1.1. Update #1 . . . . . . . . . . . . . . . . . . . . . . 4 78 4.1.2. Update #2 . . . . . . . . . . . . . . . . . . . . . . 5 79 4.2. RFC 3956 . . . . . . . . . . . . . . . . . . . . . . . . 6 80 4.2.1. Update #1 . . . . . . . . . . . . . . . . . . . . . . 6 81 4.2.2. Update #2 . . . . . . . . . . . . . . . . . . . . . . 7 82 4.2.3. Update #3 . . . . . . . . . . . . . . . . . . . . . . 8 83 4.2.4. Update #4 . . . . . . . . . . . . . . . . . . . . . . 8 84 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 85 6. Security Considerations . . . . . . . . . . . . . . . . . . . 9 86 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 9 87 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 9 88 8.1. Normative References . . . . . . . . . . . . . . . . . . 9 89 8.2. Informative References . . . . . . . . . . . . . . . . . 9 90 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10 92 1. Introduction 94 This document updates the IPv6 addressing architecture [RFC4291] by 95 re-defining reserved bits as generic flag bits (Section 2). The 96 document provides also some clarifications related to the use of 97 these flag bits (Section 3). 99 This document updates [RFC3956], [RFC3306], and [RFC4291]. These 100 updates are logical consequences of the new processing rules in 101 Section 3. 103 Textual representation of IPv6 addresses included in the RFC updates 104 follows the recommendation in [RFC5952]. 106 2. Addressing Architecture Update 108 Bits 17-20 of a multicast address, where bit 1 is the most 109 significant bit, are defined in [RFC3956] and [RFC3306] as reserved 110 bits. This document defines these bits as generic flag bits so that 111 they apply to any multicast address. These bits are referred to as 112 ff2 (flag field 2) while the flgs bits in [RFC4291][RFC3956] are 113 renamed to ff1 (flag field 1). 115 Within this document, flag bits denote both ff1 and ff2. 117 Defining the bits 17-20 as flags for all IPv6 multicast addresses 118 allows addresses to be treated in a more uniform and generic way, and 119 allows for these bits to be defined in the future for different 120 purposes, irrespective of the specific type of multicast address. 121 For the record, this design choice was initially triggered by the 122 specification in [I-D.ietf-mboned-64-multicast-address-format] which 123 proposed for associating a meaning with one of the reserved bits. 124 Moreover, [I-D.ietf-mboned-64-multicast-address-format] considered 125 also the use of the last remaining flag in ff1 but that approach was 126 abandoned because it is not clear at this stage whether there is 127 other usage scenarios of the flag. 129 Section 4 specifies the updated structure of the addressing 130 architecture. 132 Further specification documents may define a meaning for these flag 133 bits. 135 3. Flag Bits: New Processing Rules 137 Some implementations and specification documents do not treat the 138 flag bits as separate bits but tend to use their combined value as a 139 4-bit integer. This practice is a hurdle for assigning a meaning to 140 the remaining flag bits. Below are listed some examples for 141 illustration purposes: 143 o the reading of [RFC3306] may lead to conclude that ff3x::/32 is 144 the only allowed Source Specific Multicast (SSM) IPv6 prefix 145 block. 147 o [RFC3956] states only ff70::/12 applies to Embedded-RP. 148 Particularly, implementations should not treat the fff0::/12 range 149 as Embedded-RP. 151 To avoid such confusion and to unambiguously associate a meaning with 152 the remaining flags, the following requirement is made: 154 Implementations MUST treat flag bits as separate bits. 156 4. RFC Updates 158 4.1. RFC 3306 160 4.1.1. Update #1 162 This document changes Section 4 of [RFC3306] as follows: 164 OLD: 166 | 8 | 4 | 4 | 8 | 8 | 64 | 32 | 167 +--------+----+----+--------+--------+----------------+----------+ 168 |11111111|flgs|scop|reserved| plen | network prefix | group ID | 169 +--------+----+----+--------+--------+----------------+----------+ 171 +-+-+-+-+ 172 flgs is a set of 4 flags: |0|0|P|T| 173 +-+-+-+-+ 175 o P = 0 indicates a multicast address that is not assigned 176 based on the network prefix. This indicates a multicast 177 address as defined in [ADDRARCH]. 179 o P = 1 indicates a multicast address that is assigned based 180 on the network prefix. 182 o If P = 1, T MUST be set to 1, otherwise the setting of the T 183 bit is defined in Section 2.7 of [ADDRARCH]. 185 The reserved field MUST be zero. 187 Note: [ADDRARCH] is a reference listed in [RFC3306]. [ADDRARCH] 188 has been since obsoleted by [RFC4291]. 190 NEW: 192 | 8 | 4 | 4 | 4 | 4 | 8 | 64 | 32 | 193 +--------+----+----+----+----+--------+----------------+----------+ 194 |11111111|ff1 |scop|ff2 |rsvd| plen | network prefix | group ID | 195 +--------+----+----+----+----+--------+----------------+----------+ 197 +-+-+-+-+ 198 ff1 (flag field 1) is a set of 4 flags: |X|Y|P|T| 199 +-+-+-+-+ 201 X and Y may each be set to 0 or 1. Note, X is for future assignment 202 while a meaning is associated with Y in RFC3956. 204 o P = 0 indicates a multicast address that is not assigned 205 based on the network prefix. This indicates a multicast 206 address as defined in [RFC4291]. 208 o P = 1 indicates a multicast address that is assigned based 209 on the network prefix. 211 o If P = 1, T MUST be set to 1, otherwise the setting of the T 212 bit is defined in Section 2.7 of [RFC4291]. 214 +-+-+-+-+ 215 ff2 (flag field 2) is a set of 4 flags: |r|r|r|r| 216 +-+-+-+-+ 218 where "rrrr" are for future assignment as additional flag bits. 219 r bits MUST each be sent as zero and MUST be ignored on receipt. 221 Flag bits denote both ff1 and ff2. 223 4.1.2. Update #2 225 This document changes Section 6 of [RFC3306] as follows: 227 OLD: 229 These settings create an SSM range of FF3x::/32 (where 'x' is any 230 valid scope value). The source address field in the IPv6 header 231 identifies the owner of the multicast address. 233 NEW: 235 If the flag bits in ff1 are set to 0011, these settings create an 236 SSM range of ff3x::/32 (where 'x' is any valid scope value). The 237 source address field in the IPv6 header identifies the owner of 238 the multicast address. ff3x::/32 is not the only allowed SSM 239 prefix range. For example if the most significant flag bit in ff1 240 is set, then we would get the SSM range ffbx::/32. 242 4.2. RFC 3956 244 4.2.1. Update #1 246 This document changes Section 2 of [RFC3956] as follows: 248 OLD: 250 As described in [RFC3306], the multicast address format is as 251 follows: 253 | 8 | 4 | 4 | 8 | 8 | 64 | 32 | 254 +--------+----+----+--------+----+----------------+----------+ 255 |11111111|flgs|scop|reserved|plen| network prefix | group ID | 256 +--------+----+----+--------+----+----------------+----------+ 258 Where flgs are "0011". (The first two bits are as yet undefined, 259 sent as zero and ignored on receipt.) 261 NEW: 263 The multicast address format is as follows: 265 | 8 | 4 | 4 | 4 | 4 | 8 | 64 | 32 | 266 +--------+----+----+----+----+----+----------------+----------+ 267 |11111111|ff1 |scop|ff2 |rsvd|plen| network prefix | group ID | 268 +--------+----+----+----+----+----+----------------+----------+ 270 +-+-+-+-+ 271 ff1 (flag field 1) is a set of four flags: |X|R|P|T| 272 +-+-+-+-+ 273 where X is for future assignment as additional flag bit. X may be 274 set to 0 or 1. 276 +-+-+-+-+ 277 ff2 (flag field 2) is a set of 4 flags: |r|r|r|r| 278 +-+-+-+-+ 279 where "rrrr" are for future assignment as additional flag bits. 280 r bits MUST each be sent as zero and MUST be ignored on receipt. 282 Flag bits denote both ff1 and ff2. 284 4.2.2. Update #2 286 This document changes Section 3 of [RFC3956] as follows: 288 OLD: 290 | 8 | 4 | 4 | 4 | 4 | 8 | 64 | 32 | 291 +--------+----+----+----+----+----+----------------+----------+ 292 |11111111|flgs|scop|rsvd|RIID|plen| network prefix | group ID | 293 +--------+----+----+----+----+----+----------------+----------+ 294 +-+-+-+-+ 295 flgs is a set of four flags: |0|R|P|T| 296 +-+-+-+-+ 298 When the highest-order bit is 0, R = 1 indicates a multicast address 299 that embeds the address on the RP. Then P MUST be set to 1, and 300 consequently T MUST be set to 1, as specified in [RFC3306]. In 301 effect, this implies the prefix FF70::/12. In this case, the last 4 302 bits of the previously reserved field are interpreted as embedding 303 the RP interface ID, as specified in this memo. 305 The behavior is unspecified if P or T is not set to 1, as then the 306 prefix would not be FF70::/12. Likewise, the encoding and the 307 protocol mode used when the two high-order bits in "flgs" are set to 308 11 ("FFF0::/12") is intentionally unspecified until such time that 309 the highest-order bit is defined. Without further IETF 310 specification, implementations SHOULD NOT treat the FFF0::/12 range 311 as Embedded-RP. 313 NEW: 315 | 8 | 4 | 4 | 4 | 4 | 8 | 64 | 32 | 316 +--------+----+----+----+----+----+----------------+----------+ 317 |11111111|ff1 |scop|ff2 |RIID|plen| network prefix | group ID | 318 +--------+----+----+----+----+----+----------------+----------+ 319 +-+-+-+-+ 320 ff1 is a set of four flags: |X|R|P|T| 321 +-+-+-+-+ 322 where X is for future assignment as additional flag bit. X may be 323 set to 0 or 1. 325 R = 1 indicates a multicast address that embeds the address of the 326 RP. Then P MUST be set to 1, and consequently T MUST be set to 1, 327 according to [RFC3306], as this is a special case of unicast-prefix 328 based addresses. This implies that, for instance, prefixes ff70::/12 329 and fff0::/12 are embedded RP prefixes. When the R-bit is set, the 330 last 4 bits of the field that were reserved in [RFC3306] are 331 interpreted as embedding the RP interface ID, as specified in this 332 memo. 334 4.2.3. Update #3 336 This document changes Section 4 of [RFC3956] as follows: 338 OLD: 340 It MUST be a multicast address with "flgs" set to 0111, that is, 341 to be of the prefix FF70::/12, 343 NEW: 345 It MUST be a multicast address with R-bit set to 1. 347 It MUST have P-bit and T-bit both set to 1 when using the 348 embedding in this document as it is a prefix-based address. 350 4.2.4. Update #4 352 This document changes Section 7.1 of [RFC3956] as follows: 354 OLD: 356 To avoid loops and inconsistencies, for addresses in the range 357 FF70::/12, the Embedded-RP mapping MUST be considered the longest 358 possible match and higher priority than any other mechanism. 360 NEW: 362 To avoid loops and inconsistencies, for addresses with R-bit set 363 to 1, the Embedded-RP mapping MUST be considered the longest 364 possible match and higher priority than any other mechanism. 366 5. IANA Considerations 368 This document does not require any action from IANA. 370 6. Security Considerations 372 The same security considerations as those discussed in [RFC3956], 373 [RFC3306] and [RFC4291] are to be taken into account. 375 7. Acknowledgements 377 Special thanks to Brian Haberman for the discussions prior to the 378 publication of this document. 380 Many thanks to Jouni Korhonen, Tatuya Jinmei, Charlie Kaufman, and 381 Ben Campbell for their review. 383 8. References 385 8.1. Normative References 387 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 388 Requirement Levels", BCP 14, RFC 2119, March 1997. 390 [RFC3306] Haberman, B. and D. Thaler, "Unicast-Prefix-based IPv6 391 Multicast Addresses", RFC 3306, August 2002. 393 [RFC3956] Savola, P. and B. Haberman, "Embedding the Rendezvous 394 Point (RP) Address in an IPv6 Multicast Address", RFC 395 3956, November 2004. 397 [RFC4291] Hinden, R. and S. Deering, "IP Version 6 Addressing 398 Architecture", RFC 4291, February 2006. 400 [RFC5952] Kawamura, S. and M. Kawashima, "A Recommendation for IPv6 401 Address Text Representation", RFC 5952, August 2010. 403 8.2. Informative References 405 [I-D.ietf-mboned-64-multicast-address-format] 406 Boucadair, M., Qin, J., Lee, Y., Venaas, S., Li, X., and 407 M. Xu, "IPv6 Multicast Address With Embedded IPv4 408 Multicast Address", draft-ietf-mboned-64-multicast- 409 address-format-05 (work in progress), April 2013. 411 Authors' Addresses 413 Mohamed Boucadair 414 France Telecom 415 Rennes 35000 416 France 418 Email: mohamed.boucadair@orange.com 420 Stig Venaas 421 Cisco 422 USA 424 Email: stig@cisco.com