draft-ietf-6man-ug-00.txt   draft-ietf-6man-ug-01.txt 
6MAN B. E. Carpenter 6MAN B. E. Carpenter
Internet-Draft Univ. of Auckland Internet-Draft Univ. of Auckland
Updates: 4291 (if approved) S. Jiang Updates: 4291 (if approved) S. Jiang
Intended status: Standards Track Huawei Technologies Co., Ltd Intended status: Standards Track Huawei Technologies Co., Ltd
Expires: September 28, 2013 March 28, 2013 Expires: November 26, 2013 May 25, 2013
The U and G bits in IPv6 Interface Identifiers Significance of IPv6 Interface Identifiers
draft-ietf-6man-ug-00 draft-ietf-6man-ug-01
Abstract Abstract
The IPv6 addressing architecture defines a method by which the The IPv6 addressing architecture includes a unicast interface
identifier that is used in the creation of many IPv6 addresses.
Interface identifiers are formed by a variety of methods. This
document clarifies that the bits in an interface identifier have no
generic meaning and that the identifier should be treated as an
opaque value. In particular, RFC 4291 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 that those bits apply only to interface identifiers that are derived
derived from an IEEE link-layer address, and updates RFC 4291 from an IEEE link-layer address. It updates RFC 4291 accordingly.
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 September 28, 2013. This Internet-Draft will expire on November 26, 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
skipping to change at page 2, line 13 skipping to change at page 2, line 17
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
1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3
2. Problem statement . . . . . . . . . . . . . . . . . . . . . . 3 2. Problem statement . . . . . . . . . . . . . . . . . . . . . . 3
3. Usefulness of the U and G Bits . . . . . . . . . . . . . . . 5 3. Usefulness of the U and G Bits . . . . . . . . . . . . . . . 5
4. Clarification of Specifications . . . . . . . . . . . . . . . 5 4. The Role of Duplicate Address Detection . . . . . . . . . . . 6
5. Security Considerations . . . . . . . . . . . . . . . . . . . 6 5. Clarification of Specifications . . . . . . . . . . . . . . . 6
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 6. Security Considerations . . . . . . . . . . . . . . . . . . . 7
7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 7 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8
8. Change log [RFC Editor: Please remove] . . . . . . . . . . . 7 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 8
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 7 9. Change log [RFC Editor: Please remove] . . . . . . . . . . . 8
9.1. Normative References . . . . . . . . . . . . . . . . . . 7 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 9
9.2. Informative References . . . . . . . . . . . . . . . . . 8 10.1. Normative References . . . . . . . . . . . . . . . . . . 9
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9 10.2. Informative References . . . . . . . . . . . . . . . . . 9
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10
1. Introduction 1. Introduction
According to the IPv6 addressing architecture [RFC4291], when a IPv6 unicast addresses consist of a subnet prefix followed by an
64-bit IPv6 unicast Interface Identifier (IID) is formed on the basis Interface Identifier (IID), the latter supposedly unique on the links
of an IEEE EUI-64 address, usually itself expanded from a 48-bit MAC reached by routing to that prefix. According to the IPv6 addressing
address, a particular format must be used: architecture [RFC4291], when a 64-bit IPv6 unicast 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 Thus the specification assumes that that the normal case is to
an Ethernet-style address into an IID, preserving the information transform an Ethernet-style address into an IID, but in practice,
provided by two bits in particular: there are various methods of forming such an interface identifier.
The Modified EUI-64 format preserves the information provided by two
particular bits in the MAC address:
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 RFC 4291 and [RFC5342], the reason for this was to make it easier
operators to type in local-scope identifiers". for network operators to manually configure local-scope IIDs.
In an IID, this bit is in position 6, i.e., position 70 in the In an IID, this bit is in position 6, i.e., position 70 in the
complete IPv6 address. complete IPv6 address.
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). The value of this bit is addressing (link-layer multicast). The value of this bit is
preserved in an IID. preserved in an IID.
In an IID, this bit is in position 7, i.e., position 71 in the In an IID, this bit is in position 7, i.e., position 71 in the
complete IPv6 address. complete IPv6 address.
This document discusses problems observed with the "u" and "g" bits This document discusses problems observed with the "u" and "g" bits
as a result of the above requirements. It then discusses the as a result of the above requirements and the fact that various other
usefulness of the two bits, and updates RFC 4291 accordingly. methods of forming an IID have been defined, quite independently of
the method described in Appendix A of RFC 4291. It then discusses
the usefulness of these two bits and the significance of the bits in
an IID in general. Finally it updates RFC 4291 accordingly.
1.1. Terminology 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
In addition to IIDs formed from IEEE EUI-64 addresses, various new In addition to IIDs formed from IEEE EUI-64 addresses, various new
skipping to change at page 5, line 45 skipping to change at page 6, line 10
usefulness. However, it should be stressed that "u" = "g" = 0 does 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, not prove that an IID was formed from a MAC address; on the contrary,
it might equally result from another method. With other methods, it might equally result from another method. With other methods,
there is no reverse transformation available. there is no reverse transformation available.
To the extent that each method of IID creation specifies the values 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 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 designed in the light of its predecessors, these bits tend to reduce
the chances of duplicate IIDs. the chances of duplicate IIDs.
4. Clarification of Specifications 4. The Role of Duplicate Address Detection
As mentioned above, Duplicate Address Detection (DAD) [RFC4862] is
able to detect any case where a collision of two IIDs on the same
link leads to a duplicated IPv6 address. The scope of DAD may be
extended to a set of links by a DAD proxy [I-D.ietf-6man-dad-proxy].
Since DAD is mandatory for all nodes, there will be no case in which
an IID collision, however unlikely it may be, is not detected. It is
out of scope of most existing specifications to define the recovery
action after a DAD failure, which is an implementation issue. The
best procedure to follow will depend on the IID formation method in
use. For example, if an IID is formed by some pseudo-random process,
that process could simply be repeated. If a manually created IID, or
an IID derived from a MAC address according to RFC 4291, leads to a
DAD failure, human intervention will most likely be required.
There is one case in RFC 4862 that requires additional consideration:
"On the other hand, if the duplicate link-local address is not formed
from an interface identifier based on the hardware address, which is
supposed to be uniquely assigned, IP operation on the interface MAY
be continued."
However, as mentioned above, some methods of IID formation might
produce IID values with "u" = "g" = 0 that are not based on a MAC
(hardware) address. With very low probability, such a value might
collide with an IID based on a MAC address. There is no algorithm
for determining whether this case has arisen, rather than a genuine
MAC address collision. Implementers should carefully consider the
consequences of continuing IPv6 operation on the interface in this
unlikely situation.
5. Clarification of Specifications
This section describes clarifications to the IPv6 specifications that This section describes clarifications to the IPv6 specifications that
result from the above discussion. Their aim is to reduce confusion result from the above discussion. Their aim is to reduce confusion
while retaining the useful aspects of the "u" and "g" bits in IIDs. while retaining the useful aspects of the "u" and "g" bits in IIDs.
The EUI-64 to IID transformation defined in the IPv6 addressing The EUI-64 to IID transformation defined in the IPv6 addressing
architecture [RFC4291] MUST be used for all cases where an IPv6 IID 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 is derived from an IEEE MAC or EUI-64 address. With any other form
of link layer address, an equivalent transformation SHOULD be used. of link layer address, an equivalent transformation SHOULD be used.
Specifications of other forms of 64-bit IID MUST specify how all 64 Specifications of other forms of 64-bit IID MUST specify how all 64
bits are set, but need not treat the "u" and "g" bits in any special bits are set, but need not treat the "u" and "g" bits in any special
way. A general semantic meaning for these bits MUST NOT be defined. way. A general semantic meaning for these bits MUST NOT be defined.
However, the method of generating IIDs for specific link types may However, the method of generating IIDs for specific link types MAY
define some local significance for certain bits. define some local significance for certain bits.
In all cases, the bits in an IID have no general semantics; in other In all cases, the bits in an IID have no general semantics; in other
words, they have opaque values. In fact, the whole IID should be words, they have opaque values. In fact, the whole IID value MUST be
viewed as opaque by third parties, except possibly in the local viewed as an opaque bit string by third parties, except possibly in
context. the local context.
The following statement in section 2.5.1 of the IPv6 addressing The following statement in section 2.5.1 of the IPv6 addressing
architecture [RFC4291]: architecture [RFC4291]:
"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."
is replaced by: is replaced by:
skipping to change at page 6, line 43 skipping to change at page 7, line 41
architecture [RFC4291] is obsoleted: architecture [RFC4291] is obsoleted:
"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."
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.
5. Security Considerations 6. Security Considerations
No new security exposures or issues are raised by this document. No new security exposures or issues are raised by this document.
6. IANA Considerations 7. IANA Considerations
This document requests no immediate action by IANA. However, the This document requests no immediate action by IANA. However, the
following should be noted when considering future proposed additions following should be noted when considering future proposed additions
to the registry of reserved IID values, which requires Standards to the registry of reserved IID values, which requires Standards
Action according to [RFC5453]. A reserved IID, or a range of Action according to [RFC5453].
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.
7. Acknowledgements Full deployment of a new reserved IID value would require updates to
IID generation code in every deployed IPv6 stack, so the technical
justification for such a Standards Action would need to be extremely
strong.
OPEN ISSUE: Alternatively, we could decide to close the reserved IID
registry completely (which would also mean formally updating RFC
5453). If we choose this approach, the following point can be
deleted. Comments welcome.
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.
8. Acknowledgements
Valuable comments were received from Ran Atkinson, Remi Despres, Valuable comments were received from Ran Atkinson, Remi Despres,
Fernando Gont, Brian Haberman, Joel Halpern, Ray Hunter, Mark Smith, Fernando Gont, Brian Haberman, Joel Halpern, Bob Hinden, Christian
and other participants in the 6MAN working group. Huitema, 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].
8. Change log [RFC Editor: Please remove] 9. Change log [RFC Editor: Please remove]
draft-ietf-6man-ug-01: emphasised "opaque" nature of IID, added text
about DAD failures, expanded IANA considerations, 2013-05-25.
draft-ietf-6man-ug-00: first WG version, text clarified, added draft-ietf-6man-ug-00: first WG version, text clarified, added
possibility of link-local significance, 2013-02-28. possibility of link-local significance, 2013-03-28.
draft-carpenter-6man-ug-01: numerous clarifications following WG draft-carpenter-6man-ug-01: numerous clarifications following WG
comments, discussed DAD, added new section on the usefulness of the u comments, discussed DAD, added new section on the usefulness of the u
/g bits, expanded IANA considerations, set intended status, /g bits, expanded IANA considerations, set intended status,
2013-02-21. 2013-02-21.
draft-carpenter-6man-ug-00: original version, 2013-01-31. draft-carpenter-6man-ug-00: original version, 2013-01-31.
9. References 10. References
9.1. Normative References 10.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.
[RFC4862] Thomson, S., Narten, T., and T. Jinmei, "IPv6 Stateless
Address Autoconfiguration", RFC 4862, September 2007.
[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, September for IEEE 802 Parameters", BCP 141, RFC 5342, September
2008. 2008.
[RFC5453] Krishnan, S., "Reserved IPv6 Interface Identifiers", RFC [RFC5453] Krishnan, S., "Reserved IPv6 Interface Identifiers", RFC
5453, February 2009. 5453, February 2009.
9.2. Informative References 10.2. Informative References
[I-D.ietf-6man-dad-proxy]
Costa, F., Combes, J., Pougnard, X., and L. Hongyu,
"Duplicate Address Detection Proxy", draft-ietf-6man-dad-
proxy-07 (work in progress), April 2013.
[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-05 (SLAAC)", draft-ietf-6man-stable-privacy-addresses-07
(work in progress), March 2013. (work in progress), May 2013.
[I-D.ietf-softwire-4rd] [I-D.ietf-softwire-4rd]
Jiang, S., Despres, R., Penno, R., Lee, Y., Chen, G., and Despres, R., Jiang, S., 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
Solution (4rd)", draft-ietf-softwire-4rd-04 (work in Solution (4rd)", draft-ietf-softwire-4rd-05 (work in
progress), October 2012. progress), April 2013.
[RFC2526] Johnson, D. and S. Deering, "Reserved IPv6 Subnet Anycast [RFC2526] Johnson, D. and S. Deering, "Reserved IPv6 Subnet Anycast
Addresses", RFC 2526, March 1999. Addresses", RFC 2526, March 1999.
[RFC2629] Rose, M.T., "Writing I-Ds and RFCs using XML", RFC 2629, [RFC2629] Rose, M.T., "Writing I-Ds and RFCs using XML", RFC 2629,
June 1999. June 1999.
[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 [RFC5535] Bagnulo, M., "Hash-Based Addresses (HBA)", RFC 5535, June
2009. 2009.
[RFC6052] Bao, C., Huitema, C., Bagnulo, M., Boucadair, M., and X. [RFC6052] Bao, C., Huitema, C., Bagnulo, M., Boucadair, M., and X.
Li, "IPv6 Addressing of IPv4/IPv6 Translators", RFC 6052, Li, "IPv6 Addressing of IPv4/IPv6 Translators", RFC 6052,
October 2010. October 2010.
 End of changes. 28 change blocks. 
57 lines changed or deleted 123 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/