<?xml version="1.0" encoding="utf-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.8 (Ruby 2.6.10) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>

<?rfc {"tocdepth"=>5}="yes"?>
<?rfc comments="yes"?>

<rfc ipr="pre5378Trust200902" docName="draft-ietf-pim-rfc1112bis-09" category="std" consensus="true" submissionType="IETF" obsoletes="1112" updates="791, 1122" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="IP Multicast Host Extensions and ASM">Host Extensions for IP Multicasting and "Any Source Multicasting" (ASM) IP service</title>

    <author initials="T." surname="Eckert" fullname="Toerless Eckert" role="editor">
      <organization>Futurewei Technologies USA</organization>
      <address>
        <postal>
          <country>USA</country>
        </postal>
        <email>tte@cs.fau.de</email>
      </address>
    </author>
    <author initials="S. E." surname="Deering" fullname="Stephen E. Deering">
      <organization>Retired</organization>
      <address>
        <postal>
          <city>Vancouver, British Columbia</city>
          <country>Canada</country>
        </postal>
        <email>deering@noreply.ietf.org</email>
      </address>
    </author>

    <date year="2026" month="June" day="11"/>

    
    <workgroup>PIM</workgroup>
    

    <abstract>


<?line 112?>

<t>This memo specifies the extensions required of a host implementation
of the Internet Protocol (IP) to support IP multicast with the IP service
interface "Any Source Multicast" (ASM). This specification applies
to both versions 4 and 6 of the Internet Protocol.
Distribution of this memo is unlimited.</t>

<t>This document replaces <xref target="RFC1112"/> for everything but its specification of
the IGMP version 1 protocol.</t>



    </abstract>



  </front>

  <middle>


<?line 123?>

<section anchor="status-of-this-memo"><name>STATUS OF THIS MEMO</name>

<t>[ To be removed before publication:
Summary of considerations for reviews by different groups:</t>

<t>This -bis is intended to replace RFC1112 maintaining it internet
standard designation, but extending it for IPv6, additional terminology (ASM/SSM),
and refining the specification with established industry practices.</t>

<t>The core parts of the document are changed as little as possible to maintain
all original rfc1112 text (except IGMPv1) as much as possible - given how it has very well
stood the test of time: all well-known IP multicast host stack implementations
including IPv6 - even though unspecified there - are based on the principles of
rfc1112. New sections and existing, minimally changed sections can easily
be recognized by using rfcdiff against RFC1112.</t>

<t>All changes/enhancements
are meticulously matched against implementation and operational practices
that have evolved and are detailled in this memo: this -bis should match
the ubiquitously deployed IP multicast service better than rfc1112.</t>

<t>SECDIR is asked primarily to review section 12 (Security Considerations).</t>

<t>INTDIR: This document would logically belong to INT as it extends the
IPv4/IPv6 host stack for IP Multicast (and references to SSM). It simply
evolved as a PIM document due to PIM-WG ongoing ownership of all of
IP multicast below application layer. IPv6 is added mostly "by-reference",
because in the absence of an earlier attempt to add IPv6 support into an
rfc1112bis, all normatively necessary aspects of IPv6 multicast where added
to a scattered set of RFCs, which are now comprehensively referenced in
this memo.</t>

<t>TSVDIR: Consider this document to be normative for all "UDP" independent
service and abstract API aspects of datagram IP multicast service. Its hence
related to the work by TAPS. The Security Considerations sections specifically
discusses challenges of adopting the socket model from unicast to multicast.</t>

<t>IOTDIR: IP multicast is widely in IOT, often without IP multicast routing just
locally in LANs, radio-LANs. This memo should be the best common reference
for the quirks of IP multcast host stacks, specifically with the added
discussion of link-local addresses and socket (security) challenges.</t>

<t>]</t>

<t>This memo specifies the extensions required of a host implementation
of the Internet Protocol (IP) to support IP multicast with the IP service
interface "Any Source Multicast" (ASM). This specification applies
to both versions 4 and 6 of the Internet Protocol.
Distribution of this memo is unlimited.</t>

<t>This document replaces <xref target="RFC1112"/> for everything except for its specification of
the IGMP version 1 protocol.</t>

<section anchor="requirements-language"><name>Requirements Language</name>

<t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>

<?line -18?>

</section>
</section>
<section anchor="introduction"><name>INTRODUCTION</name>

<section anchor="summary"><name>Summary</name>

<t>This memo specifies the extensions required of a host implementation
of the Internet Protocol (IP) to support IP multicast. It replaces <xref target="RFC791"/>
for everything except for the specification of the protocol IGMP version 1
in Appendix I. of <xref target="RFC1112"/>. This document declares <xref target="RFC1112"/> including
IGMP version 1 historic.</t>

<t><xref target="RFC1112"/> specified IP multicast for version 4 of the IP protocol (IPv4, <xref target="RFC791"/>),
and refers to that version as IP. This document applies both to version 4 of the IP protocol
and version 6 of the IP protocol (IPv6, <xref target="RFC8200"/>).</t>

<t>THE TERM IP IS USED IN THIS DOCUMENT FOR TEXT APPLYING EQUALLY TO IPv4 AND IPv6.</t>

<t>Where specifications in support of IP multicast
for version 6 of the IP protocol where already provided by other RFCs, this document
provides references to those pre-existing specifications, so that this document can
serve as a complete single point of reference for the host extensions for IP multicast
with either versions of IP.</t>

<t>"Source Specific Multicast", (SSM, <xref target="SSM"/>) introduced a complementary 
extension to the IP service from the one specified here.
It relies on all aspects of the host stack extensions  specified here,
such as <xref target="ethernet"/>, and uses or extends them.  The service specified here is called
"Any Source Multicast" (ASM) to distinguish it explicitly from SSM.
This document also describes, where SSM changes specifications from <xref target="RFC1112"/>.</t>

<t>Due to the existence of both ASM and SSM, the term "IP multicast" best refers to the
complete set of IP host extensions in support of either service options:
this specification for ASM plus <xref target="SSM"/>).  When the term IP multicast is used to
refer to the IP multicast service without further qualification, then ASM is to be implied.
See also <xref target="terminology"/>.</t>

<t>This specification aims to maintain all the original text of <xref target="RFC1112"/> where
technically appropriate. This incurs the use of some historic language, such as
"(internet) gateway" to sometimes refer to IP routers, and
capitalization of chapter headings.</t>

<t>[RFCeditor: please remove this remark before publication.
Reviewers: Please use rfcdiff to easier recognize the sections inherited from RFC1112
and distinguish them from new chapters and sections. The pre-existing text attempts
to include only necessary technical enhancements but not other editorial enhancements. ]</t>

<t>See <xref target="normative"/> and <xref target="changes"/> for a detailed list of changes from <xref target="RFC1112"/>.</t>

</section>
<section anchor="overview"><name>Overview</name>

<t>IP multicasting is the transmission of an IP datagram to a "host
group", a set of zero or more hosts identified by a single IP
destination address.  A multicast datagram is delivered to all
members of its destination host group with the same "best-efforts"
reliability as regular unicast IP datagrams, i.e., the datagram is
not guaranteed to arrive intact at all members of the destination
group or in the same order relative to other datagrams.</t>

<t>The membership of a host group is dynamic; that is, hosts may join
and leave groups at any time.  There is no restriction on the
location or number of members in a host group.  A host may be a
member of more than one group at a time.  A host need not be a member
of a group to send datagrams to it.</t>

<t>A host group may be permanent or transient.  A permanent group has a
well-known, administratively assigned IP address.  It is the address,
not the membership of the group, that is permanent; at any time a
permanent group may have any number of members, even zero.  Those IP
multicast addresses that are not reserved for permanent groups are
available for dynamic assignment to transient groups which exist only
as long as they have members.</t>

<t>Internetwork forwarding of IP multicast datagrams is handled by
"multicast routers" which may be co-resident with, or separate from,
internet gateways.  A host transmits an IP multicast datagram as a
local network multicast which reaches all immediately-neighboring
members of the destination host group.  If the datagram has an IPv4
time-to-live or IPv6 hop limit greater than 1, the multicast router(s) attached to the
local network take responsibility for forwarding it towards all other
networks that have members of the destination group.  On those other
member networks that are reachable within the IPv4 time-to-live or IPv6 hop limit, an
attached multicast router completes delivery by transmitting the
datagram as a local multicast.</t>

<t>This memo specifies the extensions required of a host IP
implementation to support IP multicasting, where a "host" is any
internet host or gateway other than those acting as multicast
routers.  The algorithms and protocols used within and between
multicast routers are transparent to hosts and are specified in
separate documents.  This memo also does not specify how local
network multicasting is accomplished for all types of network,
although it does specify the required service interface to an
arbitrary local network and gives an Ethernet specification as an
example.  Specifications for other types of network will be the
subject of future memos.</t>

</section>
</section>
<section anchor="conformance"><name>LEVELS OF CONFORMANCE</name>

<t>There are four levels of conformance to this specification. They
apply independently for IPv4 and IPv6.</t>

<t>All Internet hosts and gateways are <bcp14>RECOMMENDED</bcp14> to conform to
Level 2 for the versions of IP that they support.</t>

<t>Hosts or gateways supporting IPv4 that can not conform to Level 2
for it are <bcp14>RECOMMENDED</bcp14> to conform to Level 2L.</t>

<t>Hosts or gateways supporting IPv6
that can not conform to Level 2 for IPv6 are <bcp14>REQUIRED</bcp14> to conform to Level 2L.
This option is introduced in support of the requirements from <xref target="RFC4291"/>, section 2.8.</t>

<t>See also <xref target="ll-apdx"/> for further explanations of the use of link local addresses.</t>

<section anchor="level-0-no-support-for-ip-multicasting"><name>Level 0: no support for IP multicasting.</name>

<t>Level 0 hosts will, in general, be
unaffected by multicast activity.  The only exception arises on some
types of local network, where the presence of level 1 or 2 hosts may
cause misdelivery of multicast IP datagrams to level 0 hosts.  Such
datagrams can easily be identified by the presence of an IP multicast
address in their destination address field; they <bcp14>SHOULD</bcp14> be quietly
discarded by hosts that do not support IP multicasting.  Class D
addresses in support of multicasting with IPv4 are described in <xref target="host-groups"/>,
IPv6 addresses for IP multicasting are described in section 2.7 of <xref target="RFC4291"/> and <xref target="RFC7371"/>.</t>

</section>
<section anchor="level-1-support-for-sending-but-not-receiving-multicast-ip-datagrams"><name>Level 1: support for sending but not receiving multicast IP datagrams.</name>

<t>Level 1 allows a host to partake of some multicast-based services,
such as resource location or status reporting, but it does not allow
a host to join any host groups.  An IP implementation may be upgraded
from level 0 to level 1 very easily and with little new code.  Only
sections 4, 5, and 6 of this memo are applicable to level 1
implementations.</t>

</section>
<section anchor="level2"><name>Level 2: full support for IP multicasting.</name>

<t>Level 2 allows a host to join and leave host groups, as well as send
IP datagrams to host groups.  Most IPv6 hosts require Level 2 support
because IPv6 Neighbor Discovery (<xref target="RFC4861"/>, as used on most link types, see <xref target="RFC8504"/>, section 5.4),
depends on multicast and requires that nodes join Solicited Node multicast addresses.</t>

<t>Level 2 requires implementation of the host side of the Internet Group Management Protocol (IGMP)
for IPv4 and the equivalent host side of the Multicast Listener Discovery Protocol (MLD) for IPv6 
and extension of the IP and local network service interfaces within the host as specified or 
referred to in the following sections.</t>

<t>The current protocol versions for full Level 2 support of IP multicasting are
<xref target="IGMPv3"/> and <xref target="MLDv2"/> or lightweight versions of either protocol <xref target="RFC5790"/>.</t>

<t>All of the following sections of this memo are applicable to level 2
implementations.</t>

</section>
<section anchor="level-2l-support-for-only-link-local-ip-multicasting"><name>Level 2L: support for only link local IP multicasting.</name>

<t>Level 2L has the same functionality as Level 2 except that it does not include
the implementation of IGMP for IPv4 or MLD for IPv6. Level 2L hosts can only
send/receive IP multicast to their local network.</t>

<t>Level 2L hosts <bcp14>SHOULD</bcp14> only join/leave Link-Local host groups (see <xref target="host-groups"/>) and
send IP datagrams to Link-Local host groups - but not other host groups.</t>

</section>
</section>
<section anchor="host-groups"><name>HOST GROUP ADDRESSES</name>

<t>IPv4 Host groups are identified by class D IPv4 addresses, i.e., those with
"1110" as their high-order four bits.  Class E IPv4 addresses, i.e.,
those with "1111" as their high-order four bits, are reserved for
future addressing modes.</t>

<t>In Internet standard "dotted decimal" notation, IPv4 host group addresses
range from 224.0.0.0 to 239.255.255.255.  IPv4 host group addresses in the
"Local Network Control Block", 224.0.0.0 - 224.0.0.255 are
called Link-Local IPv4 host group addresses. IP datagrams with a Link-Local destination address
are called Link-Local multicast packets. The IPv4 link local address 224.0.0.0 is
guaranteed not to be assigned to any group, and 224.0.0.1 is assigned
to the permanent group of all IPv4 hosts (including gateways). It is called
the all-nodes group. This is used to address all IP multicast hosts (including gateways)
on the directly connected network.  There is no multicast address (or any other IP address) for
all hosts on the total Internet.</t>

<t>The addresses of well-known, permanent IPv4 multicast groups are to be published in
"Assigned Numbers", see <xref target="RFC3232"/>, currently through the IANA
"IPv4 Multicast Address Space" Registry <xref target="IANA.MASR"/>. <xref target="RFC5771"/> and <xref target="RFC6034"/> refine
more detailed allocation and uses of different sub-blocks of 224.0.0.0/4.</t>

<t>Allocation guidelines for Link-Local IPv6 multicast group addresses are specified in <xref target="RFC5771"/>.
The IPv6 Link-Local all-nodes group address is ff02::1.
IPv6 Host groups are identified by IPv6 addresses as defined in <xref target="RFC4291"/> section 2.7
and updated by <xref target="RFC7346"/>, <xref target="RFC7371"/>. The addresses of other groups
are currently published via the IANA "IPv6 Multicast Address Space" registry.</t>

<t>IP addresses as specified in <xref target="SSM"/> are not used for ASM IP multicast and
are not considered host groups by <xref target="SSM"/>, Terminology section, third paragraph.
They are instead only the destination address part G of Source Specific Multicast (SSM)
IP multicast (S,G) channels. The term IP multicast address covers both ASM host group addresses
and SSM destination addresses.</t>

<t>Appendix I contains some background discussion of several issues
related to host group addresses.</t>

</section>
<section anchor="interface"><name>MODEL OF A HOST IP IMPLEMENTATION</name>

<t>The multicast extensions to a host IP implementation are specified in
terms of the layered model illustrated below in <xref target="FIG1"/>.  In this model, ICMP/ICMPv6
and (for level 2 hosts) IGMP/MLD are considered to be implemented within
the IP module, and the mapping of IP addresses to local network
addresses is considered to be the responsibility of local network
modules.  This model is for expository purposes only, and should not
be construed as constraining an actual implementation.</t>

<figure title="multicast extensions to a host IP implementation" anchor="FIG1"><artwork><![CDATA[
   |                                                          |
   |              Upper-Layer Protocol Modules                |
   |__________________________________________________________|

--------------------- IP Service Interface -----------------------
    __________________________________________________________
   |                            |              |              |
   |                            | IPv4:        | IPv6:        |
   |                            | ICMP+IGMP    | ICMPv6+MLD   |
   |    IP [IPv4 and/or IPv6]   |______________|______________|
   |           Module(s)                                      |
   |                                                          |
   |__________________________________________________________|

---------------- Local Network Service Interface -----------------
    __________________________________________________________
   |                            |                             |
   |           Local            | IP-to-local address mapping |
   |          Network           |         (e.g., ARP/ND)      |
   |          Modules           |_____________________________|
   |      (e.g., Ethernet)                                    |
   |                                                          |
]]></artwork></figure>

<t>Note that as described in <xref target="level2"/>, ND (<xref target="RFC4861"/>) itself operates
on top of the IPv6 Service Interface as extended by this document because
it relies on sending/receiving IPv6 multicast packets. However, it is
shown as part of the Local Network Module because that is the component
in this host stack model that relies on ND to perform its operation.</t>

<t>To provide level 1 multicasting, a host IP implementation <bcp14>MUST</bcp14>
support the transmission of multicast IP datagrams.  To provide level
2 multicasting, a host <bcp14>MUST</bcp14> also support the reception of multicast
IP datagrams.  Each of these two new services is described in a
separate section, below.  For each service, extensions are specified
for the IP service interface, the IP module, the local network
service interface, and an Ethernet local network module.  Extensions
to local network modules other than Ethernet are mentioned briefly,
but are not specified in detail.</t>

</section>
<section anchor="sending"><name>SENDING MULTICAST IP DATAGRAMS</name>

<section anchor="extensions-to-the-ip-service-interface"><name>Extensions to the IP Service Interface</name>

<t>Multicast IP datagrams are sent using the same "Send IP" operation
used to send unicast IP datagrams; an upper-layer protocol module
merely specifies an IP host group address, rather than an individual
IP address, as the destination.  However, a number of extensions may
be necessary or desirable.</t>

<t>First, the service interface <bcp14>SHOULD</bcp14> provide a way for the upper-layer
protocol to specify the IPv4 time-to-live or IPv6 hop limit of an outgoing multicast
datagram, if such a capability does not already exist.  If the
upper-layer protocol chooses not to specify a time-to-live/hop limit, it <bcp14>SHOULD</bcp14>
default to 1 for all multicast IP datagrams, so that an explicit
choice is required to multicast beyond a single network.</t>

<t>Second, for hosts that may be attached to more than one network, the
service interface <bcp14>SHOULD</bcp14> provide a way for the upper-layer protocol
to identify which network interface is to be used for the multicast
transmission.  Only one interface is used for the initial
transmission; multicast routers are responsible for forwarding to any
other networks, if necessary.  If the upper-layer protocol chooses
not to identify an outgoing interface, a default interface <bcp14>SHOULD</bcp14> be
used, preferably under the control of system management.</t>

<t>Third (level 2/2L implementations only), for the case in which the host
is itself a member of a group to which a datagram is being sent, the
service interface <bcp14>SHOULD</bcp14> provide a way for the upper-layer protocol
to inhibit local delivery of the datagram; by default, a copy of the
datagram is looped back.  This is a performance optimization for
upper-layer protocols that restrict the membership of a group to one
process per host (such as a routing protocol), or that handle
loopback of group communication at a higher layer (such as a
multicast transport protocol).</t>

<t>IPv6 socket extensions supporting these functions are defined in <xref target="RFC3493"/>, section 5.2.</t>

</section>
<section anchor="send-extensions"><name>Extensions to the IP Module</name>

<t>To support the sending of multicast IP datagrams, the IP module <bcp14>MUST</bcp14>
be extended to recognize IP host group addresses when routing
outgoing datagrams.  Most IP implementations include the following
logic:</t>

<figure><artwork><![CDATA[
    if IP-destination is on the same local network,
       send datagram locally to IP-destination
    else
       send datagram locally to GatewayTo( IP-destination )
]]></artwork></figure>

<t>To allow multicast transmissions, the routing logic <bcp14>MUST</bcp14> be changed to:</t>

<figure><artwork><![CDATA[
    if IP-destination is on the same local network
    or IP-destination is a host group,
       send datagram locally to IP-destination
    else
       send datagram locally to GatewayTo( IP-destination )
]]></artwork></figure>

<t>If the sending host is itself a member of the destination group on
the outgoing interface, a copy of the outgoing datagram <bcp14>MUST</bcp14> be
looped-back for local delivery, unless inhibited by the sender.
(Level 2/2L implementations only.)</t>

<t>The IP source address of the outgoing datagram <bcp14>MUST</bcp14> be one of the
individual addresses corresponding to the outgoing interface.</t>

<t>An IP multicast address <bcp14>MUST</bcp14> never be placed in the source address field 
or anywhere in a source route or record route option of an outgoing
IP datagram. These packets are not IP multicast packets but simply
invalid packets.</t>

</section>
<section anchor="extensions-to-the-local-network-service-interface"><name>Extensions to the Local Network Service Interface</name>

<t>No change to the local network service interface is required to
support the sending of multicast IP datagrams.  The IP module merely
specifies an IP host group destination, rather than an individual IP
destination, when it invokes the existing "Send Local" operation.</t>

</section>
<section anchor="ethernet"><name>Extensions to an Ethernet Local Network Module</name>

<t>The Ethernet directly supports the sending of local multicast packets
by allowing multicast addresses in the destination field of Ethernet
packets.  All that is needed to support the sending of multicast IP
datagrams is a procedure for mapping IP host group addresses to
Ethernet multicast addresses.</t>

<t>An IPv4 host group address is mapped to an Ethernet multicast address
by placing the low-order 23-bits of the IPv4 address into the low-order
23 bits of the Ethernet multicast address 01-00-5E-00-00-00 (hex).
Because there are 28 significant bits in an IPv4 host group address,
more than one host group address may map to the same Ethernet
multicast address.</t>

<t>These address mappings for IP addresses do apply not only to
host group addresses, but also to IP multicast addresses which are SSM
destination addresses.</t>

<t>Mapping of IPv6 multicast addresses (both host group addresses and SSM
destination addresses) to Ethernet addresses is defined in
<xref target="RFC2464"/> and <xref target="RFC6085"/>. Note that <xref target="RFC9542"/> establishes an
"IANA OUI Ethernet Numbers" registry covering the IPv4 and IPv6 multicast
MAC address ranges.</t>

</section>
<section anchor="extensions-to-local-network-modules-other-than-ethernet"><name>Extensions to Local Network Modules other than Ethernet</name>

<t>Other networks that directly support multicasting, such as rings or
buses conforming to the IEEE 802.2 standard, may be handled the same
way as Ethernet for the purpose of sending multicast IP datagrams.
For a network that supports broadcast but not multicast, such as the
Experimental Ethernet, all IP host group addresses may be mapped to a
single local broadcast address (at the cost of increased overhead on
all local hosts).  For a point-to-point link joining two hosts (or a
host and a multicast router), multicasts <bcp14>SHOULD</bcp14> be transmitted
exactly like unicasts.  For a store-and-forward network like the
ARPANET or a public X.25 network, all IP host group addresses might
be mapped to the well-known local address of an IP multicast router;
a router on such a network would take responsibility for completing
multicast delivery within the network as well as among networks.</t>

</section>
</section>
<section anchor="receiving-multicast-ip-datagrams"><name>RECEIVING MULTICAST IP DATAGRAMS</name>

<section anchor="service"><name>Extensions to the IP Service Interface</name>

<t>Incoming multicast IP datagrams are received by upper-layer protocol
modules using the same "Receive IP" operation as normal, unicast
datagrams.  Selection of a destination upper-layer protocol is based
on the protocol field in the IPv4 header or the next header field in the
IPv6 header or IPv6 extension header preceeding the upper-layer protocol header
(when IPv6 extension headers are used).  This is regardless of the destination
IP address.  However, before any datagrams destined to a particular
group can be received, an upper-layer protocol must ask the IP module
to join that group.  Thus, the IP service interface <bcp14>MUST</bcp14> be extended
to provide two new operations:</t>

<figure><artwork><![CDATA[
    JoinHostGroup  ( group-address, interface )
    
    LeaveHostGroup ( group-address, interface )
]]></artwork></figure>

<t>The JoinHostGroup operation requests that this host become a member
of the host group identified by "group-address" on the given network
interface.  The LeaveGroup operation requests that this host give up
its membership in the host group identified by "group-address" on the
given network interface.  The interface argument may be omitted on
hosts that support only one interface.  For hosts that may be
attached to more than one network, the upper-layer protocol may
choose to leave the interface unspecified, in which case the request
will apply to the default interface for sending multicast datagrams
(see section 6.1).</t>

<t>It is permissible to join the same group on more than one interface,
in which case duplicate multicast datagrams may be received.  It is
also permissible for more than one upper-layer protocol to request
membership in the same group.</t>

<t>Both operations <bcp14>SHOULD</bcp14> return immediately (i.e., they are non-
blocking operations), indicating success or failure.  Either
operation may fail due to an invalid group address or interface
identifier.  JoinHostGroup may fail due to lack of local resources.
LeaveHostGroup may fail because the host does not belong to the given
group on the given interface.  LeaveHostGroup may succeed, but the
membership persist, if more than one upper-layer protocol has
requested membership in the same group.</t>

<t>IPv6 socket extensions supporting these functions are defined in
<xref target="RFC3493"/>, section 5.2.  <xref target="RFC3678"/> specifies socket options for
these functions for ASM and also includes socket options in support of SSM.
See also <xref target="security-considerations"/>.</t>

</section>
<section anchor="rcv-extensions"><name>Extensions to the IP Module</name>

<t>To support the reception of multicast IP datagrams, the IP module
<bcp14>MUST</bcp14> be extended to maintain a list of host group memberships
associated with each network interface.  An incoming datagram
destined to one of those groups is processed exactly the same way as
datagrams destined to one of the host's individual addresses.</t>

<t>Incoming datagrams destined to groups to which the host does not
belong are discarded without generating any error report or log
entry.  On hosts with more than one network interface, if a datagram
arrives via one interface, destined for a group to which the host
belongs only on a different interface, the datagram <bcp14>MUST</bcp14> be quietly
discarded.  (These cases should occur only as a result of inadequate
multicast address filtering in a local network module.)</t>

<t>An incoming datagram is not rejected for having an IPv4 time-to-live of
1 or IPv6 Hop Limit of 1. This field  <bcp14>MUST</bcp14> not automatically be decremented on
arriving datagrams that are not being forwarded.  An incoming
datagram with an IP multicast address in its source address field is
quietly discarded.  An ICMP/ICMPv6 error message (Destination Unreachable,
Time Exceeded, Parameter Problem, Source Quench, or Redirect) is
never generated in response to a datagram destined to an IP host
group or SSM range destination IP address.</t>

<t>The list of host group memberships is updated in response to
JoinHostGroup and LeaveHostGroup requests from upper-layer protocols.
Each membership should have an associated reference count or similar
mechanism to handle multiple requests to join and leave the same
group.  On the first request to join and the last request to leave a
group on a given interface, the local network module for that
interface is notified, so that it may update its multicast reception
filter (see section 7.3).</t>

<t>When supporting Level 2, the IP module <bcp14>MUST</bcp14> also be extended to implement the 
IGMP protocol for IPv4 and the MLD protocol for IPv6 depending on the version(s)
of IP to be supported.  IGMP/MLD are used to keep neighboring multicast
routers informed of the host group memberships present on a
particular local network.</t>

<t>Level 2 hosts and gateways <bcp14>MAY</bcp14> omit the sending of IGMP messages to report membership
for Link-Local IPv4 host group addresses, especially on networks known not to (be
able to) use any form of IGMP snooping. This does also apply for the IPv6 Link-Local
all-nodes group ff02::1, but not to other Link-Local IPv6 host group addresses.
See <xref target="level2l"/> and <xref target="ll-apdx"/>.</t>

<t>Level 2/2L hosts and gateways <bcp14>SHOULD</bcp14> permanently join to the Link-Local all-nodes group
for the version of IP they implement. See <xref target="special"/>.</t>

</section>
<section anchor="extensions-to-the-local-network-service-interface-1"><name>Extensions to the Local Network Service Interface</name>

<t>Incoming local network multicast packets are delivered to the IP
module using the same "Receive Local" operation as local network
unicast packets.  To allow the IP module to tell the local network
module which multicast packets to accept, the local network service
interface is extended to provide two new operations:</t>

<figure><artwork><![CDATA[
    JoinLocalGroup  ( group-address )
    
    LeaveLocalGroup ( group-address )
]]></artwork></figure>

<t>where "group-address" is an IP host group address.  The
JoinLocalGroup operation requests the local network module to accept
and deliver up subsequently arriving packets destined to the given IP
host group address.  The LeaveLocalGroup operation requests the local
network module to stop delivering up packets destined to the given IP
host group address.  The local network module is expected to map the
IP host group addresses to local network addresses as required to
update its multicast reception filter.  Any local network module is
free to ignore LeaveLocalGroup requests, and may deliver up packets
destined to more addresses than just those specified in
JoinLocalGroup requests, if it is unable to filter incoming packets
adequately.</t>

<t>The local network module <bcp14>MUST NOT</bcp14> deliver up any multicast packets
that were transmitted from that module; loopback of multicasts is
handled at the IP layer or higher.</t>

</section>
<section anchor="extensions-to-an-ethernet-local-network-module"><name>Extensions to an Ethernet Local Network Module</name>

<t>To support the reception of multicast IP datagrams, an Ethernet
module <bcp14>MUST</bcp14> be able to receive packets addressed to the Ethernet
multicast addresses that correspond to the host's IP multicast
addresses (host group addresses or SSM destination addresses).
It is highly desirable to take advantage of any address
filtering capabilities that the Ethernet hardware interface may have,
so that the host receives only those packets that are destined to it.</t>

<t>Unfortunately, many current Ethernet interfaces have a small limit on
the number of addresses that the hardware can be configured to
recognize.  Nevertheless, an implementation <bcp14>MUST</bcp14> be capable of
listening on an arbitrary number of Ethernet multicast addresses,
which may mean "opening up" the address filter to accept all
multicast packets during those periods when the number of addresses
exceeds the limit of the filter.</t>

<t>For interfaces with inadequate hardware address filtering, it may be
desirable (for performance reasons) to perform Ethernet address
filtering within the software of the Ethernet module.  This is not
mandatory, however, because the IP module performs its own filtering
based on IP destination addresses.</t>

</section>
<section anchor="extensions-to-local-network-modules-other-than-ethernet-1"><name>Extensions to Local Network Modules other than Ethernet</name>

<t>Other multicast networks, such as IEEE 802.2 networks, can be handled
the same way as Ethernet for the purpose of receiving multicast IP
datagrams.  For pure broadcast networks, such as the Experimental
Ethernet, all incoming broadcast packets can be accepted and passed
to the IP module for IP-level filtering.  On point-to-point or
store-and-forward networks, multicast IP datagrams will arrive as
local network unicasts, so no change to the local network module
should be necessary.</t>

</section>
</section>
<section anchor="lncb"><name>ROUTING MULTICAST IP DATAGRAMS</name>

<t>IP multicast routers are recommended to support the IP host stack extensions
as specified in this document especially to support applications using the
IP Service Interface <xref target="interface"/> to send/receive IP multicast packets
including those commonly required for IPv6 (<xref target="RFC4861"/>).</t>

<t>Given how IP multicast routers behavior and their behavior for 
IGMP/MLD differs from non IP multicast routers, Local Network Module layer
and IGMP/MLD protocol requirements <bcp14>MAY</bcp14> be optimized/changed from what is required
by this document. See <xref target="mcrouters"/> for more details/examples.</t>

<t>IPv4 datagrams with a Link-Local destination address <bcp14>MUST</bcp14> never be forwarded to
a different link by multicast routers, regardless of their time-to-live. See <xref target="lncb-exp"/>
for explanations.</t>

<t>The equivalent requirement are specified for IPv6 in <xref target="RFC4291"/>, section 2.5.6.</t>

<t>Rules for forwarding of non Link-Local IP multicast packets are outside the
scope of this document.</t>

</section>
<section anchor="normative"><name>Status changes</name>

<section anchor="moving-rfc1112-and-igmpv1-to-historic-status"><name>Moving RFC1112 and IGMPv1 to historic status</name>

<t>This document moves <xref target="RFC1112"/> to historic status which also moves the IGMP version
1 protocol as specified in Appendix 1 of <xref target="RFC1112"/> to historic status, as
it is not included into this document anymore.</t>

<t>All other aspects of <xref target="RFC1112"/> beside IGMPv1 are kept and updated by this document
and maintain their current Internet Standard designation from <xref target="RFC1112"/> through the
normative status of this document.</t>

</section>
<section anchor="backward-compatibility-with-igmpv1"><name>Backward compatibility with IGMPv1</name>

<t>Current versions of IGMP (<xref target="IGMPv2"/>, <xref target="IGMPv3"/>) and other protocols/mechanisms
including, but not limited to <xref target="RFC5790"/> or <xref target="IGMPsnooping"/> do include backward compatibility
with IGMPv1.  This requires them to refer to <xref target="RFC1112"/> as the specification for IGMPv1. 
Backward compatibility is when a specification also includes support for any newer
version of IGMP starting with <xref target="IGMPv2"/> and prefers it over IGMPv1.</t>

<t>This document does not ask for any change to any current or future specifications or
implementations that includes any form of support for IGMPv1 for backward compatibility
reasons.</t>

<t>Any new or updated specification that wants to maintain such backward compatibility with
IGMPv1 need to continue to reference <xref target="RFC1112"/> as the specification of IGMPv1.</t>

<t>Any future reference for new or updated work to any other definition from <xref target="RFC1112"/>
(host extensions for IP multicast and/or Any Source Multicast service) needs to refer
to this document instead of <xref target="RFC1112"/>.</t>

</section>
<section anchor="update"><name>Update to RFC 791</name>

<t>This document is an update to <xref target="RFC791"/> because none of the core procedures to send
and receive IP multicast packets described in this document match those defined for
IP unicast packets in <xref target="RFC791"/>. Instead, IP multicast is carving out parts of the IP address space
to trigger completely new forwarding for completely new entities: host groups in ASM, channels in SSM).
See <xref target="rfc791"/> for further discussions.</t>

</section>
<section anchor="update1122"><name>Update to RFC 1122</name>

<t>This document updates <xref target="RFC1122"/> section 3.2.3 by making support for Level 2 conformance
and hence support for IGMP recommended instead of optional as required by <xref target="RFC1122"/>. See <xref target="conformance"/>.</t>

</section>
<section anchor="update-to-std-5"><name>Update to STD 5</name>

<t>This document replaces <xref target="RFC1112"/> in <xref target="STD5"/> which defines IPv4 (<xref target="RFC791"/>) including its core extensions.</t>

<t>Note: As there is no precedent for STD86 (IPv6) to include any specifications for extension of IPv6,
this document is not asked to become part of STD86.</t>

</section>
</section>
<section anchor="changes"><name>Changes from RFC1112</name>

<t>Beyond the status changes described in <xref target="normative"/>, this document introduces
the following changes over <xref target="RFC1112"/>.</t>

<t>All requirements changes are intended to make
this specification aligned with long-term, most widely implemented, deployed and
standardised RFCs for IP multicast, so that this document does not create the need to
change existing implementations or deployments, as could be the case if <xref target="RFC1112"/> (without IGMPv1)
was to be implemented today.</t>

<section anchor="normative-language"><name>Normative language</name>

<t>This document introduces the use of normative language through capitalization. <xref target="RFC1112"/>
preceded <xref target="RFC2119"/> and hence did not include this language.</t>

</section>
<section anchor="references-to-igmpv1"><name>References to IGMPv1</name>

<t>References to IGMPv1 in <xref target="RFC1112"/> are replaced with references to <xref target="IGMPv3"/> in this text.</t>

</section>
<section anchor="new-summary"><name>New summary</name>

<t>The new <xref target="summary"/> summarizes the scope of this document and the core new
changes over <xref target="RFC1112"/>.</t>

</section>
<section anchor="any-source-multicast-asm"><name>Any-Source Multicast (ASM)</name>

<t>This update introduces the term "ASM IP multicast" (ASM) as a new term for
the IP service interface specified in this document (and previously
in <xref target="RFC1112"/>) as explained in <xref target="summary"/>.</t>

</section>
<section anchor="ssm"><name>SSM</name>

<t><xref target="summary"/> explains the relationship of this document to SSM (<xref target="SSM"/>).</t>

<t><xref target="host-groups"/> adds the specification that the term host groups specified in this
document does not apply to destination addresses used for SSM. IP multicast
address applies to both host group address and SSM destination addresses.</t>

<t>No functional changes to the IP multicast service are incurred by these changes,
except that it acknowledges the existence of SSM which reduces the range
of host group addresses used for ASM.</t>

</section>
<section anchor="applicability-to-both-ipv4-and-ipv6"><name>Applicability to both IPv4 and IPv6</name>

<t>This document is written to apply to both IPv4 and IPv6 by adding 
detail for IPv6 where <xref target="RFC1112"/> only covered IPv4. This includes addressing and protocols
in support of the service - Multicast Listener Discovery <xref target="MLDv2"/> for IPv6 versus
IGMP for IPv4.</t>

<t>IPv6 documents such as <xref target="RFC1883"/> and all its updates (e.g.: <xref target="RFC8200"/>) are defining
the necessary wire encoding aspects of IP multicast in the assumption of the service of
<xref target="RFC1112"/> for IPv6, but without being able to refer to <xref target="RFC1112"/>, as it was only defined
for IPv4. Future documents can refer to this document as the IP multicast / ASM service for
both IPv4 and IPv6.</t>

<t>Additional text provides references for IETF UDP socket API specifications that instantiate
the abstract APIs defined in this document.</t>

<t>No functional changes to the IP multicast service are incurred by these changes.</t>

</section>
<section anchor="level2l"><name>RFC1122 and Level 2L</name>

<t><xref target="RFC1122"/> did not require support for IPv4 multicasting ("there is at this time no requirement
that all IP implementations support IP multicasting"). Instead, <xref target="RFC1122"/> recommends support
for IPv4 multicast (according to <xref target="RFC1112"/>), but support for IGMP to be optional,
specifying that sending/receiving IPv4 multicast from/to the local networks
works without IGMP and that that is the recommended form to support IPv4 multicasting. See
also <xref target="ll-apdx"/>.</t>

<t>Whereas <xref target="RFC1122"/> was not even specifying the combination of supporting sending/receiving
IPv4 multicast but not supporting IGMP, this document now adds that option by specifying it as
conformance Level 2L. Introduction of this text does also not change long-term deployment practices but
only formalizes them.</t>

</section>
<section anchor="rfc4291-and-level-2l"><name>RFC4291 and Level 2L</name>

<t>According to <xref target="RFC4291"/>, IPv6 nodes must support a variety of Link-Local IPv6 multicast
address. This translates into the requirement for IPv6 hosts to at least support Level 2L,
which is sufficient to support Link-Local IPv6 multicast. Choosing to support only Level 2L is
also the only option in which an IPv6 host or gateway will not need to send MLD messages for Link-Local
groups because the <xref target="MLDv2"/> specification (unlike IGMP) choose to mandate the sending of MLD
messages even for Link-Local host groups. See <xref target="ll-apdx"/> for more details.</t>

</section>
<section anchor="ip-multicast-support"><name>IP multicast support</name>

<t>With <xref target="IGMPv3"/> now being Internet Standard, there is sufficient experience to also make
support for conformance Level 2 of IPv4 multicasting recommended through this document. This is also
documented as an update to the IGMP support requirement in <xref target="RFC1122"/> from optional to
recommended. See <xref target="update1122"/>).</t>

<t>Unlike <xref target="RFC1122"/>, <xref target="RFC8504"/> does not directly raise a requirement against support for
MLD for every node supporting IPv6. Instead, it explains the dependencies against IPv6 multicast
and hence MLD for core IPv6 protocols used on most link types (ND, SLAAC).</t>

<t>With <xref target="MLDv2"/> now being Internet standard, and over two decades of experience with IPv6 multicast
availability and use on almost all IPv6 implementations, this documents now also recommends
support for Level 2 conformance for IPv6 multicast, see <xref target="conformance"/>. Note that this is not declared as
an update to <xref target="RFC8504"/>, because it is outside that BCP documents scope.</t>

</section>
<section anchor="lncb-exp"><name>IPv4 Local Network Control Block</name>

<t><xref target="RFC1112"/> defines the requirement for IPv4 datagrams to the all-nodes group
224.0.0.1 to never be forwarded beyond a single network.  In later RFCs, this behavior
became the BCP for the whole IPv4 Local Network Control Block 224.0.0.0 - 224.0.0.255,
making it the Link-Local host group address block for IPv4 multicast. <xref target="RFC2365"/>
and <xref target="RFC5771"/>, section 4 are the BCPs covering this requirement.</t>

<t>This document formalizes this BCP behavior as a standard requirement in <xref target="lncb"/>, superseding
and encompassing the more specific requirement for just 224.0.0.1 from <xref target="RFC1112"/>,
and mirroring the same standardized behavior for IPv6 link local addresses. Because
this is actually a requirement against IP multicast routers and not hosts, this is now also
accordingly described in a separate section.</t>

<t>This requirement does not incur changes over how IP multicast is implemented or deployed.</t>

</section>
<section anchor="special"><name>Permanent membership for Link-Local all-nodes groups</name>

<t><xref target="RFC1112"/>, section 7.2 introduced the requirements for hosts to permanently
join 224.0.0.1. Its explains this requirement to be in support of IGMP (version 1).</t>

<t><xref target="IGMPv2"/>, section 6. and <xref target="IGMPv3"/>, section 5. inherits this requirement,
and <xref target="MLDv1"/>, section 6. and <xref target="MLDv2"/> section 6. also define the same requirement
for the IPv6 Link-Local all-nodes address ff02::1.</t>

<t><xref target="RFC1112"/> explains this choice by being "(1) it is simpler", and
"(3) the all-nodes address may serve other routing-oriented purposes, such as advertising the
presence of gateways or resolving local addresses."</t>

<t>Technically, there is no necessity to permanently join the Link-Local all-nodes group.
Like any other group, reception of packets could enabled through the
JoinHostGroup()/LeaveHostGroup(), as described in <xref target="service"/>. However, all known host
implementations that support IP multicast since <xref target="RFC1112"/> are based on its definitions
and there is no obvious benefit in changing this. Hence this functionality
is a should requirement in this document.</t>

<t>Note that one simplification that this requirement enables is to avoid supporting
the JoinHostGroup()/LeaveHostGroup() API inside an operating system kernel, but still
allow kernel level protocols to receive packets to the Link-Local all-nodes group.
This is for example common in support of ICMP/ICMPv6 echo: "ping 224.0.0.1" to discover
IP hosts with IP multicast support on the local network. However, this functionality
is not enabled by default anymore in modern systems for security reasons
(e.g.: linux: net.ipv4.icmp_echo_ignore_broadcasts=1 default configuration).</t>

<t>The requirements text in this spec therefore does not incur any requirements changes for implementations
of these existing versions of IGMP/MLD. By making the requirement only a should, it is also
clear that future versions of IGMP/MLD or new host stack implementations may change this
if they find good reasons to do so - without requiring to update this specification.</t>

<t>Note that <xref target="RFC5790"/> omits this requirement.</t>

</section>
<section anchor="igmpmld-messages-for-link-local-ip-host-group-addresses"><name>IGMP/MLD messages for Link-Local IP host group addresses</name>

<t><xref target="RFC1112"/>, Appendix I. (IGMPv1), <xref target="IGMPv2"/>, <xref target="IGMPv3"/>, <xref target="MLDv1"/>, <xref target="MLDv2"/>
require hosts to not send IGMP/MLD messages for the all-nodes group. This would
be in conflict with the general rules of <xref target="RFC1112"/> (outside of its IGMPv1 specific
definitions) and equally this specification if it was not enhanced. This specification
therefore contains new text that makes it compatible with existing IGMP/MLD specifications,
and with long term established and deployed implementation practices.</t>

<t>New text in <xref target="ll-apdx"/> explains how after <xref target="RFC1112"/>, it became a common place
implementation choice to not send IGMP messages for any IPv4 Link-Local host group
address, and explains how this was done with good technical reason at the time. This
behavior is so common, that <xref target="IGMPsnooping"/> mandates to explicit support it in IGMP
snooping implementations.</t>

<t>Referring to that explanation, a new <bcp14>MAY</bcp14> requirement in <xref target="rcv-extensions"/> allowing
(but not recommending) this behavior makes existing specifications and deployments
compatible with this documents specifications. It is only a <bcp14>MAY</bcp14> even though it is common in
IPv4, because the experience with IPv6 shows that it does work (of course) equally
well if this is not done, and can then support better MLD snooping than IGMP snooping.</t>

</section>
<section anchor="standard-for-ip-multicasting-in-controlled-networks"><name>Standard for IP multicasting in controlled networks</name>

<t>This document removes the claim in the abstract of <xref target="RFC1112"/>, that these host extensions are
"... the recommended standard for IP multicasting in the Internet."</t>

<t>The reason for this is that <xref target="RFC8815"/> deprecated the ASM service
across the Internet because there is no Internet Standard solution
for protocols to support interdomain ASM except for <xref target="RFC3956"/>, which
is only applicable to IPv6, and even that solution does not resolve
the challenges to source access control in interdomain deployments.</t>

<t>In result, ASM is today "only" a recommended solution for controlled networks
including controlled federated networks for applications for which SSM is
not preferable.</t>

<t>However, these limitations to the applicability of ASM do not impact the applicability
of any parts of the host stack described in this document for other IP multicast service
interfaces, specifically "Source Specific Multicast", <xref target="SSM"/>, which inherits all aspects of
ASM specified in this document, especially the sending (<xref target="sending"/>, <xref target="send-extensions"/>)
of IP multicast packets as well as the mapping to ethernet (<xref target="ethernet"/>). It only amends the
joining of IP multicast traffic on IP multicast receivers with additional procedures fitting
into the host stack described in this document.</t>

</section>
<section anchor="terminology"><name>Terminology</name>

<t>In <xref target="RFC1112"/>, all IPv4 multicast addresses where designated to be used with ASM and
where thus host group addresses. In result, the term multicast and host group address
could be used interchangeably. With the introduction of SSM in <xref target="SSM"/>, subsets of
IP multicast addresses where carved out for use with SSM instead of ASM.
Since then, not every multicast address is a host group address, but every
host group address is still a multicast address.</t>

<t>In <xref target="SSM"/>, the equivalent to a host group is the SSM channel. It is addressed by the
packets (S,G) - the combination of the unicast source and multicast destination address.
Multicast addresses used for SSM by themselves are called SSM destination address or
SSM multicast address.</t>

<t>Terms like "SSM channel address" or "SSM multicast address" are ambiguous and should
be avoided: They could either refer to a specific (S,G) channel, in which case it
should be called an SSM channel (S,G) address pair, or it could refer to a multicast destination address G
used for SSM, which can be part of many different SSM (Si,G) channels, in which case it should be called an
SSM destination address.</t>

<t>Specifications whose behavior does not differ between ASM and SSM can continue to
refer to multicast addresses, implying the meaning of multicast to be the superset
of ASM and SSM. This is for example true for <xref target="RFC4291"/> and <xref target="RFC8200"/>.</t>

<t>New documents should explicitly indicate whether they apply to only ASM and/or SSM
even if their behavior applies to both ASM and SSM identically. Else it is left to
the reader to guess whether the text does also apply to SSM. If the term
multicast is used to indicate behavior that only applies to ASM, this should
equally be called out explicitly. Behavior applying only to ASM may use the
terms host group address or ASM multicast address.</t>

</section>
</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<section anchor="protocol-numbers-registry"><name>Protocol Numbers registry</name>

<t>IANA is asked to replace the Reference field for the IGMP protocol in the Protocol Numbers registry (https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml) from <xref target="RFC1112"/> to [THIS-RFC].</t>

<t>Explanation: This protocol number is used by all versions of IGMP, including <xref target="IGMPv2"/> and <xref target="IGMPv3"/> and is unaffected by making IGMP version 1 historic.</t>

</section>
<section anchor="igmp-type-numbers-registry"><name>IGMP Type Numbers registry</name>

<t>IANA is asked to replace the Reference to <xref target="RFC1112"/> for the 0x11 / "IGMP Membership Query" entry in the "IGMP Type Numbers" registry (https://www.iana.org/assignments/igmp-type-numbers/igmp-type-numbers.xhtml) with "<xref target="RFC1112"/>, [RFC2236], [RFC3376]".</t>

<t>Explanation: These type code messages where introduced by <xref target="RFC1112"/> but modified versions thereof where also introduced by [RFC2236] and [RFC3376], so that it is clearer if all three RFCs are indicated. All other references to <xref target="RFC1112"/> in this registry are specifically referring to that RFC in its role of defining IGMP version 1 and thus need to continue to refer to <xref target="RFC1112"/> and not [THIS-RFC].</t>

</section>
<section anchor="multicast-48-bit-mac-addresses-registry"><name>Multicast 48-bit MAC Addresses registry</name>

<t>IANA is asked to replace the Reference field for the IPv4 Multicast range entry in the "IANA Multicast 48-bit MAC Addresses" registry (https://www.iana.org/assignments/ethernet-numbers) from <xref target="RFC1112"/> to [THIS-RFC].</t>

</section>
<section anchor="ipv4-address-range-registries"><name>IPv4 address range registries</name>

<t>IANA is asked to replace the Reference field for the 240.0.0.0/4 entry in the "IPv4 Special-Purpose Address Space" registry (https://www.iana.org/assignments/iana-ipv4-special-registry/iana-ipv4-special-registry.xhtml) from <xref target="RFC1112"/> to [THIS-RFC]. The Section 4 text stays unchanged.</t>

<t>IANA is asked to replace the Reference to <xref target="RFC1112"/> in the "IPv4 Address Space" registry (https://www.iana.org/assignments/ipv4-address-space/ipv4-address-space.xhtml) with [THIS-RFC].</t>

</section>
<section anchor="ipv4-multicast-address-space-registry"><name>IPv4 Multicast Address Space registry</name>

<t>IANA is asked to replace the three references to <xref target="RFC1112"/> in the "IPv4 Multicast Address Space" registry (https://www.iana.org/assignments/multicast-addresses/multicast-addresses.xhtml) with [THIS-RFC].</t>

</section>
<section anchor="ip-flow-information-export-registry"><name>IP Flow Information Export registry</name>

<t>IANA is asked to replace the two references to <xref target="RFC1112"/> in the "IPFIX Information Elements" registry (https://www.iana.org/assignments/ipfix/ipfix.xhtml) with [THIS-RFC].</t>

</section>
<section anchor="iana-oui-ethernet-numbers"><name>IANA OUI Ethernet Numbers</name>

<t>IANA is asked to replace the RFC1112 reference in the IPv4 Multicast entry of the "IANA Multicast 48-bit MAC Addresses" registry with [THIS-RFC].</t>

</section>
</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<t>This section may repeat a few core observations from elsewhere in the document to make
it easier for security interested readers to understand the context without having
to understand the whole document.</t>

<t>Application Socket Security Considerations are outside the scope of this
document yet important for secure operations of an IP multicast host stack.
They are hence covered in <xref target="per-socket"/>.</t>

<section anchor="forwarding"><name>Network forwarding issues</name>

<t>Security issues exists in an internetwork when sending IP multicast
packets or when joining IP multicast groups leads to internetwork state.  Nevertheless, those issues
are not caused by the ASM service model itself but are the result of specific choices
of forwarding of ASM traffic across routers.</t>

<t>For example, these issues do not exist if the internetwork is simply a stateless broadcast domain
such as a (non-switched) ethernet or wifi network, or if the network uses a stateless
forwarding model in routers such as Bit Index Explicit Replication (<xref target="BIER"/>). Therefore the remainder
of this section focusses on isues directly linked to the aspects specified in this document:
ASM service model, host stack and some relevant L2 network technologies.</t>

</section>
<section anchor="receiver-control"><name>Receiver control</name>

<t>Senders in ASM can not control who receives their traffic because any host
can join the group that the sender sends to. The larger address space of IPv6
multicast groups may make it harder for an IPv6  multicast address from being
successfully discovered by undesired receivers, but many IPv6 multicast addresses
are not random but well-defined. Encryption of ASM traffic and sharing of keys
with only desired receivers is another solution against this challenge. For example,
<xref target="GDOI"/> specifies a key management mechanism for secure sharing of symmetric group
communication keys for ASM (which could also be applied to SSM).</t>

<t>Some types of deployed IP multicast based application services such as
multicasting of high-value content do not consider such group encryption keys
as secure enough alone, especially when they are shared between a large number
of legitimate but not necessarily trustworthy receivers.
A single impaired receiver may be set up to extract
the shared key and pass it on to illegitimate receivers in real-time.</t>

<t>This has wideley happened in deployed solutions in the past with multicast/broadcast media content
transmitted via IP multicast. In these cases, additional, per receiver, per host group
authorization can be used to limit what IP multicast traffic is forwarded by the network to each host.</t>

<t>These receiver control options are often available in IP multicast implementations in network equipment
but are not IETF standardized. Likewise, hardware and/or software solutions on hosts to prohibit such
key extraction can be used. These are commonly called "Trusted Execution Environments" (TEE) and
solutions applying them to prohibit content leakage are called "Digital Rights Managmeent" (DRM).</t>

</section>
<section anchor="sender-control"><name>Sender control</name>

<t>Receivers in ASM can not control who is sending traffic to them.</t>

<t>Especially in IPv6 with its larger address space, random multicast group addresses
(see <xref target="receiver-control"/>) may help to limit undesired senders if all allowed senders
and receivers can be trusted not to leak the secret address, and the network towards
such legitimate senders and receivers can not easily be observed by attackers to determine
the secret random address.</t>

<t>If deployed, network filtering may aid in restricting unexpected or unauthorized traffic.</t>

<t>This sender control problem is the same in unicast except that the methods or
likelyhoods to keep destination host unicast addresses and ASM group addresses private
vary significantly. There is no analysis of ASM group
address privacy comparable to <xref target="RFC7721"/>.</t>

<t>The <xref target="SSM"/> service model
eliminates the sender control challenge by requiring receivers to explicitly indicate the desired
sender of the multicast traffic. Using an appropriate forwarding method across the network,
<xref target="SSM"/> is better than unicast in protecting against undesired traffic as it can often stop
unwanted SSM traffic from even entering the network, whereas in unicast undesired traffic can only be
discarded at the receiver. Note too, that an <xref target="SSM"/> host stack is an extension of
the host-stack specified in this document. It only enhances further what is specified here
but does not replace it.</t>

</section>
<section anchor="packet-spoofing"><name>Packet spoofing</name>

<t>Unless sender control is performed, packet spoofing may not even be necessary to perform
equivalent attacks as outlined in <xref target="sender-control"/>. The ease of spoofing a sender
IP source address and its layer 2 sender address (like sender MAC-address on ethernet)
highly depends on the (inter)network between sender and receiver.</t>

<t>In a simple broadcast domain without active switches between sender and receiver,
IP multicast packets are as easily spoofed as IP packets. If switches are introduced,
without <xref target="IGMPsnooping"/>, then IP multicast packets are equally easy to be spoofed
because they are still broadcast, whereas IP packets become more difficult to spoof
because attackers may not even see IP exchanges between a sender to spoof and its receivers,
nor may it know their IP addresses.</t>

<t>Introducing <xref target="IGMPsnooping"/> somewhat levels the playing field and makes spoofing IP multicast
packets more difficult, but as long as an attacker can be a valid receiver of IP multicast
packets from a sender it wants to spoof and can guess the IP multicast group(s), it can also
learn the source IP address and layer 2 address of the sender it wants to spoof by simply
joining to its IP multicast traffic.</t>

<t>[ Note: In internetworks, routers do typically perform RPF check for IP multicast packets
as part of stateful forwarding of IP multicast packets, but this varies by the IP multicast
routing / tree building protocol and is, as mentioned in <xref target="forwarding"/> out of scope. ]</t>

<t>Authentication of ASM/SSM traffic with mechanisms relying on symmetric group keys, such as <xref target="GDOI"/>,
can protect against many cases of spoofing, but it can not effectively prohibit sender spoofing by
any of the legitimate receivers which could potentially be millions. This is, because each legitimate
receiver knows the symmetric key required to become a sender. Asymmetric (public)
key cryptography resolves this issue but is significantly more compute expensive than 
symmetric key cryptography.  More advanced mechanisms tackling this issue, include TESLA <xref target="RFC4082"/>
and its followup documents in <xref target="MSEC"/> as well as <xref target="I-D.ietf-mboned-ambi"/>, <xref target="I-D.krose-mboned-alta"/>
and <xref target="I-D.moskowitz-tesla-update-gnss-sbas"/>.</t>

</section>
<section anchor="address-management"><name>Address management</name>

<t>Receiving IP multicast packets from undersired senders may not be malicious but can simply
be a result of absent or incorrect IP multicast group address management that needs to assign
unique group addresses to every application instance that needs them.  Static allocation of
IP multicast groups is the most widely used option in deployment today. Early proposals for
dynamic address allocation protocols, including <xref target="MASC"/> and <xref target="MADCAP"/> have not gained traction
and most options do not consider IPv6. See <xref target="RFC2908"/>, <xref target="RFC6308"/>.</t>

<section anchor="waste-traffic-in-the-absence-of-address-management"><name>Waste traffic in the absence of address management</name>

<t>While it is possible to forego address management and (randomnly) share IP multicast groups
across multiple application instances simply by de-multiplexing at higher layers such as UDP
ports and/or encryption layer selectors, relying solely on those higher layers for traffic separation is
highly undesirable.</t>

<t>Assume an IP multicast application on host H1 joins to IP Multicast group G with traffic on UDP port
P1. Other applications on other hosts are receivers for other IP Multicast applications that
all (randomnly) also use G, but each uses a separate UDP Port P2, ... PN. H1 will receive traffic
for all applications and discard the received packets in the UDP/socket layer because of their
UDP ports.</t>

<t>This "waste traffic" can result in overload of resources in H1 and possible unexpected discarding of packets
due to such overload. In switched networks with IGMP/MLD snooping and internetworks with IP multicast routers
it can even lead to overload of network path segments towards H1 and discarding of packets to other hosts
when traffic is admission controlled and this waste traffic is not taken into account.</t>

</section>
<section anchor="waste-traffic-due-to-layer-2-to-layer-3-mapping"><name>Waste traffic due to layer 2 to layer 3 mapping</name>

<t>Hosts may need to receive and discard IP multicast packets in their IP module (typically in software) for
host groups that they have not joined because of possible N:1 mapping issues
in the layer 2 mapping of IP multicast. As described in <xref target="ethernet"/>, in IPv4
224.x.y.z, 224.(x+128).y.z, ..., 239.x.y.z, 239.(x+128).y.z will map to the same
MAC address 01-00-5E-xx-yy-zz for x=0..127/xx=hex(x), y=0..255/yy=hex(y), z=0..255/zz=hex(z).
For IPv6 over ethernet, similar mapping issues exist.</t>

<t>An only slightly overstated example is a broadcast network where few high-speed hosts receive
a high bitrate IPv4 multicast video stream to address 239.128.0.251 and a very small,
low-end CPU alarm siren has to be discovered via <xref target="mDNS"/> on 239.0.0.251. Both addresses
map to Ethernet address 01-00-5E-00-00-FB. The software infrastructure (CPU, buffers) on the alarm siren
gets overloaded by the high-bitrate IP multicast video stream because those packets are not filtered
in the MAC hardware filter, and <xref target="mDNS"/> fails to discover the alarm siren when a fire
in the building is discovered by a fire sensor.</t>

<t>These issues are resolved by avoiding the use of multiple IP multicast group addresses that
map to the same ethernet MAC addresses. In practice, industry recommendations primarily
focus on avoiding the use of IP multicast group addresses that map to statically assigned
link-local IP multicast group addresses to avoid impacting key protocols such as <xref target="mDNS"/> in the example.</t>

</section>
<section anchor="unexpected"><name>Multiple application instances</name>

<t>If two or more instances of the same (or similar enough in packet format) applications that
do not well enough distinguish their instances through higher layer methods (transport layer
ports, security selectors, application layer identification of instance) are instantiated 
and (erroneously) re-use the same IP multicast group, then this will not only cause the
aforementioned waste traffic problems, that waste traffic can also leak into the application
where it causes malfunction or other application security issues.</t>

<t>An example of this issue are protocols like <xref target="OSPFv2"/> which do not have instance differentiation
in their packet format, so when supposedly separate instances of OSPF are incorrectly wired
together, routing problems occur.</t>

<t>In <xref target="OSPFv2"/>, the common solution against this issue is to rely on the
authentication option and simply distinguish instances through
separate passwords. This is a practical separation strategy,
providing an instance identification to protect against accidental
incorrect wiring.</t>

<t>Applications using well-known transport layer ports
are likewise easily subject to this issue.</t>

</section>
</section>
<section anchor="mac-filters"><name>MAC filters</name>

<t>Joining to ASM multicast groups uses ressources in the host. The challenges in managing
resource exhaustion and/or fair share across multiple applications are similar to those
for unicast sockets except that filtering of packet reception at layer 2 will typically
consume additional hardware limited filtering resources ("MAC filters").</t>

</section>
</section>
<section anchor="acknowledgements"><name>Acknowledgements</name>

<t>Many thanks to Stig Veenas for his thorough review (PIM WG chair). Many thanks to Brian Haberman, Dino Farinnacci, Alvaro Retana (RTG AD) and Jim Stevens, Pascal Thubert (INTDIR), Zheng Zhang (RTGDIR), Erik Nordmark (IOTDIR). Special thanks to Rob Hinden.  Many thanks to Brian Weis (SECDIR), Kyle Rose and Rob Moskowitz for multicast security input. Many thanks to Amanda for IANA review.</t>

</section>


  </middle>

  <back>


    <references title='Normative References' anchor="sec-normative-references">



<reference anchor="RFC791">
  <front>
    <title>Internet Protocol</title>
    <author fullname="J. Postel" initials="J." surname="Postel"/>
    <date month="September" year="1981"/>
  </front>
  <seriesInfo name="STD" value="5"/>
  <seriesInfo name="RFC" value="791"/>
  <seriesInfo name="DOI" value="10.17487/RFC0791"/>
</reference>

<reference anchor="RFC1122">
  <front>
    <title>Requirements for Internet Hosts - Communication Layers</title>
    <author fullname="R. Braden" initials="R." role="editor" surname="Braden"/>
    <date month="October" year="1989"/>
    <abstract>
      <t>This RFC is an official specification for the Internet community. It incorporates by reference, amends, corrects, and supplements the primary protocol standards documents relating to hosts. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="STD" value="3"/>
  <seriesInfo name="RFC" value="1122"/>
  <seriesInfo name="DOI" value="10.17487/RFC1122"/>
</reference>

<referencegroup anchor="STD5" target="https://www.rfc-editor.org/info/std5">
  <reference anchor="RFC0791" target="https://www.rfc-editor.org/info/rfc791">
    <front>
      <title>Internet Protocol</title>
      <author fullname="J. Postel" initials="J." surname="Postel"/>
      <date month="September" year="1981"/>
    </front>
    <seriesInfo name="STD" value="5"/>
    <seriesInfo name="RFC" value="791"/>
    <seriesInfo name="DOI" value="10.17487/RFC0791"/>
  </reference>
  <reference anchor="RFC0792" target="https://www.rfc-editor.org/info/rfc792">
    <front>
      <title>Internet Control Message Protocol</title>
      <author fullname="J. Postel" initials="J." surname="Postel"/>
      <date month="September" year="1981"/>
    </front>
    <seriesInfo name="STD" value="5"/>
    <seriesInfo name="RFC" value="792"/>
    <seriesInfo name="DOI" value="10.17487/RFC0792"/>
  </reference>
  <reference anchor="RFC0919" target="https://www.rfc-editor.org/info/rfc919">
    <front>
      <title>Broadcasting Internet Datagrams</title>
      <author fullname="J.C. Mogul" initials="J.C." surname="Mogul"/>
      <date month="October" year="1984"/>
      <abstract>
        <t>This RFC proposes simple rules for broadcasting Internet datagrams on local networks that support broadcast, for addressing broadcasts, and for how gateways should handle them. This RFC suggests a proposed protocol for the ARPA-Internet community, and requests discussion and suggestions for improvements.</t>
      </abstract>
    </front>
    <seriesInfo name="STD" value="5"/>
    <seriesInfo name="RFC" value="919"/>
    <seriesInfo name="DOI" value="10.17487/RFC0919"/>
  </reference>
  <reference anchor="RFC0922" target="https://www.rfc-editor.org/info/rfc922">
    <front>
      <title>Broadcasting Internet datagrams in the presence of subnets</title>
      <author fullname="J.C. Mogul" initials="J.C." surname="Mogul"/>
      <date month="October" year="1984"/>
      <abstract>
        <t>We propose simple rules for broadcasting Internet datagrams on local networks that support broadcast, for addressing broadcasts, and for how gateways should handle them. This RFC suggests a proposed protocol for the ARPA-Internet community, and requests discussion and suggestions for improvements.</t>
      </abstract>
    </front>
    <seriesInfo name="STD" value="5"/>
    <seriesInfo name="RFC" value="922"/>
    <seriesInfo name="DOI" value="10.17487/RFC0922"/>
  </reference>
  <reference anchor="RFC0950" target="https://www.rfc-editor.org/info/rfc950">
    <front>
      <title>Internet Standard Subnetting Procedure</title>
      <author fullname="J.C. Mogul" initials="J.C." surname="Mogul"/>
      <author fullname="J. Postel" initials="J." surname="Postel"/>
      <date month="August" year="1985"/>
      <abstract>
        <t>This memo discusses the utility of "subnets" of Internet networks, which are logically visible sub-sections of a single Internet network. For administrative or technical reasons, many organizations have chosen to divide one Internet network into several subnets, instead of acquiring a set of Internet network numbers. This memo specifies procedures for the use of subnets. These procedures are for hosts (e.g., workstations). The procedures used in and between subnet gateways are not fully described. Important motivation and background information for a subnetting standard is provided in RFC-940. This RFC specifies a protocol for the ARPA-Internet community. If subnetting is implemented it is strongly recommended that these procedures be followed.</t>
      </abstract>
    </front>
    <seriesInfo name="STD" value="5"/>
    <seriesInfo name="RFC" value="950"/>
    <seriesInfo name="DOI" value="10.17487/RFC0950"/>
  </reference>
  <reference anchor="RFC1112" target="https://www.rfc-editor.org/info/rfc1112">
    <front>
      <title>Host extensions for IP multicasting</title>
      <author fullname="S.E. Deering" initials="S.E." surname="Deering"/>
      <date month="August" year="1989"/>
      <abstract>
        <t>This memo specifies the extensions required of a host implementation of the Internet Protocol (IP) to support multicasting. Recommended procedure for IP multicasting in the Internet. This RFC obsoletes RFCs 998 and 1054. [STANDARDS-TRACK]</t>
      </abstract>
    </front>
    <seriesInfo name="STD" value="5"/>
    <seriesInfo name="RFC" value="1112"/>
    <seriesInfo name="DOI" value="10.17487/RFC1112"/>
  </reference>
</referencegroup>

<reference anchor="IGMPv2">
  <front>
    <title>Internet Group Management Protocol, Version 2</title>
    <author fullname="W. Fenner" initials="W." surname="Fenner"/>
    <date month="November" year="1997"/>
    <abstract>
      <t>This memo documents IGMPv2, used by IP hosts to report their multicast group memberships to routers. It updates STD 5, RFC 1112. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="2236"/>
  <seriesInfo name="DOI" value="10.17487/RFC2236"/>
</reference>

<reference anchor="RFC2464">
  <front>
    <title>Transmission of IPv6 Packets over Ethernet Networks</title>
    <author fullname="M. Crawford" initials="M." surname="Crawford"/>
    <date month="December" year="1998"/>
    <abstract>
      <t>This document specifies the frame format for transmission of IPv6 packets and the method of forming IPv6 link-local addresses and statelessly autoconfigured addresses on Ethernet networks. It also specifies the content of the Source/Target Link-layer Address option used in Router Solicitation, Router Advertisement, Neighbor Solicitation, Neighbor Advertisement and Redirect messages when those messages are transmitted on an Ethernet. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="2464"/>
  <seriesInfo name="DOI" value="10.17487/RFC2464"/>
</reference>

<reference anchor="RFC4291">
  <front>
    <title>IP Version 6 Addressing Architecture</title>
    <author fullname="R. Hinden" initials="R." surname="Hinden"/>
    <author fullname="S. Deering" initials="S." surname="Deering"/>
    <date month="February" year="2006"/>
    <abstract>
      <t>This specification defines the addressing architecture of the IP Version 6 (IPv6) protocol. The document includes the IPv6 addressing model, text representations of IPv6 addresses, definition of IPv6 unicast addresses, anycast addresses, and multicast addresses, and an IPv6 node's required addresses.</t>
      <t>This document obsoletes RFC 3513, "IP Version 6 Addressing Architecture". [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="4291"/>
  <seriesInfo name="DOI" value="10.17487/RFC4291"/>
</reference>

<reference anchor="SSM">
  <front>
    <title>Source-Specific Multicast for IP</title>
    <author fullname="H. Holbrook" initials="H." surname="Holbrook"/>
    <author fullname="B. Cain" initials="B." surname="Cain"/>
    <date month="August" year="2006"/>
    <abstract>
      <t>IP version 4 (IPv4) addresses in the 232/8 (232.0.0.0 to 232.255.255.255) range are designated as source-specific multicast (SSM) destination addresses and are reserved for use by source-specific applications and protocols. For IP version 6 (IPv6), the address prefix FF3x::/32 is reserved for source-specific multicast use. This document defines an extension to the Internet network service that applies to datagrams sent to SSM addresses and defines the host and router requirements to support this extension. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="4607"/>
  <seriesInfo name="DOI" value="10.17487/RFC4607"/>
</reference>

<reference anchor="RFC8200">
  <front>
    <title>Internet Protocol, Version 6 (IPv6) Specification</title>
    <author fullname="S. Deering" initials="S." surname="Deering"/>
    <author fullname="R. Hinden" initials="R." surname="Hinden"/>
    <date month="July" year="2017"/>
    <abstract>
      <t>This document specifies version 6 of the Internet Protocol (IPv6). It obsoletes RFC 2460.</t>
    </abstract>
  </front>
  <seriesInfo name="STD" value="86"/>
  <seriesInfo name="RFC" value="8200"/>
  <seriesInfo name="DOI" value="10.17487/RFC8200"/>
</reference>

<reference anchor="RFC8504">
  <front>
    <title>IPv6 Node Requirements</title>
    <author fullname="T. Chown" initials="T." surname="Chown"/>
    <author fullname="J. Loughney" initials="J." surname="Loughney"/>
    <author fullname="T. Winters" initials="T." surname="Winters"/>
    <date month="January" year="2019"/>
    <abstract>
      <t>This document defines requirements for IPv6 nodes. It is expected that IPv6 will be deployed in a wide range of devices and situations. Specifying the requirements for IPv6 nodes allows IPv6 to function well and interoperate in a large number of situations and deployments.</t>
      <t>This document obsoletes RFC 6434, and in turn RFC 4294.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="220"/>
  <seriesInfo name="RFC" value="8504"/>
  <seriesInfo name="DOI" value="10.17487/RFC8504"/>
</reference>

<reference anchor="IGMPv3">
  <front>
    <title>Internet Group Management Protocol, Version 3</title>
    <author fullname="B. Haberman" initials="B." role="editor" surname="Haberman"/>
    <date month="March" year="2025"/>
    <abstract>
      <t>The Internet Group Management Protocol (IGMP) is the protocol used by IPv4 systems to report their IP multicast group memberships to neighboring multicast routers. Version 3 of IGMP (IGMPv3) adds support for source filtering, that is, the ability for a system to report interest in receiving packets only from specific source addresses, or from all but specific source addresses, sent to a particular multicast address. That information may be used by multicast routing protocols to avoid delivering multicast packets from specific sources to networks where there are no interested receivers.</t>
      <t>This document specifies IGMPv3. It is a revised version of RFC 3376 that includes clarifications and fixes for errata, and it is backward compatible with RFC 3376.</t>
      <t>This document updates RFC 2236 and obsoletes RFC 3376.</t>
    </abstract>
  </front>
  <seriesInfo name="STD" value="100"/>
  <seriesInfo name="RFC" value="9776"/>
  <seriesInfo name="DOI" value="10.17487/RFC9776"/>
</reference>

<reference anchor="MLDv2">
  <front>
    <title>Multicast Listener Discovery Version 2 (MLDv2) for IPv6</title>
    <author fullname="B. Haberman" initials="B." role="editor" surname="Haberman"/>
    <date month="March" year="2025"/>
    <abstract>
      <t>This document specifies the Multicast Listener Discovery version 2 (MLDv2) protocol. MLD is used by an IPv6 router to discover the presence of multicast listeners on directly attached links and to discover which multicast addresses are of interest to those neighboring nodes. MLDv2 is designed to be interoperable with MLDv1. MLDv2 adds the ability for a node to report interest in listening to packets with a particular multicast address only from specific source addresses or from all sources except for specific source addresses.</t>
      <t>This document updates RFC 2710 and obsoletes RFC 3810.</t>
    </abstract>
  </front>
  <seriesInfo name="STD" value="101"/>
  <seriesInfo name="RFC" value="9777"/>
  <seriesInfo name="DOI" value="10.17487/RFC9777"/>
</reference>

<reference anchor="RFC2119">
  <front>
    <title>Key words for use in RFCs to Indicate Requirement Levels</title>
    <author fullname="S. Bradner" initials="S." surname="Bradner"/>
    <date month="March" year="1997"/>
    <abstract>
      <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="2119"/>
  <seriesInfo name="DOI" value="10.17487/RFC2119"/>
</reference>

<reference anchor="RFC8174">
  <front>
    <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
    <author fullname="B. Leiba" initials="B." surname="Leiba"/>
    <date month="May" year="2017"/>
    <abstract>
      <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="8174"/>
  <seriesInfo name="DOI" value="10.17487/RFC8174"/>
</reference>




    </references>

    <references title='Informative References' anchor="sec-informative-references">



<reference anchor="UDP">
  <front>
    <title>Mail Transfer Protocol: ISI TOPS20 MTP-NIMAIL interface</title>
    <author fullname="S. Sluizer" initials="S." surname="Sluizer"/>
    <author fullname="J. Postel" initials="J." surname="Postel"/>
    <date month="July" year="1981"/>
  </front>
  <seriesInfo name="RFC" value="786"/>
  <seriesInfo name="DOI" value="10.17487/RFC0786"/>
</reference>

<reference anchor="RFC1045">
  <front>
    <title>VMTP: Versatile Message Transaction Protocol: Protocol specification</title>
    <author fullname="D.R. Cheriton" initials="D.R." surname="Cheriton"/>
    <date month="February" year="1988"/>
    <abstract>
      <t>This memo specifies the Versatile Message Transaction Protocol (VMTP) [Version 0.7 of 19-Feb-88], a transport protocol specifically designed to support the transaction model of communication, as exemplified by remote procedure call (RPC). The full function of VMTP, including support for security, real-time, asynchronous message exchanges, streaming, multicast and idempotency, provides a rich selection to the VMTP user level. Subsettability allows the VMTP module for particular clients and servers to be specialized and simplified to the services actually required. Examples of such simple clients and servers include PROM network bootload programs, network boot servers, data sensors and simple controllers, to mention but a few examples. This RFC describes a protocol proposed as a standard for the Internet community.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="1045"/>
  <seriesInfo name="DOI" value="10.17487/RFC1045"/>
</reference>

<reference anchor="RFC1883">
  <front>
    <title>Internet Protocol, Version 6 (IPv6) Specification</title>
    <author fullname="S. Deering" initials="S." surname="Deering"/>
    <author fullname="R. Hinden" initials="R." surname="Hinden"/>
    <date month="December" year="1995"/>
    <abstract>
      <t>This document specifies version 6 of the Internet Protocol (IPv6), also sometimes referred to as IP Next Generation or IPng. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="1883"/>
  <seriesInfo name="DOI" value="10.17487/RFC1883"/>
</reference>

<reference anchor="OSPFv2">
  <front>
    <title>OSPF Version 2</title>
    <author fullname="J. Moy" initials="J." surname="Moy"/>
    <date month="April" year="1998"/>
    <abstract>
      <t>This memo documents version 2 of the OSPF protocol. OSPF is a link- state routing protocol. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="STD" value="54"/>
  <seriesInfo name="RFC" value="2328"/>
  <seriesInfo name="DOI" value="10.17487/RFC2328"/>
</reference>

<reference anchor="RFC2365">
  <front>
    <title>Administratively Scoped IP Multicast</title>
    <author fullname="D. Meyer" initials="D." surname="Meyer"/>
    <date month="July" year="1998"/>
    <abstract>
      <t>This document defines the "administratively scoped IPv4 multicast space" to be the range 239.0.0.0 to 239.255.255.255. In addition, it describes a simple set of semantics for the implementation of Administratively Scoped IP Multicast. Finally, it provides a mapping between the IPv6 multicast address classes [RFC1884] and IPv4 multicast address classes. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="23"/>
  <seriesInfo name="RFC" value="2365"/>
  <seriesInfo name="DOI" value="10.17487/RFC2365"/>
</reference>

<reference anchor="MADCAP">
  <front>
    <title>Multicast Address Dynamic Client Allocation Protocol (MADCAP)</title>
    <author fullname="S. Hanna" initials="S." surname="Hanna"/>
    <author fullname="B. Patel" initials="B." surname="Patel"/>
    <author fullname="M. Shah" initials="M." surname="Shah"/>
    <date month="December" year="1999"/>
    <abstract>
      <t>This document defines a protocol, Multicast Address Dynamic Client Allocation Protocol (MADCAP), that allows hosts to request multicast addresses from multicast address allocation servers. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="2730"/>
  <seriesInfo name="DOI" value="10.17487/RFC2730"/>
</reference>

<reference anchor="MASC">
  <front>
    <title>The Multicast Address-Set Claim (MASC) Protocol</title>
    <author fullname="P. Radoslavov" initials="P." surname="Radoslavov"/>
    <author fullname="D. Estrin" initials="D." surname="Estrin"/>
    <author fullname="R. Govindan" initials="R." surname="Govindan"/>
    <author fullname="M. Handley" initials="M." surname="Handley"/>
    <author fullname="S. Kumar" initials="S." surname="Kumar"/>
    <author fullname="D. Thaler" initials="D." surname="Thaler"/>
    <date month="September" year="2000"/>
    <abstract>
      <t>This document describes the Multicast Address-Set Claim (MASC) protocol which can be used for inter-domain multicast address set allocation. This memo defines an Experimental Protocol for the Internet community.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="2909"/>
  <seriesInfo name="DOI" value="10.17487/RFC2909"/>
</reference>

<reference anchor="RFC2908">
  <front>
    <title>The Internet Multicast Address Allocation Architecture</title>
    <author fullname="D. Thaler" initials="D." surname="Thaler"/>
    <author fullname="M. Handley" initials="M." surname="Handley"/>
    <author fullname="D. Estrin" initials="D." surname="Estrin"/>
    <date month="September" year="2000"/>
    <abstract>
      <t>This document proposes a multicast address allocation architecture (MALLOC) for the Internet. This memo provides information for the Internet community.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="2908"/>
  <seriesInfo name="DOI" value="10.17487/RFC2908"/>
</reference>

<reference anchor="MLDv1">
  <front>
    <title>Multicast Listener Discovery (MLD) for IPv6</title>
    <author fullname="S. Deering" initials="S." surname="Deering"/>
    <author fullname="W. Fenner" initials="W." surname="Fenner"/>
    <author fullname="B. Haberman" initials="B." surname="Haberman"/>
    <date month="October" year="1999"/>
    <abstract>
      <t>This document specifies the protocol used by an IPv6 router to discover the presence of multicast listeners (that is, nodes wishing to receive multicast packets) on its directly attached links, and to discover specifically which multicast addresses are of interest to those neighboring nodes. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="2710"/>
  <seriesInfo name="DOI" value="10.17487/RFC2710"/>
</reference>

<reference anchor="RFC2974">
  <front>
    <title>Session Announcement Protocol</title>
    <author fullname="M. Handley" initials="M." surname="Handley"/>
    <author fullname="C. Perkins" initials="C." surname="Perkins"/>
    <author fullname="E. Whelan" initials="E." surname="Whelan"/>
    <date month="October" year="2000"/>
    <abstract>
      <t>This document describes version 2 of the multicast session directory announcement protocol, Session Announcement Protocol (SAP), and the related issues affecting security and scalability that should be taken into account by implementors. This memo defines an Experimental Protocol for the Internet community.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="2974"/>
  <seriesInfo name="DOI" value="10.17487/RFC2974"/>
</reference>

<reference anchor="PGM">
  <front>
    <title>PGM Reliable Transport Protocol Specification</title>
    <author fullname="T. Speakman" initials="T." surname="Speakman"/>
    <author fullname="J. Crowcroft" initials="J." surname="Crowcroft"/>
    <author fullname="J. Gemmell" initials="J." surname="Gemmell"/>
    <author fullname="D. Farinacci" initials="D." surname="Farinacci"/>
    <author fullname="S. Lin" initials="S." surname="Lin"/>
    <author fullname="D. Leshchiner" initials="D." surname="Leshchiner"/>
    <author fullname="M. Luby" initials="M." surname="Luby"/>
    <author fullname="T. Montgomery" initials="T." surname="Montgomery"/>
    <author fullname="L. Rizzo" initials="L." surname="Rizzo"/>
    <author fullname="A. Tweedly" initials="A." surname="Tweedly"/>
    <author fullname="N. Bhaskar" initials="N." surname="Bhaskar"/>
    <author fullname="R. Edmonstone" initials="R." surname="Edmonstone"/>
    <author fullname="R. Sumanasekera" initials="R." surname="Sumanasekera"/>
    <author fullname="L. Vicisano" initials="L." surname="Vicisano"/>
    <date month="December" year="2001"/>
    <abstract>
      <t>Pragmatic General Multicast (PGM) is a reliable multicast transport protocol for applications that require ordered or unordered, duplicate- free, multicast data delivery from multiple sources to multiple receivers. PGM guarantees that a receiver in the group either receives all data packets from transmissions and repairs, or is able to detect unrecoverable data packet loss. PGM is specifically intended as a workable solution for multicast applications with basic reliability requirements. Its central design goal is simplicity of operation with due regard for scalability and network efficiency. This memo defines an Experimental Protocol for the Internet community.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="3208"/>
  <seriesInfo name="DOI" value="10.17487/RFC3208"/>
</reference>

<reference anchor="RFC3232">
  <front>
    <title>Assigned Numbers: RFC 1700 is Replaced by an On-line Database</title>
    <author fullname="J. Reynolds" initials="J." role="editor" surname="Reynolds"/>
    <date month="January" year="2002"/>
    <abstract>
      <t>This memo obsoletes RFC 1700 (STD 2) "Assigned Numbers", which contained an October 1994 snapshot of assigned Internet protocol parameters. This memo provides information for the Internet community.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="3232"/>
  <seriesInfo name="DOI" value="10.17487/RFC3232"/>
</reference>

<reference anchor="RFC3376">
  <front>
    <title>Internet Group Management Protocol, Version 3</title>
    <author fullname="B. Cain" initials="B." surname="Cain"/>
    <author fullname="S. Deering" initials="S." surname="Deering"/>
    <author fullname="I. Kouvelas" initials="I." surname="Kouvelas"/>
    <author fullname="B. Fenner" initials="B." surname="Fenner"/>
    <author fullname="A. Thyagarajan" initials="A." surname="Thyagarajan"/>
    <date month="October" year="2002"/>
    <abstract>
      <t>This document specifies Version 3 of the Internet Group Management
Protocol, IGMPv3. IGMP is the protocol used by IPv4 systems to report
their IP multicast group memberships to neighboring multicast routers.
Version 3 of IGMP adds support for 'source filtering', that is, the
ability for a system to report interest in receiving packets *only* from
specific source addresses, or from *all but* specific source addresses,
sent to a particular multicast address. That information may be used by
multicast routing protocols to avoid delivering multicast packets from
specific sources to networks where there are no interested receivers.
This document obsoletes RFC 2236.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="3376"/>
  <seriesInfo name="DOI" value="10.17487/RFC3376"/>
</reference>

<reference anchor="RFC3493">
  <front>
    <title>Basic Socket Interface Extensions for IPv6</title>
    <author fullname="R. Gilligan" initials="R." surname="Gilligan"/>
    <author fullname="S. Thomson" initials="S." surname="Thomson"/>
    <author fullname="J. Bound" initials="J." surname="Bound"/>
    <author fullname="J. McCann" initials="J." surname="McCann"/>
    <author fullname="W. Stevens" initials="W." surname="Stevens"/>
    <date month="March" year="2003"/>
    <abstract>
      <t>The de facto standard Application Program Interface (API) for TCP/IP applications is the "sockets" interface. Although this API was developed for Unix in the early 1980s it has also been implemented on a wide variety of non-Unix systems. TCP/IP applications written using the sockets API have in the past enjoyed a high degree of portability and we would like the same portability with IPv6 applications. But changes are required to the sockets API to support IPv6 and this memo describes these changes. These include a new socket address structure to carry IPv6 addresses, new address conversion functions, and some new socket options. These extensions are designed to provide access to the basic IPv6 features required by TCP and UDP applications, including multicasting, while introducing a minimum of change into the system and providing complete compatibility for existing IPv4 applications. Additional extensions for advanced IPv6 features (raw sockets and access to the IPv6 extension headers) are defined in another document. This memo provides information for the Internet community.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="3493"/>
  <seriesInfo name="DOI" value="10.17487/RFC3493"/>
</reference>

<reference anchor="RTP">
  <front>
    <title>RTP: A Transport Protocol for Real-Time Applications</title>
    <author fullname="H. Schulzrinne" initials="H." surname="Schulzrinne"/>
    <author fullname="S. Casner" initials="S." surname="Casner"/>
    <author fullname="R. Frederick" initials="R." surname="Frederick"/>
    <author fullname="V. Jacobson" initials="V." surname="Jacobson"/>
    <date month="July" year="2003"/>
    <abstract>
      <t>This memorandum describes RTP, the real-time transport protocol. RTP provides end-to-end network transport functions suitable for applications transmitting real-time data, such as audio, video or simulation data, over multicast or unicast network services. RTP does not address resource reservation and does not guarantee quality-of- service for real-time services. The data transport is augmented by a control protocol (RTCP) to allow monitoring of the data delivery in a manner scalable to large multicast networks, and to provide minimal control and identification functionality. RTP and RTCP are designed to be independent of the underlying transport and network layers. The protocol supports the use of RTP-level translators and mixers. Most of the text in this memorandum is identical to RFC 1889 which it obsoletes. There are no changes in the packet formats on the wire, only changes to the rules and algorithms governing how the protocol is used. The biggest change is an enhancement to the scalable timer algorithm for calculating when to send RTCP packets in order to minimize transmission in excess of the intended rate when many participants join a session simultaneously. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="STD" value="64"/>
  <seriesInfo name="RFC" value="3550"/>
  <seriesInfo name="DOI" value="10.17487/RFC3550"/>
</reference>

<reference anchor="RFC3678">
  <front>
    <title>Socket Interface Extensions for Multicast Source Filters</title>
    <author fullname="D. Thaler" initials="D." surname="Thaler"/>
    <author fullname="B. Fenner" initials="B." surname="Fenner"/>
    <author fullname="B. Quinn" initials="B." surname="Quinn"/>
    <date month="January" year="2004"/>
    <abstract>
      <t>The Internet Group Management Protocol (IGMPv3) for IPv4 and the Multicast Listener Discovery (MLDv2) for IPv6 add the capability for applications to express source filters on multicast group memberships, which allows receiver applications to determine the set of senders (sources) from which to accept multicast traffic. This capability also simplifies support of one-to-many type multicast applications. This document specifies new socket options and functions to manage source filters for IP Multicast group memberships. It also defines the socket structures to provide input and output arguments to these new application program interfaces (APIs). These extensions are designed to provide access to the source filtering features, while introducing a minimum of change into the system and providing complete compatibility for existing multicast applications.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="3678"/>
  <seriesInfo name="DOI" value="10.17487/RFC3678"/>
</reference>

<reference anchor="RFC3810">
  <front>
    <title>Multicast Listener Discovery Version 2 (MLDv2) for IPv6</title>
    <author fullname="R. Vida" initials="R." role="editor" surname="Vida"/>
    <author fullname="L. Costa" initials="L." role="editor" surname="Costa"/>
    <date month="June" year="2004"/>
    <abstract>
      <t>This document updates RFC 2710, and it specifies Version 2 of the ulticast Listener Discovery Protocol (MLDv2). MLD is used by an IPv6 router to discover the presence of multicast listeners on directly attached links, and to discover which multicast addresses are of interest to those neighboring nodes. MLDv2 is designed to be interoperable with MLDv1. MLDv2 adds the ability for a node to report interest in listening to packets with a particular multicast address only from specific source addresses or from all sources except for specific source addresses. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="3810"/>
  <seriesInfo name="DOI" value="10.17487/RFC3810"/>
</reference>

<reference anchor="RFC3956">
  <front>
    <title>Embedding the Rendezvous Point (RP) Address in an IPv6 Multicast Address</title>
    <author fullname="P. Savola" initials="P." surname="Savola"/>
    <author fullname="B. Haberman" initials="B." surname="Haberman"/>
    <date month="November" year="2004"/>
    <abstract>
      <t>This memo defines an address allocation policy in which the address of the Rendezvous Point (RP) is encoded in an IPv6 multicast group address. For Protocol Independent Multicast - Sparse Mode (PIM-SM), this can be seen as a specification of a group-to-RP mapping mechanism. This allows an easy deployment of scalable inter-domain multicast and simplifies the intra-domain multicast configuration as well. This memo updates the addressing format presented in RFC 3306. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="3956"/>
  <seriesInfo name="DOI" value="10.17487/RFC3956"/>
</reference>

<reference anchor="RFC4082">
  <front>
    <title>Timed Efficient Stream Loss-Tolerant Authentication (TESLA): Multicast Source Authentication Transform Introduction</title>
    <author fullname="A. Perrig" initials="A." surname="Perrig"/>
    <author fullname="D. Song" initials="D." surname="Song"/>
    <author fullname="R. Canetti" initials="R." surname="Canetti"/>
    <author fullname="J. D. Tygar" initials="J. D." surname="Tygar"/>
    <author fullname="B. Briscoe" initials="B." surname="Briscoe"/>
    <date month="June" year="2005"/>
    <abstract>
      <t>This document introduces Timed Efficient Stream Loss-tolerant Authentication (TESLA). TESLA allows all receivers to check the integrity and authenticate the source of each packet in multicast or broadcast data streams. TESLA requires no trust between receivers, uses low-cost operations per packet at both sender and receiver, can tolerate any level of loss without retransmissions, and requires no per-receiver state at the sender. TESLA can protect receivers against denial of service attacks in certain circumstances. Each receiver must be loosely time-synchronized with the source in order to verify messages, but otherwise receivers do not have to send any messages. TESLA alone cannot support non-repudiation of the data source to third parties.</t>
      <t>This informational document is intended to assist in writing standardizable and secure specifications for protocols based on TESLA in different contexts. This memo provides information for the Internet community.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="4082"/>
  <seriesInfo name="DOI" value="10.17487/RFC4082"/>
</reference>

<reference anchor="IGMPsnooping">
  <front>
    <title>Considerations for Internet Group Management Protocol (IGMP) and Multicast Listener Discovery (MLD) Snooping Switches</title>
    <author fullname="M. Christensen" initials="M." surname="Christensen"/>
    <author fullname="K. Kimball" initials="K." surname="Kimball"/>
    <author fullname="F. Solensky" initials="F." surname="Solensky"/>
    <date month="May" year="2006"/>
    <abstract>
      <t>This memo describes the recommendations for Internet Group Management Protocol (IGMP) and Multicast Listener Discovery (MLD) snooping switches. These are based on best current practices for IGMPv2, with further considerations for IGMPv3- and MLDv2-snooping. Additional areas of relevance, such as link layer topology changes and Ethernet-specific encapsulation issues, are also considered. This memo provides information for the Internet community.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="4541"/>
  <seriesInfo name="DOI" value="10.17487/RFC4541"/>
</reference>

<reference anchor="RFC4861">
  <front>
    <title>Neighbor Discovery for IP version 6 (IPv6)</title>
    <author fullname="T. Narten" initials="T." surname="Narten"/>
    <author fullname="E. Nordmark" initials="E." surname="Nordmark"/>
    <author fullname="W. Simpson" initials="W." surname="Simpson"/>
    <author fullname="H. Soliman" initials="H." surname="Soliman"/>
    <date month="September" year="2007"/>
    <abstract>
      <t>This document specifies the Neighbor Discovery protocol for IP Version 6. IPv6 nodes on the same link use Neighbor Discovery to discover each other's presence, to determine each other's link-layer addresses, to find routers, and to maintain reachability information about the paths to active neighbors. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="4861"/>
  <seriesInfo name="DOI" value="10.17487/RFC4861"/>
</reference>

<reference anchor="RFC5771">
  <front>
    <title>IANA Guidelines for IPv4 Multicast Address Assignments</title>
    <author fullname="M. Cotton" initials="M." surname="Cotton"/>
    <author fullname="L. Vegoda" initials="L." surname="Vegoda"/>
    <author fullname="D. Meyer" initials="D." surname="Meyer"/>
    <date month="March" year="2010"/>
    <abstract>
      <t>This document provides guidance for the Internet Assigned Numbers Authority (IANA) in assigning IPv4 multicast addresses. It obsoletes RFC 3171 and RFC 3138 and updates RFC 2780. This memo documents an Internet Best Current Practice.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="51"/>
  <seriesInfo name="RFC" value="5771"/>
  <seriesInfo name="DOI" value="10.17487/RFC5771"/>
</reference>

<reference anchor="RFC5790">
  <front>
    <title>Lightweight Internet Group Management Protocol Version 3 (IGMPv3) and Multicast Listener Discovery Version 2 (MLDv2) Protocols</title>
    <author fullname="H. Liu" initials="H." surname="Liu"/>
    <author fullname="W. Cao" initials="W." surname="Cao"/>
    <author fullname="H. Asaeda" initials="H." surname="Asaeda"/>
    <date month="February" year="2010"/>
    <abstract>
      <t>This document describes lightweight IGMPv3 and MLDv2 protocols (LW- IGMPv3 and LW-MLDv2), which simplify the standard (full) versions of IGMPv3 and MLDv2. The interoperability with the full versions and the previous versions of IGMP and MLD is also taken into account. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="5790"/>
  <seriesInfo name="DOI" value="10.17487/RFC5790"/>
</reference>

<reference anchor="RFC6034">
  <front>
    <title>Unicast-Prefix-Based IPv4 Multicast Addresses</title>
    <author fullname="D. Thaler" initials="D." surname="Thaler"/>
    <date month="October" year="2010"/>
    <abstract>
      <t>This specification defines an extension to the multicast addressing architecture of the IP Version 4 protocol. The extension presented in this document allows for unicast-prefix-based assignment of multicast addresses. By delegating multicast addresses at the same time as unicast prefixes, network operators will be able to identify their multicast addresses without needing to run an inter-domain allocation protocol. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="6034"/>
  <seriesInfo name="DOI" value="10.17487/RFC6034"/>
</reference>

<reference anchor="RFC6085">
  <front>
    <title>Address Mapping of IPv6 Multicast Packets on Ethernet</title>
    <author fullname="S. Gundavelli" initials="S." surname="Gundavelli"/>
    <author fullname="M. Townsley" initials="M." surname="Townsley"/>
    <author fullname="O. Troan" initials="O." surname="Troan"/>
    <author fullname="W. Dec" initials="W." surname="Dec"/>
    <date month="January" year="2011"/>
    <abstract>
      <t>When transmitting an IPv6 packet with a multicast destination address, the IPv6 destination address is mapped to an Ethernet link-layer multicast address. This document clarifies that a mapping of an IPv6 packet with a multicast destination address may in some circumstances map to an Ethernet link-layer unicast address. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="6085"/>
  <seriesInfo name="DOI" value="10.17487/RFC6085"/>
</reference>

<reference anchor="RFC6308">
  <front>
    <title>Overview of the Internet Multicast Addressing Architecture</title>
    <author fullname="P. Savola" initials="P." surname="Savola"/>
    <date month="June" year="2011"/>
    <abstract>
      <t>The lack of up-to-date documentation on IP multicast address allocation and assignment procedures has caused a great deal of confusion. To clarify the situation, this memo describes the allocation and assignment techniques and mechanisms currently (as of this writing) in use. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="6308"/>
  <seriesInfo name="DOI" value="10.17487/RFC6308"/>
</reference>

<reference anchor="RPL">
  <front>
    <title>RPL: IPv6 Routing Protocol for Low-Power and Lossy Networks</title>
    <author fullname="T. Winter" initials="T." role="editor" surname="Winter"/>
    <author fullname="P. Thubert" initials="P." role="editor" surname="Thubert"/>
    <author fullname="A. Brandt" initials="A." surname="Brandt"/>
    <author fullname="J. Hui" initials="J." surname="Hui"/>
    <author fullname="R. Kelsey" initials="R." surname="Kelsey"/>
    <author fullname="P. Levis" initials="P." surname="Levis"/>
    <author fullname="K. Pister" initials="K." surname="Pister"/>
    <author fullname="R. Struik" initials="R." surname="Struik"/>
    <author fullname="JP. Vasseur" initials="JP." surname="Vasseur"/>
    <author fullname="R. Alexander" initials="R." surname="Alexander"/>
    <date month="March" year="2012"/>
    <abstract>
      <t>Low-Power and Lossy Networks (LLNs) are a class of network in which both the routers and their interconnect are constrained. LLN routers typically operate with constraints on processing power, memory, and energy (battery power). Their interconnects are characterized by high loss rates, low data rates, and instability. LLNs are comprised of anything from a few dozen to thousands of routers. Supported traffic flows include point-to-point (between devices inside the LLN), point-to-multipoint (from a central control point to a subset of devices inside the LLN), and multipoint-to-point (from devices inside the LLN towards a central control point). This document specifies the IPv6 Routing Protocol for Low-Power and Lossy Networks (RPL), which provides a mechanism whereby multipoint-to-point traffic from devices inside the LLN towards a central control point as well as point-to-multipoint traffic from the central control point to the devices inside the LLN are supported. Support for point-to-point traffic is also available. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="6550"/>
  <seriesInfo name="DOI" value="10.17487/RFC6550"/>
</reference>

<reference anchor="mDNS">
  <front>
    <title>DNS-Based Service Discovery</title>
    <author fullname="S. Cheshire" initials="S." surname="Cheshire"/>
    <author fullname="M. Krochmal" initials="M." surname="Krochmal"/>
    <date month="February" year="2013"/>
    <abstract>
      <t>This document specifies how DNS resource records are named and structured to facilitate service discovery. Given a type of service that a client is looking for, and a domain in which the client is looking for that service, this mechanism allows clients to discover a list of named instances of that desired service, using standard DNS queries. This mechanism is referred to as DNS-based Service Discovery, or DNS-SD.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="6763"/>
  <seriesInfo name="DOI" value="10.17487/RFC6763"/>
</reference>

<reference anchor="RFC7346">
  <front>
    <title>IPv6 Multicast Address Scopes</title>
    <author fullname="R. Droms" initials="R." surname="Droms"/>
    <date month="August" year="2014"/>
    <abstract>
      <t>This document updates the definitions of IPv6 multicast scopes and therefore updates RFCs 4007 and 4291.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="7346"/>
  <seriesInfo name="DOI" value="10.17487/RFC7346"/>
</reference>

<reference anchor="RFC7371">
  <front>
    <title>Updates to the IPv6 Multicast Addressing Architecture</title>
    <author fullname="M. Boucadair" initials="M." surname="Boucadair"/>
    <author fullname="S. Venaas" initials="S." surname="Venaas"/>
    <date month="September" year="2014"/>
    <abstract>
      <t>This document updates the IPv6 multicast addressing architecture by redefining the reserved bits as generic flag bits. The document also provides some clarifications related to the use of these flag bits.</t>
      <t>This document updates RFCs 3956, 3306, and 4291.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="7371"/>
  <seriesInfo name="DOI" value="10.17487/RFC7371"/>
</reference>

<reference anchor="RFC7721">
  <front>
    <title>Security and Privacy Considerations for IPv6 Address Generation Mechanisms</title>
    <author fullname="A. Cooper" initials="A." surname="Cooper"/>
    <author fullname="F. Gont" initials="F." surname="Gont"/>
    <author fullname="D. Thaler" initials="D." surname="Thaler"/>
    <date month="March" year="2016"/>
    <abstract>
      <t>This document discusses privacy and security considerations for several IPv6 address generation mechanisms, both standardized and non-standardized. It evaluates how different mechanisms mitigate different threats and the trade-offs that implementors, developers, and users face in choosing different addresses or address generation mechanisms.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="7721"/>
  <seriesInfo name="DOI" value="10.17487/RFC7721"/>
</reference>

<reference anchor="PIM-SM">
  <front>
    <title>Protocol Independent Multicast - Sparse Mode (PIM-SM): Protocol Specification (Revised)</title>
    <author fullname="B. Fenner" initials="B." surname="Fenner"/>
    <author fullname="M. Handley" initials="M." surname="Handley"/>
    <author fullname="H. Holbrook" initials="H." surname="Holbrook"/>
    <author fullname="I. Kouvelas" initials="I." surname="Kouvelas"/>
    <author fullname="R. Parekh" initials="R." surname="Parekh"/>
    <author fullname="Z. Zhang" initials="Z." surname="Zhang"/>
    <author fullname="L. Zheng" initials="L." surname="Zheng"/>
    <date month="March" year="2016"/>
    <abstract>
      <t>This document specifies Protocol Independent Multicast - Sparse Mode (PIM-SM). PIM-SM is a multicast routing protocol that can use the underlying unicast routing information base or a separate multicast-capable routing information base. It builds unidirectional shared trees rooted at a Rendezvous Point (RP) per group, and it optionally creates shortest-path trees per source.</t>
      <t>This document obsoletes RFC 4601 by replacing it, addresses the errata filed against it, removes the optional (*,*,RP), PIM Multicast Border Router features and authentication using IPsec that lack sufficient deployment experience (see Appendix A), and moves the PIM specification to Internet Standard.</t>
    </abstract>
  </front>
  <seriesInfo name="STD" value="83"/>
  <seriesInfo name="RFC" value="7761"/>
  <seriesInfo name="DOI" value="10.17487/RFC7761"/>
</reference>

<reference anchor="RFC8085">
  <front>
    <title>UDP Usage Guidelines</title>
    <author fullname="L. Eggert" initials="L." surname="Eggert"/>
    <author fullname="G. Fairhurst" initials="G." surname="Fairhurst"/>
    <author fullname="G. Shepherd" initials="G." surname="Shepherd"/>
    <date month="March" year="2017"/>
    <abstract>
      <t>The User Datagram Protocol (UDP) provides a minimal message-passing transport that has no inherent congestion control mechanisms. This document provides guidelines on the use of UDP for the designers of applications, tunnels, and other protocols that use UDP. Congestion control guidelines are a primary focus, but the document also provides guidance on other topics, including message sizes, reliability, checksums, middlebox traversal, the use of Explicit Congestion Notification (ECN), Differentiated Services Code Points (DSCPs), and ports.</t>
      <t>Because congestion control is critical to the stable operation of the Internet, applications and other protocols that choose to use UDP as an Internet transport must employ mechanisms to prevent congestion collapse and to establish some degree of fairness with concurrent traffic. They may also need to implement additional mechanisms, depending on how they use UDP.</t>
      <t>Some guidance is also applicable to the design of other protocols (e.g., protocols layered directly on IP or via IP-based tunnels), especially when these protocols do not themselves provide congestion control.</t>
      <t>This document obsoletes RFC 5405 and adds guidelines for multicast UDP usage.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="145"/>
  <seriesInfo name="RFC" value="8085"/>
  <seriesInfo name="DOI" value="10.17487/RFC8085"/>
</reference>

<reference anchor="RFC8815">
  <front>
    <title>Deprecating Any-Source Multicast (ASM) for Interdomain Multicast</title>
    <author fullname="M. Abrahamsson" initials="M." surname="Abrahamsson"/>
    <author fullname="T. Chown" initials="T." surname="Chown"/>
    <author fullname="L. Giuliano" initials="L." surname="Giuliano"/>
    <author fullname="T. Eckert" initials="T." surname="Eckert"/>
    <date month="August" year="2020"/>
    <abstract>
      <t>This document recommends deprecation of the use of Any-Source Multicast (ASM) for interdomain multicast. It recommends the use of Source-Specific Multicast (SSM) for interdomain multicast applications and recommends that hosts and routers in these deployments fully support SSM. The recommendations in this document do not preclude the continued use of ASM within a single organization or domain and are especially easy to adopt in existing deployments of intradomain ASM using PIM Sparse Mode (PIM-SM).</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="229"/>
  <seriesInfo name="RFC" value="8815"/>
  <seriesInfo name="DOI" value="10.17487/RFC8815"/>
</reference>

<reference anchor="BIER">
  <front>
    <title>Multicast Using Bit Index Explicit Replication (BIER)</title>
    <author fullname="IJ. Wijnands" initials="IJ." role="editor" surname="Wijnands"/>
    <author fullname="E. Rosen" initials="E." role="editor" surname="Rosen"/>
    <author fullname="A. Dolganow" initials="A." surname="Dolganow"/>
    <author fullname="T. Przygienda" initials="T." surname="Przygienda"/>
    <author fullname="S. Aldrin" initials="S." surname="Aldrin"/>
    <date month="November" year="2017"/>
    <abstract>
      <t>This document specifies a new architecture for the forwarding of multicast data packets. It provides optimal forwarding of multicast packets through a "multicast domain". However, it does not require a protocol for explicitly building multicast distribution trees, nor does it require intermediate nodes to maintain any per-flow state. This architecture is known as "Bit Index Explicit Replication" (BIER). When a multicast data packet enters the domain, the ingress router determines the set of egress routers to which the packet needs to be sent. The ingress router then encapsulates the packet in a BIER header. The BIER header contains a bit string in which each bit represents exactly one egress router in the domain; to forward the packet to a given set of egress routers, the bits corresponding to those routers are set in the BIER header. The procedures for forwarding a packet based on its BIER header are specified in this document. Elimination of the per-flow state and the explicit tree-building protocols results in a considerable simplification.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8279"/>
  <seriesInfo name="DOI" value="10.17487/RFC8279"/>
</reference>

<reference anchor="RFC8866">
  <front>
    <title>SDP: Session Description Protocol</title>
    <author fullname="A. Begen" initials="A." surname="Begen"/>
    <author fullname="P. Kyzivat" initials="P." surname="Kyzivat"/>
    <author fullname="C. Perkins" initials="C." surname="Perkins"/>
    <author fullname="M. Handley" initials="M." surname="Handley"/>
    <date month="January" year="2021"/>
    <abstract>
      <t>This memo defines the Session Description Protocol (SDP). SDP is intended for describing multimedia sessions for the purposes of session announcement, session invitation, and other forms of multimedia session initiation. This document obsoletes RFC 4566.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8866"/>
  <seriesInfo name="DOI" value="10.17487/RFC8866"/>
</reference>

<reference anchor="RFC9542">
  <front>
    <title>IANA Considerations and IETF Protocol and Documentation Usage for IEEE 802 Parameters</title>
    <author fullname="D. Eastlake 3rd" initials="D." surname="Eastlake 3rd"/>
    <author fullname="J. Abley" initials="J." surname="Abley"/>
    <author fullname="Y. Li" initials="Y." surname="Li"/>
    <date month="April" year="2024"/>
    <abstract>
      <t>Some IETF protocols make use of Ethernet frame formats and IEEE 802 parameters. This document discusses several aspects of such parameters and their use in IETF protocols, specifies IANA considerations for assignment of points under the IANA Organizationally Unique Identifier (OUI), and provides some values for use in documentation. This document obsoletes RFC 7042.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="141"/>
  <seriesInfo name="RFC" value="9542"/>
  <seriesInfo name="DOI" value="10.17487/RFC9542"/>
</reference>

<reference anchor="GDOI">
  <front>
    <title>Group Key Management Using the Internet Key Exchange Protocol Version 2 (IKEv2)</title>
    <author fullname="V. Smyslov" initials="V." surname="Smyslov"/>
    <author fullname="B. Weis" initials="B." surname="Weis"/>
    <date month="November" year="2025"/>
    <abstract>
      <t>This document presents an extension to the Internet Key Exchange Protocol Version 2 (IKEv2) for the purpose of group key management. The protocol is in conformance with the Multicast Security (MSEC) Group Key Management architecture, which contains two components: member registration and group rekeying. Both components are required for a Group Controller/Key Server (GCKS) to provide authorized Group Members (GMs) with IPsec Group Security Associations (GSAs). The GMs then exchange IP multicast or other group traffic as IPsec packets.</t>
      <t>This document obsoletes RFC 6407.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9838"/>
  <seriesInfo name="DOI" value="10.17487/RFC9838"/>
</reference>

<reference anchor="RFC9685">
  <front>
    <title>Listener Subscription for IPv6 Neighbor Discovery Multicast and Anycast Addresses</title>
    <author fullname="P. Thubert" initials="P." role="editor" surname="Thubert"/>
    <date month="November" year="2024"/>
    <abstract>
      <t>This document updates the 6LoWPAN extensions to IPv6 Neighbor Discovery (specified in RFCs 4861 and 8505) to enable a listener to subscribe to an IPv6 anycast or multicast address. This document also updates the Routing Protocol for Low-Power and Lossy Networks (RPL) (specified in RFCs 6550 and 6553) to add a new Non-Storing multicast mode and new support for anycast addresses in Storing and Non-Storing modes. This document extends RFC 9010 to enable a 6LoWPAN Router (6LR) to inject the anycast and multicast addresses in RPL.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9685"/>
  <seriesInfo name="DOI" value="10.17487/RFC9685"/>
</reference>


<reference anchor="I-D.ietf-pim-zeroconf-mcast-addr-alloc-ps">
   <front>
      <title>Zeroconf Multicast Address Allocation Problem Statement and Requirements</title>
      <author fullname="Nathan Karstens" initials="N." surname="Karstens">
         <organization>Garmin International, Inc.</organization>
      </author>
      <author fullname="Dino Farinacci" initials="D." surname="Farinacci">
         <organization>lispers.net</organization>
      </author>
      <author fullname="Mike McBride" initials="M." surname="McBride">
         <organization>Futurewei</organization>
      </author>
      <date day="17" month="February" year="2026"/>
      <abstract>
	 <t>   This document surveys current problems with existing protocols for
   automatically assigning multicast IP addresses in zero-configuration
   (&quot;zeroconf&quot;) networking environments.  It addresses key challenges,
   such as link-layer 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 solution for 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 solutions for multicast address allocation that
   operate autonomously within local networks.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-pim-zeroconf-mcast-addr-alloc-ps-13"/>
   
</reference>


<reference anchor="I-D.ietf-pim-gaap">
   <front>
      <title>Group Address Allocation Protocol (GAAP)</title>
      <author fullname="Dino Farinacci" initials="D." surname="Farinacci">
         <organization>lispers.net</organization>
      </author>
      <author fullname="Mike McBride" initials="M." surname="McBride">
         <organization>Futurewei</organization>
      </author>
      <date day="18" month="April" year="2026"/>
      <abstract>
	 <t>   This document describes a design for a lightweight decentralized
   multicast group address allocation protocol (named GAAP and
   pronounced &quot;gap&quot; as in &quot;mind the gap&quot;).  The protocol requires no
   configuration setup and no centralized services.  The protocol runs
   among group participants which need a unique group address to send
   and receive multicast packets.  Tailored for IPv4 and IPv6 networks,
   this design offers a simple, lightweight option rather than extending
   an existing protocol.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-pim-gaap-15"/>
   
</reference>


<reference anchor="TAPS" >
  <front>
    <title>TAPS WG documents</title>
    <author >
      <organization></organization>
    </author>
    <date />
  </front>
  <seriesInfo name="Web" value="https://datatracker.ietf.org/wg/taps/documents/"/>
</reference>
<reference anchor="MSEC" >
  <front>
    <title>MSEC WG documents</title>
    <author >
      <organization></organization>
    </author>
    <date />
  </front>
  <seriesInfo name="Web" value="https://datatracker.ietf.org/wg/msec/documents/"/>
</reference>
<reference anchor="IANA.MASR" >
  <front>
    <title>IPv6 Multicast Address Space Registry</title>
    <author >
      <organization>IANA</organization>
    </author>
    <date year="n.d."/>
  </front>
  <seriesInfo name="Web" value="https://www.iana.org/assignments/ipv6-multicast-addresses/ipv6-multicast-addresses.xhtml"/>
</reference>



<reference anchor="I-D.ietf-mboned-ambi">
   <front>
      <title>Asymmetric Manifest Based Integrity</title>
      <author fullname="Jake Holland" initials="J." surname="Holland">
         <organization>Akamai Technologies, Inc.</organization>
      </author>
      <author fullname="Kyle Rose" initials="K." surname="Rose">
         <organization>Akamai Technologies, Inc.</organization>
      </author>
      <author fullname="Max Franke" initials="M." surname="Franke">
         <organization>TU Berlin</organization>
      </author>
      <date day="17" month="October" year="2025"/>
      <abstract>
	 <t>   This document defines Asymmetric Manifest-Based Integrity (AMBI).
   AMBI allows each receiver or forwarder of a stream of multicast
   packets to check the integrity of the contents of each packet in the
   data stream.  AMBI operates by passing cryptographically verifiable
   hashes of the data packets inside manifest messages, and sending the
   manifests over authenticated out-of-band communication channels.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-mboned-ambi-05"/>
   
</reference>


<reference anchor="I-D.krose-mboned-alta">
   <front>
      <title>Asymmetric Loss-Tolerant Authentication</title>
      <author fullname="Kyle Rose" initials="K." surname="Rose">
         <organization>Akamai Technologies, Inc.</organization>
      </author>
      <author fullname="Jake Holland" initials="J." surname="Holland">
         <organization>Akamai Technologies, Inc.</organization>
      </author>
      <date day="8" month="July" year="2019"/>
      <abstract>
	 <t>   Establishing authenticity of a stream of datagrams in the presence of
   multiple receivers is naively achieved through the use of per-packet
   asymmetric digital signatures, but at high computational cost for
   both senders and receivers.  Timed Efficient Stream Loss-Tolerant
   Authentication (TESLA) instead employs relatively cheap symmetric
   authentication, achieving asymmetry via time-delayed key disclosure,
   while adding latency to verification and imposing requirements on
   time synchronization between receivers and the sender to prevent
   forgery.  This document introduces Asymmetric Loss-Tolerant
   Authentication (ALTA), which employs an acyclic graph of message
   authentication codes (MACs) transmitted alongside data payloads, with
   redundancy to enable authentication of all received payloads in the
   presence of certain patterns of loss, along with regularly paced
   digital signatures.  ALTA requires no time synchronization and
   enables authentication of payloads as soon as sufficient
   authentication material has been received.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-krose-mboned-alta-01"/>
   
</reference>


<reference anchor="I-D.moskowitz-tesla-update-gnss-sbas">
   <front>
      <title>TESLA Update for GNSS SBAS Authentication</title>
      <author fullname="Robert Moskowitz" initials="R." surname="Moskowitz">
         <organization>HTT Consulting</organization>
      </author>
      <author fullname="Ran Canetti" initials="R." surname="Canetti">
         <organization>Boston University</organization>
      </author>
      <date day="2" month="November" year="2025"/>
      <abstract>
	 <t>   This document updates TESLA [RFC4082] to current cryptographic
   methods for use by the International Civil Aviation Organization
   (ICAO) in their Global Navigation Satellite System (GNSS) Satellite-
   based augmentation system (SBAS) authentication protocol.  The TESLA
   updates are to align it with current best practices.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-moskowitz-tesla-update-gnss-sbas-01"/>
   
</reference>




    </references>


<?line 1263?>

<section anchor="host-group-address-issues"><name>HOST GROUP ADDRESS ISSUES</name>

<t>This appendix is not part of the IP multicasting specification, but
provides background discussion of several issues related to IP host
group addresses.</t>

<section anchor="group-address-binding"><name>Group Address Binding</name>

<t>The binding of IP host group addresses to physical hosts may be
considered a generalization of the binding of IP unicast addresses.
An IP unicast address is statically bound to a single local network
interface on a single IP network.  An IP host group address is
dynamically bound to a set of local network interfaces on a set of IP
networks.</t>

<t>It is important to understand that an IP host group address is NOT
bound to a set of IP unicast addresses.  The multicast routers do not
need to maintain a list of individual members of each host group.
For example, a multicast router attached to an Ethernet need
associate only a single Ethernet multicast address with each host
group having local members, rather than a list of the members'
individual IP or Ethernet addresses.</t>

</section>
<section anchor="allocation-of-transient-host-group-addresses"><name>Allocation of Transient Host Group Addresses</name>

<section anchor="original-rfc1112-text"><name>Original RFC1112 text</name>

<t>This memo does not specify how transient group address are allocated.
It is anticipated that different portions of the IP transient host
group address space will be allocated using different techniques.
For example, there may be a number of servers that can be contacted
to acquire a new transient group address.  Some higher-level
protocols (such as VMTP, specified in <xref target="RFC1045"/>) may generate higher-
level transient "process group" or "entity group" addresses which are
then algorithmically mapped to a subset of the IP transient host
group addresses, similarly to the way that IP host group addresses
are mapped to Ethernet multicast addresses.  A portion of the IP
group address space may be set aside for random allocation by
applications that can tolerate occasional collisions with other
multicast users, perhaps generating new addresses until a suitably
"quiet" one is found.</t>

<t>In general, a host cannot assume that datagrams sent to any host
group address will reach only the intended hosts, or that datagrams
received as a member of a transient host group are intended for the
recipient.  Misdelivery must be detected at a level above IP, using
higher-level identifiers or authentication tokens.  Information
transmitted to a host group address should be encrypted or governed
by administrative routing controls if the sender is concerned about
unwanted listeners. See <xref target="security-considerations"/> for more details.</t>

</section>
<section anchor="evolution-since-rfc1112"><name>Evolution since RFC1112</name>

<t>Historically (1990th), SDP <xref target="RFC8866"/> over SAP (<xref target="RFC2974"/> was used to
multicast the session information of application sessions
with transient IPv4 multicast addresses via the MBone's sdr tool. When
creating a new application instance, sdr would simply avoid picking
any of the already assigned IPv4 multicast addresses as known from other
SDP/SAP announcements.</t>

<t><xref target="RFC6308"/> section 3.5 summaries and explains the lack of adoption of
mechanisms specified in RFCs since <xref target="RFC1112"/> for allocation of transient 
host group addresses.</t>

<t>Current evolving mechanisms for zeroconf dynamic host group addreses are based on
<xref target="I-D.ietf-pim-zeroconf-mcast-addr-alloc-ps"/>. It specifically requires
solutions to allocate addresses so that different application do not
use IP multicast addresses that map to the same MAC address. Such mapping would
defeat the filtering of most IGMP/MLD snooping switches which most often only
operate on MAC level. One protocol supporting these requirements is
<xref target="I-D.ietf-pim-gaap"/>.</t>

</section>
</section>
<section anchor="ll-apdx"><name>Link local considerations</name>

<t>IGMP/MLD are required for Level 2 hosts on a subnet so that IP multicast routers
on the same subnet can forward traffic from sender on another subnet.
IGMP/MLD are technically not required for IP multicast packets
with link local addresses on a broadcast subnet. Such link local
IP multicast can not have senders from a different subnets (<xref target="lncb"/>), and
IP multicast traffic from senders on the same subnet is forwarded to all hosts on the
subnet on a broadcast subnet.</t>

<t>If IGMP/MLD snooping are used in a subnet, it looses its broadcast nature
for IP multicast traffic and sending of IGMP/MLD messages is often also
required to receive IP multicast traffic from local senders in the same subnet.
Subject to how the IGMP/MLD snooping switch operates.</t>

<t>For IPv4 link local addresses, IGMP snooping must not filter traffic due to
the historic non-implementation of IGMP in early hosts (such as IP routers
using <xref target="OSPFv2"/>) and the limited number of link local groups in IPv4 make
it quite unimportant to improve.</t>

<t>In IPv6, there are as many link local addresses as there are in other scopes.
Therefore link local IPv6 is well usable for non network control traffic,
such as any IP multicast application that wants its traffic to be constrained
to a single subnet (such as large, single-subnet campus networks with MLD snooping switches).
Hence the requirement in <xref target="MLDv2"/> to also signal MLD for link local IPv6 multicast addresses.</t>

<t>However, subnets can be known to never have IGMP/MLD snooping switches,
such as radio subnets in IoT mesh networks. And those subnets can also
be known to never require any IP multicast traffic other than link local
IP multicast protocol packets that use the host stack. An example of this
are radio subnets solely between <xref target="RPL"/> nodes that only use link-local IPv6 multicast
in support of <xref target="RPL"/>. Further extensions to <xref target="RPL"/> including (but not limited to)
<xref target="RFC9685"/> provide additional alternatives to MLD. Nodes implementing (only) these
<xref target="RPL"/> mechanisms can still be seen as being in compliance with this document as
long as they operate as an IPv6 multicast router and hence do not have a mandatory
requirement against MLD. This is typically the case for <xref target="RPL"/> nodes.</t>

<t>For such subnets, nodes can act as Level 2L hosts, hence avoiding the unnecessary
complexity of IGMP/MLD and the radio energy it would cost.</t>

</section>
<section anchor="mcrouters"><name>IP multicast router considerations</name>

<t>Nodes that are IP multicast routers do typically not use IGMP/MLD to
indicate the multicast groups or channels that they need to receive from
a subnet. Nor could they in many cases.</t>

<t>IGMP/MLD snooping can not constrain IP multicast traffic to any port
with such an IP multicast router connected to it because of this. This
is true even in the most simple subnet setup with only IP multicast hosts
and just one IP multicast router acting as the IGMP/MLD querier. That
gateway needs to see all IP multicast traffic sent by any host onto the
subnet - to determine which of that traffic to forward to receivers on other 
subnets.</t>

<t>However, IP multicast routers may also use the IP multicast host stack
specified in this document.  Consider the case where an IP multicast router
sends and/or receives IP multicast packets not because of its IP multicast
forwarding function as an IP multicast router, but because these IP
multicast packets are sent or received by an application on the gateway,
including but not limited to IGMP/MLD protocol packets or IP multicast
routing protocol packets such as <xref target="PIM-SM"/> IP multicast protocol packets.
Without further gateway considerations, these packets are logically subject
to the host stack requirements of this document.</t>

<t>For example, an IP multicast router running IGMPv3 would need to indicate
to its own IP host stack the desire to receive packets for 224.0.0.22,
resulting in it also sending IGMP membership reports for that address.</t>

<t>However, as explained before, even in the presence of IGMP/MLD snooping switches,
IP multicast routers need to receive any IP multicast packet on a subnet
without itself sending IGMP/MLD messages to join the traffic. And IGMP/MLD
snoopping switches support this by manualor automatic detection of ports connected
to IP multicast routers. Hence an IP multicast router can safely forego
sending IGMP/MLD membership messages for any IP multicast addresses it is
joined to as a host: It will receive the traffic anyhow, even in the presence
of IGMP/MLD snooping switches, and it will anyhow use its non-IGMP/MLD multicast
routing protocol to ensure traffic from other subnets gets forwarded to the subnet.</t>

<t>In summary: For hosts (or gateways) that are also IP multicast routers the Level 2 host stack may skip
sending IGMP/MLD membership reports to receive IP multicast packets when this is deemed
specifically beneficial. This can simply be justified as a case where the behavior
of an IP multicast router (which is outside of scope of this document) superceeds the requirements
of the host stack as specified here, even if the host stack of the gateway is
devices from the specification of this document.</t>

<t>Note that this document gives no recommendations to do this, this appendix purely
explains how this could work and be justified when needed - without violating this
specifications requirements. Given how most IP multicast routers are just
optionally configurable as IP gateways, they would need to conform
to the full L2 host stack reqiurements whenever they do not act as an IP multicast
gateway, hence optimizing the host stack purely to reduce the amount of code is not an option
in those cases.</t>

</section>
<section anchor="per-socket"><name>Application Socket Security Considerations</name>

<t>The following section addresses socket security issues beyond the scope of this document.
While they are in general independent of the transport protocol used, they most often
happen for UDP because of the prevalence of using IP multicast with UDP and because
even if other applications for IP multicast exist on hosts (such as <xref target="OSPFv2"/>), in
most hosts, only UDP can be used for IP multicast by unprivileged and hence more likely
malicious applications. The following considerations are not covered by <xref target="RFC8085"/> or
resolved through the requirements specified by <xref target="TAPS"/> RFCs.</t>

<t>Even with correct IP multicast group address management (<xref target="address-management"/>),
or when using SSM: with just the methods specified in this document for the host stack,
application sockets may still receive unexpected IP multicast traffic destined to other
IP multicast addresses than they joined to.</t>

<t>This problem can exist because like <xref target="RFC1112"/>, this memo only specifies the host stack
up to the IP layer and hence does not include the specification that ASM group
membership (or SSM channel membership) has to be per (transport layer) application socket.</t>

<t>In result, early host stacks for IPv4 multicast did indeed have the problem that two
UDP sockets each joining to a different IPv4 multicast address but the same UDP port would
receive traffic destined to either IPv4 multicast addresses. And could accordingly
cause application malfunctions or other security issues. Such port re-use can easily
happen when applications define the use of a well-known UDP port number and just
expect (like they should), that different application instances can just use 
different IP multicast addresses.</t>

<section anchor="igmpv3mldv2"><name>IGMPv3/MLDv2</name>

<t>In current host stacks for Level 2 hosts, this problem is usually eliminated when
implementations correctly implement the following sentence present in IGMP/MLD specifications
since <xref target="RFC3376"/>/<xref target="RFC3810"/>.</t>

<t><em>After a multicast packet has been accepted from an interface by the
 IP layer, its subsequent delivery to the application or process that
 listens on a particular socket depends on the multicast listening
 state of that socket...</em></t>

</section>
<section anchor="level-2l"><name>Level 2L</name>

<t>Level 2L implementation would equally have to implement their host stack using such
per-socket membership even in the absence of IGMP to support equivalent
demultiplexing replication and filtering on a per socket basis for received IP multicast packets.
Otherwise this filtering would be left up to the application, not only violating
reasonable per-socket expectations but also incurring unnecessary overhead: Unnecessary
replication and process-level processing of such unnecessary packet copies.</t>

</section>
</section>
<section anchor="application-socket-issues"><name>Application socket issues</name>

<t>The following issues relate to the current behavior of known (transport layer) application
sockets across various operating systems. These behaviors evolved by simply not improving
the behavior of BSD sockets for IP multicast from a security perspective and proliferation
of that socket model across other operating systems and POSIX standard.</t>

<t>Host stacks by default do not allow multiple application sockets to bind() to the same
transport layer port (TCP, UDP or other). This is highly desirable in IP unicast because
it guarantees the application with the socket that no other application can be a responder/"server"
for that port on the same host/IP-address(es). Likewise, any responder/"client" application can 
(implicitly or explicitly) bind() to a dynamic, unused port due to the nature of IP unicast
initiator/responder protocol exchanges.</t>

<t>In IP multicast the default for socket operations is the same, but the impact on IP multicast
applications is different. In <xref target="UDP"/>, <xref target="PGM"/> or any other IP multicast capable transport
protocols using the notion of Source Port and Destination Port, the port that a socket binds
to is like for IP unicast traffic the Source Port for packets sent and the Destination Port
for packets received.</t>

<t>When an IP multicast receiver application binds to a port, by default no other application
on the same host can receive the same IP multicast traffic. This is not only undesirable when
multiple receiver applications for the IP multicast application instance are desired
to be to run on the same host simultaneously, but a malicious attacker application started before a
legitimate receiver application can perform a DoS attack against these IP multicast receiver ("client")
applications by binding to the known transport layer port that the sender(s) sends to.</t>

<t>The comparable attack is not possible in IP (unicast) because the as mentioned above, the client
application (unicast initiator) can bind to any free port and then negotiate with the sender
that it sends to that Destination Port. In IP multicast the sender of course can not negotiate with
every receiver a separate receiver Destination Port. It must send IP multicast to one port common
for all receivers, which then makes that port subject to the attack.</t>

<t>Enabling re-binding to the same UDP port on sockets used to receive IP multicast traffic (SO_REUSEADDR/SO_REUSEPORT)
allows benevolent applications on the same host to receive the same IP multicast traffic, but known host stacks 
have no option to force this option on all (receiver) IP multicast sockets to prohibit the aforementioned
attack. Simply because there is no concept of an IP multicast receiver only socket, and forcing
re-use of ports would in most cases be wrong for other type of sockets.</t>

<t>For an IP multicast sender application, the attack is different.
A malicious application binding to a socket can not prohibit a legitimate sender
application to send to the same port. Which it could do in IP (unicast).  However, an IP multicast
sender binding to a port can not rely on the fact that there is no malicious application on the
same host sending to the same IP multicast group and Destination Port because the bind only guarantees
exclusive use of the Source Port, which is irrelevant in most IP multicast application stacks,
for example when using <xref target="RTP"/>. Arguably, the IP multicast problem is bigger because an IP server application
will know at bind() time when it can not exclusively use the relevant port because of
the prior presence of a malicious application on the same host, whereas in IP multicast, the
server can not prohibit that a later started malicious application on the same host is
impersonating packets with the same Source IP address, IP multicast address and Destination Port
number as the legitimate server application.</t>

<t>IP multicast applications could recognize the attacking application based on its
Source Port instead of only its Source IP address, but that is not common in IP multicast
applications / specifications today, such as when using <xref target="RTP"/>. Even worse, the legitimate
sender applications itself may not even be able to recognize packets from the malicious sender
on the same host if the socket interface allows to prohibit looping back of IP multicast packets from
one socket to any other socket on the local host (IP_MULTICAST_LOOP). Which is a commonly supported
option in todays socket APIs.</t>

<t>In summary, malicious local applications do pose different and potentially more severe risks to 
IP multicast sender and receiver applications than malicious IP multicast applications running
on other hosts with todays application socket semantics.</t>

</section>
</section>
<section anchor="discussion-and-explanations-to-be-removed"><name>Discussion and Explanations (TO BE REMOVED)</name>

<t>[RFC-editor: Please remove this Appendix after observing the following section addressed to you]</t>

<t>Please refer to <xref target="changes"/> for the non-process discussion of the goals of this document.</t>

<section anchor="rfc-editor-notes"><name>RFC-Editor notes</name>

<t>The kramdown tooling did not allow to have references for both STD5 and RFC1112,
those fail because the STD5 reference creates an "RFC1112" anchor. Thus there
is no separate reference for RFC1112 in this version of the document. This
needs to be fixed in XML by adding a full reference to RFC1112 and removing the
RFC1112 anchor from the STD5 reference.</t>

</section>
<section anchor="goals-and-evolution-of-this-document"><name>Goals and evolution of this document</name>

<t>The initial goal of this document was to allow for IETF to declare the IGMPv1
protocol historic which today is a Full Internet Standard due to it being defined
in RFC1112. This should be achieved without changing the Full Internet Standard status
of the IP Host Extensions for IP multicast and ASM IP service interface specified in
RFC1112 because those specification are as fundamental to the definition of IP
multicast as RFC791 is for IP (unicast).</t>

<t>The best way to achieve this seemed to be an update to RFC1112 which
removes all of IGMPv1, but maintains the rest of the document. None of these
removal of IGMPv1 changes changed the applicability or requirements to existing 
IP multicast (plus its protocols) implementations or other specifications.</t>

<t>The next refinement was to rectify the situation that there is no specification
explaining the same details as RFC1112 for IPv6 multicast even though RFC8200
(full internet standard) even explicitly includes IPv6 multicast, and a range of
other RFC define necessary code-points (such as for ethernet mapping) for IPv6 multicast.</t>

<t>Most of the text of this specification can hence can simply talk about "IP" which in this
specification implies both IPv4 and IPv6, and only in places where IPv6 differs, does the
document now include new explicit text, most often pointing to pre-existing RFCs specifying
the necessary details for IPv6. Again, none of these changes impact other specs or
deployments.</t>

<t>The third step of refinement was add the necessary verbiage to explain
the differences between SSM and the specifications in this document. None of
these text enhancements incur any functional changes of long-term established
practices. Instead, they are only resulting in references to SSM RFCs, introduction
of the term ASM (which was previously only defined in SSM RFCs), and the limitation
of applicability of terms in this document (such as host group) to their use with
ASM.</t>

<t>The last round of changes added and refined details to be in-line with long-term established
practices and removing any possible contradictions between the original RFC1112 text
and newer standards track specification such as IGMPv2/MLDv3 or long term established
implementation practices. This includes the limitation of scope of ASM to controlled
networks and the definition of the IPv4 Link-Local
address range, which so far had only been defined through BCP RFC, unlike in IPv6, where
it's part of the architecture, as well as permitting (but not recommending) non-use of IGMP for them.</t>

<t>In summary, all changes in the document will make this document a replacement of rfc1112
which much more reflects the full internet standard nature of the technology than
rfc1112 did as of recent.</t>

</section>
<section anchor="rfc791"><name>Update to RFC791</name>

<t>This version of the text proposes that this spec is declared to be an
update to RFC791.</t>

<t>The argument made in <xref target="update"/> to support this classification 
may not be persuasive enough (because the according rfc791 text
may be read as a perfectly good extension point specification), in which
case the update status and related text should be deleted.</t>

<t>However, If anyone where to come up with a re-use of 224.0.0.0/4 for any non-IP
multicast purposes,  havoc might ensure with devices that do assume IP multicast
semantics, so it may simply be prudent to include this declaration. It would
also make the relationship between IPv4 and IPv4 multicast be more aligned
with IPv6, where IPv6 multicast is included in RFC8200.</t>

</section>
<section anchor="changelog"><name>Changelog</name>

<t>This document is hosted at https://github.com/toerless/rfc1112bis. Please submit issues
with this text as issues to that github and report them on pim@ietf.org.</t>

<section anchor="draft-ietf-pim-rfc1112bis-09"><name>draft-ietf-pim-rfc1112bis-09</name>

<t>Added IANA registry name fixes as requested by Amanda Barber.</t>

<t>Added fixed from review Michael Tuexen.</t>

<t>Added note about RFC9685 (thanks Pascal Thubert).</t>

</section>
<section anchor="draft-ietf-pim-rfc1112bis-08"><name>draft-ietf-pim-rfc1112bis-08</name>

<t>Revision including fixes for nits uncovered by directorate reviews.
Eric Nordmark (INTDIR), Brian Weis feedback (SECDIR), Sandy Zhang (RTGDIR), Pascal Thubert (INTDIR)</t>

<t>Several textual nits fixed, not detailling.</t>

<t>Section 6.4: Extensions to Ethernet module</t>

<t>Reordered expand last two paragraphs. Added reference to very recent relevant RFC9542 IANA registry
for MAC addresses (from Pascal).</t>

<t>Section 9.2: Compatibility with IGMPv1</t>

<t>Added definition for "backward compatibility" (with IGMPv1) and refined wording.</t>

<t>Section 10: changes over RFC1112:</t>

<t>10.8 removed second paragraph, just pointing to A.3</t>

<t>10.14: Added sub section 10.14 to more comprehensively discuss the correct terms
"host group" / "host group address" vs "SSM destination address" vs (ambiguous "SSM multicast address").
RFCs applying equally to ASM/SSM can just use "IP multicast address". RFCs applying to only ASM should use
"IP host group address" - etc. pp.</t>

<t>11.7 (IANA asks)</t>

<t>added request to replace rfc1112 with thisRFC for the new RFC9542 registry for MAC addresses.</t>

<t>12.3 security considerations</t>

<t>clarified/refined/expanded sender control text (Eric, Brian).</t>

<t>A.2 appendix for discussion about transient IP multicast addresses</t>

<t>moved existing text from Steve Deering (mostly never realized ideas) to historic subsection,
added subsection for best decade-long solution SAP/SDP and paragraph about new evolving
solution GAAP.</t>

<t>Various textual nits.</t>

<t>Added text/reference for recent new IANA Multicast / 802x address registries</t>

<t>Added explanation for ND in Figure 1.</t>

<t>Other:</t>

<t>Changed TO_BE_REMOVED_SECTION to indicate keeping it also for IETF/IESG review as it seems usefulto help such further broader reviewers.</t>

</section>
<section anchor="draft-ietf-pim-rfc1112bis-07"><name>draft-ietf-pim-rfc1112bis-07</name>

<t>Revision for early reviews from directorates. Added to-be-removed contextual explanations
for those reviews.</t>

</section>
<section anchor="draft-ietf-pim-rfc1112bis-06"><name>draft-ietf-pim-rfc1112bis-06</name>

<t>Added To-Be-Removed note for reviewers to compare with rfc1112 to find pre-existing
sections.</t>

<t>Removed erroneous reference to UDP in 7.1 (socket calls in referenced docs are not specific to UDP).</t>

<t>Changed order of authors.</t>

<t>Included fixes from Stig Veenas' review:</t>

<t>Variety of typos.</t>

<t>Expanded "protocol field in IP header" to be explicit about the complex IPv6 options.</t>

<t>Clarified that "IP multicast address" covers host group and SSM channel destination addresses
and fixed text that applies to both ASM and SSM touse "IP multicast address" instead of host group (address).</t>

<t>removed IGMPv3lite term</t>

<t>Added 6 pages of Security Considerations and two pages of Appendix for application socket security considerations.</t>

</section>
<section anchor="draft-ietf-pim-rfc1112bis-05"><name>draft-ietf-pim-rfc1112bis-05</name>

<t>Brian pointing to the requirement to support link-local IPv6 multicast in RFC4291, section 2.8,
accordingly changed the requirement to <bcp14>MUST</bcp14> for Level 2L and explanation about that.</t>

</section>
<section anchor="draft-ietf-pim-rfc1112bis-04"><name>draft-ietf-pim-rfc1112bis-04</name>

<t><list style="numbers">
  <t>Some textual nit improvements - introduced "all-nodes also for IPv6 (but be
careful to only call it Link-Local, as there are scope relative ones too), adding
references to RFC8504, referring to "host-side" impleemntation of IGMP/MLD.
Shoveling sentence in 4. to make reading more logical.</t>
  <t>"Levels of Conformance": Made support for IP multicast (Level 2 = sending/receiving)
<bcp14>RECOMMENDED</bcp14> for all IPv4 / IPv6 host stack. For the past 36 years, there was only the RFC1122
requirement (see below) for IPv4. For IPv6 there was no requirement to support IPv6 multicast at all.
Instead, there was only a dependency to support it when implementing widespread
IPv6 protocols (SLAAC, ND).</t>
  <t>Section 3.4: Introduction of conformance Level 2L to describe IPv4 multicast
with link-local only sending/receiving. Primarily because RFC1122 specified it, but also
because there are sufficiently many devices that do implement this at their core - e.g.:
router operating systems in suport of OSPF etc (most have been updated to also support
IGMP.</t>
  <t>Section 7.2: (re-)introduced permanent joining of all-groups as a <bcp14>SHOULD</bcp14> requirement.</t>
  <t>Section 9.4 and header: Defining this doc as update to RFC1122 to override the
36 year long recommendation of only implementing IP multicast without IGMP.</t>
  <t>New sections 10.7 to explain RFC1122 and Level 2L</t>
  <t>New section 10.8 to explain/justify recommendation to <bcp14>SHOULD</bcp14> support IP multicast on all hosts.</t>
  <t>Rewrote Section 10.10 for permanently join all-nodes group.</t>
</list></t>

</section>
<section anchor="draft-ietf-pim-rfc1112bis-03"><name>draft-ietf-pim-rfc1112bis-03</name>

<t><list style="numbers">
  <t>Changed document text to make the term "ASM" apply only to the IP service interface
(extensions) specified by the document (and shown and explained in existing text),
instead of the whole host extensions specified in this document (as it was written up to
up to -02). This is the only correct semantic, given how all the host exensions
specified in this document are shared by SSM, only the IP service interface is changed/amended by SSM.</t>
  <t>Subdivided section 2 (INTRODUCTION) into sections 2.1 (Summary), which contains new
text from this spec, and 2.2 (Overview), which is unchanged RFC1112 text.
Newly written section 2.1 to summarize the key content of this document. This was
so far only explained in the much later changes from rfc1112 section. Includes
IPv4/IPv6 applicability, ASM/SSM naming and maintaining most of RFC1112 text as a goal.</t>
  <t>Introduced text to define and explain link local IPv4 host group addresses
224.0.0.0 - 224.0.0.255. This was triggered by trying to fix the rfc1112 text
sections that Brian Haberman was concerned about, which did cover behavior for 224.0.0.1.</t>
</list></t>

<t>As it turns out, the behavior for 224.0.0.1 was quickly adopted by other
protocols getting 224.0.0.0/24 addresses and there has been no functional
specification to explain the non-forwarding behavior for these link-local addresses.
Instead, only IANA allocation guideline RFCs where introducing them. This is
now rectified with new explanatory text in this spec. and a new <bcp14>MAY</bcp14> requirement
to permit non-use of IGMP for those groups. See <xref target="rcv-extensions"/>.</t>

<t><list style="numbers">
  <t>Changed references to IGMPv3 and MLDv2 to the -bis drafts currently in RFC-editor 
queue. Also triggered by Brian Haberman mentioning them.</t>
  <t>Improved wording in "(Normative) Status Change" section 9.</t>
</list></t>

<t>5.1 Removed "Update to rfc791" as an open issue and instead claimed it as fact
in section 9.3. Added discussion about this point to the discussion appendix
that is to be removed by RFC-editor.</t>

<t>5.1 Also added subsection to declare that this document replaces RFC1112 in STD5.</t>

<t><list style="numbers">
  <t>Enhanced/New text in section 10., "changes from RFC1112"</t>
</list></t>

<t>Especially explaining the changes in the normative section explained above and
below, triggered by Brian's review.</t>

<t><list style="numbers">
  <t>Applying changes proposed by Brian Haberman during WGLC.</t>
</list></t>

<t>7.1 Changed meaning of IP from "IPv4" to "IPv4 and IPv6", accordingly updated all text.
Makes a lot of sense given the goal of showing how most of the IP multicast host stack
operates the same for IPv4 and IPv6.</t>

<t>7.2 Re-added requirement for routers not to forward link-local multicast</t>

<t>7.3 adding <bcp14>MAY</bcp14> requirement to allow non-signaling of Link-Local scope IPv4 multicast
and IPv6 all-nodes group, and explanations how this is better than the prior
definitions from rfc1112. Also includes new (length) Appendix A.3 to justify this
for IPv4.</t>

<t>7.4 text nits (thanks, Brian).</t>

</section>
<section anchor="draft-ietf-pim-rfc1112bis-02"><name>draft-ietf-pim-rfc1112bis-02</name>

<t>Removed unused references, fefresh - waiting for more reviews.
Added IANA section for updates from RFC1112 to RFC1112bis.
Added  references to RFC5771 and RFC6034 because
they actually are the references for the IANA 224.0.0.0/4 registrations,
which seems a bit undocumented given how RFC1112 did introduce the
definition (before IANA).</t>

</section>
<section anchor="draft-ietf-pim-rfc1112bis-01"><name>draft-ietf-pim-rfc1112bis-01</name>

<t>Fix up reference for IGMPv3. Refined candidate open issues. Removed author discussion.</t>

</section>
<section anchor="draft-eckert-pim-rfc1112bis-02"><name>draft-eckert-pim-rfc1112bis-02</name>

<t>Changed core references from numbered style to name style .</t>

<t>Changed copyright clause to pre5378Trust200902, which is the same as used for RFC8200
due to the presence of text with similar early status.</t>

<t>To resolve Dino's concerns at IETF116 with -01:
Added hopefully extensive explanation wrt. to how to treat IGMPv1 based on Dino's feedback
from IETF117: This document does not ask for any removal of IGMPv1 in any IETF specs
which include it for backward compatibility reasons, it only effectively causes it to
become historic once RFC1112 would be declared historic.</t>

<t>To resolve Alvaros concerns at IETF1116 with -01:
Added normative language (<bcp14>MUST</bcp14>/<bcp14>SHOULD</bcp14>). Seems as if this is quite easy given how "must" was written appropriately in the original text. The logic of applying <bcp14>MUST</bcp14>/<bcp14>MUST</bcp14>-NOT was based on understanding by the author how none of the <bcp14>MUST</bcp14> would actually put existing working implementations out of compliance.</t>

<t>Added explicit text to move rfc1112 to historic status.</t>

<t>Moved explanation of changes from rfc1112 from appendix to main text as this seem to the
common practice for document updates.</t>

<t>Added claim for this document to be an update to rfc791. See open issues section though.</t>

</section>
<section anchor="draft-ietf-pim-rfc1112bis-00"><name>draft-ietf-pim-rfc1112bis-00</name>

<t>Just changed title, added github pointer.</t>

</section>
<section anchor="draft-eckert-pim-rfc1112bis-01"><name>draft-eckert-pim-rfc1112bis-01</name>

<t>Changed all use of IPv4 back to IP. Seems standard in IETF specs. Only IPv6 has
in IETF specs the distinction of including the version.</t>

<t>Changed Steve Deerings address to a pseudo-email address at IETF. See prior section.</t>

<t>Converted document into kramdownrfc2629 format for easier editing.</t>

<t>Claims that rfc2119 language is not desired/used (to maintain maximum original text without changes).</t>

<t>Rewrote section for updates to rfc1112 to hopefully better motivate/explain the reason for this document and detail what its changes are.</t>

</section>
<section anchor="draft-eckert-pim-rfc1112bis-00"><name>draft-eckert-pim-rfc1112bis-00</name>

<t>Initial version based on <xref target="RFC1112"/> text version, edited.</t>

</section>
</section>
</section>


  </back>

<!-- ##markdown-source:
H4sIAISPK2oAA+y97XrbWHYu+H9fBYb1I2RCUpYsy7b65CSyJbt0jmUpktyV
TKeffiASkhCDBBsAJbMc51rmWubKZn3uvTYAyq5KZvJnKp0qiQKxv9Ze3+td
k8nEuVk5z5d3h8m6uZ28ck3eFNlh8nNZN8nJlyZb1nm5rJPbskpOL5KzddHk
s7Ru4BtJupwng6PlJrkq19Usi/44SIZHV2cj/E6dVQ85/NmlNzdV9nAYvacz
EL4Uvunm5WyZLmAm8yq9bSZ5BrNb5YtJdTvb3d3du8nrybPX7hHmfXF65mZp
k92V1eYwqZu5q5sqSxcw0Mn1O1fe1GWRNVl9mOAX3Xo1T+m3l693x/DR3p77
KclX1WHSVOu62Xv27PWzPUcfrKrsxfOXr67N5/BumOFf0qJcwtw2We1W+WHy
p6QpZ2P81zxbNfeHyYtxUpcVTOO2hp82C/5hVi4W2bKp/+xcum7uy+rQJckk
SRL4D/3DK74us6rI6jo5mX3Oqkb/WFaw2HfrZl1lj1meXGez+2VZlHd5Vief
ro70sarE88vmeVNW+tmsXC8b3B3zXLZI8wIW3WT/OKunt+l6Os96p3PVZKv7
bJmcTJPjLKvgcKMZXWZNXmVzP1TewDh/TJcw5kNWjZM3Vd7k9X3ytizWi5s8
7czpbbpM52lrWnMe6R+XZZWtis0Uz38K4zkHnyzSJn/IcPMu372FY5Sf8Czx
x6vr4xf439P3ZxcPe4f4p7295wf80N7+wb48v7/HX726OqOH9g+eveS/vILT
lodevXi271/2nJ57/fIlvuzsw7G8HT546Vy+vA1Tg79/Or6gv758JUPvPtt/
oVN99eo5/nh+dfFOp/h875VM8fkBPXd2dPz2iN+x9/L5M/rk6i3//hqIP5Gf
Xh3KbHbl2d1n+reXNPeL97zA53vPZIjnMJpM5fnzlwf64/5rmtXlNY/6/MUL
edPzg5ev9KFXu7o3z1+/0K/uP3u1p9tUL8tyRSwF//Bif1ceeXWgJ/Xi5cvw
42t93cGz5/v+x1e6VQfPeYGXFx/ohQc8qcXxxyv+/eXBc6GE5/s6nZfP/QAv
X+7Rj8AmJnLQcH4yp1dhnFevdunHN6cnl4dMBC9f658O9MWvX+zTOt8fn5/y
2b96Lnv6+oDfdTo5nnp29WtWlbNyeTtZILebpPN5NUmLopxNVnXn4bs0XeGH
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
PiZsDLEdsL6hViylF+Dd+KREFripAz+P8lPSuOIkZU27XoaaMvrGNJ5WE3Dm
bee2LsSlD8kyFG5PzwheR4gbyXh82OELcQaJJnOR51AzaCS9MNAfv6pG5sm9
NEYM3N9b6GOW7xNu7ZZFhUB8A8JBoAiV5/qXQ07znjBz5YHs/GFSemOBfaRq
SoYyIbUUA0eus8dR5WDoNdXFb6ZiAKpAwsxJm1rW2+482ho+Nl9f0tmgqbsK
bjzG/s223kAp+yaO906bsvRRxzhGfmV9JMSvWuFqTmIX0Yqt3icttGNtcAHT
z0gD5hP0ej4sX28NmyjB9Tvy9S/qYgvGiJl56J3OgkuK+GGnG4LJs8Y5/FKB
hGc9kiFR2d6RpGrKaOy9M2ltnsw124SSMGuqlJfqZPNl7qQkmXPrmio+kJJg
l7yXQZPtZVfHoRibal23pNFI7IH4X1Pb+ii2yVAVox6b1pMit8XvPJVJjeWv
E8+mFisC17E5GL0MfTR12n0hBpnnvEFpKtJIHzPCrix8k6z2LvXZNQaXVdmK
WJ3i7daGScSStkuesKdVOs9L/zIkmPIar+q9X+80OSKSQzejHZRub3dkRXLv
HJbPXAqOi22M1cs5n4GCh6txLAPHkHQDP2QmxquSjC5Nhgfl6OIDNRObq8An
O2ddM6lO+g6h1QpX3oF9WrnoxEAwcwUTDRHS/TwIt97bphyxQvj64BXiKIv7
07rTU2QuSzIg6K3UyeAjzdpzFHp3SZlZpAk4HdpobJS72Yj7o6Z6gFrayhBC
NTb3SD26dru3rNOke0p3UeWEk/BbhKpusdDs3ITWUsFHL6uN6+vCRKvTYFJI
w6FQF1a+CLBhODrh2kTJctRjOVSizxmVDPjOjWK58sTiUPnSV+oQsjmmFTKk
cVA3hOsyYaE5dkeFEmxOzLj0tt0FUbajo2UtZsLev2HXBk+EnfTI3sx93E/S
X3VqIHCi2rVOQKqsPFamyVtqZ0uheHWpV3w+EuQ0Lo6e5kCVZLZPjXroWYup
V2VW23/7xe1AeYtEbsyI2kDEfueWbPBT9UOc25dL7BHBvQn5kkEolyGdV+qO
VDvNGrBOAoZBB+KFC1OpURk6WPomJMkN2nBZN+Gva8Snr3A+aeO046fPbMay
HOkB3N0Qcsagw0CcMTA2mx6qyk2iYlSxGWgH0mhbvSZdmjRPnwMqb4tESC+x
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
NX0S55HhXeWKBbYUdMfiPyEJIQLobwEA

-->

</rfc>

