IGMP/MLD IANA: IANA Considerations for Internet Group Management Protocols
The rulebook IANA follows when handing out new values in the IGMP and MLD headers, replacing RFC 3228.
Haberman, B., Ed., "IANA Considerations for Internet Group Management Protocols", BCP 57, RFC 9778, DOI 10.17487/RFC9778, March 2025, <https://www.rfc-editor.org/info/rfc9778>.
@misc{rfc9778,
series = {Request for Comments},
number = 9778,
howpublished = {RFC 9778},
publisher = {RFC Editor},
doi = {10.17487/RFC9778},
url = {https://www.rfc-editor.org/info/rfc9778},
author = {B. Haberman},
title = {{IANA Considerations for Internet Group Management Protocols}},
pagetotal = 6,
year = 2025,
month = mar,
} RFC text
Contents
Internet Engineering Task Force (IETF) B. Haberman, Ed.
Request for Comments: 9778 JHU APL
BCP: 57 March 2025
Obsoletes: 3228
Category: Best Current Practice
ISSN: 2070-1721
IANA Considerations for Internet Group Management Protocols
Abstract
This document specifies revised IANA considerations for the Internet
Group Management Protocol (IGMP) and the Multicast Listener Discovery
(MLD) protocol. This document specifies the guidance provided to
IANA to manage values associated with various fields within the
protocol headers of the group management protocols.
This document obsoletes RFC 3228 and unifies guidelines for IPv4 and
IPv6 group management protocols.
Status of This Memo
This memo documents an Internet Best Current Practice.
This document is a product of the Internet Engineering Task Force
(IETF). It represents the consensus of the IETF community. It has
received public review and has been approved for publication by the
Internet Engineering Steering Group (IESG). Further information on
BCPs is available in Section 2 of RFC 7841.
Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
https://www.rfc-editor.org/info/rfc9778.
Copyright Notice
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.
This document may contain material from IETF Documents or IETF
Contributions published or made publicly available before November
10, 2008. The person(s) controlling the copyright in some of this
material may not have granted the IETF Trust the right to allow
modifications of such material outside the IETF Standards Process.
Without obtaining an adequate license from the person(s) controlling
the copyright in such materials, this document may not be modified
outside the IETF Standards Process, and derivative works of it may
not be created outside the IETF Standards Process, except to format
it for publication as an RFC or to translate it into languages other
than English.
Table of Contents
1. Introduction
1.1. Conventions Used in This Document
2. IANA Considerations
2.1. Type and Code Fields
2.1.1. Internet Group Management Protocol
2.1.2. Multicast Listener Discovery
2.2. IGMP/MLD Query Message Flags
2.3. IGMP/MLD Report Message Flags
3. Security Considerations
4. References
4.1. Normative References
4.2. Informative References
Contributors
Author's Address
1. Introduction
The sections that follow describe the allocation guidelines
associated with the specified fields within the Internet Group
Management Protocol (IGMP) [STD100] and the Multicast Listener
Discovery (MLD) [STD101] headers. Some of these registries were
created previously, while others are created by this document.
This document obsoletes [RFC3228] and unifies guidelines for IPv4 and
IPv6 group management protocols.
1.1. Conventions Used in This Document
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.
2. IANA Considerations
The registration procedures used in this document are defined in
[RFC8126].
2.1. Type and Code Fields
2.1.1. Internet Group Management Protocol
The IGMP header contains the following fields that carry values
assigned from IANA-managed name spaces: Type and Code. Code field
values are defined relative to a specific Type value.
[RFC3228] created the "IGMP Type Numbers" registry for the IGMP Type
field. This document updates that registry in two ways:
* The registration procedure has been changed to Standards Action.
* The references to [RFC3228], including the reference for the
registry, have been changed to this document.
[RFC3228] created the '"Code" Fields' registry for Code values for
existing IGMP Type fields. This document updates that registry in
two ways:
* The registration procedure has been changed to Standards Action.
* The reference for the registry has been changed to this document.
Note that the policy for assigning Code values for new IGMP Types
MUST be defined in the document defining the new Type value.
2.1.2. Multicast Listener Discovery
As with IGMP, the MLD header also contains Type and Code fields.
Assignment of those fields within the MLD header is defined in
[RFC4443] with a registration policy of IETF Review; see
<https://www.iana.org/assignments/icmpv6-parameters>.
2.2. IGMP/MLD Query Message Flags
IANA has created the "IGMP/MLD Query Message Flags" registry for the
bits in the Flags field of the MLDv2 Query Message [STD101] and the
IGMPv3 Query Message [STD100]. It has been populated as follows:
+===========+============+=============+===========+
| Flags Bit | Short Name | Description | Reference |
+===========+============+=============+===========+
| 0 | E | Extension | [RFC9279] |
+-----------+------------+-------------+-----------+
| 1-3 | Unassigned |
+-----------+--------------------------------------+
Table 1: IGMP/MLD Query Message Flags Registry
The Flags Bit value in the registry above corresponds to the column
header in the packet format diagrams in Sections 4.1 and 4.2 of
[STD100] and Sections 5.1 and 5.2 of [STD101].
The assignment of new bit flags within the Flags field requires
Standards Action.
2.3. IGMP/MLD Report Message Flags
IANA has created the "IGMP/MLD Report Message Flags" registry for the
bits in the Flags field of the MLDv2 Report Message and the IGMPv3
Report Message. It has been populated as follows:
+===========+============+=============+===========+
| Flags Bit | Short Name | Description | Reference |
+===========+============+=============+===========+
| 0 | E | Extension | [RFC9279] |
+-----------+------------+-------------+-----------+
| 1-15 | Unassigned |
+-----------+--------------------------------------+
Table 2: IGMP/MLD Report Message Flags Registry
The Flags Bit value in the registry above corresponds to the column
header in the packet format diagrams in [STD101] and [STD100].
The assignment of new bit flags within the Flags field requires
Standards Action.
3. Security Considerations
Security analyzers such as firewalls and network intrusion detection
monitors often rely on unambiguous interpretations of the fields
described in this memo. As new values for the fields are assigned,
existing security analyzers that do not understand the new values may
fail, resulting in either loss of connectivity if the analyzer
declines to forward the unrecognized traffic or loss of security if
it does forward the traffic and the new values are used as part of an
attack. This vulnerability argues for high visibility (which the
Standards Action process ensures) for the assignments whenever
possible.
4. References
4.1. Normative References
[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>.
[RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for
Writing an IANA Considerations Section in RFCs", BCP 26,
RFC 8126, DOI 10.17487/RFC8126, June 2017,
<https://www.rfc-editor.org/info/rfc8126>.
[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>.
[STD100] Internet Standard 100,
<https://www.rfc-editor.org/info/std100>.
At the time of writing, this STD comprises the following:
Haberman, B., Ed., "Internet Group Management Protocol,
Version 3", STD 100, RFC 9776, DOI 10.17487/RFC9776, March
2025, <https://www.rfc-editor.org/info/rfc9776>.
[STD101] Internet Standard 101,
<https://www.rfc-editor.org/info/std101>.
At the time of writing, this STD comprises the following:
Haberman, B., Ed., "Multicast Listener Discovery Version 2
(MLDv2) for IPv6", STD 101, RFC 9777,
DOI 10.17487/RFC9777, March 2025,
<https://www.rfc-editor.org/info/rfc9777>.
4.2. Informative References
[RFC3228] Fenner, B., "IANA Considerations for IPv4 Internet Group
Management Protocol (IGMP)", BCP 57, RFC 3228,
DOI 10.17487/RFC3228, February 2002,
<https://www.rfc-editor.org/info/rfc3228>.
[RFC4443] Conta, A., Deering, S., and M. Gupta, Ed., "Internet
Control Message Protocol (ICMPv6) for the Internet
Protocol Version 6 (IPv6) Specification", STD 89,
RFC 4443, DOI 10.17487/RFC4443, March 2006,
<https://www.rfc-editor.org/info/rfc4443>.
[RFC9279] Sivakumar, M., Venaas, S., Zhang, Z., and H. Asaeda,
"Internet Group Management Protocol Version 3 (IGMPv3) and
Multicast Listener Discovery Version 2 (MLDv2) Message
Extension", RFC 9279, DOI 10.17487/RFC9279, August 2022,
<https://www.rfc-editor.org/info/rfc9279>.
Contributors
Bill Fenner is the author of [RFC3228], which provided a portion of
the content contained herein.
Author's Address
Brian Haberman (editor)
Johns Hopkins University Applied Physics Lab
Email: brian@innovationslab.net
AI ELI5
On this page
§1What This Document Does
RFC 9778 is a Best Current Practice (BCP 57) that gives IANA, the keeper of protocol number registries, allocation guidelines for fields in the Internet Group Management Protocol (IGMP) and Multicast Listener Discovery (MLD) headers. IGMP is defined in STD 100 and MLD in STD 101. Some of the registries it describes were created earlier, and others are created by this document.
The document obsoletes RFC 3228 and unifies the guidelines for the IPv4 and IPv6 group management protocols. It uses the registration procedures defined in RFC 8126.
Two groups of multicast helpers, one for each kind of Internet address, have codes in their messages. This paper tells the list keeper how to give out new codes for both groups the same way.
§2.1.1IGMP Type and Code Registries
The IGMP header has two fields whose values come from IANA-managed name spaces: Type and Code. Code values are defined relative to a specific Type value.
RFC 3228 created the "IGMP Type Numbers" registry and the "Code" Fields registry. RFC 9778 updates both in the same way: the registration procedure changes to Standards Action, and the reference changes from RFC 3228 to this document.
The policy for assigning Code values under a brand new IGMP Type MUST be defined in the document that defines that Type.
To add a new kind of IGMP message, you now need a full official standard, not just a quick request. If the new message has sub-codes, its own paper must say how those are handed out.
§2.1.2MLD Type and Code Fields
The MLD header also has Type and Code fields. RFC 9778 does not create a new registry for them. Their assignment is defined in RFC 4443 with a registration policy of IETF Review, and the values live in the ICMPv6 parameters registry at IANA.
So IGMP type values follow Standards Action, while MLD type values follow the IETF Review policy already set by the ICMPv6 specification.
The IPv6 helpers already have their code list somewhere else, and that list has its own rules. This paper just points to it.
§2.2Query and Report Message Flags
IANA has created two registries for bits in the Flags field of the group management messages. Both apply to IGMP and MLD together.
- "IGMP/MLD Query Message Flags" covers the Flags field of the IGMPv3 Query and the MLDv2 Query. Bit 0 is
E(Extension), referencing RFC 9279. Bits 1 to 3 are unassigned. - "IGMP/MLD Report Message Flags" covers the Flags field of the IGMPv3 Report and the MLDv2 Report. Bit 0 is again
E(Extension), referencing RFC 9279. Bits 1 to 15 are unassigned.
The Flags Bit value in each registry corresponds to the column header in the packet format diagrams of the IGMPv3 and MLDv2 specifications. Assigning a new bit flag in either registry requires Standards Action.
Each message has a few tiny on/off switches. Only one switch, labeled E, has a job so far. If anyone wants to give another switch a job, they need an official standard.
| Registry | Messages covered | Bit 0 | Unassigned bits |
|---|---|---|---|
| IGMP/MLD Query Message Flags | IGMPv3 Query, MLDv2 Query | E (Extension) | 1-3 |
| IGMP/MLD Report Message Flags | IGMPv3 Report, MLDv2 Report | E (Extension) | 1-15 |
§3Security Considerations
Firewalls and intrusion detection monitors often rely on unambiguous interpretation of these header fields. When a new value is assigned, an analyzer that does not understand it may fail. If it declines to forward the unknown traffic, connectivity is lost. If it forwards the traffic and the new value is part of an attack, security is lost.
The RFC argues that this risk calls for high visibility for assignments, which the Standards Action process ensures.
Guards at the gate know the list of normal codes. If a strange new code shows up, they might wrongly block it or wrongly wave it through, so new codes should be announced loudly.
§4What Changed From RFC 3228
RFC 3228 was written by Bill Fenner for IPv4 IGMP only, and it supplied a portion of the content of RFC 9778. The changes are:
- The IGMP Type and Code registries move to Standards Action, with references pointing to RFC 9778.
- MLD is brought into the same document, with its Type and Code assignment pointed at the ICMPv6 registry.
- Two new shared flag registries are created for Query and Report messages.
The old rule sheet only covered one of the two groups. The new one covers both and adds a list for the on/off switches.