RFC 3307
Allocation Guidelines for IPv6 Multicast Addresses
RFC 3307: Allocation Guidelines for IPv6 Multicast Addresses π¦
Okay bestie, let's check out RFC 3307 β¨ It's from the Network Working Group, written by B. Haberman (Consultant), and it's a Standards Track doc dated August 2002. The title block doesn't list any RFCs it obsoletes or updates, so this one's standing all on its own π
Network Working Group B. Haberman
Request for Comments: 3307 Consultant
Category: Standards Track August 2002
Here's the Table of Contents, copied exactly so the numbers line up πΈ
1. Terminology.....................................................2
2. Introduction....................................................2
3. Applicability...................................................3
4. Group ID Selection Guidelines...................................3
4.1 Permanent IPv6 Multicast Addresses............................4
4.2 Permanent IPv6 Multicast Group Identifiers....................4
4.3 Dynamic IPv6 Multicast Addresses..............................4
4.3.1 Server Allocation............................................5
4.3.2 Host Allocation..............................................5
5. IANA Considerations.............................................5
6. Security Considerations.........................................6
7. Acknowledgements................................................6
8. References......................................................6
Author's Address...................................................7
Full Copyright Statement...........................................8
Status of This Memo π
This document is an Internet standards track protocol for the Internet community, and it's asking for discussion and suggestions for improvements π For the current standardization state and status of this protocol, check the current edition of the "Internet Official Protocol Standards" (STD 1). Distribution of this memo is unlimited β¨
Copyright Notice Β©οΈ
Copyright (C) The Internet Society (2002). All Rights Reserved. π
Abstract π
Okay so this doc lays out guidelines that any entity responsible for allocating IPv6 multicast addresses must implement π€ That covers anyone wanting to assign permanent IPv6 multicast addresses, allocate dynamic IPv6 multicast addresses, or define permanent IPv6 multicast group identifiers, and it's not limited to just those. The whole point is to lower the chance of IPv6 multicast address collisions, not only at the IPv6 layer but also at the link layer of media that encode part of the IP layer address into the MAC layer address. It's giving careful planning π§
1. Terminology π
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 [RFC 2119]. π₯
Throughout this doc, the term "group ID" follows the definition in [UNIMCAST]. In other words, it's the low-order 32 bits of the IPv6 multicast address π«Ά
2. Introduction πΈ
Bestie, this section is the setup. It says that any entity responsible for allocating IPv6 multicast addresses MUST implement these guidelines π That includes anyone wanting to assign permanent IPv6 multicast addresses, allocate dynamic IPv6 multicast addresses, or define permanent IPv6 multicast group identifiers, and again, it's not limited to those. The goal is still to reduce the probability of IPv6 multicast address collision, both at the IPv6 layer and at the link layer of media that encode portions of the IP layer address into the link-layer address β¨
Now, with the current IPv6 address architecture [ADDRARCH] and the extension to the multicast address architecture specified in [UNIMCAST], we need a set of guidelines for anyone assigning any flavor of IPv6 multicast address π
Several physical media [RFC 2464][RFC 2467] currently map a portion of the IPv6 multicast address into a link-layer destination address. They do this by taking the low-order 32 bits of the IPv6 multicast address (the group ID) and putting them into the link-layer destination address π¦ Group IDs that are less than or equal to 32 bits long will generate unique link-layer addresses within a given multicast scope. Iconic β¨
These guidelines explain how the group ID of the IPv6 multicast address is chosen and assigned. They describe several mechanisms for determining the group ID, depending on the type of allocation being done π§
3. Applicability π
These guidelines are meant for any environment where IPv6 multicast addresses are delegated, assigned, or selected. They aren't limited to MADCAP [RFC 2730] servers π Here's a non-exhaustive list of ways they apply:
- Source-specific multicast application servers can generate an SSM group address by generating a 96-bit multicast prefix, as defined in [UNIMCAST] (i.e. FF3x::/96), and concatenating it with a group ID, as defined in this document π
- A MADCAP server allocates IPv6 multicast addresses conforming to section 2.7 of [ADDRARCH], creating the group ID using the rules in this document π
- Nodes supplying multicast services in a zeroconf environment generate multicast addresses without the need for centralized control π
- IANA can assign permanent multicast addresses to fulfill requests via the protocol standardization process π
4. Group ID Selection Guidelines β¨
The Group ID selection process allows for three types of multicast address assignments: permanent IPv6 multicast addresses, dynamic IPv6 multicast addresses, and permanent IPv6 multicast group IDs π«Ά These guidelines assume the prefix of the multicast address has already been initialized according to [ADDRARCH] or [UNIMCAST].
4.1 Permanent IPv6 Multicast Addresses π
Permanent multicast addresses, like the ones defined in [RFC 2375], are allocated by IANA. These addresses get group IDs in the range 0x00000001 to 0x3FFFFFFF, on an Expert Review basis π·
Multicast addresses assigned by IANA MUST have the T bit set to 0 and the P bit set to 0 π₯
4.2 Permanent IPv6 Multicast Group Identifiers π§
Permanent group IDs give a global identifier for a particular service. For example, Network Time Protocol (NTP) is assigned the group ID 0x40404040 π°οΈ The difference from permanent multicast addresses is that a permanent group ID is a global identifier for a service offered by lots of servers π
Let's use the NTP example of 0x40404040 to make it click. An NTP client can reach multiple servers and multiple scopes π¦ The client knows that group ID 0x40404040 identifies an NTP multicast stream no matter what the upper 96 bits of the multicast address are β¨
Permanent group IDs are allocated on an Expert Review basis, in the range 0x40000000 to 0x7FFFFFFF. They're meant to be used in IPv6 multicast addresses defined in [UNIMCAST] πΈ
4.3 Dynamic IPv6 Multicast Addresses π«
Dynamic IPv6 multicast addresses can be allocated by an allocation server or by an end host. No matter which mechanism is used, all dynamically allocated IPv6 multicast addresses MUST have the T bit set to 1 π€ This keeps them distinct from the permanently assigned multicast addresses defined in [RFC 2375] at the link layer, on any media that maps the lower portion of the IPv6 multicast address into a link-layer address. It should be noted that the high-order bit of the Group ID will have the same value as the T flag π
Here's an example. The permanent IPv6 multicast address FF02::9 maps to the Ethernet group address 33-33-00-00-00-09. A dynamically allocated IPv6 multicast address of FF32::8000:9 would map to the Ethernet group address 33-33-80-00-00-09 π§
4.3.1 Server Allocation π₯οΈ
Allocation of IPv6 multicast addresses by a server is defined in [RFC 2730]. Address management is the responsibility of the allocation protocol and is outside the scope of this document. Allocation servers MUST use the group ID range 0x80000000 to 0xFFFFFFFF π₯
4.3.2 Host Allocation π
Host-based allocation lets hosts self-select IPv6 multicast addresses. One example is the Zeroconf Multicast Address Allocation Protocol [ZMAAPDOC]. Issues with collision detection, claim notification, and so on are outside the scope of this document and are the responsibility of the protocol being used, such as [ZMAAPDOC] π
The group ID portion of the address is created using either a pseudo-random 32-bit number or a 32-bit number created using the guidelines in [RFC 1750]. The generated group ID MUST fall in the range 0x80000000 to 0xFFFFFFFF. You can make that happen by setting the high-order bit of the generated number to 1 π
5. IANA Considerations π
This document asks for the creation of a new registry maintained by IANA ποΈ The registry will hold permanent group ID values, so they can be used across multiple domains that use the multicast address architecture defined in [UNIMCAST]. The permanent group IDs will fall in the range 0x40000000 to 0x7FFFFFFF π
This document also defines rules for IANA to allocate permanent IPv6 multicast addresses. These rules set different ranges for IPv6-only multicast addresses and for IPv6 multicast addresses that have corresponding IPv4 multicast addresses β¨
Following the policies outlined in [RFC 2434]:
- Permanent IPv6 multicast addresses with corresponding IPv4 multicast addresses, like the ones defined in [RFC 2375], are allocated group IDs in the range 1 to
0x3FFFFFFFon an Expert Review basis, see Section 4.1 π¦ - Permanent IPv6-only multicast addresses are allocated group IDs in the range
0x100to0x3FFFFFFFon an Expert Review basis π - Permanent group IDs are allocated on an Expert Review basis in the range
0x40000000to0x7FFFFFFF, see Section 4.2 π§ - The range
0x80000000to0xFFFFFFFFis reserved for use by dynamic multicast address allocation mechanisms, see Section 4.3 π
All approved requests for a permanent IPv6 multicast address will result in the assignment of a unique group ID, which shall be reserved in all valid IPv6 multicast scopes π
6. Security Considerations π‘οΈ
β οΈ Read this one carefully, bestie. It's the serious part π
The allocation mechanisms described in this document do not alter the security properties of either the Any Source or Source Specific multicast service models of IPv4 and IPv6 π
The potential to allocate large blocks of addresses can lead to Denial-of-Service attacks π± A more in-depth discussion of the security issues around dynamic allocation of multicast addresses is in [RFC 2908] π
7. Acknowledgements π«Ά
The author would like to thank Dave Thaler, Steve Deering, Allison Mankin, Thomas Narten, and Erik Nordmark for their thorough review of this document ππ
8. References π
Okay bestie, here's the reading list π€ Every single one of these is cited in the spec, so they're all sitting there being important π
- [RFC 2026] Bradner, S., "The Internet Standards Process -- Revision 3", BCP 9, RFC 2026, October 1996.
- [UNIMCAST] Haberman, B. and D. Thaler, "Unicast Prefix-based IPv6 Multicast Addresses", RFC 3306, June 2002.
- [ADDRARCH] Hinden, R. and S. Deering, "IP Version 6 Addressing Architecture", RFC 2373, July 1998.
- [RFC 2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1999.
- [RFC 2730] Hanna, S., Patel, B. and M. Shah, "Multicast Address Dynamic Client Allocation Protocol (MADCAP)", RFC 2730, December 1999.
- [RFC 2464] Crawford, M., "Transmission of IPv6 Packets over Ethernet Networks", RFC 2464, December 1998.
- [RFC 2467] Crawford, M., "Transmission of IPv6 over FDDI Networks", RFC 2467, December 1998.
- [RFC 1750] Eastlake, D., Crocker, S. and J. Schiller, "Randomness Recommendations for Security", RFC 1750, December 1994.
- [RFC 2375] Hinden, R. and S. Deering, "IPv6 Multicast Address Assignments", RFC 2375, July 1998.
- [RFC 2908] Thaler, D., Handley, M. and D. Estrin, "The Internet Multicast Address Allocation Architecture", RFC 2908, September 2000.
- [ZMAAPDOC] Catrina, et al, "Zeroconf Multicast Address Allocation Protocol (ZMAAP)", Work In Progress.
Author's Address π
This is who wrote it, so you know who to thank (or blame) π«Ά
Brian Haberman Consultant Phone: 1-919-949-4828 EMail: bkhabs@nc.rr.com
Full Copyright Statement βοΈ
Okay, legal stuff, but it's short and I'm keeping every word, no cap π
Copyright (C) The Internet Society (2002). All Rights Reserved.
This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English.
The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS 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.
Acknowledgement πΈ
Last but not least, the thank-yous π₯Ή
Funding for the RFC Editor function is currently provided by the Internet Society.
That's the whole RFC, bestie. We did it πβ¨
π¦ where this page comes from
- ietf: rfc3307 2002-09
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms