RFC 10019
Zeroconf Multicast Address Allocation Problem Statement and Requirements
Zeroconf Multicast Address Allocation Problem Statement and Requirements π
Okay bestie, this is RFC 10019 π. It was written by N. Karstens (Garmin), D. Farinacci (lispers.net), and M. McBride (Futurewei) π. It's published by the Internet Engineering Task Force (IETF) as an Informational document, dated July 2026, with ISSN 2070-1721 π . It is not a standards track spec, so it's just here for information π. The title block doesn't list any Obsoletes or Updates entries, so it isn't replacing or changing any other RFC π¦.
Abstract β¨
Okay so this doc is a tour of what's going wrong with protocols that try to hand out multicast IP addresses automatically in zeroconf (zero-configuration) networks πΈ. The villains are link-layer address collisions, hardware limits, inefficient multicast snooping, and the fact that people shouldn't have to configure everything by hand π. From all that drama, it pulls out requirements for a lightweight, decentralized fix that dynamically allocates unique multicast group addresses with no central coordinator π.
It lays out explicit requirements for discovery, allocation, conflict detection and resolution, and lease management β¨. It also looks at what's different about IPv6 and IPv4 multicast address ranges π, and calls out approaches that are just not it for zeroconf π. Basically, it's the foundation for future solutions that can run on their own inside local networks π§.
Status of This Memo π¦
This one is not an Internet Standards Track specification. It's published for informational purposes only π.
It's a product of the IETF, which means it represents the consensus of the IETF community π«Ά. It got public review and was approved for publication by the Internet Engineering Steering Group (IESG) β¨. Not every IESG-approved doc is a candidate for any level of Internet Standard, so check Section 2 of RFC 7841 for that π .
You can find the current status, any errata, and how to send feedback at https://www.rfc-editor.org/info/rfc10019 π.
Copyright Notice π
Copyright (c) 2026 IETF Trust and the persons identified as the document authors. All rights reserved. π
This doc is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) as they're in effect on the publication date. Please read these carefully, because they spell out your rights and restrictions for this doc π. Code Components pulled out of this doc have to include Revised BSD License text, as described in Section 4.e of the Trust Legal Provisions, and they come with no warranty, as described in the Revised BSD License π.
Table of Contents π§
1. Introduction
1.1. Requirements Language
2. Link-Layer Address Collisions
3. Solution Requirements
4. IPv6 Considerations
5. IPv4 Considerations
6. Security Considerations
7. IANA Considerations
8. References
8.1. Normative References
8.2. Informative References
Appendix A. Excluded Solutions
Acknowledgement
Authors' Addresses
1. Introduction πΈ
Multicast is the go-to when a network needs to get data from one sender to lots of receivers efficiently π¦. In some places, like small or isolated networks, multicast has to run without centralized servers or manual configuration π«Ά. These are called zero-configuration (zeroconf) multicast networks β¨.
One example is marine networks π, the kind with a mix of sensors, controls, and displays on a boat. Depending on the size and design of the vessel, they can be more or less complicated π . Devices range from cheap temperature or fluid sensors all the way up to high-bandwidth stuff like radar, sonar, or video feeds π‘. A lot of marine networks sit on a single subnet and use Layer 2 Ethernet switches to connect everything π§.
In these networks, multicast is the most efficient way to send sensor data to several displays β¨. But things get messy when high-bandwidth multicast streams overload links going to low-bandwidth devices π. Budget-friendly switches often don't support source-specific multicast (SSM), because their address table only maps destination Media Access Control (MAC) addresses π. So each multicast stream gets its own unique destination multicast IP address, and IGMP/MLD snooping [RFC4541] is used to control delivery π. That approach has limits, especially where the switch hardware lacks advanced multicast filtering capabilities π.
Marine networks show these issues really well, but they aren't the only ones with this problem π. Lots of other zeroconf multicast environments, like industrial automation, small-scale audio-visual (AV) systems, or ad hoc sensor networks, share similar constraints π§.
The Multicast Address Dynamic Client Allocation Protocol (MADCAP) [RFC2730] is a method for multicast IP address allocation, but its server-based model doesn't suit a zeroconf environment π . [RFC3306] and [RFC4489] both discuss similar approaches to host-based multicast IPv6 address allocation, but neither one adequately prevents link-layer address collisions π. Then [RFC3307] sets up a framework to avoid multicast address collisions at both IPv6 and link layers, but it still needs more refinement before anyone can put it into practice (see Section 4) π§.
This doc outlines the problem space for zeroconf multicast address allocation, describes the key limitations of current protocols, details where link-layer address collisions come from, and defines requirements for decentralized, zero-configuration multicast address allocation solutions πΊοΈ. Multicast apps deployed in a zeroconf environment can use these solutions to dynamically allocate multicast group addresses β¨. How a multicast group address gets used after allocation is outside this doc's scope π.
IPv6 is well-suited for zeroconf multicast networks, thanks to how IPv6 multicast is organized and its immense pool of possible multicast addresses π. Still, this doc considers IPv4 too, for networks where moving to IPv6 just isn't practical yet πΈ.
1.1. Requirements Language π
Here's the important bit: the key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here π―.
The requirements language gets used in Section 3, and it applies to implementations that conform to the listed requirements π«Ά.
2. Link-Layer Address Collisions π«Ά
Link-layer address collisions are a huge concern on multicast networks, especially when devices rely on zero-configuration operation π₯. A collision happens when two or more multicast groups get assigned the same link-layer (MAC) address, and that leads to performance or forwarding problems π©. This section walks through three scenarios where that can cause trouble π.
First up, lots of host network interfaces can filter multicast traffic right in hardware π οΈ. When an app joins a multicast group, the host network stack usually programs the hardware to accept only traffic for that group π―. But if two groups share the same link-layer address, the network interface can't tell them apart π΅. So the network stack has to process the unwanted traffic in software, which hurts performance and ramps up CPU usage π₯.
Second, link-layer address collisions make multicast snooping switches way less useful on a network π. Section 4 of [RFC4541] notes that some switches forward multicast traffic based solely on the link-layer address, without considering the network-layer group (see the results for Q2 and Q3) π΅οΈ. The survey is outdated, but switches with these limitations still exist in some of the target deployments π¦. In that case, if two multicast streams share the same MAC address, traffic can end up going to devices that never asked for it π . That's especially rough when low-bandwidth links get overwhelmed by high-bandwidth streams π. Additional concerns related to the overlap of IPv6 and link-layer addresses are discussed in Section 3 of [RFC4541] π.
Third, the internal design of some switches can also contribute to collisions π§©. For example, certain switch implementations use a hash table with fixed buckets to store forwarding entries based on MAC addresses (see [US6690667B1]) πͺ£. If multiple addresses hash to the same location and the bucket fills up, additional entries may be dropped or rejected, which means forwarding failures π.
These examples highlight why a collision-resistant multicast address allocation mechanism is essential in zeroconf environments π. How well this works depends on the capabilities of the hardware (like how many addresses the filters in host network interfaces support, and how big the tables in switches and routers are) and on how many multicast groups a particular receiver subscribes to π. When the number of entries in the filter tables exceeds what's available, a typical fallback is to bypass the filter entirely and flood traffic to the receiver π. That then adds a per-packet cost for any software-based filtering that's still needed π₯².
3. Solution Requirements β¨
okay so this section is where the RFC gets real about what a solution actually needs to do π«Ά the whole goal is decentralized, zero-configuration multicast IP address assignment, which means it has to work in dynamic, infrastructure-free environments πΈ no DHCP server to lean on, no admin hovering over everything. to be effective there, the solution needs to have these vibes:
[REQ-1]Unique Address Assignment: using the solution SHALL result in a unique address being assigned to the multicast group at both the network and link layers π[REQ-2]Resilience to Single Points of Failure: the solution SHALL be designed so it doesn't introduce a single point of failure, which means operation keeps going even if individual devices or links drop out π¦[REQ-3]Zero User Configuration: it SHALL operate without needing any user or administrator configuration, so it can be deployed smoothly on unmanaged networks β¨[REQ-4]Coexistence with Multicast Address Allocation Solutions: the design SHALL allow coexistence with other multicast IP address allocation solutions, including both manual assignment and existing dynamic protocols π€[REQ-5]Single-Subnet Operation: it SHALL support operation within a single IP subnet, which is super typical in link-local or isolated network environments π[REQ-6]No External Connectivity: the solution SHALL NOT require Internet access or connectivity to external infrastructure π ββοΈ[REQ-7]Supports Multiple Host Applications: it SHALL support multiple applications on the same host, with each one independently allocating multicast addresses and transmitting to those addresses π[REQ-8]Collision Detection and Resolution: the solution SHALL include mechanisms to detect and resolve multicast address collisions at both the network and link layers π₯
Note: okay this one is important π in rare cases, collisions can show up after a temporary network partition, when different parts of the network allocate the same multicast address on their own. when the network reconnects, those collisions SHALL be detectable and resolved gracefully, meaning the conflicting streams get migrated to unique addresses π
so on top of all that, there's a list of characteristics that are considered desirable, but the RFC leaves them as recommendations so solution designers have room to be flexible π§
[CONS-1]Multi-Subnet Support: operation across multiple subnets is beneficial in more complex or routed environments, and it SHOULD be supported πΈ[CONS-2]Standards Compatibility: the solution SHOULD aim to minimize the need for changes to existing protocols or standards that would affect backwards compatibility or deployment in existing networks π[CONS-3]Cross-Platform Availability: it SHOULD use capabilities that are widely available across host platforms and operating systems π[CONS-4]Minimal Dependency on Manufacturing Data: it SHOULD avoid relying on preloaded configuration or device-specific manufacturing data π[CONS-5]Low Overhead: the solution SHOULD minimize the volume and frequency of network traffic it generates during normal operation π¦[CONS-6]Advertisement: the solution SHOULD describe a mechanism for advertising and discovering multicast addresses that were allocated for an application π£[CONS-7]Network Topology: so it stays compatible with a variety of networks, the solution SHOULD work independently of the dynamics of the underlying topology and adjacencies π
4. IPv6 Considerations
the IPv6 multicast address rules in [RFC3307] are honestly comprehensive and super well-organized π any solution allocating IPv6 multicast addresses has to follow them, including solutions that meet the requirements in this document. BUT some parts of how [RFC3307] is organized need some love so a zeroconf multicast address assignment solution can actually coexist with other IPv6 multicast address assignment protocols π₯Ί
for example, Section 2 of [RFC3307] explains that the last 32 bits of an IPv6 multicast address, called the group ID, get mapped directly to the Ethernet MAC address π§ different parts of the group ID range are assigned depending on how the address gets allocated. Section 4.3 of [RFC3307] describes two ways to assign group IDs dynamically: one where a server does the assigning, and another where hosts assign addresses themselves. the catch is that both methods use the same group ID range, so if both are in use at the same time, there's a risk of address collisions π
there's also a concern that the group IDs used for this dynamic range overlap with the range used for Solicited-Node multicast addresses. those are a special kind of multicast that IPv6 uses for neighbor discovery (see Section 2.7.1 of [RFC4291]). that overlap makes unintentional conflicts with link-layer addresses more likely π
Note that [RFC3307] focuses on 48-bit addresses on Ethernet, but similar issues would show up on any medium that generates link-layer multicast addresses by truncating an IPv6 multicast address π«
5. IPv4 Considerations
in IPv4, multicast addresses can sometimes cause conflicts at the data link layer π© as Section 6.4 of [RFC1112] explains, this happens with Ethernet because only the lower 23 bits of an IPv4 multicast address are used to generate the Ethernet multicast address. an IPv4 multicast address is 32 bits and starts with a fixed 4-bit prefix, leaving 28 bits. so that means up to 2^(28-23) = 32 different multicast IP addresses can map to the same Ethernet address. the result? devices may receive multicast traffic they never asked for π
the address allocation guidelines in [RFC5771] didn't account for this type of collision when they were created. because of that limitation, the recommended approach for new designs that need dynamic multicast IP address assignment is to use IPv6 instead of IPv4 π·
that said, if IPv4 is necessary, multicast addresses SHOULD be chosen carefully from within the Administratively Scoped Block (239.0.0.0/8). solutions for zeroconf multicast address allocation SHOULD also try to avoid addresses that may already be in use by other applications on the same network, to cut down on the risk of conflicts π―
zeroconf coexistence with other IPv4 multicast address allocation solutions may not be possible. in that case, it may be necessary to require manual configuration or to limit which solutions get deployed π₯²
6. Security Considerations π¨
okay this one is serious, bestie π€ zeroconf multicast address allocation mechanisms are vulnerable to accidental or malicious address collisions, and those can lead to denial of service or misdirection of traffic. solutions derived from these requirements SHALL include measures for collision detection and conflict resolution [REQ-8], and they SHOULD include measures to prevent unauthorized address use. specific security mechanisms are outside the scope of this document, so don't come looking for them here π
7. IANA Considerations
this document has no IANA actions π
8. References π
8.1. Normative References
[RFC1112] Deering, S., "Host extensions for IP multicasting", STD 5,
RFC 1112, DOI 10.17487/RFC1112, August 1989,
<https://www.rfc-editor.org/info/rfc1112>.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>.
[RFC2464] Crawford, M., "Transmission of IPv6 Packets over Ethernet
Networks", RFC 2464, DOI 10.17487/RFC2464, December 1998,
<https://www.rfc-editor.org/info/rfc2464>.
[RFC3307] Haberman, B., "Allocation Guidelines for IPv6 Multicast
Addresses", RFC 3307, DOI 10.17487/RFC3307, August 2002,
<https://www.rfc-editor.org/info/rfc3307>.
[RFC4291] Hinden, R. and S. Deering, "IP Version 6 Addressing
Architecture", RFC 4291, DOI 10.17487/RFC4291, February
2006, <https://www.rfc-editor.org/info/rfc4291>.
[RFC4541] Christensen, M., Kimball, K., and F. Solensky,
"Considerations for Internet Group Management Protocol
(IGMP) and Multicast Listener Discovery (MLD) Snooping
Switches", RFC 4541, DOI 10.17487/RFC4541, May 2006,
<https://www.rfc-editor.org/info/rfc4541>.
[RFC5771] Cotton, M., Vegoda, L., and D. Meyer, "IANA Guidelines for
IPv4 Multicast Address Assignments", BCP 51, RFC 5771,
DOI 10.17487/RFC5771, March 2010,
<https://www.rfc-editor.org/info/rfc5771>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>.
8.2. Informative References
[RFC2730] Hanna, S., Patel, B., and M. Shah, "Multicast Address
Dynamic Client Allocation Protocol (MADCAP)", RFC 2730,
DOI 10.17487/RFC2730, December 1999,
<https://www.rfc-editor.org/info/rfc2730>.
[RFC3306] Haberman, B. and D. Thaler, "Unicast-Prefix-based IPv6
Multicast Addresses", RFC 3306, DOI 10.17487/RFC3306,
August 2002, <https://www.rfc-editor.org/info/rfc3306>.
[RFC4489] Park, J., Shin, M., and H. 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>.
[US6690667B1]
Warren, D., "Switch with adaptive address lookup hashing
scheme", United States Patent 6690667B1, 10 February 2004,
<https://patents.google.com/patent/US6690667B1/en>.
Appendix A. Excluded Solutions π§©
the way multicast IP addresses get mapped to link-layer multicast addresses is already defined in existing standards, like [RFC1112] for IPv4 over Ethernet and [RFC2464] for IPv6 over Ethernet. those standards specify a fixed prefix that gets used when creating the Ethernet multicast address. changing that prefix would open the door to new solutions, but they aren't being considered here for practical reasons π
one idea is to reduce the size of the fixed prefix, which would leave more bits free for the group ID. that would make address collisions less likely π another idea is to create a new protocol that dynamically maps multicast IP addresses to link-layer addresses, kind of like how DHCP assigns IP addresses. that protocol could work locally on a subnet, and routers could adjust the mapping for incoming multicast traffic at the network edge π
but these ideas would need significant changes to how network devices handle multicast traffic. since existing hardware and operating systems are built around the current standards, it's unlikely that such changes would be widely supported anytime soon π₯Ή
another potential solution for IPv4 was to assign 32 separate, non-overlapping address ranges so collisions could be avoided altogether (e.g., assign 224.0.0.254, 224.128.0.254, 225.0.0.254, etc.). however, this was rejected because [RFC5771] discourages new allocations, given how limited the IPv4 multicast address space already is π
Acknowledgement β¨
okay, big thank-you to the National Marine Electronics Association π they've done so much work building marine industry standards, and they supported this research too. literally iconic of them π
also a huge shoutout to the members of the PIM Working Group π«Ά they helped with early brainstorming sessions and reviewed this document, and Gunter van de Velde gets a special thanks for his review and suggestions. you all made this so much better π
Authors' Addresses π¦
here's who wrote this, and how to reach them π
Nate Karstens
Garmin International, Inc.
1200 E. 151st St.
Olathe, KS 66062-3426
United States of America
Email: nate.karstens@gmail.com
Dino Farinacci
lispers.net
San Jose, CA
United States of America
Email: farinacci@gmail.com
Mike McBride
Futurewei
United States of America
Email: michael.mcbride@futurewei.com
π¦ where this page comes from
- ietf: rfc10019 2026-07
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms