draft-ietf-6man-multicast-addr-arch-update-05.txt | draft-ietf-6man-multicast-addr-arch-update-06.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: December 20, 2014 June 18, 2014 | Expires: January 5, 2015 July 04, 2014 | |||
Updates to the IPv6 Multicast Addressing Architecture | Updates to the IPv6 Multicast Addressing Architecture | |||
draft-ietf-6man-multicast-addr-arch-update-05 | draft-ietf-6man-multicast-addr-arch-update-06 | |||
Abstract | Abstract | |||
This document updates the IPv6 multicast addressing architecture by | This document updates the IPv6 multicast addressing architecture by | |||
re-defining the 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. | |||
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 December 20, 2014. | This Internet-Draft will expire on January 5, 2015. | |||
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 | |||
carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
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 . . . . . . . . . . . . . . . 3 | |||
3. Flag Bits: A Recommendation . . . . . . . . . . . . . . . . . 3 | 3. Flag Bits: A Recommendation . . . . . . . . . . . . . . . . . 3 | |||
4. RFC Updates . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 4. RFC Updates . . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
4.1. RFC 3306 . . . . . . . . . . . . . . . . . . . . . . . . 3 | 4.1. RFC 3306 . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
4.1.1. Update #1 . . . . . . . . . . . . . . . . . . . . . . 4 | ||||
4.1.2. Update #2 . . . . . . . . . . . . . . . . . . . . . . 5 | ||||
4.2. RFC 3956 . . . . . . . . . . . . . . . . . . . . . . . . 6 | 4.2. RFC 3956 . . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
4.2.1. Update #1 . . . . . . . . . . . . . . . . . . . . . . 6 | ||||
4.2.2. Update #2 . . . . . . . . . . . . . . . . . . . . . . 6 | ||||
4.2.3. Update #3 . . . . . . . . . . . . . . . . . . . . . . 8 | ||||
4.2.4. Update #4 . . . . . . . . . . . . . . . . . . . . . . 8 | ||||
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. References . . . . . . . . . . . . . . . . . . . . . . . . . 9 | |||
8.1. Normative References . . . . . . . . . . . . . . . . . . 9 | ||||
8.2. Informative References . . . . . . . . . . . . . . . . . 9 | ||||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9 | |||
1. Introduction | 1. Introduction | |||
This document updates the IPv6 addressing architecture [RFC4291] by | This document updates the IPv6 addressing architecture [RFC4291] by | |||
re-defining reserved bits as generic flag bits (Section 2). The | re-defining reserved bits as generic flag bits (Section 2). The | |||
document provides also some clarifications related to the use of | document provides also some clarifications related 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 | |||
skipping to change at page 3, line 9 | skipping to change at page 3, line 20 | |||
they apply to any multicast address. These bits are referred to as | they apply to any multicast address. These bits are referred to as | |||
ff2 (flag field 2) while the flgs bits in [RFC4291][RFC3956] are | ff2 (flag field 2) while the flgs bits in [RFC4291][RFC3956] are | |||
renamed to ff1 (flag field 1). | renamed to ff1 (flag field 1). | |||
Within this document, flag bits denote both ff1 and ff2. | Within this document, flag bits denote both ff1 and ff2. | |||
Defining the bits 17-20 as flags for all IPv6 multicast addresses | Defining the bits 17-20 as flags for all IPv6 multicast addresses | |||
allows addresses to be treated in a more uniform and generic way, and | 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 | allows for these bits to be defined in the future for different | |||
purposes, irrespective of the specific type of multicast address. | purposes, irrespective of the specific type of multicast address. | |||
For the record, this design choice was initially triggered by | ||||
specification in [I-D.ietf-mboned-64-multicast-address-format] which | ||||
proposed for associating a meaning with one of the reserved bits. | ||||
Moreover, [I-D.ietf-mboned-64-multicast-address-format] considered | ||||
also the use of the last remaining flag in ff1 but that approach was | ||||
abandoned because it is not clear at this stage whether there is | ||||
other usage scenarios of the flag. | ||||
Section 4 specifies the updated structure of the addressing | Section 4 specifies the updated structure of the addressing | |||
architecture. | architecture. | |||
Further specification documents may define a meaning for these flag | Further specification documents may define a meaning for these flag | |||
bits. | bits. | |||
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 Source Specific Multicast (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 | |||
4.1.1. Update #1 | ||||
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 | | |||
+--------+----+----+--------+--------+----------------+----------+ | +--------+----+----+--------+--------+----------------+----------+ | |||
+-+-+-+-+ | +-+-+-+-+ | |||
skipping to change at page 4, line 26 | skipping to change at page 4, line 38 | |||
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. | |||
Note: [ADDRARCH] is a reference listed in [RFC3306]. [ADDRARCH] | ||||
has been since obsoleted by [RFC4291]. | ||||
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| | |||
+-+-+-+-+ | +-+-+-+-+ | |||
skipping to change at page 5, line 31 | skipping to change at page 5, line 31 | |||
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 [RFC4291]. | bit is defined in Section 2.7 of [RFC4291]. | |||
+-+-+-+-+ | +-+-+-+-+ | |||
ff2 (flag field 2) is a set of 4 flags: |r|r|r|r| | ff2 (flag field 2) is a set of 4 flags: |r|r|r|r| | |||
+-+-+-+-+ | +-+-+-+-+ | |||
where "rrrr" are for future assignment as additional flag bits. | where "rrrr" are for future assignment as additional flag bits. | |||
r bits MUST each be set to 0. | ||||
Flag bits denote both ff1 and ff2. | Flag bits denote both ff1 and ff2. | |||
4.1.2. Update #2 | ||||
This document changes Section 6 of [RFC3306] as follows: | This document changes Section 6 of [RFC3306] as follows: | |||
OLD: | OLD: | |||
These settings create an SSM range of FF3x::/32 (where 'x' is any | These settings create an SSM range of FF3x::/32 (where 'x' is any | |||
valid scope value). The source address field in the IPv6 header | valid scope value). The source address field in the IPv6 header | |||
identifies the owner of the multicast address. | identifies the owner of the multicast address. | |||
NEW: | NEW: | |||
If the flag bits in ff1 are set to 0011, these settings create an | If the flag bits in ff1 are set to 0011, these settings create an | |||
SSM range of ff3x::/32 (where 'x' is any valid scope value). The | SSM range of ff3x::/32 (where 'x' is any valid scope value). The | |||
source address field in the IPv6 header identifies the owner of | source address field in the IPv6 header identifies the owner of | |||
the multicast address. ff3x::/32 is not the only allowed SSM | the multicast address. ff3x::/32 is not the only allowed SSM | |||
prefix range. For example if the most significant flag bit in ff1 | prefix range. For example if the most significant flag bit in ff1 | |||
is set, then we would get the SSM range ffbx::/32. | is set, then we would get the SSM range ffbx::/32. | |||
4.2. RFC 3956 | 4.2. RFC 3956 | |||
4.2.1. Update #1 | ||||
This document changes Section 2 of [RFC3956] as follows: | This document changes Section 2 of [RFC3956] as follows: | |||
OLD: | OLD: | |||
As described in [RFC3306], the multicast address format is as | As described in [RFC3306], the multicast address format is as | |||
follows: | follows: | |||
| 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 | | |||
skipping to change at page 6, line 41 | skipping to change at page 6, line 43 | |||
+-+-+-+-+ | +-+-+-+-+ | |||
ff1 (flag field 1) is a set of four flags: |X|R|P|T| | ff1 (flag field 1) is a set of four flags: |X|R|P|T| | |||
+-+-+-+-+ | +-+-+-+-+ | |||
X may be set to 0 or 1. | X may be set to 0 or 1. | |||
+-+-+-+-+ | +-+-+-+-+ | |||
ff2 (flag field 2) is a set of 4 flags: |r|r|r|r| | ff2 (flag field 2) is a set of 4 flags: |r|r|r|r| | |||
+-+-+-+-+ | +-+-+-+-+ | |||
where "rrrr" are for future assignment as additional flag bits. | where "rrrr" are for future assignment as additional flag bits. | |||
r bits MUST each be set to 0. | ||||
Flag bits denote both ff1 and ff2. | Flag bits denote both ff1 and ff2. | |||
4.2.2. Update #2 | ||||
This document changes Section 3 of [RFC3956] as follows: | This document changes Section 3 of [RFC3956] as follows: | |||
OLD: | OLD: | |||
| 8 | 4 | 4 | 4 | 4 | 8 | 64 | 32 | | | 8 | 4 | 4 | 4 | 4 | 8 | 64 | 32 | | |||
+--------+----+----+----+----+----+----------------+----------+ | +--------+----+----+----+----+----+----------------+----------+ | |||
|11111111|flgs|scop|rsvd|RIID|plen| network prefix | group ID | | |11111111|flgs|scop|rsvd|RIID|plen| network prefix | group ID | | |||
+--------+----+----+----+----+----+----------------+----------+ | +--------+----+----+----+----+----+----------------+----------+ | |||
+-+-+-+-+ | +-+-+-+-+ | |||
flgs is a set of four flags: |0|R|P|T| | flgs is a set of four flags: |0|R|P|T| | |||
skipping to change at page 7, line 40 | skipping to change at page 7, line 40 | |||
| 8 | 4 | 4 | 4 | 4 | 8 | 64 | 32 | | | 8 | 4 | 4 | 4 | 4 | 8 | 64 | 32 | | |||
+--------+----+----+----+----+----+----------------+----------+ | +--------+----+----+----+----+----+----------------+----------+ | |||
|11111111|ff1 |scop|ff2 |RIID|plen| network prefix | group ID | | |11111111|ff1 |scop|ff2 |RIID|plen| network prefix | group ID | | |||
+--------+----+----+----+----+----+----------------+----------+ | +--------+----+----+----+----+----+----------------+----------+ | |||
+-+-+-+-+ | +-+-+-+-+ | |||
ff1 is a set of four flags: |X|R|P|T| | ff1 is a set of four flags: |X|R|P|T| | |||
+-+-+-+-+ | +-+-+-+-+ | |||
X may be set to 0 or 1. | X may be set to 0 or 1. | |||
R = 1 indicates a multicast address that embeds the address of the | R = 1 indicates a multicast address that embeds the address of the | |||
RP. P MUST be set to 1, and consequently T MUST be set to 1, | RP. Then P MUST be set to 1, and consequently T MUST be set to 1, | |||
according to [RFC3306], as this is a special case of unicast-prefix | according to [RFC3306], as this is a special case of unicast-prefix | |||
based addresses. This implies that for instance prefixes ff70::/12 | based addresses. This implies that, for instance, prefixes ff70::/12 | |||
and fff0::/12 are embedded RP prefixes. The behavior is unspecified | and fff0::/12 are embedded RP prefixes. The behavior is unspecified | |||
if P or T is not set to 1. When the R-bit is set, the last 4 bits of | if P or T is not set to 1. When the R-bit is set, the last 4 bits of | |||
the field that were reserved in [RFC3306] are interpreted as | the field that were reserved in [RFC3306] are interpreted as | |||
embedding the RP interface ID, as specified in this memo. | embedding the RP interface ID, as specified in this memo. | |||
4.2.3. Update #3 | ||||
This document changes Section 4 of [RFC3956] as follows: | This document changes Section 4 of [RFC3956] as follows: | |||
OLD: | OLD: | |||
It MUST be a multicast address with "flgs" set to 0111, that is, | It MUST be a multicast address with "flgs" set to 0111, that is, | |||
to be of the prefix FF70::/12, | to be of the prefix FF70::/12, | |||
NEW: | NEW: | |||
It MUST be a multicast address with R-bit set to 1. | It MUST be a multicast address with R-bit set to 1. | |||
It MUST have P-bit and T-bit both set to 1 when using the | It MUST have P-bit and T-bit both set to 1 when using the | |||
embedding in this document as it is a prefix-based address. | embedding in this document as it is a prefix-based address. | |||
4.2.4. Update #4 | ||||
This document changes Section 7.1 of [RFC3956] as follows: | This document changes Section 7.1 of [RFC3956] as follows: | |||
OLD: | OLD: | |||
To avoid loops and inconsistencies, for addresses in the range | To avoid loops and inconsistencies, for addresses in the range | |||
FF70::/12, the Embedded-RP mapping MUST be considered the longest | FF70::/12, the Embedded-RP mapping MUST be considered the longest | |||
possible match and higher priority than any other mechanism. | possible match and higher priority than any other mechanism. | |||
NEW: | NEW: | |||
To avoid loops and inconsistencies, for addresses with R-bit set | To avoid loops and inconsistencies, for addresses with R-bit set | |||
to 1, the Embedded-RP mapping MUST be considered the longest | to 1, the Embedded-RP mapping MUST be considered the longest | |||
possible match and higher priority than any other mechanism. | possible match and higher priority than any other mechanism. | |||
5. IANA Considerations | 5. IANA Considerations | |||
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 | The same security considerations as those discussed in [RFC3956], | |||
[RFC4291] MUST be taken into account. | [RFC3306] and [RFC4291] are to be taken into account. | |||
7. Acknowledgements | 7. Acknowledgements | |||
Special thanks to Brian 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 Jouni Korhonen and Tatuya Jinmei their review. | Many thanks to Jouni Korhonen, Tatuya Jinmei, Charlie Kaufman, and | |||
Ben Campbell for their review. | ||||
8. Normative References | 8. References | |||
8.1. 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 | |||
Point (RP) Address in an IPv6 Multicast Address", RFC | Point (RP) Address in an IPv6 Multicast Address", RFC | |||
3956, November 2004. | 3956, November 2004. | |||
[RFC4291] Hinden, R. and S. Deering, "IP Version 6 Addressing | [RFC4291] Hinden, R. and S. Deering, "IP Version 6 Addressing | |||
Architecture", RFC 4291, February 2006. | Architecture", RFC 4291, February 2006. | |||
[RFC5952] Kawamura, S. and M. Kawashima, "A Recommendation for IPv6 | [RFC5952] Kawamura, S. and M. Kawashima, "A Recommendation for IPv6 | |||
Address Text Representation", RFC 5952, August 2010. | Address Text Representation", RFC 5952, August 2010. | |||
8.2. Informative References | ||||
[I-D.ietf-mboned-64-multicast-address-format] | ||||
Boucadair, M., Qin, J., Lee, Y., Venaas, S., Li, X., and | ||||
M. Xu, "IPv6 Multicast Address With Embedded IPv4 | ||||
Multicast Address", draft-ietf-mboned-64-multicast- | ||||
address-format-05 (work in progress), April 2013. | ||||
Authors' Addresses | Authors' Addresses | |||
Mohamed Boucadair | Mohamed Boucadair | |||
France Telecom | France Telecom | |||
Rennes 35000 | Rennes 35000 | |||
France | France | |||
Email: mohamed.boucadair@orange.com | Email: mohamed.boucadair@orange.com | |||
Stig Venaas | Stig Venaas | |||
End of changes. 24 change blocks. | ||||
14 lines changed or deleted | 58 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/ |