draft-ietf-6man-multicast-addr-arch-update-07.txt | draft-ietf-6man-multicast-addr-arch-update-08.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: January 8, 2015 July 07, 2014 | Expires: February 12, 2015 August 11, 2014 | |||
Updates to the IPv6 Multicast Addressing Architecture | Updates to the IPv6 Multicast Addressing Architecture | |||
draft-ietf-6man-multicast-addr-arch-update-07 | draft-ietf-6man-multicast-addr-arch-update-08 | |||
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 January 8, 2015. | This Internet-Draft will expire on February 12, 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 | |||
skipping to change at page 2, line 31 | skipping to change at page 2, line 31 | |||
the copyright in such materials, this document may not be modified | the copyright in such materials, this document may not be modified | |||
outside the IETF Standards Process, and derivative works of it may | outside the IETF Standards Process, and derivative works of it may | |||
not be created outside the IETF Standards Process, except to format | not be created outside the IETF Standards Process, except to format | |||
it for publication as an RFC or to translate it into languages other | it for publication as an RFC or to translate it into languages other | |||
than English. | than English. | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
2. Addressing Architecture Update . . . . . . . . . . . . . . . 3 | 2. Addressing Architecture Update . . . . . . . . . . . . . . . 3 | |||
3. Flag Bits: A Recommendation . . . . . . . . . . . . . . . . . 3 | 3. Flag Bits: New Processing Rules . . . . . . . . . . . . . . . 3 | |||
4. RFC Updates . . . . . . . . . . . . . . . . . . . . . . . . . 4 | 4. RFC Updates . . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
4.1. RFC 3306 . . . . . . . . . . . . . . . . . . . . . . . . 4 | 4.1. RFC 3306 . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
4.1.1. Update #1 . . . . . . . . . . . . . . . . . . . . . . 4 | 4.1.1. Update #1 . . . . . . . . . . . . . . . . . . . . . . 4 | |||
4.1.2. Update #2 . . . . . . . . . . . . . . . . . . . . . . 5 | 4.1.2. Update #2 . . . . . . . . . . . . . . . . . . . . . . 5 | |||
4.2. RFC 3956 . . . . . . . . . . . . . . . . . . . . . . . . 6 | 4.2. RFC 3956 . . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
4.2.1. Update #1 . . . . . . . . . . . . . . . . . . . . . . 6 | 4.2.1. Update #1 . . . . . . . . . . . . . . . . . . . . . . 6 | |||
4.2.2. Update #2 . . . . . . . . . . . . . . . . . . . . . . 7 | 4.2.2. Update #2 . . . . . . . . . . . . . . . . . . . . . . 7 | |||
4.2.3. Update #3 . . . . . . . . . . . . . . . . . . . . . . 8 | 4.2.3. Update #3 . . . . . . . . . . . . . . . . . . . . . . 8 | |||
4.2.4. Update #4 . . . . . . . . . . . . . . . . . . . . . . 8 | 4.2.4. Update #4 . . . . . . . . . . . . . . . . . . . . . . 8 | |||
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 | 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 | |||
skipping to change at page 3, line 13 | skipping to change at page 3, line 13 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10 | |||
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 | |||
updates are logical consequences of the recommendation on the flag | updates are logical consequences of the new processing rules in | |||
bits (Section 3). | 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, where bit 1 is the most | Bits 17-20 of a multicast address, where bit 1 is the most | |||
significant bit, are defined in [RFC3956] and [RFC3306] as reserved | significant bit, are defined in [RFC3956] and [RFC3306] as reserved | |||
bits. This document defines these bits as generic flag bits so that | bits. This document defines these bits as generic flag bits so that | |||
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 | For the record, this design choice was initially triggered by the | |||
specification in [I-D.ietf-mboned-64-multicast-address-format] which | specification in [I-D.ietf-mboned-64-multicast-address-format] which | |||
proposed for associating a meaning with one of the reserved bits. | proposed for associating a meaning with one of the reserved bits. | |||
Moreover, [I-D.ietf-mboned-64-multicast-address-format] considered | Moreover, [I-D.ietf-mboned-64-multicast-address-format] considered | |||
also the use of the last remaining flag in ff1 but that approach was | 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 | abandoned because it is not clear at this stage whether there is | |||
other usage scenarios of the flag. | 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: New Processing Rules | |||
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 Source Specific Multicast (SSM) IPv6 prefix | the only allowed Source Specific Multicast (SSM) IPv6 prefix | |||
block. | block. | |||
skipping to change at page 5, line 19 | skipping to change at page 5, line 19 | |||
| 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. Note, X is for future assignment | |||
while a meaning is associated with Y in RFC3956. | ||||
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]. | |||
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 [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. | r bits MUST each be sent as zero and MUST be ignored on receipt. | |||
Flag bits denote both ff1 and ff2. | Flag bits denote both ff1 and ff2. | |||
4.1.2. Update #2 | 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 | |||
skipping to change at page 6, line 33 | skipping to change at page 6, line 33 | |||
| 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 | | |||
+--------+----+----+--------+----+----------------+----------+ | +--------+----+----+--------+----+----------------+----------+ | |||
Where flgs are "0011". (The first two bits are as yet undefined, | Where flgs are "0011". (The first two bits are as yet undefined, | |||
sent as zero and ignored on receipt.) | sent as zero and ignored on receipt.) | |||
NEW: | NEW: | |||
The multicast address format is as | The multicast address format is as follows: | |||
follows: | ||||
| 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 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. | where X is for future assignment as additional flag bit. 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. | r bits MUST each be sent as zero and MUST be ignored on receipt. | |||
Flag bits denote both ff1 and ff2. | Flag bits denote both ff1 and ff2. | |||
4.2.2. Update #2 | 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 | | |||
skipping to change at page 8, line 12 | skipping to change at page 8, line 12 | |||
NEW: | NEW: | |||
| 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. | where X is for future assignment as additional flag bit. 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. Then 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. When the R-bit is set, the | |||
if P or T is not set to 1. When the R-bit is set, the last 4 bits of | last 4 bits of the field that were reserved in [RFC3306] are | |||
the field that were reserved in [RFC3306] are interpreted as | interpreted as embedding the RP interface ID, as specified in this | |||
embedding the RP interface ID, as specified in this memo. | memo. | |||
4.2.3. Update #3 | 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, | |||
End of changes. 16 change blocks. | ||||
31 lines changed or deleted | 33 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/ |