RFC 9778 BEST CURRENT PRACTICE IANA · MULTICAST · REGISTRIES

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.

On rfc-editor.org ↗
PUBLISHED
March 2025
AUTHORS
B. Haberman
STREAM
IETF
BUILDS ON
RFC 3228 — IANA Considerations for IPv4 Internet Group Management Protocol (IGMP)
BCP NUMBER
BCP 57
IGMP REGISTRY POLICY
Standards Action
MLD TYPE/CODE POLICY
IETF Review (via RFC 4443)
QUERY FLAGS UNASSIGNED
Bits 1-3
REPORT FLAGS UNASSIGNED
Bits 1-15
DOI
10.17487/RFC9778

RFC text

Contents
Original text · RFC Editor View on rfc-editor.org ↗
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
PROBLEMIGMP (IPv4) and MLD (IPv6) headers carry Type, Code and Flags fields whose values must be assigned without collisions, but the old guidance in RFC 3228 covered only IGMP.
MECHANISMRFC 9778 updates the IGMP registries to Standards Action, points MLD at the ICMPv6 registry, and creates two new flag registries shared by IGMP and MLD.
WHY IT MATTERSIPv4 and IPv6 group management protocols now share one set of allocation guidelines, and RFC 3228 is obsoleted.

§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.

THE TWO NEW FLAG REGISTRIES
RegistryMessages coveredBit 0Unassigned bits
IGMP/MLD Query Message FlagsIGMPv3 Query, MLDv2 QueryE (Extension)1-3
IGMP/MLD Report Message FlagsIGMPv3 Report, MLDv2 ReportE (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.

§7References