6MAN | B. Carpenter |
Internet-Draft | Univ. of Auckland |
Intended status: Informational | S. Jiang |
Expires: August 4, 2013 | Huawei Technologies Co., Ltd |
January 31, 2013 |
The U and G bits in IPv6 Interface Identifiers
draft-carpenter-6man-ug-00
The IPv6 addressing architecture defines a method by which the Universal and Group bits of an IEEE link-layer address are mapped into an IPv6 unicast interface identifier. This document clarifies the status of those bits for interface identifiers that are not derived from an IEEE link-layer address.
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."
This Internet-Draft will expire on August 4, 2013.
Copyright (c) 2013 IETF Trust and the persons identified as the document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.
NOTE IN DRAFT: This version is in the form of a discussion document, but the proposal included uses normative language. If the WG wishes to proceed with it, the authors suggest to make it a formal standards-track update of the IPv6 addressing architecture.
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 value 000, Interface IDs are required to be 64 bits long and to be constructed in Modified EUI-64 format."
The specification assumes that that the normal case is to transform an Ethernet-style address into an IID, preserving the semantics of two bits in particular:
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119].
Various new forms of IID have been defined or proposed, such as temporary addresses [RFC4941], Cryptographically Generated Addresses (CGAs) [RFC3972], stable privacy addresses [I-D.ietf-6man-stable-privacy-addresses], or mapped addresses [I-D.ietf-softwire-4rd]. In each case, the question of how to set and interpret the "u" and "g" bits has been debated. For example, RFC 3972 specifies that they are zero in CGAs.
NOTE IN DRAFT: Are there other examples we should include? Are we sure that no IID format defines semantics for u/g?
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 Reserved IPv6 Subnet Anycast Address format [RFC2526], which states 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 requires that "g" bit to be set to 1. However, the text neither states nor implies any semantics for these bits in anycast addresses.
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 useful, for example to contribute to solving the multihoming problem. Indeed, the addressing architecture [RFC4291] states this explicitly:
"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."
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 sometime incorrectly assigned to multiple MAC interfaces. Once transformed into IID format (with "u" = 1) these identifiers would purport to be universally unique but would in fact be ambiguous. Also, ILNP, the currently specified multihoming solution that might be expected to benefit from universally unique IIDs in modified EUI-64 format does not in fact rely on them; it uses its own format, defined as a Node Identifier [RFC6741]. We can conclude that the "u" bit in IIDs has no semantic value. In the case of an IID created from a MAC address according to RFC 4941, its value is determined by the MAC address, but that is all.
The "g" bit in an IID has no meaning in IPv6. If an IID is for some reason created from a MAC group address, the bit will be set, but 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 caused each time that a new form of IID is proposed. Since the bits concerned appear to have no useful semantics, this is wasteful.
It should be noted that IIDs known or guessed to have been created according to RFC 4941 could be transformed back into MAC addresses, for example during fault diagnosis. For that reason, keeping the "u" and "g" bits in the IID has operational value. Therefore, the EUI-64 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 address (or an equivalent form of link-layer address), it is not required to set the "u" and "g" bits in any particular way. These bits have no semantics in an IID. Specifications of other forms of IID MUST specify how they should be set, without defining any semantics for them.
The statement about future technology quoted above from RFC 4941 is obsolete.
As far as is known, no existing implementation will be affected by these changes. The benefit is that future design discussions are simplified.
No new security exposures or issues are raised by this document.
This document requests no immediate action by IANA. However, in considering future proposed additions to the registry of reserved IID values [RFC5453], no special consideration is needed of the "u" and "g" bits, since they have no special meaning.
Valuable comments were received from ... and other participants in the 6MAN working group.
Brian Carpenter was a visitor at the Computer Laboratory, Cambridge University during part of this work.
This document was produced using the xml2rfc tool [RFC2629].
draft-carpenter-6man-ug-00: original version, 2013-01-31.
[RFC2119] | Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997. |
[RFC4291] | Hinden, R. and S. Deering, "IP Version 6 Addressing Architecture", RFC 4291, DOI 10.17487/RFC4291, February 2006. |
[RFC5342] | Eastlake 3rd, D., "IANA Considerations and IETF Protocol Usage for IEEE 802 Parameters", RFC 5342, DOI 10.17487/RFC5342, September 2008. |
[RFC5453] | Krishnan, S., "Reserved IPv6 Interface Identifiers", RFC 5453, DOI 10.17487/RFC5453, February 2009. |