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.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |