IPv6 link multicast: A Method for Generating Link-Scoped IPv6 Multicast Addresses
How a node can build its own link-local IPv6 multicast addresses from its interface identifier, with no allocation server.
Park, J-S., Shin, M-K., and H-J. Kim, "A Method for Generating Link-Scoped IPv6 Multicast Addresses", RFC 4489, DOI 10.17487/RFC4489, April 2006, <https://www.rfc-editor.org/info/rfc4489>.
@misc{rfc4489,
series = {Request for Comments},
number = 4489,
howpublished = {RFC 4489},
publisher = {RFC Editor},
doi = {10.17487/RFC4489},
url = {https://www.rfc-editor.org/info/rfc4489},
author = {J-S. Park and M-K. Shin and H-J. Kim},
title = {{A Method for Generating Link-Scoped IPv6 Multicast Addresses}},
pagetotal = 6,
year = 2006,
month = apr,
} RFC text
Contents
Network Working Group J-S. Park
Request for Comments: 4489 M-K. Shin
Updates: 3306 H-J. Kim
Category: Standards Track ETRI
April 2006
A Method for Generating Link-Scoped IPv6 Multicast Addresses
Status of This Memo
This document specifies an Internet standards track protocol for the
Internet community, and requests discussion and suggestions for
improvements. Please refer to the current edition of the "Internet
Official Protocol Standards" (STD 1) for the standardization state
and status of this protocol. Distribution of this memo is unlimited.
Copyright Notice
Copyright (C) The Internet Society (2006).
Abstract
This document specifies an extension to the multicast addressing
architecture of the IPv6 protocol. The extension allows the use of
Interface Identifiers (IIDs) to allocate multicast addresses. When a
link-local unicast address is configured at each interface of a node,
an IID is uniquely determined. After that, each node can generate
its unique multicast addresses automatically without conflicts. The
alternative method for creating link-local multicast addresses
proposed in this document is better than known methods like unicast-
prefix-based IPv6 multicast addresses. This memo updates RFC 3306.
Table of Contents:
1. Introduction ....................................................2
2. Applicability ...................................................2
3. Link-Scoped Multicast Address Format ............................3
4. Example .........................................................3
5. Consideration of Lifetime .......................................4
6. Security Considerations .........................................4
7. Acknowledgements ................................................4
8. References ......................................................5
1. Introduction
This document defines an extension to the multicast portion of the
IPv6 addressing architecture [RFC4291]. The current architecture
does not contain any built-in support for dynamic address allocation.
The extension allows for use of IIDs to allocate multicast addresses.
When a link-local unicast address is configured at each interface of
a node, an IID is uniquely determined. After that, each node can
generate its unique multicast addresses automatically without
conflicts. That is, these addresses could safely be configured at
any time after Duplicate Address Detection (DAD) has completed.
This method for the link-local scope is preferred over unicast-
prefix-based IPv6 multicast addresses [RFC3306], since by delegating
multicast addresses using the IID, each node can generate its
multicast addresses automatically without allocation servers. This
method works better than the unicast-prefix-based method with
applications in serverless environments such as ad-hoc and network
mobility. This document restricts the usage of defined fields such
as the scop, plen, and network prefix fields of [RFC3306].
Therefore, this document specifies encoded information for link-local
scope in multicast addresses.
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].
2. Applicability
The allocation technique in this document is designed to be used in
any environment in which link-local scope IPv6 multicast addresses
are assigned or selected. This method goes especially well with
nodes supplying multicast services in a zeroconf/serverless
environment. For example, multicast addresses less than or equal to
link-local scope are themselves generated by nodes supplying
multicast services without conflicts. Also, hosts that are supplied
multicast services from multicast servers then make multicast
addresses of multicast servers using ND (address resolution) and
well-known group IDs [RFC2461].
Consequently, this technique MUST only be used for link scoped
multicast addresses. If you want to use multicast addresses greater
than link-local scope, you need to use other methods as described in
[RFC3306].
3. Link-Scoped Multicast Address Format
This document specifies a new format that incorporates IID in the
link-local scope multicast addresses.
Figure 1 illustrates the new format for link-scoped multicast
addresses.
| 8 | 4 | 4 | 8 | 8 | 64 | 32 |
+--------+----+----+--------+--------+----------------+----------+
|11111111|flgs|scop|reserved| plen | IID | group ID |
+--------+----+----+--------+--------+----------------+----------+
Figure 1. Link-Scoped Multicast IPv6 Address Format
The flgs, scop, and plen fields are used to identify whether an
address is a multicast address, as follows:
1. flgs MUST be "0011".
2. scop MUST be <= 2.
3. The reserved field MUST be zero.
4. The "plen" field is a special value, "1111 1111" (decimal 255).
The IID field (replacing the 64-bit prefix field from [RFC3306]) is
used to distinguish each node from others. Given the use of this
method for link-local scope, the IID embedded in the multicast
address MUST only come from the IID of the link-local unicast address
on the interface after DAD has completed. That is, the creation of
the multicast address MUST only occur after DAD has completed as part
of the auto-configuration process.
Group ID is generated to indicate a multicast application and is used
to guarantee its uniqueness only in the host. It may also be set on
the basis of the guidelines outlined in [RFC3307].
4. Example
In an Ethernet environment, if the link-local unicast address is
FE80::A12:34FF:FE56:7890, the link-scoped multicast prefix of the
node is FF32:00FF:A12:34FF:FE56:7890::/96.
5. Consideration of Lifetime
Generally, link-scoped multicast addresses have no lifetime, because
link-local unicast addresses also have no lifetime. However, this is
not true in the mobile environment. Even though multicast addresses
are created from the unique IIDs of unicast addresses, their useful
lifetime is linked to the period during which the IID is known to be
unique. Thus, conflict is possible between IIDs, due to a new node
in merged network that uses the same IID as a powered node.
In this scenario, DAD also fails to guarantee uniqueness of the
unicast address, but this document does not try to address this
issue.
6. Security Considerations
The uniqueness of multicast addresses using this method is guaranteed
by the DAD process. So, a secure DAD process is needed for stability
of this method. This document proposes the mechanism in [RFC3041]
for this purpose.
[RFC3041] describes the privacy extension to IPv6 stateless address
autoconfiguration to configure the IID of non-link-local scope
unicast addresses. [RFC3041] cannot be used for making a link-local
unicast address, and hence it cannot be used to create an IID for
link-scoped multicast address. However, as [RFC3041] does not
protect the privacy of link-local unicast addresses, it does not seem
to be required to protect the privacy of IID-based link-local
multicast addresses.
7. Acknowledgements
We would like to thank Dave Thaler and Brian Haberman for their
comments related to the consistency between the unicast prefix-based
multicast document and this one. Special thanks are due to Erik
Nordmark and Pekka Savola for valuable comments.
8. References
8.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2461] Narten, T., Nordmark, E., and W. Simpson, "Neighbor
Discovery for IP Version 6 (IPv6)", RFC 2461, December
1998..ti 3
[RFC3041] Narten, T. and R. Draves, "Privacy Extensions for
Stateless Address Autoconfiguration in IPv6", RFC 3041,
January 2001.
[RFC3306] Haberman, B. and D. Thaler, "Unicast-Prefix-based IPv6
Multicast Addresses", RFC 3306, August 2002.
[RFC3307] Haberman, B., "Allocation Guidelines for IPv6 Multicast
Addresses", RFC 3307, August 2002.
[RFC4291] Hinden, R. and S. Deering, "IP Version 6 Addressing
Architecture", RFC 4291, February 2006.
Authors' Addresses
Jung-Soo Park
ETRI PEC
161 Gajeong-Dong, Yuseong-Gu, Daejeon 305-350, Korea
Phone: +82 42 860 6514
EMail: pjs@etri.re.kr
Myung-Ki Shin
ETRI PEC
161 Gajeong-Dong, Yuseong-Gu, Daejeon 305-350, Korea
Phone: +82 42 860 4847
EMail: myungki.shin@gmail.com
Hyoung-Jun Kim
ETRI PEC
161 Gajeong-Dong, Yuseong-Gu, Daejeon 305-350, Korea
Phone: +82 42 860 6576
EMail: khj@etri.re.kr
Full Copyright Statement
Copyright (C) The Internet Society (2006).
This document is subject to the rights, licenses and restrictions
contained in BCP 78, and except as set forth therein, the authors
retain all their rights.
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Intellectual Property
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at ietf-
ipr@ietf.org.
Acknowledgement
Funding for the RFC Editor function is currently provided by the
Internet Society.
AI ELI5
On this page
§1Why Generate Multicast Addresses from IIDs
RFC 4489 extends the multicast part of the IPv6 addressing architecture. The current architecture has no built-in support for dynamic address allocation. The extension lets a node use its Interface Identifier (IID) to allocate multicast addresses.
When a link-local unicast address is configured on an interface, the IID is uniquely determined. The node can then generate its own multicast addresses automatically and without conflicts, safely at any time after Duplicate Address Detection (DAD) has completed.
The RFC prefers this method over unicast-prefix-based multicast addresses (RFC 3306) for link-local scope, because no allocation server is needed. It says the method works better in serverless environments such as ad-hoc networks and network mobility. It restricts the use of the scop, plen and network prefix fields defined in RFC 3306.
Normally someone has to hand out names for group chats. Here, each computer uses its own one-of-a-kind name tag to invent its group names, so nobody has to hand anything out.
§2Where the Method Applies
The technique is meant for any environment where link-local scope IPv6 multicast addresses are assigned or selected. The RFC says it suits nodes that provide multicast services in a zeroconf or serverless environment. Such nodes generate their own multicast addresses, and hosts that use those services build the servers' addresses using Neighbor Discovery address resolution and well-known group IDs.
The scope limit is firm: the technique MUST only be used for link-scoped multicast addresses. For anything wider than link-local scope, use the methods in RFC 3306.
This trick only works for chats among neighbours on the same street. For bigger groups across town you need the older method.
§3The Link-Scoped Multicast Address Format
The new format replaces the 64-bit prefix field of RFC 3306 with the IID. From left to right the fields are: 11111111 (8 bits), flgs (4), scop (4), reserved (8), plen (8), IID (64) and group ID (32).
Four rules mark an address as this kind of multicast address: flgs MUST be 0011; scop MUST be less than or equal to 2; the reserved field MUST be zero; and plen is the special value 1111 1111 (decimal 255).
The IID MUST come only from the IID of the link-local unicast address on the interface, after DAD has completed. So the multicast address MUST NOT be created until DAD is done as part of auto-configuration. The group ID names a multicast application and only has to be unique within the host. It may also be set following the guidelines of RFC 3307.
The address is like a label with a fixed start that says it is a group address, then the computer's own name tag, then a number for the particular chat. The computer may only write the label after it has checked that its name tag is not taken.
| Field | Name | Size | Value | Description |
|---|---|---|---|---|
PREFIX | 11111111 | 1 byte | Fixed leading bits that mark a multicast address. | |
FLGS | flgs | 4 bits | 0011 | MUST be 0011. |
SCOP | scop | 4 bits | MUST be less than or equal to 2. | |
RESERVED | reserved | 1 byte | 0 | MUST be zero. |
PLEN | plen | 1 byte | 255 | Special value 1111 1111 (decimal 255). |
IID | IID | 8 bytes | Interface identifier of the link-local unicast address, taken after DAD completes. | |
GROUP-ID | group ID | 4 bytes | Identifies a multicast application; unique only within the host. |
§4A Worked Example
In an Ethernet environment, suppose the link-local unicast address is FE80::A12:34FF:FE56:7890. The link-scoped multicast prefix of that node is then FF32:00FF:A12:34FF:FE56:7890::/96. The node's IID appears in the middle of the address, and the remaining 32 bits are free for group IDs.
If a computer's name tag is a long string of numbers, its group chat names all begin with that same string, and only the last part changes from chat to chat.
§5Lifetime of the Addresses
Link-scoped multicast addresses generally have no lifetime, because link-local unicast addresses have none either. In a mobile environment this is not quite true. The useful lifetime of such a multicast address is tied to the period during which the IID is known to be unique.
A conflict is possible if a new node in a merged network uses the same IID as a node that is already powered on. DAD also fails to guarantee uniqueness of the unicast address in that case, and the RFC says it does not try to address the issue.
The names stay good as long as nobody else has the same name tag. If two groups of kids meet and two of them have the same tag, there can be a mix-up, and this document does not fix that.
§6Security Considerations
Uniqueness of the multicast addresses is guaranteed by the DAD process, so a secure DAD process is needed for the method to be stable. The RFC proposes the mechanism in RFC 3041 for this purpose.
RFC 3041 describes privacy extensions for IPv6 stateless address autoconfiguration, used to form the IID of non-link-local unicast addresses. It cannot be used to make a link-local unicast address, so it cannot create the IID for a link-scoped multicast address. The RFC reasons that since RFC 3041 does not protect the privacy of link-local unicast addresses, protecting the privacy of IID-based link-local multicast addresses does not seem to be required.
The whole scheme depends on every name tag really being unique, so the check that makes sure of that has to be trustworthy. Hiding the tags is not seen as important here.