| < draft-ietf-6man-multicast-addr-arch-update-04.txt | draft-ietf-6man-multicast-addr-arch-update-05.txt > | |||
|---|---|---|---|---|
| 6man Working Group M. Boucadair | 6man Working Group M. Boucadair | |||
| Internet-Draft France Telecom | Internet-Draft France Telecom | |||
| Updates: 3306,3956,4291 (if approved) S. Venaas | Updates: 3306,3956,4291 (if approved) S. Venaas | |||
| Intended status: Standards Track Cisco | Intended status: Standards Track Cisco | |||
| Expires: September 13, 2014 March 12, 2014 | Expires: December 20, 2014 June 18, 2014 | |||
| Updates to the IPv6 Multicast Addressing Architecture | Updates to the IPv6 Multicast Addressing Architecture | |||
| draft-ietf-6man-multicast-addr-arch-update-04 | draft-ietf-6man-multicast-addr-arch-update-05 | |||
| Abstract | Abstract | |||
| This document updates the IPv6 multicast addressing architecture by | This document updates the IPv6 multicast addressing architecture by | |||
| defining the 17-20 reserved bits as generic flag bits. The document | re-defining the reserved bits as generic flag bits. The document | |||
| provides also some clarifications related to the use of these flag | provides also some clarifications related to the use of these flag | |||
| bits. | bits. | |||
| This document updates RFC 3956, RFC 3306 and RFC 4291. | This document updates RFC 3956, RFC 3306 and RFC 4291. | |||
| Requirements Language | Requirements Language | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | |||
| document are to be interpreted as described in RFC 2119 [RFC2119]. | document are to be interpreted as described in RFC 2119 [RFC2119]. | |||
| skipping to change at page 1, line 42 ¶ | skipping to change at page 1, line 42 ¶ | |||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
| working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
| Drafts is at http://datatracker.ietf.org/drafts/current/. | Drafts is at http://datatracker.ietf.org/drafts/current/. | |||
| Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
| and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
| time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
| material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
| This Internet-Draft will expire on September 13, 2014. | This Internet-Draft will expire on December 20, 2014. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2014 IETF Trust and the persons identified as the | Copyright (c) 2014 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
| (http://trustee.ietf.org/license-info) in effect on the date of | (http://trustee.ietf.org/license-info) in effect on the date of | |||
| publication of this document. Please review these documents | publication of this document. Please review these documents | |||
| skipping to change at page 2, line 20 ¶ | skipping to change at page 2, line 20 ¶ | |||
| to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
| include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
| the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
| described in the Simplified BSD License. | described in the Simplified BSD License. | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
| 2. Addressing Architecture Update . . . . . . . . . . . . . . . 2 | 2. Addressing Architecture Update . . . . . . . . . . . . . . . 2 | |||
| 3. Flag Bits: A Recommendation . . . . . . . . . . . . . . . . . 3 | 3. Flag Bits: A Recommendation . . . . . . . . . . . . . . . . . 3 | |||
| 4. RFC Updates . . . . . . . . . . . . . . . . . . . . . . . . . 4 | 4. RFC Updates . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 4.1. RFC 3306 . . . . . . . . . . . . . . . . . . . . . . . . 4 | 4.1. RFC 3306 . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 4.2. RFC 3956 . . . . . . . . . . . . . . . . . . . . . . . . 6 | 4.2. RFC 3956 . . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
| 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 | 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 | |||
| 6. Security Considerations . . . . . . . . . . . . . . . . . . . 8 | 6. Security Considerations . . . . . . . . . . . . . . . . . . . 8 | |||
| 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 8 | 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 8 | |||
| 8. Normative References . . . . . . . . . . . . . . . . . . . . 8 | 8. Normative References . . . . . . . . . . . . . . . . . . . . 8 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9 | |||
| 1. Introduction | 1. Introduction | |||
| This document updates the IPv6 multicast addressing architecture | This document updates the IPv6 addressing architecture [RFC4291] by | |||
| [RFC4291] by defining the 17-20 reserved bits as generic flag bits | re-defining reserved bits as generic flag bits (Section 2). The | |||
| (Section 2). The document provides also some clarifications related | document provides also some clarifications related to the use of | |||
| to the use of these flag bits (Section 3). | these flag bits (Section 3). | |||
| This document updates [RFC3956], [RFC3306], and [RFC4291]. These | This document updates [RFC3956], [RFC3306], and [RFC4291]. These | |||
| updates are logical consequences of the recommendation on the flag | updates are logical consequences of the recommendation on the flag | |||
| bits (Section 3). | bits (Section 3). | |||
| Textual representation of IPv6 addresses included in the RFC updates | Textual representation of IPv6 addresses included in the RFC updates | |||
| follows the recommendation in [RFC5952]. | follows the recommendation in [RFC5952]. | |||
| 2. Addressing Architecture Update | 2. Addressing Architecture Update | |||
| Bits 17-20 of a multicast address are defined in [RFC3956] and | Bits 17-20 of a multicast address, where bit 1 is the most | |||
| [RFC3306] as reserved bits. This document defines these bits as | significant bit, are defined in [RFC3956] and [RFC3306] as reserved | |||
| generic flag bits so that they apply to any multicast address. | bits. This document defines these bits as generic flag bits so that | |||
| Figure 1 and Figure 2 show the updated structure of the addressing | they apply to any multicast address. These bits are referred to as | |||
| architecture. The first diagram shows the update of the base IPv6 | ff2 (flag field 2) while the flgs bits in [RFC4291][RFC3956] are | |||
| addressing architecture, and the second shows the update of so-called | renamed to ff1 (flag field 1). | |||
| Embedded-RP. | ||||
| OLD: | ||||
| | 8 | 4 | 4 | 112 bits | | ||||
| +--------+----+----+----------------------------------------------+ | ||||
| |11111111|flgs|scop| group ID | | ||||
| +--------+----+----+----------------------------------------------+ | ||||
| NEW: | ||||
| | 8 | 4 | 4 | 4 | 108 bits | | ||||
| +--------+----+----+----------------------------------------------+ | ||||
| |11111111|ff1 |scop|ff2 | group ID | | ||||
| +--------+----+----+----+-----------------------------------------+ | ||||
| * ff1 refers to "flag field 1" | ||||
| * ff2 refers to "flag field 2" | ||||
| * flag bits denote both ff1 and ff2. | ||||
| Figure 1: Updated IPv6 Multicast Addressing Architecture | ||||
| OLD (RFC 3956): | Within this document, flag bits denote both ff1 and ff2. | |||
| | 8 | 4 | 4 | 4 | 4 | 8 | 64 | 32 | | ||||
| +--------+----+----+----+----+--------+----------------+----------+ | ||||
| |11111111|flgs|scop|rsvd|RIID| plen | network prefix | group ID | | ||||
| +--------+----+----+----+----+--------+----------------+----------+ | ||||
| NEW: | Defining the bits 17-20 as flags for all IPv6 multicast addresses | |||
| | 8 | 4 | 4 | 4 | 4 | 8 | 64 | 32 | | allows addresses to be treated in a more uniform and generic way, and | |||
| +--------+----+----+----+----+--------+----------------+----------+ | allows for these bits to be defined in the future for different | |||
| |11111111|ff1 |scop|ff2 |RIID| plen | network prefix | group ID | | purposes, irrespective of the specific type of multicast address. | |||
| +--------+----+----+----+----+--------+----------------+----------+ | ||||
| Figure 2: Embedded-RP with Updated IPv6 Multicast Address Arch. | Section 4 specifies the updated structure of the addressing | |||
| architecture. | ||||
| Further specification documents may define a meaning for these flag | Further specification documents may define a meaning for these flag | |||
| bits. Defining the bits 17-20 as flags for all IPv6 multicast | bits. | |||
| addresses allows addresses to be treated in a more uniform and | ||||
| generic way, and allows for these bits to be defined in the future | ||||
| for different purposes, irrespective of the specific type of | ||||
| multicast address. | ||||
| 3. Flag Bits: A Recommendation | 3. Flag Bits: A Recommendation | |||
| Some implementations and specification documents do not treat the | Some implementations and specification documents do not treat the | |||
| flag bits as separate bits but tend to use their combined value as a | flag bits as separate bits but tend to use their combined value as a | |||
| 4-bit integer. This practice is a hurdle for assigning a meaning to | 4-bit integer. This practice is a hurdle for assigning a meaning to | |||
| the remaining flag bits. Below are listed some examples for | the remaining flag bits. Below are listed some examples for | |||
| illustration purposes: | illustration purposes: | |||
| o the reading of [RFC3306] may lead to conclude that ff3x::/32 is | o the reading of [RFC3306] may lead to conclude that ff3x::/32 is | |||
| the only allowed SSM IPv6 prefix block. | the only allowed SSM IPv6 prefix block. | |||
| o [RFC3956] states only ff70::/12 applies to Embedded-RP. | o [RFC3956] states only ff70::/12 applies to Embedded-RP. | |||
| Particularly, implementations should not treat the fff0::/12 range | Particularly, implementations should not treat the fff0::/12 range | |||
| as Embedded-RP. | as Embedded-RP. | |||
| To avoid such confusion and to unambiguously associate a meaning with | To avoid such confusion and to unambiguously associate a meaning with | |||
| the remaining flags, the following requirement is made | the remaining flags, the following requirement is made: | |||
| Implementations MUST treat flag bits as separate bits. | Implementations MUST treat flag bits as separate bits. | |||
| 4. RFC Updates | 4. RFC Updates | |||
| 4.1. RFC 3306 | 4.1. RFC 3306 | |||
| This document changes Section 4 of [RFC3306] as follows: | This document changes Section 4 of [RFC3306] as follows: | |||
| OLD: | OLD: | |||
| | 8 | 4 | 4 | 8 | 8 | 64 | 32 | | | 8 | 4 | 4 | 8 | 8 | 64 | 32 | | |||
| +--------+----+----+--------+--------+----------------+----------+ | +--------+----+----+--------+--------+----------------+----------+ | |||
| |11111111|flgs|scop|reserved| plen | network prefix | group ID | | |11111111|flgs|scop|reserved| plen | network prefix | group ID | | |||
| +--------+----+----+--------+--------+----------------+----------+ | +--------+----+----+--------+--------+----------------+----------+ | |||
| +-+-+-+-+ | +-+-+-+-+ | |||
| flgs is a set of 4 flags: |0|0|P|T| | flgs is a set of 4 flags: |0|0|P|T| | |||
| +-+-+-+-+ | +-+-+-+-+ | |||
| o P = 0 indicates a multicast address that is not assigned | o P = 0 indicates a multicast address that is not assigned | |||
| based on the network prefix. This indicates a multicast | based on the network prefix. This indicates a multicast | |||
| address as defined in [ADDRARCH]. | address as defined in [ADDRARCH]. | |||
| o P = 1 indicates a multicast address that is assigned based | o P = 1 indicates a multicast address that is assigned based | |||
| on the network prefix. | on the network prefix. | |||
| o If P = 1, T MUST be set to 1, otherwise the setting of the T | o If P = 1, T MUST be set to 1, otherwise the setting of the T | |||
| bit is defined in Section 2.7 of [ADDRARCH]. | bit is defined in Section 2.7 of [ADDRARCH]. | |||
| The reserved field MUST be zero. | The reserved field MUST be zero. | |||
| NEW: | NEW: | |||
| | 8 | 4 | 4 | 4 | 4 | 8 | 64 | 32 | | | 8 | 4 | 4 | 4 | 4 | 8 | 64 | 32 | | |||
| +--------+----+----+----+----+--------+----------------+----------+ | +--------+----+----+----+----+--------+----------------+----------+ | |||
| |11111111|ff1 |scop|ff2 |rsvd| plen | network prefix | group ID | | |11111111|ff1 |scop|ff2 |rsvd| plen | network prefix | group ID | | |||
| +--------+----+----+----+----+--------+----------------+----------+ | +--------+----+----+----+----+--------+----------------+----------+ | |||
| +-+-+-+-+ | +-+-+-+-+ | |||
| ff1 (flag field 1) is a set of 4 flags: |X|Y|P|T| | ff1 (flag field 1) is a set of 4 flags: |X|Y|P|T| | |||
| +-+-+-+-+ | +-+-+-+-+ | |||
| X and Y may each be set to 0 or 1. | X and Y may each be set to 0 or 1. | |||
| o P = 0 indicates a multicast address that is not assigned | o P = 0 indicates a multicast address that is not assigned | |||
| based on the network prefix. This indicates a multicast | based on the network prefix. This indicates a multicast | |||
| address as defined in [RFC4291]. | address as defined in [RFC4291]. | |||
| skipping to change at page 8, line 40 ¶ | skipping to change at page 8, line 40 ¶ | |||
| This document does not require any action from IANA. | This document does not require any action from IANA. | |||
| 6. Security Considerations | 6. Security Considerations | |||
| Security considerations discussed in [RFC3956], [RFC3306] and | Security considerations discussed in [RFC3956], [RFC3306] and | |||
| [RFC4291] MUST be taken into account. | [RFC4291] MUST be taken into account. | |||
| 7. Acknowledgements | 7. Acknowledgements | |||
| Special thanks to B. Haberman for the discussions prior to the | Special thanks to Brian Haberman for the discussions prior to the | |||
| publication of this document. | publication of this document. | |||
| Many thanks to J. Korhonen and T. Jinmei their comments. | Many thanks to Jouni Korhonen and Tatuya Jinmei their review. | |||
| 8. Normative References | 8. Normative References | |||
| [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
| Requirement Levels", BCP 14, RFC 2119, March 1997. | Requirement Levels", BCP 14, RFC 2119, March 1997. | |||
| [RFC3306] Haberman, B. and D. Thaler, "Unicast-Prefix-based IPv6 | [RFC3306] Haberman, B. and D. Thaler, "Unicast-Prefix-based IPv6 | |||
| Multicast Addresses", RFC 3306, August 2002. | Multicast Addresses", RFC 3306, August 2002. | |||
| [RFC3956] Savola, P. and B. Haberman, "Embedding the Rendezvous | [RFC3956] Savola, P. and B. Haberman, "Embedding the Rendezvous | |||
| End of changes. 16 change blocks. | ||||
| 62 lines changed or deleted | 35 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||