Internet-Draft | Zeroconf Mcast Addr Alloc Prblm Statemnt | September 2025 |
Karstens, et al. | Expires 3 April 2026 | [Page] |
This document defines the problem space and associated requirements for automatically assigning multicast addresses in zero-configuration ("zeroconf") networking environments. It addresses key challenges, such as address collisions, hardware limitations, multicast snooping inefficiencies, and the need to avoid manual configuration. Based on these challenges, it derives requirements for a lightweight, decentralized protocol capable of dynamically allocating unique multicast group addresses without central coordination.¶
The document presents explicit requirements covering discovery, allocation, conflict detection and resolution, and lease management. It also evaluates considerations specific to IPv6 and IPv4 multicast address ranges, and identifies approaches that are unsuited for zeroconf deployment. This foundation serves as a reference for developing future multicast address allocation protocols that operate autonomously within local networks.¶
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 https://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 3 April 2026.¶
Copyright (c) 2025 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 (https://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 Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License.¶
Multicast communication is commonly used in networks that need to distribute data from one sender to multiple receivers efficiently. In some environments, such as small or isolated networks, multicast must operate without centralized servers or manual configuration. These are referred to as zero-configuration (zeroconf) multicast networks.¶
One example of such an environment is marine networks, which typically include a mix of sensors, controls, and displays. These networks vary in complexity depending on the size and design of the vessel. Devices may range from low-cost temperature or fluid sensors to high-bandwidth sources such as radar, sonar, or video feeds. Most marine networks are built on a single subnet and rely on Layer 2 Ethernet switches to connect devices.¶
In these networks, multicast is the most efficient method for distributing sensor data to multiple displays. However, challenges arise when high-bandwidth multicast streams overload links to low-bandwidth devices. Cost-effective switches often do not support source-specific multicast (SSM), so IGMP snooping [RFC4541] is used to control multicast delivery. This method introduces limitations, especially in environments where switch hardware lacks advanced multicast filtering capabilities.¶
While marine networks illustrate these issues well, the challenges they face are not unique. Many other zeroconf multicast environments, such as industrial automation, small-scale AV systems, or ad hoc sensor networks, share similar constraints. This document outlines the problem space for zeroconf multicast address allocation, describes the key limitations of current solutions such as MADCAP [RFC2730], and defines a set of requirements for a decentralized, zero-configuration multicast address allocation protocol.¶
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.¶
Address collisions are a key concern in multicast networks, particularly when devices rely on zero-configuration operation. Collisions occur when two or more multicast groups are assigned the same link-layer (MAC) address, leading to performance or forwarding issues. This section outlines three scenarios where such collisions can cause problems.¶
First, many Ethernet interfaces allow filtering of multicast traffic directly in hardware. When an application joins a multicast group, the network stack typically programs the hardware to accept only traffic for that group. However, if two groups share the same link-layer address, the hardware cannot distinguish them. The network stack is then forced to process unwanted traffic in software, reducing performance and increasing CPU usage.¶
Second, networks that use multicast snooping switches are particularly vulnerable. As described in [RFC4541], Section 4, many switches forward multicast traffic based solely on the link-layer address, without considering the network-layer group (see the results for Q2 and Q3). In such cases, if two multicast streams share the same MAC address, traffic may be sent to devices that did not request it. This is especially problematic when low-bandwidth links are overwhelmed by high-bandwidth streams. Additional concerns related to the overlap of IPv6 and link-layer addresses are discussed in [RFC4541], Section 3.¶
Third, the internal design of some switches can also contribute to collisions. For example, certain switch implementations [US6690667B1] use hash tables to store forwarding entries based on MAC addresses. If multiple addresses hash to the same location and the table fills up, additional entries may be dropped or rejected, resulting in forwarding failures.¶
These examples highlight why a collision-resistant multicast address allocation mechanism is essential in zeroconf environments.¶
A protocol intended for decentralized, zero-configuration multicast address assignment is expected to operate in dynamic, infrastructure-free environments. To be effective in such contexts, the protocol needs to exhibit the following characteristics:¶
Note: In rare cases, collisions may arise after a temporary network partition, when different parts of the network allocate the same multicast address independently. Upon reconnection, such collisions should be detectable and resolved gracefully.¶
In addition to the above, the following characteristics are considered desirable:¶
The rules for IPv6 multicast addresses, described in [RFC3307], are comprehensive and well-organized. However, some aspects of its current organization need to be improved to ensure that a zeroconf multicast address assignment protocol can coexist with other IPv6 multicast protocols.¶
For example, section 2 of this RFC explains that the last 32 bits of an IPv6 multicast address, called the group ID, are mapped directly to the Ethernet MAC address. Different parts of the group ID range are assigned based on how the address is allocated. Section 4.3 of the same RFC describes two ways to assign group IDs dynamically: one where a server assigns addresses, and one where hosts assign addresses themselves. However, both methods use the same group ID range, which creates a risk of address collisions if both are used at the same time.¶
An additional concern is that this dynamic range overlaps with the range used for Solicited-Node multicast addresses, a special type of multicast used by IPv6 for neighbor discovery (see Section 2.7.1 of [RFC4291]). This overlap increases the risk of unintentional conflicts.¶
A solution to these issues is presented in [I-D.ietf-pim-updt-ipv6-dyn-mcast-addr-grp-id].¶
In IPv4, multicast addresses can sometimes cause conflicts at the Ethernet (link-layer) level. As explained in Section 6.4 of [RFC1112], this happens because only the lower 23 bits of an IPv4 multicast address are used to generate the Ethernet multicast address. Since an IPv4 multicast address is 32 bits and starts with a fixed 4-bit prefix, this means up to 32 different multicast IP addresses can map to the same Ethernet address. As a result, devices may receive multicast traffic they didn't ask for.¶
The address allocation guidelines in [RFC5771] did not account for this type of collision when they were created. Because of this limitation, the recommended approach for new designs that need dynamic multicast address assignment is to use IPv6 instead of IPv4.¶
However, if using IPv4 is necessary, then multicast addresses should be chosen carefully from within the Administratively Scoped Block (239.0.0.0/8). Additionally, the protocol should try to avoid using addresses that may already be in use by other applications on the same network, to minimize the risk of conflicts.¶
The way multicast IP addresses are mapped to Ethernet (link-layer) multicast addresses is already defined in existing standards: [RFC1112] for IPv4 and [RFC2464] for IPv6. These standards specify a fixed prefix used in creating the Ethernet multicast address. Changing this prefix would open the door to new solutions, but those are not being considered here for practical reasons.¶
One idea is to reduce the size of the fixed prefix, which would leave more bits available for the group ID. This would make address collisions less likely. Another idea is to create a new protocol that dynamically maps multicast IP addresses to Ethernet addresses, similar to how DHCP assigns IP addresses. This protocol could work locally on a subnet, and routers could adjust the mapping for incoming multicast traffic at the network edge.¶
However, these ideas would require 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 to avoid collisions altogether. But this was rejected because [RFC5771] discourages new allocations, given how limited the IPv4 multicast address space already is.¶
Security considerations will be discussed by any proposed zero-configuration multicast address allocation algorithm.¶
This document has no IANA actions.¶
Special thanks to the National Marine Electronics Association for their contributions in developing marine industry standards and their support for this research.¶
Thanks also to the members of the PIM working group for their early brainstorming sessions and review of this draft, and to Gunter van de Velde for his review and suggestions.¶