<?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-05" 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="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>
    <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>

    <date year="2025" month="July" day="07"/>

    
    <workgroup>PIM</workgroup>
    

    <abstract>


<?line 66?>

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

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

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

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

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

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

<?line -18?>

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

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

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

<t><xref target="RFC1112"/> specified IP multicast for version 4 of the IP protocol (IPv4, <xref target="RFC791"/>),
and refers to that version as IP. This document applies both to version 4 of the IP protocol
and version 6 of the IP protocol (IPv6, <xref target="RFC8200"/>). The term IP is used in this
document to refer to both versions. Where specifications in support of IP multicast
for version 6 of the IP protocol where already provided by other RFCs, this document
provides references to those pre-existing specifications, so that this document can
serve as a complete single point of reference for the host extensions for IP multicast
with either versions of IP.</t>

<t>"Source Specific Multicast", (SSM, <xref target="SSM"/>) introduced a complementary 
extension to the IP service from the one specified here.
It is relying on components specified here, such as {#ethernet}, and extending or
superseding others.  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 refer to IP routers, and capitalization of chapter headings.</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 IPv4 that can not conform to Level 2
for it 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 a class D IP
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 section 4 of this memo,
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="IGMPv3lite"/>.</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 IP host groups by <xref target="SSM"/>. They are instead
only the destination address part G of Source Specific Multicast (SSM)
IP multicast (S,G) channels.</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 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 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 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>A host group address or IP address from an SSM range <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 IP header, 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.
Note that these are UDP socket extensions but not IP socket extensions due to
the absence of widely adopted/required IP level socket APIs.</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 host group 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 {#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 host group
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="IGMPv3lite"/> 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.</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="IGMPv3lite"/> 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 specification,
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 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: This 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 it's 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>


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

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

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

<reference anchor="IGMPv3lite">
  <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="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="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>




    </references>


<?line 916?>

<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.</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 RIPv2 (<xref target="RFC1723"/>) or OSPF (<xref target="RFC2328"/>) 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 had in 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>
<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-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:
H4sIAEA4bGgAA+1963bbWHbm//MUGNaPJickLUqybKuTTFSWXKUsy1YsuTtZ
nV69QPJQQhsE2AAome12nmWeZZ5s9vVcAFB2VTIrf6bSqZIoAue2z77vb08m
E2MW5TIr7k6TbbOavDRN1uT2NPm5rJvk4nNjizorizpZlVVyeZ1cbfMmW6R1
A08kabFMBmfFLrkpt9XCRn8cJMOzm6sRPlPb6iGDP5t0Pq/sw2n0ns5A+FJ4
0izLRZGuYSbLKl01k8zC7DbZelKtFrPZ7HCe1ZOD5+YR5n19eWUWaWPvymp3
mtTN0tRNZdM1DHRx+8aU87rMbWPr0wQfNNvNMqXfXryajeGjw0PzQ5JtqtOk
qbZ1c3hw8Org0NAHm8o+P3rx8jb4HN4NM/xTmpcFzG1na7PJTpM/JE25GOO/
lnbT3J8mz8dJXVYwjVUNP+3W/MOiXK9t0dR/NCbdNvdldWqSZJIkCfyH/uEV
3zR2c2+L5GKanFtbwW7q38sK1vvBNllll/rZImtg2b9Li0W5fbDVOPmxypqs
vk9el/l2Pc9S98VyWzS4Ra/TIl26j+06zXLYZh7pn4qyspt8N8UNn8J4vTO8
LW2V27pOLhafbNVE03uzbbaVfbRZcmsX90WZl3eZrZOPN2f6tapECrPLrCmr
zuSC78nMmsb+06KertLtdGmNgQmu0yZ7sLh5H968hmOUn/As8ceb2/Pn+N/L
n66uHw5P8U+Hh0cn/KXD45Nj+f7xIT96c3NFXzo+OXjBf3kJpy1fevn84Ni9
7Ii+9+rFC3zZ1dtzeTt88MKYrFi1pjY7OH6uP744PNIfX77UH2FWz92Phy/l
xyP4+VQGmPH0X8wO5G/Hr/Tho5MX7olXz090knVRlhu60Lik58czWezLE92n
5y9ezPyS8qyxp/zxKxnk5OBI9+jk4KXO8MXR8Yn78YW+7OXLGXzBTCaTJJ3D
xUsXjTG391mdrO26TOqNXWQrJIDm3ibW3/PK/mWLZJyUqyRN7pELZOtNbvGC
wB6WhYE/4DOXRWOrwjbJdVXCBSvzZHh5PYK7ltTbzQYuGfKTteMnj1lzz885
zgMnA69YpcCDetmV8KppQtOWGS9oEkm62eQwewPDzUt4M9wwnv8xcaqTZN8s
p+Y8g+3I5lt6D31NNwX+uy3ybA07v5zKbgG/2+LaE7x+MNU6+fKFaHp2+PUr
sV8LY+/gJcB54aVJ1rTnWq4MTQWOVeeZzICJ6YTokNbZcpnDNfoBrsnZ7ceb
5P2b5Pbny5vk6uLq/f8/uf/XJ2c/L0BC0Ke/4gB/+AG4P+0+yZHkbVrcbdM7
izOxySe7Sx7Lalkng6uPN7eDMf83efeefv5w8S8fLz9cnOPPNz+fvX3rfjDy
jZuf3398e+5/8k++fn91dfHunB+GT5PoIzO4Ovs3+AspBO+vby/fvzt7O0iy
gnfObVBaWTz9uU3oXEG8wjYmaW2Wtl7AhsMv8MyPr6//z/+eHcMu/g9kfbPZ
K9hG/uXl7MUx/PII0pFHK4t8J7/Czu0MHLpNK3xLmufJIt1kTZqD5E1hq+/L
xyK5t5WFjfyff8Cd+eNp8vfzxWZ2/I/yAS44+lD3LPqQ9qz7Sedh3sSej3qG
cbsZfd7a6Xi+Z/8W/a77Hnz49/8rzwqbTGYv/9c/Grzyl+9uP7w///gav0nU
dLNdr9Nql3z5oeafvv53soBpctm+RSDdv341+y8RDtK+RPSh3prWbQKOkpwB
kRTL7HNyOcVvB7dVGIkj2KVd5EC08Y3OikW+RZXZtC4qPAoaTbYA+gq/r7u4
jNkdzl6fPXbM6NpPHHbq4XgcbMNobJDmQZeEx3APm/u0ce8AEr+8bi9AmCBz
QHjiqQHp5fqFk30zOpEZoYoEU8IB4VLbao3fRPZY8y3Gm2/cPGBomnbS5sbT
5Pd4JeMzrPEFSiAwj3DfTLhvvbN8pBemOdgAyx1+/JAtYU7zXQIDwxRg8vU4
5kxGvlXzLG2B9EcbXNZISnZiP2ds9MQTRTWfjyHmdIu0MCjDLB5Lior/Bm2Q
pIZX5PDGEhggzt0N54iZLpPtGF5+/SQmbUZLcTKNNgnobiAS8kZmGYjKcTIE
RRdPD/4DJ4c8uCqX2wWyYJkh3V9gB8ZNgHchlMnJqirX9BmYQAFxM2eFC5zh
LuY73Cx4Hl8MXyy8sJPvwtZtF/e4P19+sLgaYBNfmavT6Et6QWWADmCVln/F
7wHNENHpfOLX4vALYP5gID2lMuC6lnykWzSWMtx0uCtgTYFEoSXCNk1bEh5k
CTwmwgoOn0kNvpgs7kEU27pNx/SikMEYc761uqlEVHT6cH50LWBqtAN0Uo3e
rEFIAAOQn3UTcQFrPIFZvTFtQoqvlBCQ7mG5ofmemqarSCEF4rw2+bZ21ANn
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
dEliunMHDwTx5s3B4enpbMoG09MsumVTpeiTxA3qGE/ejn9ByhTnStM7xKY6
PsHzCw2spENFTI48G2YS7rg9qTxkqTt0DHDDDL996BSbjBbS2k8KTrtQBd1O
vAoYPo6uJS5Ov7VAd/SSQogaNpedpGXTK9khxVtbgEKaLg0J87bzWQ8I7cHk
J9yMvQkZlI4xioKt8NH4pxHFaQubo0jyqUo4TYxn12xgzoG34iwxqgWK8dZF
ZWvMkwLSyep6i5IIQ4XMo3r5PmoCV+/PL96iN++MlQKY0uXV9duLq4t3t2eY
KgZqgVOUv0qA0c058ERTCFgc0G31q038BrMGnAM/T3d0ACiKYe55vqUQGpKe
BfWUD/fN5U9EcMDCREHFb4Mcfn11/Qz/9XBCVDvEaylaKnPAEal+z1DdI3r0
J+4zCmiuzhttNF2hXG5zO3ZGyxp0YR9mCkJkZawDhv6RujsgO4GjSEjbNWV4
aO+05q1hpmM/b8oa8+fxSlXwM3m68h1PtL4vtzkJUDPn1TbVljIt5RegIy7g
QB/aFqklOiygCknB/1vyq//52553fASSriZv8cC9JXfFa93/jj/96n/+xouZ
9P2DZ3gjpuClc8H3fnUy0bkkv34u37Wtf3v61+98B4rR0+jXE//r974D7tTf
kdHkfn04+Tu8Re13wD7+QY37Z2JQ/THpnFv71755MClgNPG7/vm+tXzvO379
0e4hsyRW37+D2P6byGzvlgQf8lqid1xeU4Q0VOkdj+x7h25E3zyGdnoHJuPZ
h+tn785H++fRZRZPn1v7HTKOhs++i9D+a8jsy2nyA0qxhKrs/mHwS6XoAKVv
qTmtzmEbh3P3imDMcDfqlunL6Nrj9wYB1BrTHPaPSTn0FFgNh0HXyaZpj2Fa
Y1yki3tRB8DCByohX7M6zjnVK/D5pz6+K1rrmHUFeNUblJD4Onl6HG5vpIgY
DfoF+a1O1RknLSWANJVIRvc8Q6plEJxtJXjQq3C5bkamrTvIl+ow0u5el1Ik
tsAFo3ZUZXYFYt+gr0cV2kgnZvOH9Lybi3fnl+9+glN6e3v5+ow1vfOz27Of
Ppxdoe9HIiJfyZN3EVGk7ESHfxlz1R/+om1Gq2pbS66DpNrdsA9rkJSgB3Cq
m1rR5N7qy7L7Le7olhQH0hS9a5O3yqwtphwHORKcdNNVeccJjOl2Ff6XwZKB
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
vub/AtS58Pf+9gAA

-->

</rfc>

