RFC 4489

A Method for Generating Link-Scoped IPv6 Multicast Addresses

πŸ“… published April 2006, from ietf

A Method for Generating Link-Scoped IPv6 Multicast Addresses πŸ¦‹

Okay bestie, here's the title block tea β˜•: this is RFC 4489 from the Network Working Group, written by J-S. Park, M-K. Shin, and H-J. Kim at ETRI. It's on the Standards Track and dates from April 2006. It updates RFC 3306 (Updates: 3306). Now let's get into it πŸ’…

Status of This Memo ✨

Okay so this doc is a standards track protocol spec for the Internet community, and it's basically inviting everyone to chime in with discussion and suggestions 🫢 For the current standardization state and status, you check the "Internet Official Protocol Standards" (STD 1) list. Distribution of this memo is unlimited, so share it with everyone πŸ’–

Copyright (C) The Internet Society (2006). 🌸

Abstract ✨

So this extends the multicast addressing architecture of IPv6 😍 It lets you use Interface Identifiers (IIDs) to allocate multicast addresses. Once a link-local unicast address is set up on each interface of a node, that node's IID is uniquely determined, so every node can generate its own unique multicast addresses automatically with no conflicts 🧚 The method proposed here is way better than unicast-prefix-based IPv6 multicast addresses, which is literally the main character move. 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 ✨

Okay so this doc defines an extension to the multicast part of the IPv6 addressing architecture [RFC4291] πŸŽ€ The current architecture has zero built-in support for dynamic address allocation, which is sad. This extension lets you use IIDs to allocate multicast addresses. Once a link-local unicast address is configured on each interface of a node, the IID is uniquely determined, and then each node can generate its unique multicast addresses automatically without conflicts. Like, these addresses could safely be configured any time after Duplicate Address Detection (DAD) has completed ✨

This method for link-local scope is preferred over unicast-prefix-based IPv6 multicast addresses [RFC3306] πŸ‘‘ Why? Because by delegating multicast addresses using the IID, each node can generate its multicast addresses automatically without allocation servers. It works way better than the unicast-prefix-based method in serverless environments like ad-hoc networks and network mobility πŸ¦‹ This document restricts how some defined fields of [RFC3306] get used, namely the scop, plen, and network prefix fields. So this document specifies the encoded information for link-local scope in multicast addresses, and that's the vibe πŸ’…

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 here is designed for any environment where link-local scope IPv6 multicast addresses get assigned or selected 🌈 It goes especially well with nodes supplying multicast services in a zeroconf/serverless environment, no cap. For example, multicast addresses at or below link-local scope are themselves generated by the nodes supplying multicast services, without conflicts. Also, hosts that get multicast services from multicast servers then work out the multicast addresses of those 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 multicast addresses greater than link-local scope, you need to use other methods, as described in [RFC3306] πŸ’€

This document specifies a new format that puts an IID inside link-local scope multicast addresses 🧚

Figure 1 shows 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 what tell you 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 (which replaces the 64-bit prefix field from [RFC3306]) is used to tell each node apart from the others 🌸 Since this method is 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, and only after DAD has completed. Basically, the creation of the multicast address MUST only occur after DAD has completed, as part of the auto-configuration process πŸ™ˆ

The group ID is generated to indicate a multicast application, and it's only used to guarantee uniqueness within the host. It may also be set based on the guidelines outlined in [RFC3307] ✨

4. Example ✨

In an Ethernet environment, say the link-local unicast address is FE80::A12:34FF:FE56:7890. Then 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 πŸ’… But 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 tied to the period during which the IID is known to be unique. So conflict is possible between IIDs, because a new node in a merged network can use the same IID as a node that's already powered on 😭

In this scenario, DAD also fails to guarantee uniqueness of the unicast address, but this document does not try to address that issue πŸ₯²

6. Security Considerations ✨

Okay this section is seriously important, so pay attention 🚨

The uniqueness of multicast addresses using this method is guaranteed by the DAD process. So a secure DAD process is needed for this method to be stable. This document proposes the mechanism in [RFC3041] for that purpose πŸ”’

[RFC3041] describes the privacy extension to IPv6 stateless address autoconfiguration, used to configure the IID of non-link-local scope unicast addresses. [RFC3041] cannot be used to make a link-local unicast address, so it cannot be used to create an IID for link-scoped multicast addresses. However, since [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 ✨

Thank you to Dave Thaler and Brian Haberman for their comments on keeping this one consistent with the unicast prefix-based multicast document 🫢 Special thanks are due to Erik Nordmark and Pekka Savola for their 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. πŸ“š
  • [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

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 on 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 on the extent to which any license under such rights might or might not be available. It also doesn't claim to have made any independent effort to identify any such rights. Info on the procedures for rights in RFC documents can be found in BCP 78 and BCP 79 πŸ“œ

Copies of IPR disclosures made to the IETF Secretariat, any assurances of licenses to be made available, or the result of an attempt to get a general license or permission for implementers or users to use such proprietary rights can be found in the IETF online IPR repository at http://www.ietf.org/ipr πŸ”

The IETF invites any interested party to bring to its attention any copyrights, patents, patent applications, or other proprietary rights that may cover technology required to implement this standard. Please send that info to the IETF at ietf-ipr@ietf.org πŸ’Œ

Acknowledgement ✨

Funding for the RFC Editor function is currently provided by the Internet Society πŸŽ€

πŸ“¦ where this page comes from