<?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-07" 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="December" day="23"/>

    
    <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>[ To be removed before publication:
Summary of considerations for 12/2025 early reviews:</t>

<t>This -bis is intended to replace RFC1112 maintaining it internet
standard designation, but extending it for IPv6.</t>

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

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

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

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

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

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

<t>]</t>

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

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

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

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

<?line -18?>

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

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

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

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

<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:
H4sIAB/PSmkAA+2963bbWnYu+H89BZr7R5EJSV19U506ibYl7620ZSuWXDsZ
lRo1QBKSEJMACwAlczvOs/Sz9JP1vK+1AFB27aQ7f7pOTpVMgli3ueb1m3NO
JhPn5uUiL+5Okk1zO3npmrxZZifJz2XdJOefm6yo87Kok9uySi6uksvNssnn
ad3AL5K0WCSD02KbXJebap5FXw6S4en15Qh/U2fVQw5fu3Q2q7KHk+g9nYHw
pfBLtyjnRbqCmSyq9LaZ5BnMbp2vJtXt/ODg4HCW15P9F+4R5n11cenmaZPd
ldX2JKmbhaubKktXMND5zRtXzupymTVZfZLgD91mvUjpXy9eHYzho8ND90OS
r6uTpKk2dXO4v/9q/9DRB+sqe3b04uVN8Dm8G2b4l3RZFjC3bVa7dX6S/Clp
yvkY/2uRrZv7k+TZOKnLCqZxW8Nf2xX/MS9Xq6xo6j87l26a+7I6cUkySZIE
/of+wyu+KbNqmdV1cj7/lFWNfllWsNg3m2ZTZY9Zntxk8/uiXJZ3eVYnH69P
9bGqxPPLFnlTVvrZvNwUDe5O8Fy2SvMlLLrJ/nFeT2/TzXSR9U7nusnW91mR
nE+Tsyyr4HCjGX3ImrzKFjZU3sA4f0wLGPMhq8bJj1Xe5PV98rpcblazPO3M
6XVapIu0Na0Fj/SPRVll6+V2iuc/hfGcg09WaZM/ZLh5H968hmOUv/As8c/r
m7Nn+L8XP11ePRye4FeHh0fP+aHD4+fH8vzxIf/0+vqSHjp+DhRF37yE05aH
Xj7bP7aXHdFzr168wJddvj2Tt8MHL5zLi1s/Nfj+49kVffvipQx9sH9M8/pw
odM6eHF4JN+9fHmE372/vnqjcz46fClzPnpOP7w8PXt9yi89fHG0T59cv+Z/
v9p/JQ+/2n95ItM7kGcP8Nmrn3iZR4f78t4jGEKWeXT04rn+efyKpvLhhoc6
evZsX755/uKlPvTyQHfo6NUz/enx/stD3ay6KMs1MRb84tnxAXz+09n7i9ZW
H798ruf37MUL/+crff3z/aNj+/PlM/3ziFe5Ont3TW98/uK5bOWLo2Odz4sj
e+OLF4f650v/mpcvD+jPHy/OP5zwyb/Afbw5vYLXEk0KQ8RPkl9+SoAvbegS
05f+GuPNwftAfyKHOUlu02Wd0b+BBcItRQI5ETr/JZudJPdNs65P9vbg8bSp
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
vJiPIwfh7NKGSt9lr6ZaWxpHFDJ1WAFtfuLcf/7nf5I6nqMTZhL6znLzvpOy
EaOOVIWPcOlWHoMya8KX0eOZlk966nc/cZDhphy25zOiueL2E2IiaZGN8FfZ
biVZWibr0jNftaYpf/PK6SekDLR/EmYF/A/uj8gBJUtOG+5lmL3IY1g5+ev6
5ULAt5IOEeo2O+Zik5kWPYl54xiT+xn5RazTw8Vwzlk1dcO3T0uI6chJzCER
GJKay9+aGgls4bteWw2u2bysWBKr5O3fC3Qnt2DxOgUaqUDdlgJMmGW9sByY
eLaEbksch8IYxkfZJfIYqQdIa8gdQHDKv838C6R3aACSXx0TajmGaaZMNFv9
Em0dKTWTFw/pMl9Y7HMHc/yGE8a5d6XcM/3FN8ArLcXS/U3MVZCTnruy9eKe
sF4Ckn/Cgmllco2ZAVNhrYfyk6HYJXeOLTHamsAY69vC0P6Mt9JEjiXjMpXb
4xZulR2q21u07I9iO0xQU6hMX36MUGfIC5g04Z06urOQeHJKqZ2czIOpS2Jw
fvvYXJTMkiakcywQ0oBcQl1duyQgkIZtRT8M7LTYBRPA8fD9GohPdr8Jdwtv
rVrasG8CzTg8miAww0OzPMqD6xpFj7vDoyR8fPeIyf7BZH9/8uwc/5v+Lxne
Z59B9flRcHmNQdEPXyYYoyakedHwAIQW3LXysYtNq569QXMMNkevK8k8O/bO
bGGfL8PAjda46h6XX3Iehm25bAMWFI3D3y+fEcAriMkqSRiQ1r99USaMrieU
EMUqS7eDchiHSq60poyoPHol2jXkw6IM9O7N7butvX4l595HppqAklu3t+X1
M2QtrRe0+tmG5RGB2wNhdHF+fp683D+cHhrSZ6wWteaH6TE6tGDgpXYQas1I
oIuDnHxXd8GG31AyruVA4VKM/8yqMl2wD0AAW/YWvyKUteefgSfmJMaXNpux
Yk566UeWFNxaJ/4FZnN+bMOUcKID7BnnC4PiW2Vcng+k8T1HtQlbsjTIGWJm
El4ilYtAVwrXjSDMHyLeaO8fNV2HgCuOMZbk9Gib82Ac2Ud1AFq31Cmgsuxz
SqSwzD9l6qSrbSKY2J5N4O0TcQLY7tPzuJ+nH65O353fJDxxyjBP/mV6+Mx7
Tp7cWsRcumhzcd+CkolxEKKL3pe1/t6lmi+GWQrs6rJsHAqc7kqak/wySgD0
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
Dh+W4FMH29bza7y85NM3+jNSeXdyYFhRibAK+erK9NuWNo3KVTvt0aNLx+wg
fjim3PzP0+301zGluQ0///3B4csRfwDXDz49emUPwJ/BA3wnqQFTaS5Fh5gm
5en7B5P9/cmz88nnz5PtdvLrr8Q8Pv9hfzo9OHyx9/nzH+6zz8PPYBFt8bPD
Z8/2tlv6bAuf/aqf/forffbraEqRXcoWoLxqXdBYmzi29orjvFSUWkqeLNGn
izz6gaAFeAU1JZCyKTt9KQRzh/AIivTUa6QV5otCLi6lrxLq2NJk7apYWEYN
G2OBwU4+aN0c3E3YSio7wHcoTUhPocY0Ywca5ATzZl5ffQQml4LJhQpXQaES
9hcE0UCManz5sjp7d01l/ujlXNEAODy19vaNWuTE2p1R/GnBf8P/vfmRnUfm
3M+L2woWVG3mlDs3hIkhI8ceEPVIfTzBTN0doQ2Ek/goB+2j36xdW+W9IGEb
II1PcMeObKHXAcnOwhL85VgUJNkV7OZdhwmc7flypC3Fxp2ZvtbsSnQgRsFX
fg7V37qsLEgjdMcSk+wWfhiTZ9VtKnfclJbdKq/U/nGtO+ZBBsFlwzIJFz7J
i3qvbwhyZBkIIiDXVb6iYKCjwD+VRumZ3zenpVe/bqwzL2vicCrYpwuTujjz
9Yn3aGIxJxjgFNA+8xki3naWY5SDkVsreunl0wrglx+8yMVOKLeE6EKnFSfU
6nPqW8E9HvrWsBqbRcc6O24Z4jXqUXpEtSb7Tn624BSsTV7fi9TwI2ome6gq
WuhlSHFLAqrRF6yRjj3AKtBBw4XzW3Isth3V6NdhR+LEtAqNi4RshCE2KC4y
qnU7ArKZaL4WbUiXHsTFycJaC55J0E5+6lpxqlimS0iqFl9//KV6yChG52vC
BQuVRoy5oI1Qli81m9o30Iij+RGMiiWDCoDS8snQxZByUX4hQ6nd9P766g2B
86VEOh82CXKzKK0rTs6TNF0hoh0CZj9akhrYjSieVAuOSBIH1SKXbCUvuY4p
djW6I14w1lIQtqXcB5xYgp/2WBB3lJnXj+ngxVMak6vMmsmwA3fkFmNTiCAl
bF2FVN6lb12ZQ4QAyFWg7onvjl4YLuuBBNxDph5xDhV2HOKcXB41AkVfmtOl
aHyE6grI/MoNKlQUpZKTat0Q/x7bElAx6aF06byL4jHnTlGn4eXnJqt47Sdc
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
lDAO7v8Bw9tclzJQAQA=

-->

</rfc>

