<?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-06" 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="2025" month="November" day="02"/>

    
    <workgroup>PIM</workgroup>
    

    <abstract>


<?line 97?>

<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 108?>

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

<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"/>). The term IP is used in this
document to refer to both versions. 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.</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 will be 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 three 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 in support of the
requirements from <xref target="RFC4291"/>, section 2.8.</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 <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="level-2-full-support-for-ip-multicasting"><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 addresses 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-hosts 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="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-hosts 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 channel IP 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>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>Mapping of IPv6 host group addresses to Ethernet is defined in
<xref target="RFC2464"/> and <xref target="RFC6085"/>.</t>

<t>The address mappings for IP addresses do apply not only to
IP host group addresses, but also to destination IP addresses used
for SSM.</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-hosts group FF02::1, but not to other Link-Local IPv6 host groups. 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-hosts 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 channel 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>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 or future versions of IGMP or other protocols/mechanisms including but not
necessary limited to <xref target="IGMPv2"/>, <xref target="IGMPv3"/> or <xref target="RFC5790"/> do or may include backward 
compatibility with IGMPv1, such as in <xref target="IGMPsnooping"/>, which requires them to refer
to the <xref target="RFC1112"/> specification of IGMPv1.</t>

<t>This document does not ask for any change to any specifications or implementations that
includes any form of support for IGMPv1 for backward compatibility reasons as long as it
also includes compatibility with a newer version of IGMP starting with <xref target="IGMPv2"/>.</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) need 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 channel 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>With <xref target="RFC1122"/> 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. Supporting only Level 2L is
also the only option in which an IPv6 host will not send MLD messages for Link-Local
groups because MLD (unlike IGMP) choose to mandate the sending of MLD messages even for Link-Local host groups.</t>

<t>This was done specifically to ensure that MLD snooping switches could constrain also Link-Local host groups,
considering also the potential for local networks with IPv6 to potentially have many more hosts on them
than with IPv4 because of the larger IPv6 addressing space. Implementing only Level 2L for IPv6
is thus undesirable if MLS snooping may be encountered in deployments of the node. However,
there are easily also node types that will never see this need, such as radio-link only nodes. Hence
the option to only support Level 2L for IPv6.</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-hosts 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-hosts 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-hosts address FF02::1.</t>

<t><xref target="RFC1112"/> explains this choice by being "(1) it is simpler", and
"(3) the all-hosts 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-hosts 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-hosts 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-ipv4-host-group-addresses"><name>IGMP/MLD messages for Link-Local IPv4 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-hosts group. This would
be in conflict of 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 tern 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>
<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="internet-group-management-protocol-igmp-type-numbers-registry"><name>Internet Group Management Protocol (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 "Internet Group Management Protocol (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" (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 "IANA IPv4 Special-Purpose Address 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 "IANA 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>
<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 easier to keep an IP  multicast address secret from being
successfully discovered by undesired receivers. 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 unless they can rely on 
the aforementioned IP multicast address secrecy. This problem is the same in unicast except
that the methods or likelyhoods to keep destination host unicast addresses and ASM
group addresses secret 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
IP link-local 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. In <xref target="OSPFv2"/>, the common solution against this issue is to
rely on the authentication option and simply distinguish instances through separate
passwords - which then do not even have to be secret because they are not intended to protect
against attacks but simply double as instance identification to protect against accidental
incorrect wiring. 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 (WG chair). Many thanks to Brian Haberman,
Dino Farinnacci, Alvaro Retana (RTG AD) and Jim Stevens. Special thanks to Rob Hinden.
Thanks to Brian Weis, Kyle Rose and Rob Moskowitz for multicast securitty input.</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="RIPv2">
  <front>
    <title>RIP Version 2 - Carrying Additional Information</title>
    <author fullname="G. Malkin" initials="G." surname="Malkin"/>
    <date month="November" year="1994"/>
    <abstract>
      <t>This document specifies an extension of the Routing Information Protocol (RIP), o expand the amount of useful information carried in RIP messages and to add a measure of security. This memo obsoletes RFC 1388, which specifies an update to the "Routing Information Protocol" STD 34, RFC 1058. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="1723"/>
  <seriesInfo name="DOI" value="10.17487/RFC1723"/>
</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="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"/>
  </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="February" 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="GDOI">
  <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="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="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="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="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="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 1136?>

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

<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="ll-apdx"><name>Link-local IP multicast and IGMP/MLD</name>

<t>On networks, where IP multicast packets are broadcast, such as (non-switched)
ethernet, IP multicast packets will reach all level 2 IP multicast receivers
without the need to use IGMP or MLD. This signaling is only necessary for IP multicast 
receivers when the sender is in a different LAN so that IP multicast routers
can forward the IP multicast traffic from the sender network to the receiver
network.</t>

<t>IP multicast packet to a Link-Local IP multicast destination address do therefore
technically never need any IGMP or MLD signaling on such (non-switched broadcast) networks,
because they are never forwarded between networks (<xref target="lncb"/>).</t>

<t>During the early years of IPv4 multicast, this understanding resulted in the
requirements of <xref target="RFC1122"/> and explained in <xref target="level2l"/> and hence implementations
for protocols that receive Link-Local IPv4 multicast packet without implementing
IGMP. Examples of such protocols include <xref target="RIPv2"/> or <xref target="OSPFv2"/> and
several other protocols, often running on IPv4 routers which had no IPv4 multicast routing
implementation at the time and no IPv4 multicast applications for which they
needed to be IPv4 multicast receiver for non Link-Local IPv4 multicast addresses.</t>

<t>When these implementations later received implementations of level 2
IPv4 multicast support, those implementations excluded Link-Local host
groups, so that those protocols would continue to run without IGMP as
they did before.</t>

<t>Contributing to these implementation choices was also the fact that IGMP
in the versions specified so far does not allow to keep track of ongoing receiver
membership status in the absence of an IGMP router side implementation, called
an IGMP querier. With the target (Link-Local IPv4 multicast only) protocols being 
deployed in the absence of any such IGMP querier, the use of IGMP could also serve
arguably no purpose except for compliance with <xref target="RFC1112"/>.</t>

<t>This situation changed towards the end of the 1990th with the introduction
of ethernet switches that snoop IGMP messages to constrain forwarding of IPv4 multicast
packets for a particular IPv4 multicast group to only those ports with hosts joined
to the group.  This behavior was later documented in <xref target="IGMPsnooping"/> but was widely deployed
even earlier due to the co-existence of ports with the different speeds
10Mbps, 100Mbps and 1Gbps, and the resulting need to protect the slower
speed ports from potentially large rates of IPv4 multicast traffic between faster hosts.</t>

<t>In result, IGMP snooping switches had to flood traffic to Link-Local IPv4 multicast
groups due to the common absence of IGMP support for them, and this is accordingly
also recommended by <xref target="IGMPsnooping"/>.</t>

<t>Due to this long-term practice, this document is thus permitting this non-use of
IGMP for Link-Local host groups by introducing a <bcp14>MAY</bcp14> for it in <xref target="rcv-extensions"/>.</t>

<t>Note that IP multicast routers do not and can not typically report IP multicast
groups via IGMP or MLD, because they are not joined to them as an IP multicast host,
but simply need to receive them as an IP multicast router to forward them. Even when
an IP multicast router is joined to specific IP multicast group as an IP multicast
host, reporting them via IGMP may sound futile because as an IP multicast router it
would still need to receive the IP multicast traffic in the absence of such IGMP reporting,
because it might need to forward it. However, this logic does not apply to Link-Local groups,
because they are never forwarded and could thus be filtered by IGMP or MLD snooping switches
if those switches could trust routers to report them correctly. Which they can not do
for IPv4 due to its history.</t>

<t>In recognition of this situation, <xref target="MLDv1"/> for IPv6 did emphasize the need to
report also Link-Local IPv6 group memberships to avoid these issues. Therefore this
document also has no equivalent <bcp14>MAY</bcp14> statement for IPv6.</t>

<t>Note that IGMP/MLD reporting for non Link-Local IP multicast groups from an
IP multicast router joining it as a host is also not just a superficial specification
requirement because of the assumption that routers need to receive all non Link-Local IP multicast packets.</t>

<t>Switches that do support snooping of IP multicast routing protocols such as PIM
may also be able to determine which traffic needs to be forwarded to an
IP multicast router but those can may not include the groups that the
IP multicast router has only joined to only as a host and is not reporting via IGMP/MLD.</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 trough 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 joining to different IPv4 multicast addresses 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 relevent 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-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-hosts" 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-hosts 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-hosts 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:
H4sIAL6gB2kAA+2963rbWHY2+H9fBYb1o8mEpI6WbfXXX6Ky5CplLFuR5K7k
6fTTD0RCEmISYAOgZJbjXMtcy1zZrPPeGwBldyUz+TOVTpVEgdintdfxXWtN
JhPnZuU8L+6Pk3VzN3nlmrxZZMfJz2XdJGefm6yo87Kok7uySs4vk4v1osln
ad3AN5K0mCeDk2KTXJfrapZFfxwkw5PrixF+p86qxxz+7NLb2yp7PI7e0xkI
XwrfdPNyVqRLmMm8Su+aSZ7B7Fb5clLdzfb29vZv83qye+SeYN6X5xduljbZ
fVltjpO6mbu6qbJ0CQOd3bx15W1dLrImq48T/KJbr+Yp/fby9d4YPtrfdz8k
+ao6TppqXTf7u7uvd/cdfbCqshcHL1/dBJ/Du2GGf0kXZQFz22S1W+XHyZ+S
ppyN8V/zbNU8HCcvxkldVjCNuxp+2iz5h1m5XGZFU//ZuXTdPJTVsUuSSZIk
8B/6h1d8U2bVIqvr5Gz2Kasa/WNZwWLfrpt1lT1leXKTzR6KclHe51mdfLw+
0ceqEs8vm+dNWelns3JdNLg7wXPZMs0XsOgm+8dZPb1L19N51jud6yZbPWRF
cjZNTrOsgsONZnSVNXmVzW2ovIFx/pgWMOZjVo2TH6u8yeuH5E25WC9v87Qz
pzdpkc7T1rTmPNI/FmWVrRabKZ7/FMZzDj5Zpk3+mOHmXb19A8coP+FZ4o/X
N6cv8L/nP11cPu4f45/29w+O+KH9w6NDef5wn796fX1BDx0e7b7kv7yC05aH
Xr3YPbSXHdBzr1++xJddvDuVt8MHL53Lizs/Nfj7x9NL+uvLVzL03u4hzevq
XKe193L/QP726tUB/u3D9eVbnfPB/iuZ88ERffHi5PTNCb90/+XBLn1y/YZ/
f737Wh5+vfvqWKa3J8/u4bOXP/EyD/Z35b0HMIQs8+Dg5ZH+ePiapnJ1w0Md
vHixK385evlKH3q1pzt08PqFfvVw99W+blZdlOWKGAv+4cXhHnz+0+mH89ZW
H7460vN78fKl//G1vv5o9+DQfnz1Qn884FUuT99f0xuPXh7JVr48ONT5vDyw
N758ua8/vvKvefVqj3788fzs6phP/iXu483JJbyWaFIYIn6S/PJTAnxpTZeY
/uivMd4cvA/0I3KY4+QuXdQZ/Q4sEG4pEsix0Pkv2e1x8tA0q/p4ZwceT5sq
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
QaCCkBkE3Z5dqLWiFpNxGQ2ibvQM9ayNtXwuPskhAW1PvF3b32n3dKQSQx6o
20fSHBIAo1rUkKCSV5cp1lqkv12dUsN2fmei4lDklzJqEK7XJYS70IL03jQR
mqH8WUig8VbgaVvrUjnqbV0adtZMHTWywnbMNIvh+eVfLj6+uzl/c3J985d3
Hz5cjoz31tbjlJI0yUUFos+Xd6INt2DcyeW52Hv1erlMKzgKvwvSVD3y/5YJ
QcoCf20Rl2KjCBOBPoED5DUn+LleURYUuuwkpRfBPLYTu6BHXav2D19LXmjX
LwHjLymVh1xLyanP2sMZBS2x6mR48yH58Sy5Orv48Mez0xEWHrx6+2aSzXPQ
dI+TywUVKeXWmaywWA9i7kPLjUnUEt0eHSVpuinXf3bOXmq9osQuD/qTIapI
PbBx1iHFi0us0tUNo1JzApj+GU0fb4e6zz5V6XJO9kZZLjgDaR5jLUlLC9rJ
4ExusUTH9c3pC07V5CDT2HEwGytXRNKSHrQ3JDNg4Q0VXE4G8tUB/DJ7KCs0
L9fSQIx7i4caunV2ghnIFy1gp324ZCN89VxqoxtF5vPPHOj7l4t3VOxiPmfQ
FfYsCEbBnFUZhOl1WepxOv8HnLXnI/FKJa2TzoS7fGoOe/uE+CzYklrQKXYe
IYQhcgk6F/JCYM1zgiPMFtqUhFtGmzPEeuupEULNPolVvMXVdjufGn5GkKoc
9qG6JbJoTWmwtJN09pBn6PFUzDBRrVL+lnEYl+t8iha5HM98I9mOK1Tqc6u+
gtWxPRsOI7h2OnFJljhKKYV079YwHQolLFQp9F22JWc0mEKNm/Dy9Z6Uw481
XEnVzRAhkFL0RHYmkfYlYJAozBzrX0svdU9m3CtW2/Gi2SNBh8c9lrmaIVqL
luWTKT29v0ehom3p+WVp8CLrZm8QX+8s1VaqVRy1xwil9mWO2flwtViT2PXg
mVEX0W5xyLgrM29Xgc2UKiKykMoxmoaZmiRzDZbcUftjoJFkTijlkfCW5CM5
OtpmQ3gFgIygHzRCGvZ3d92Q+IFWJTPv+Egqi4cF1SkUXrdeOpYiSdzADpRf
3gXsKCixVB/2wK6Lk1WZFyEahBT+RhMLuVLUqGf2sJMXpScFak9lELeI6FE1
lkZPVuUyAdL/xGle2BNsYK1o6QWu1VUePdRoy5bcBvuQ87asjzErjdJkvbZ0
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
AkgBAA==

-->

</rfc>

