< draft-carpenter-6man-ug-00.txt   draft-carpenter-6man-ug-01.txt >
6MAN B. Carpenter 6MAN B. Carpenter
Internet-Draft Univ. of Auckland Internet-Draft Univ. of Auckland
Intended status: Informational S. Jiang Updates: 4291 (if approved) S. Jiang
Expires: August 4, 2013 Huawei Technologies Co., Ltd Intended status: Standards Track Huawei Technologies Co., Ltd
January 31, 2013 Expires: August 25, 2013 February 21, 2013
The U and G bits in IPv6 Interface Identifiers The U and G bits in IPv6 Interface Identifiers
draft-carpenter-6man-ug-00 draft-carpenter-6man-ug-01
Abstract Abstract
The IPv6 addressing architecture defines a method by which the The IPv6 addressing architecture defines a method by which the
Universal and Group bits of an IEEE link-layer address are mapped Universal and Group bits of an IEEE link-layer address are mapped
into an IPv6 unicast interface identifier. This document clarifies into an IPv6 unicast interface identifier. This document clarifies
the status of those bits for interface identifiers that are not the status of those bits for interface identifiers that are not
derived from an IEEE link-layer address. derived from an IEEE link-layer address, and updates RFC 4291
accordingly.
Status of this Memo Status of this Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
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 August 4, 2013. This Internet-Draft will expire on August 25, 2013.
Copyright Notice Copyright Notice
Copyright (c) 2013 IETF Trust and the persons identified as the Copyright (c) 2013 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 . . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Problem statement . . . . . . . . . . . . . . . . . . . . . . . 3 2. Problem statement . . . . . . . . . . . . . . . . . . . . . . . 3
3. Proposed solution . . . . . . . . . . . . . . . . . . . . . . . 5 3. Usefulness of the U and G Bits . . . . . . . . . . . . . . . . 5
4. Security Considerations . . . . . . . . . . . . . . . . . . . . 5 4. Clarification of Specifications . . . . . . . . . . . . . . . . 6
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 5 5. Security Considerations . . . . . . . . . . . . . . . . . . . . 6
6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 5 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 7
7. Change log [RFC Editor: Please remove] . . . . . . . . . . . . 6 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 7
8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 6 8. Change log [RFC Editor: Please remove] . . . . . . . . . . . . 7
8.1. Normative References . . . . . . . . . . . . . . . . . . . 6 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 7
8.2. Informative References . . . . . . . . . . . . . . . . . . 6 9.1. Normative References . . . . . . . . . . . . . . . . . . . 7
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 7 9.2. Informative References . . . . . . . . . . . . . . . . . . 8
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 9
1. Introduction 1. Introduction
NOTE IN DRAFT: This version is in the form of a discussion document, According to the IPv6 addressing architecture [RFC4291], when a 64-
but the proposal included uses normative language. If the WG wishes bit IPv6 unicast Interface Identifier (IID) is formed on the basis of
to proceed with it, the authors suggest to make it a formal an IEEE EUI-64 address, usually itself expanded from a 48-bit MAC
standards-track update of the IPv6 addressing architecture. address, a particular format must be used:
According to the IPv6 addressing architecture [RFC4291], when an IPv6
unicast Interface Identifier (IID) is formed on the basis of an IEEE
EUI-64 address, usually itself expanded from a 48-bit MAC address, a
particular format must be used:
"For all unicast addresses, except those that start with the binary "For all unicast addresses, except those that start with the binary
value 000, Interface IDs are required to be 64 bits long and to be value 000, Interface IDs are required to be 64 bits long and to be
constructed in Modified EUI-64 format." constructed in Modified EUI-64 format."
The specification assumes that that the normal case is to transform The specification assumes that that the normal case is to transform
an Ethernet-style address into an IID, preserving the semantics of an Ethernet-style address into an IID, preserving the information
two bits in particular: provided by two bits in particular:
o The "u" bit in an IEEE address is set to 0 to indicate universal o The "u" bit in an IEEE address is set to 0 to indicate universal
scope (implying uniqueness) or to 1 to indicate local scope scope (implying uniqueness) or to 1 to indicate local scope
(without implying uniqueness). In an IID this bit is inverted, (without implying uniqueness). In an IID this bit is inverted,
i.e., 1 for universal scope and 0 for local scope. According to i.e., 1 for universal scope and 0 for local scope. According to
[RFC5342], the reason for this was "to make it easier for network [RFC5342], the reason for this was "to make it easier for network
operators to type in local-scope identifiers". operators to type in local-scope identifiers".
o The "g" bit in an IEEE address is set to 1 to indicate group o The "g" bit in an IEEE address is set to 1 to indicate group
addressing (link-layer multicast). This value is supposed to be addressing (link-layer multicast). The value of this bit is
preserved in an IID. preserved in an IID.
This document discusses problems observed with the "u" and "g" bits
as a result of the above requirements. It then discusses the
usefulness of the two bits, and updates RFC 4291 accordingly.
1.1. Terminology
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 [RFC2119]. document are to be interpreted as described in [RFC2119].
2. Problem statement 2. Problem statement
Various new forms of IID have been defined or proposed, such as In addition to IIDs formed from IEEE EUI-64 addresses, various new
temporary addresses [RFC4941], Cryptographically Generated Addresses forms of IID have been defined or proposed, such as temporary
(CGAs) [RFC3972], stable privacy addresses addresses [RFC4941], Cryptographically Generated Addresses (CGAs)
[I-D.ietf-6man-stable-privacy-addresses], or mapped addresses [RFC3972], Hash-Based Addresses (HBAs) [RFC5535], stable privacy
[I-D.ietf-softwire-4rd]. In each case, the question of how to set addresses [I-D.ietf-6man-stable-privacy-addresses], or mapped
and interpret the "u" and "g" bits has been debated. For example, addresses for 4rd [I-D.ietf-softwire-4rd]. In each case, the
RFC 3972 specifies that they are zero in CGAs. question of how to set the "u" and "g" bits has to be decided. For
example, RFC 3972 specifies that they are both zero in CGAs, and the
NOTE IN DRAFT: Are there other examples we should include? Are we same applies to HBAs. On the other hand, RFC 4941 specifies that "u"
sure that no IID format defines semantics for u/g? must be zero but leaves "g" variable.
The question underlying these repeated debates is: do these bits have
any usefulness as currently defined? Section 2.2.1 of RFC 5342
discusses the mechanics of the bit allocations but does not explain
the purpose or value of these bits in an IID. There is an IANA
registry for reserved IID values [RFC5453] but again there is no
explanation of the purpose of the "u" and "g" bits.
Another case where the "u" and "g" bits are specified is in the Another case where the "u" and "g" bits are specified is in the
Reserved IPv6 Subnet Anycast Address format [RFC2526], which states Reserved IPv6 Subnet Anycast Address format [RFC2526], which states
that "for interface identifiers in EUI-64 format, the universal/local that "for interface identifiers in EUI-64 format, the universal/local
bit in the interface identifier MUST be set to 0" (i.e., local) and bit in the interface identifier MUST be set to 0" (i.e., local) and
requires that "g" bit to be set to 1. However, the text neither requires that "g" bit to be set to 1. However, the text neither
states nor implies any semantics for these bits in anycast addresses. states nor implies any semantics for these bits in anycast addresses.
These cases illustrate that the statement quoted above from RFC 4291
requiring "Modified EUI-64 format" is rather meaningless when applied
to forms of IID that are not in fact based on an underlying EUI-64
address. In practice, the IETF has chosen to assign some 64-bit IIDs
that have nothing to do with EUI-64.
A particular case is that of /127 prefixes for point-to-point links
between routers, as standardised by [RFC6164]. The addresses on
these links are undoubtedly global unicast addresses, but they do not
have a 64-bit IID. The bits in the positions named "u" and "g" in
such an IID have no special significance and their values are not
specified.
Each time a new IID format is proposed, the question arises whether
these bits have any meaning. Section 2.2.1 of RFC 5342 discusses the
mechanics of the bit allocations but does not explain the purpose or
usefulness of these bits in an IID. There is an IANA registry for
reserved IID values [RFC5453] but again there is no explanation of
the purpose of the "u" and "g" bits.
There was a presumption when IPv6 was designed and the IID format was There was a presumption when IPv6 was designed and the IID format was
first specified that a universally unique IID might prove to be very first specified that a universally unique IID might prove to be very
useful, for example to contribute to solving the multihoming problem. useful, for example to contribute to solving the multihoming problem.
Indeed, the addressing architecture [RFC4291] states this explicitly: Indeed, the addressing architecture [RFC4291] states this explicitly:
"The use of the universal/local bit in the Modified EUI-64 format "The use of the universal/local bit in the Modified EUI-64 format
identifier is to allow development of future technology that can take identifier is to allow development of future technology that can take
advantage of interface identifiers with universal scope." advantage of interface identifiers with universal scope."
However, this has not so far proved to be the case. Also, there is However, this has not so far proved to be the case. Also, there is
evidence from the field that IEEE MAC addresses with "u" = 0 are evidence from the field that IEEE MAC addresses with "u" = 0 are
sometime incorrectly assigned to multiple MAC interfaces. Once sometime incorrectly assigned to multiple MAC interfaces. Firstly,
transformed into IID format (with "u" = 1) these identifiers would there are recurrent reports of manufacturers assigning the same MAC
purport to be universally unique but would in fact be ambiguous. address to multiple devices. Secondly, significant re-use of the
Also, ILNP, the currently specified multihoming solution that might same virtual MAC address is reported in virtual machine environments.
be expected to benefit from universally unique IIDs in modified Once transformed into IID format (with "u" = 1) these identifiers
EUI-64 format does not in fact rely on them; it uses its own format, would purport to be universally unique but would in fact be
defined as a Node Identifier [RFC6741]. We can conclude that the "u" ambiguous. This has no known harmful effect as long as the
bit in IIDs has no semantic value. In the case of an IID created replicated MAC addresses and IIDs are used on different layer 2
from a MAC address according to RFC 4941, its value is determined by links. If they are used on the same link, of course there will be a
the MAC address, but that is all. problem, to be detected by duplicate address detection [RFC4862], but
such a problem can usually only be resolved by human intervention.
The "g" bit in an IID has no meaning in IPv6. If an IID is for some The conclusion from this is that the "u" bit is not a reliable
reason created from a MAC group address, the bit will be set, but indicator of universal uniqueness.
that is all. Both the "u" and the "g" bit are meaningless in the
format of an IPv6 multicast group ID [RFC3306], [RFC3307].
The problem caused by the above is the confusion and distraction We note that Identifier-Locator Network Protocol (ILNP), a
caused each time that a new form of IID is proposed. Since the bits multihoming solution that might be expected to benefit from
concerned appear to have no useful semantics, this is wasteful. universally unique IIDs in modified EUI-64 format, does not in fact
rely on them. ILNP uses its own format, defined as a Node Identifier
[RFC6741]. ILNP does have the constraint that Node Identifiers must
be unique within a given site, but as we have just shown, the state
of the "u" bit does not in any way guarantee this.
3. Proposed solution Thus, we can conclude that the value of the "u" bit in IIDs has no
particular meaning. In the case of an IID created from a MAC address
according to RFC 4291, its value is determined by the MAC address,
but that is all.
It should be noted that IIDs known or guessed to have been created An IPv6 IID should not be created from a MAC group address, so the
according to RFC 4941 could be transformed back into MAC addresses, "g" bit will normally be zero, but this value also has no particular
for example during fault diagnosis. For that reason, keeping the "u" meaning. Additionally, the "u" and the "g" bits are both meaningless
and "g" bits in the IID has operational value. Therefore, the EUI-64 in the format of an IPv6 multicast group ID [RFC3306], [RFC3307].
to IPv6 IID transformation defined in RFC 4941 MUST be used for all
cases where an IID is derived from a MAC address.
However, for all forms of IID that are not derived from an EUI-64 MAC None of the above implies that there is a problem with using the "u"
address (or an equivalent form of link-layer address), it is not and "g" bits in MAC addresses as part of the process of generating
required to set the "u" and "g" bits in any particular way. These IIDs from MAC addresses, or with specifying their values in other
bits have no semantics in an IID. Specifications of other forms of methods of generating IIDs. What it does imply is that, after an IID
IID MUST specify how they should be set, without defining any is generated by any method, no reliable deductions can be made from
semantics for them. the state of the "u" and "g" bits; in other words, these bits have no
useful semantics in an IID.
The statement about future technology quoted above from RFC 4941 is Once this is recognised, we can avoid the problematic confusion
obsolete. caused by these bits each time that a new form of IID is proposed.
3. Usefulness of the U and G Bits
Given that the "u" and "g" bits do not have a reliable meaning in an
IID, it is relevant to consider what usefulness they do have.
If an IID is known or guessed to have been created according to RFC
4291, it could be transformed back into a MAC address. This can be
very helpful during operational fault diagnosis. For that reason,
mapping the IEEE "u" and "g" bits into the IID has operational
usefulness. However, it should be stressed that "u" = "g" = 0 does
not prove that an IID was formed from a MAC address; on the contrary,
it might equally result from another method. With other methods,
there is no reverse transformation available.
To the extent that each method of IID creation specifies the values
of the "u" and "g" bits, and that each new method is carefully
designed in the light of its predecessors, these bits tend to reduce
the chances of duplicate IIDs.
4. Clarification of Specifications
This section describes clarifications to the IPv6 specifications that
result from the above discussion. Their aim is to reduce confusion
while retaining the useful aspects of the "u" and "g" bits in IIDs.
The EUI-64 to IID transformation defined in the IPv6 addressing
architecture [RFC4291] MUST be used for all cases where an IPv6 IID
is derived from an IEEE MAC or EUI-64 address. With any other form
of link layer address, an equivalent transformation SHOULD be used.
However, the resulting "u" and "g" bits in an IID have no semantics;
in other words, they have opaque values. In fact, the whole IID
should be viewed as opaque by third parties.
Specifications of other forms of 64-bit IID will either specify
explicitly how the "u" and "g" bits are set, or will simply include
them as part of a field within the IID. In either case, a semantic
meaning for these bits MUST NOT be defined.
In the following statement in section 2.5.1 of the IPv6 addressing
architecture [RFC4291], the reference to "Modified EUI-64 format"
applies only to cases where there is an underlying IEEE address:
"For all unicast addresses, except those that start with the binary
value 000, Interface IDs are required to be 64 bits long and to be
constructed in Modified EUI-64 format."
The following statement in section 2.5.1 of the IPv6 addressing
architecture [RFC4291] is hereby obsoleted:
"The use of the universal/local bit in the Modified EUI-64 format
identifier is to allow development of future technology that can take
advantage of interface identifiers with universal scope."
As far as is known, no existing implementation will be affected by As far as is known, no existing implementation will be affected by
these changes. The benefit is that future design discussions are these changes. The benefit is that future design discussions are
simplified. simplified.
4. Security Considerations 5. Security Considerations
No new security exposures or issues are raised by this document. No new security exposures or issues are raised by this document.
5. IANA Considerations 6. IANA Considerations
This document requests no immediate action by IANA. However, in This document requests no immediate action by IANA. However, the
considering future proposed additions to the registry of reserved IID following should be noted when considering future proposed additions
values [RFC5453], no special consideration is needed of the "u" and to the registry of reserved IID values, which requires Standards
"g" bits, since they have no special meaning. Action according to [RFC5453]. A reserved IID, or a range of
reserved IIDs, will most likely specify values for both "u" and "g",
since they are among the high-order bits. At the present time, none
of the known methods of generating IIDs will generate "u" = "g" = 1.
Reserved IIDs with "u" = "g" = 1 are therefore unlikely to collide
with automatically generated IIDs.
6. Acknowledgements 7. Acknowledgements
Valuable comments were received from ... and other participants in Valuable comments were received from Remi Despres, Fernando Gont,
the 6MAN working group. Brian Haberman, Joel Halpern, Ray Hunter, Mark Smith, and other
participants in the 6MAN working group.
Brian Carpenter was a visitor at the Computer Laboratory, Cambridge Brian Carpenter was a visitor at the Computer Laboratory, Cambridge
University during part of this work. University during part of this work.
This document was produced using the xml2rfc tool [RFC2629]. This document was produced using the xml2rfc tool [RFC2629].
7. Change log [RFC Editor: Please remove] 8. Change log [RFC Editor: Please remove]
draft-carpenter-6man-ug-01: numerous clarifications following WG
comments, discussed DAD, added new section on the usefulness of the
u/g bits, expanded IANA considerations, set intended status,
2013-02-21.
draft-carpenter-6man-ug-00: original version, 2013-01-31. draft-carpenter-6man-ug-00: original version, 2013-01-31.
8. References 9. References
8.1. Normative References 9.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.
[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.
[RFC5342] Eastlake, D., "IANA Considerations and IETF Protocol Usage [RFC5342] Eastlake, D., "IANA Considerations and IETF Protocol Usage
for IEEE 802 Parameters", BCP 141, RFC 5342, for IEEE 802 Parameters", BCP 141, RFC 5342,
September 2008. September 2008.
[RFC5453] Krishnan, S., "Reserved IPv6 Interface Identifiers", [RFC5453] Krishnan, S., "Reserved IPv6 Interface Identifiers",
RFC 5453, February 2009. RFC 5453, February 2009.
8.2. Informative References 9.2. Informative References
[I-D.ietf-6man-stable-privacy-addresses] [I-D.ietf-6man-stable-privacy-addresses]
Gont, F., "A method for Generating Stable Privacy-Enhanced Gont, F., "A method for Generating Stable Privacy-Enhanced
Addresses with IPv6 Stateless Address Autoconfiguration Addresses with IPv6 Stateless Address Autoconfiguration
(SLAAC)", draft-ietf-6man-stable-privacy-addresses-03 (SLAAC)", draft-ietf-6man-stable-privacy-addresses-03
(work in progress), January 2013. (work in progress), January 2013.
[I-D.ietf-softwire-4rd] [I-D.ietf-softwire-4rd]
Jiang, S., Despres, R., Penno, R., Lee, Y., Chen, G., and Jiang, S., Despres, R., Penno, R., Lee, Y., Chen, G., and
M. Chen, "IPv4 Residual Deployment via IPv6 - a Stateless M. Chen, "IPv4 Residual Deployment via IPv6 - a Stateless
skipping to change at page 7, line 8 skipping to change at page 8, line 37
[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.
[RFC3307] Haberman, B., "Allocation Guidelines for IPv6 Multicast [RFC3307] Haberman, B., "Allocation Guidelines for IPv6 Multicast
Addresses", RFC 3307, August 2002. Addresses", RFC 3307, August 2002.
[RFC3972] Aura, T., "Cryptographically Generated Addresses (CGA)", [RFC3972] Aura, T., "Cryptographically Generated Addresses (CGA)",
RFC 3972, March 2005. RFC 3972, March 2005.
[RFC4862] Thomson, S., Narten, T., and T. Jinmei, "IPv6 Stateless
Address Autoconfiguration", RFC 4862, September 2007.
[RFC4941] Narten, T., Draves, R., and S. Krishnan, "Privacy [RFC4941] Narten, T., Draves, R., and S. Krishnan, "Privacy
Extensions for Stateless Address Autoconfiguration in Extensions for Stateless Address Autoconfiguration in
IPv6", RFC 4941, September 2007. IPv6", RFC 4941, September 2007.
[RFC5535] Bagnulo, M., "Hash-Based Addresses (HBA)", RFC 5535,
June 2009.
[RFC6164] Kohno, M., Nitzan, B., Bush, R., Matsuzaki, Y., Colitti,
L., and T. Narten, "Using 127-Bit IPv6 Prefixes on Inter-
Router Links", RFC 6164, April 2011.
[RFC6741] Atkinson,, RJ., "Identifier-Locator Network Protocol [RFC6741] Atkinson,, RJ., "Identifier-Locator Network Protocol
(ILNP) Engineering Considerations", RFC 6741, (ILNP) Engineering Considerations", RFC 6741,
November 2012. November 2012.
Authors' Addresses Authors' Addresses
Brian Carpenter Brian Carpenter
Department of Computer Science Department of Computer Science
University of Auckland University of Auckland
PB 92019 PB 92019
 End of changes. 30 change blocks. 
88 lines changed or deleted 185 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/