<?xml version='1.0' encoding='utf-8'?>
<!-- This template is for creating an Internet Draft using xml2rfc,
    which is available here: http://xml.resource.org. -->
<!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent">
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<!-- used by XSLT processors -->
<!-- For a complete list and description of processing instructions (PIs), 
    please see http://xml.resource.org/authoring/README.html. -->
<rfc
      xmlns:xi="http://www.w3.org/2001/XInclude"
      category="std"
      consensus="true"
      docName="draft-schoen-intarea-unicast-0-05"
      ipr="trust200902"
      obsoletes=""
      updates="1122, 1812, 2827, 3704"
      submissionType="IETF"
      xml:lang="en"
      tocInclude="true"
      tocDepth="4"
      symRefs="true"
      sortRefs="true"
      version="3">
  <!-- xml2rfc v2v3 conversion 2.38.1 -->
  <!-- category values: std, bcp, info, exp, and historic
    ipr values: trust200902, noModificationTrust200902, noDerivativesTrust200902,
       or pre5378Trust200902
    you can add the attributes updates="NNNN" and obsoletes="NNNN" 
    they will automatically be output with "(if approved)" -->

 <!-- ***** FRONT MATTER ***** -->

 <front>
    <!-- The abbreviated title is used in the page header - it is only necessary if the 
        full title is longer than 39 characters -->

   <title abbrev="Unicast Use of 0/8">Unicast Use of the Formerly Reserved 0/8</title>
    <seriesInfo name="Internet-Draft" value="draft-schoen-intarea-unicast-0-04"/>

   <author fullname="Seth David Schoen" initials="S.D." surname="Schoen">
      <organization>IPv4 Unicast Extensions Project</organization>
      <address>
        <postal>
          <street/>
		  <!-- Reorder these if your country does things differently -->
	  <city>San Francisco</city>
	 <region>CA</region>
          <code/>
          <country>US</country>
        </postal>
	<phone />
        <email>schoen@loyalty.org</email>
        <!-- uri and facsimile elements may also be added -->
     </address>
    </author>

   <author fullname="John Gilmore" initials="J." surname="Gilmore">
      <organization>IPv4 Unicast Extensions Project</organization>
      <address>
        <postal>
        <street>PO Box 170640-rfc</street>
         <city>San Francisco</city>
         <region>CA</region>
         <code>94117-0640</code>
          <country>US</country>
        </postal>
	<phone />
        <email>gnu@rfc.toad.com</email>
        <!-- uri and facsimile elements may also be added -->
     </address>
    </author>

   <author fullname="David M. Täht" initials="D." surname="Täht">
      <organization>IPv4 Unicast Extensions Project</organization>
      <address>
          <!-- Reorder these if your country does things differently -->
        <!-- uri and facsimile elements may also be added -->
	<postal>
	<city>Half Moon Bay</city>
	<region>CA</region>
	<country>US</country>
	</postal>
	<phone />
        <email>dave@taht.net</email>
     </address>
    </author>

    <date year="2023"/>

   <!-- Meta-data Declarations -->

   <area>intarea</area>
    <workgroup>Internet Engineering Task Force</workgroup>
    <!-- WG name at the upperleft corner of the doc,
        IETF is fine for individual submissions.  
	 If this element is not present, the default is "Network Working Group",
        which is used by the RFC Editor as a nod to the history of the IETF. -->

   <keyword>unicast</keyword>
   <keyword>IPv4</keyword>
   <keyword>0/8</keyword>
    <!-- Keywords will be incorporated into HTML output
        files in a meta tag but they have no effect on text or nroff
        output. If you submit your draft to the RFC Editor, the
        keywords will be used for the search engine. -->

   <abstract>
   <t>This document redesignates 0/8, the lowest block in the IPv4 address space, so that this space is no longer reserved. It asks implementers to make addresses in this range fully usable for unicast use on the Internet.</t>
    </abstract>
  </front>
  <middle>
    <section numbered="true" toc="default">
      <name>Introduction</name>
      <t>With ever-increasing pressure to conserve IP address space on
the Internet, it makes sense to consider where relatively minor changes
can be made to fielded practice to improve numbering efficiency. One such change,
proposed by this document, is to allow the use of more than 16 million historically
reserved addresses at the bottom of the IPv4 address space.</t>
      <t>This document provides history and rationale to change the status of the
      "0/8" or "zeroth" region of the IPv4 address space (historically
      known as "unspecified network" or "this network") from reserved to
      unreserved. These addresses are already usable for unicast traffic in
      some popular TCP/IP implementations today. Standardization as unicast
      addresses will eventually allow them to be later deployed by Internet
      stewardship organizations to relieve address space scarcity.
      </t>
      <section numbered="true" toc="default">
        <name>Requirements Language</name>
        <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
       "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
       document are to be interpreted as described in <xref target="RFC2119" format="default">RFC 2119</xref>.</t>
      </section>
    </section>
    <section numbered="true" toc="default">
    <name>Background</name>
    <t>
The early Internet reserved many kinds of IPv4 addresses for special
purposes. One important such designation involves every IPv4 address
beginning with the octet 0 (now "0/8"); all these addresses were
designated for use in potential device autoconfiguration features <xref
target="RFC0792">that were to use ICMP messages</xref>. This function
was eventually entirely supplanted by other protocols, which, in IPv4,
now use only the single address 0.0.0.0.</t>
    <t>
Autodiscovery of a network-provided configuration came to be handled
for IPv4 by <xref target="RFC2131">DHCP</xref>, and formerly by
its predecessors <xref target="RFC0951">BOOTP</xref> and <xref
target="RFC0903">RARP</xref>. In modern practice, the source address of
a device seeking an IPv4 configuration from the local network is indicated
with a link-layer broadcast in which the network-layer source address
0.0.0.0 and the network-layer destination address is 255.255.255.255.
    </t>
    <t>
The reservation of 0/8, despite its obsolescence, has been
reiterated in all subsequent IPv4 address allocation RFCs and
IANA documents.  By 1989, <xref target="RFC1122" />, section 3.2.2.7,
for example, noted that this mechanism was already obsolete, even
as section 3.2.1.3 continued to expressly prohibit the
use of network number 0 for other purposes.
    </t>
    <t>
The single special address 0.0.0.0(/32) acquired a variety of
related meanings including "unspecified address", "unknown
address", "address not set", "address not applicable", etc.,
while 0.0.0.0/0 means "the default route", which contains
every IPv4 host.  This single address has remained sufficient
for these purposes.
    </t>

    </section>
    <section numbered="true" toc="default">
	    <name>Present situation</name>
    <t>
Today, 0/8 addresses (except for the special address 0.0.0.0) are
no longer used in any autoconfiguration protocols.
All of this functionality is handled using other distinctly-specified
mechanisms and address space, both in IPv4 and IPv6.
    </t>
    <t>
The designation of 0/8 as reserved address space is tracked by IANA in
the <xref target="IANA4">IPv4 Special-Purpose Address Registry</xref>,
as provided for by <xref target="RFC6890">RFC 6890</xref>.  No known
software makes use of this address space in the headers of IPv4 packets
transmitted over the wire.  While some software already treats it as a
potentially valid address, the most common behavior by host and router
software when encountering any address within 0/8 is to reject it as a
Martian address.
These and all other known uses are discussed in the sections "Other
Existing Uses of 0/8" and "Compatibility and Interoperability", below.
    </t>
    <t>
Since this address space has no existing widespread practical use or
interpretation, it can be used for other purposes and help alleviate the
shortage of IPv4 addresses. This memo therefore unreserves it,
redesignating it as unassigned unicast addresses, available for
potential global unicast
or other allocation.
    </t>

    </section>

<section numbered="true" toc="default">
	<name>Change in Status of 0/8</name>
	<t>The purpose of this document is to make addresses in the
	range 0/8 available for active unicast use on the public
	Internet. This includes supporting them for numbering and
	addressing networks and hosts, like any other unicast address.</t>

<t>
As an exception, the address 0.0.0.0 retains its existing special meanings,
as described in the subsection "No Change to Interpretations of 0.0.0.0".
</t>

<t>Host and router software SHOULD treat addresses in the 0/8
	range, except the host address 0.0.0.0, in the same way that they
	would treat other unicast IPv4 addresses.
	Software SHOULD be capable of accepting datagrams from, and
	generating datagrams to, addresses within this range.</t>

<t>
Clients for autoconfiguration mechanisms such as <xref target="RFC2131">DHCP</xref>
SHOULD accept a lease or assignment of an address within 0/8, except
the host address 0.0.0.0, whenever the underlying operating system is
capable of accepting it.</t>

	<section numbered="true" toc="default">
		<name>No Change to Interpretations of 0.0.0.0</name>
		<t>
	The unqualified address 0.0.0.0 or the individual host address
	0.0.0.0/32 has many special meanings which are described in
	a section "Other Existing Uses of 0/8", below.  This document
	does not make this all-zero address an individually valid unicast
	address, and it should still not be taken to identify
	an individual device.  As described in prior Internet standards,
	the address 0.0.0.0 MUST NOT be assigned to an individual
	interface.  This address is valid to appear in both source
        and destination addresses, with special meanings,
	in protocols already defined or to be defined in the future.
	</t>
	<t>
	The network identifier 0.0.0.0/0 also continues to be used
	to refer to an IPv4 default route (a route which matches
	any Internet host).  This is not inconsistent with the use
	of explicit routes to individual networks within 0.0.0.0/8.
	Existing CIDR-based routing logic is readily capable of
	distinguishing an object like 0.0.0.0/8 (a route referring
	to a specific /8 whose leftmost
	octet is always 0) from one like 0.0.0.0/0 (a route including
	to any IPv4 host); in current routing practice, the default
	route 0.0.0.0/0 already always overlaps every more-specific
	route, regardless of how many zero bits appear at the beginning
	of a more-specific route's destination.
	</t>

	<t>
	For avoidance of doubt, we note that all routing implementations
	MUST permit routes to overlap, and MUST distinguish the default route
	0.0.0.0/0 from a more-specific CIDR route such as 0.0.0.0/8 or
	0.0.0.0/10, as well as from a leading-zero-octet route such as
	0.1.0.0/16. These distinctions are already implied by
	<xref target="RFC4632" />, section 3.1 (since neither "n"
	nor "x" is ever stated to be nonzero), and sections 5.1 and
	5.2 (describing and requiring generality in the treatment of
	arbitrary routes, including the default route).
</t>
</section>

</section>

<section numbered="true" toc="default">
	<name>Other Existing Uses of 0/8</name>
	<t> 
	There are a handful of other uses of 0/8 with
	special meanings in existing Internet protocols and standards.</t>

	<t>A large number of protocols and environments use the special address
	0.0.0.0 to mean "unspecified", "unknown", "unset", "not applicable",
	"any address", "no address", or, as 0.0.0.0/0, the default route
	containing every IPv4 network.
	(Two examples, among dozens, are <xref target="RFC2131" />'s use of
	0.0.0.0 in DHCP packets to mean "my IP source address is unknown"
	and <xref target="RFC4541" />'s use of 0.0.0.0
	to mean "proxied IGMP membership report from a non-Querier".)</t>

	<t>All these uses of the address 0.0.0.0 are
	unchanged by this memo. Due to its variety of special meanings, the
	address 0.0.0.0 MUST NOT be allocated exclusively to a specific
	organization or network.  Existing standards significantly constrain,
	but do not preclude, circumstances in which it may appear on the wire.
	</t>

	<t>There are three known non-unicast uses of the 0/8 block as a whole
	in the RFC series.</t>

<ul>
	<li><xref target="RFC3338">RFC 3338</xref> (an IPv6 transition mechanism) used 0/8 addresses as
	synthetic addresses representing surrogate IPv6 addresses, but this
	practice has already been deprecated by <xref target="RFC6535" />, which
	indicated that this transition mechanism should switch to RFC 1918 private
	addresses.</li>

	<li><xref target="RFC7453">RFC 7453</xref> (an MPLS-related SNMP MIB definition) overloads
	the meaning of addresses in 0/8 by designating them as local identifiers,
	contrasting with IPv4 addresses.  Before production use of 0/8 on the
global Internet occurs, this MIB should be updated to provide
	a separate field for local identifiers and to deprecate the old semantics.</li>

<li><xref target="RFC6235">RFC 6235</xref> and <xref target="RFC8932">RFC 8932</xref> both provide
	mechanisms for anonymizing network flow datasets that can map addresses into
	0/8 in order to obscure them.  Implementers SHOULD take into account that
	source addresses in the future may already lie in this range and will still
	require anonymization; an IPv4 address SHOULD NOT be assumed to have been
	anonymized already merely because it is within 0/8.</li>
</ul>

    </section>

<section numbered="true" toc="default">
	<name>Compatibility and Interoperability</name>
	<t>Older Internet standards counseled implementations in varying ways
	to reject packets from, and not to generate packets to, addresses
	within 0/8.</t>

<t>Among several standards calling for this
	behavior, RFC 1122, section 3.2.1.3, and RFC 1812, section 4.2.2.11,
	say that hosts and routers, respectively, MUST NOT send packets using
	these addresses, outside of configuration-discovery processes. RFC 1122
	implies hosts MUST discard, and RFC 1812 implies routers SHOULD NOT
	forward, packets whose source address is within 0/8.
</t>

<t>
	<xref target="RFC3704">RFC 3704</xref> (BCP 84)
	cites <xref target="RFC2827">RFC 2827</xref> (BCP 38) in
	asking providers to filter based on source address:</t>

	<blockquote>
RFC 2827 recommends that ISPs police their customers' traffic by
dropping traffic entering their networks that is coming from a source
address not legitimately in use by the customer network.  The
filtering includes but is in no way limited to the traffic whose
source address is a so-called "Martian Address" - an address that is
reserved, including any address within 0.0.0.0/8, 10.0.0.0/8,
127.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 224.0.0.0/4, or
240.0.0.0/4.
	</blockquote>

	<t>
	Other RFCs such as 3964, 4380, and 6491 have reiterated specific
	lists of Martian ranges for other purposes, rather than referring
	to the subsequently-created IANA Special-Purpose Address Registry.
	We encourage future RFC authors and implementers to refer to the
	Special-Purpose Address Registry rather than explicitly providing
	or using a list of reserved addresses within their documentation.
	</t>

	<t>In this context, RFC 3704 specifies filtering of these addresses
	as source (not destination) addresses at a network ingress point as
	a countermeasure against forged source addresses, limiting forwarded
	packets' source addresses to only the set which have been actually assigned to the
       	customer's network.  The RFC's mention of these "Martian Addresses" is
	based on the assumption that they could never be legitimately in use by the
       	customer network.</t>

        <t>Because the 0/8 address space is no longer reserved as a
        whole, an address within this space is no longer inherently a
        "Martian" address.  Both hosts and routers MUST NOT hard-code
        a policy of always rejecting such addresses. Hosts and routers
        SHOULD NOT be configured to apply Martian address filtering to
        any packet solely on the basis of its reference to a source (or
        destination) address in 0/8.  Maintainers of lists of "Martian
        addresses" MUST NOT designate addresses from this range as
	"Martian".  As noted elsewhere, the address 0.0.0.0 retains its
	special meaning, but is also not a "Martian" address.</t>

	<t>The filtering recommended by RFC 3704 is designed for border
	routers, not for hosts.  To the extent that an ISP had allocated an
	address range from within 0/8 to its customer, RFC 3704 would
       	already not require packets with those source addresses to be
	filtered out by the ISP's border router.
	</t>

	<t>Since deployed implementations' willingness to accept 0/8
	addresses as valid unicast addresses varies, a host to
	which an address from this range has been assigned may also
	have a varying ability to communicate with other hosts.</t>

        <t>Such a host might be inaccessible by some devices either
        on its local network segment or elsewhere on the Internet, due
        to a combination of host software limitations or reachability
        limitations in the network. IPv4 unicast interoperability with
        0/8 can be expected to improve over time following the
        publication of this document.  Before or after allocations are eventually
        made within this range, "debogonization" efforts
        for allocated ranges can improve reachability to the whole address block.
        Similar efforts have already been done by <xref target="Cloudflare">Cloudflare on 1.1.1.1</xref>,
        and by RIPE Labs on <xref target="RIPElabs18">1/8</xref>,
        <xref target="RIPElabs2a1012">2a10::/12</xref>, and
        <xref target="RIPElabs128016">128.0/16</xref>.
        The Internet community can use network probing with any of
        several measurement-oriented platforms to investigate how usable
        these addresses are at any particular point in time, as well as
        to localize medium-to-large-scale routing problems. (Examples
        are described in <xref target="Huston" />,
        <xref target="NLNOGRing" />, and <xref target="Atlas" />.)
        Any network operator to whom such addresses are made
        available by a future allocation will have to examine the
        situation in detail to determine how well its interoperability
        requirements will be met.</t>
</section>

      <section numbered="true" toc="default">
      <name>Unofficial uses of 0/8</name>
      <t>Some organizations may be using portions of 0/8 internally
 as RFC 1918-type private-use address space, for example for internal
 communications within datacenters. We currently have no publicly-documented
 examples of this practice.  However, future allocations of 0/8
 could result in use of this space on the public Internet in ways that
 overlap these unofficial private-use addresses, creating ambiguity about
 whether a particular host intended to use such an address to refer
 to a private or public network (since the address would then have two distinct
 interpretations with different addressing scopes). Among other unintended
 outcomes, hosts or firewalls that have extended greater trust to other hosts based
 on their use of a certain unofficial network number (that was considered to imply
 presence on a LAN or within an organization) may eventually receive legitimate
 traffic from an external network to which this address space has been
 allocated.</t>
      <t>Operators of networks that are making unofficial uses of portions of 0/8
 may wish to plan to discontinue these uses and renumber their internal
 networks, or to request that IANA formally designate certain ranges as
 additional Private-Use areas.</t>
      </section>

   <section anchor="IANA" numbered="true" toc="default">
      <name>IANA Considerations</name>
      <t>This memo unreserves the address block 0/8. It therefore
 requests IANA to update the <xref target="IANA4">IANA IPv4 Special-Purpose
 Address Registry</xref>
 by removing the entry for 0/8, whose existing authority
 is <xref target="RFC0791">RFC 791</xref>, Section 3.2. Additionally, it
 requests IANA to update the IANA IPv4 Address Space Registry by
 changing the entry for 000/8 from "IANA - Local
 Identification, 1981-09, RESERVED" to "Unallocated, Former IANA - Local
 Identification, [Date of this RFC], UNALLOCATED".
 Finally, IANA is requested to prepare for this address space
 to be addressed in the reverse DNS space in in-addr.arpa.</t>
      <t>This memo does not effect a registration, transfer, allocation,
      or authorization for use of these addresses by any specific
      entity. This memo's scope is to require IPv4 software implementations
      to support the ordinary unicast use of addresses in the newly
      unallocated range 0.0.0.1 through 0.255.255.255.  During
      a significant transition period, it would only be prudent for the
      global Internet to use those addresses for experimental purposes
      such as de-bogonization testing. After that transition period, a
      responsible entity such as IETF or IANA could later consider
      whether, how and when to allocate those addresses to entities
      or to other protocol functions.</t>
    </section>
    <section anchor="Security" numbered="true" toc="default">
      <name>Security Considerations</name>
      <t>The change specified by this document could create a period
 of ambiguity about historical and future interpretations
 of the meaning of host and network addresses in 0/8.
 Some networks and hosts currently discard all IPv4 packets
 bearing these addresses, pursuant to statements in
 prior standards that packets containing these addresses have no
 agreed-upon meaning and ought not to be sent over the wire.</t>
      <t>
 Disparate filtering processes and rules at present, and
 in response to the adoption of this document, could make
 it easier for rogue network operators to hijack or
 spoof portions of this address space in order to send
 malicious traffic.</t>

      <t>Live traffic, accepted and processed by other devices, may
 legitimately originate from 0/8 addresses in the future.
 Network operators, firewalls, and intrusion-detection
 systems may need to take account of this change in
 various regards, including so as to avoid permitting either
 more or less traffic from such addresses than they expected.</t>

      <t>Automated systems generating reports, and human beings reading
 those reports, SHOULD NOT assume that the use of a 0/8
 source address indicates spoofing, an attack, or a new
 incompatible packet format.  At the same time, they
 SHOULD NOT assume that the use of 0/8 is impossible or
 will be precluded by other systems' behavior.</t>

 <t>Since the Linux kernel has already defaulted to the specified
 behavior for two years (see "Implementation Status"), it is already
 possible for deployed systems to disagree about whether packets
 containing 0/8 may validly appear on the wire.  This document
 offers an opportunity to move to a new consensus in which
 implementations widely agree that these packets are potentially valid,
 while giving implementers considerable advance notice ahead of any
 future deployment of these addresses on the public Internet.</t>

    </section>

    <section anchor="Acknowledgements" numbered="true" toc="default">
      <name>Acknowledgements</name>
      <t>This document directly builds on prior work by Dave Täht and
      John Gilmore as part of the IPv4 Unicast Extensions Project.
      Acknowledgements of contributions to their drafts still need to
      be transposed here.
      </t>
    </section>
  </middle>
  <!--  *****BACK MATTER ***** -->

 <back>
    <!-- References split into informative and normative -->

   <!-- There are 2 ways to insert reference entries from the citation libraries:
    1. define an ENTITY at the top, and use "ampersand character"RFC2629; here (as shown)
    2. simply use a PI "less than character"?rfc include="reference.RFC.2119.xml"?> here
       (for I-Ds: include="reference.I-D.narten-iana-considerations-rfc2434bis.xml")

    Both are cited textually in the same manner: by using xref elements.
    If you use the PI option, xml2rfc will, by default, try to find included files in the same
    directory as the including file. You can also define the XML_LIBRARY environment variable
    with a value containing a set of directories to search.  These can be either in the local
    filing system or remote ones accessed by http (http://domain/dir/... ).-->

      <references title="Normative References">
        <!--?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml"?-->
     <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <seriesInfo name="DOI" value="10.17487/RFC2119"/>
            <seriesInfo name="RFC" value="2119"/>
            <seriesInfo name="BCP" value="14"/>
            <author initials="S." surname="Bradner" fullname="S. Bradner">
              <organization/>
            </author>
            <date year="1997" month="March"/>
            <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>
        </reference>


<reference  anchor='RFC0791' target='https://www.rfc-editor.org/info/rfc791'>
<front>
<title>Internet Protocol</title>
<author initials='J.' surname='Postel' fullname='J. Postel'><organization /></author>
<date year='1981' month='September' />
</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 initials='J.' surname='Postel' fullname='J. Postel'><organization /></author>
<date year='1981' month='September' />
</front>
<seriesInfo name='STD' value='5'/>
<seriesInfo name='RFC' value='792'/>
<seriesInfo name='DOI' value='10.17487/RFC0792'/>
</reference>

<reference  anchor='RFC0903' target='https://www.rfc-editor.org/info/rfc903'>
<front>
<title>A Reverse Address Resolution Protocol</title>
<author initials='R.' surname='Finlayson' fullname='R. Finlayson'><organization /></author>
<author initials='T.' surname='Mann' fullname='T. Mann'><organization /></author>
<author initials='J.C.' surname='Mogul' fullname='J.C. Mogul'><organization /></author>
<author initials='M.' surname='Theimer' fullname='M. Theimer'><organization /></author>
<date year='1984' month='June' />
<abstract><t>This RFC suggests a method for workstations to dynamically find their    protocol address (e.g., their Internet Address), when they know only    their hardware address (e.g., their attached physical network address).    This RFC specifies a proposed protocol for the ARPA Internet community,    and requests discussion and suggestions for improvements.</t></abstract>
</front>
<seriesInfo name='STD' value='38'/>
<seriesInfo name='RFC' value='903'/>
<seriesInfo name='DOI' value='10.17487/RFC0903'/>
</reference>

<reference  anchor='RFC0951' target='https://www.rfc-editor.org/info/rfc951'>
<front>
<title>Bootstrap Protocol</title>
<author initials='W.J.' surname='Croft' fullname='W.J. Croft'><organization /></author>
<author initials='J.' surname='Gilmore' fullname='J. Gilmore'><organization /></author>
<date year='1985' month='September' />
<abstract><t>This RFC describes an IP/UDP bootstrap protocol (BOOTP) which allows a    diskless client machine to discover its own IP address, the address of a    server host, and the name of a file to be loaded into memory and    executed.  The bootstrap operation can be thought of as consisting of    TWO PHASES.  This RFC describes the first phase, which could be labeled    `address determination and bootfile selection'.  After this address and    filename information is obtained, control passes to the second phase of    the bootstrap where a file transfer occurs.  The file transfer will    typically use the TFTP protocol, since it is intended that both phases    reside in PROM on the client.  However BOOTP could also work with other    protocols such as SFTP or FTP.  This RFC suggests a proposed protocol    for the ARPA-Internet community, and requests discussion and suggestions    for improvements.</t></abstract>
</front>
<seriesInfo name='RFC' value='951'/>
<seriesInfo name='DOI' value='10.17487/RFC0951'/>
</reference>

<reference  anchor='RFC1122' target='https://www.rfc-editor.org/info/rfc1122'>
<front>
<title>Requirements for Internet Hosts - Communication Layers</title>
<author initials='R.' surname='Braden' fullname='R. Braden' role='editor'><organization /></author>
<date year='1989' month='October' />
<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>

<reference  anchor='RFC2131' target='https://www.rfc-editor.org/info/rfc2131'>
<front>
<title>Dynamic Host Configuration Protocol</title>
<author initials='R.' surname='Droms' fullname='R. Droms'><organization /></author>
<date year='1997' month='March' />
<abstract><t>The Dynamic Host Configuration Protocol (DHCP) provides a framework for passing configuration information to hosts on a TCPIP network.  DHCP is based on the Bootstrap Protocol (BOOTP), adding the capability of automatic allocation of reusable network addresses and additional configuration options.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='2131'/>
<seriesInfo name='DOI' value='10.17487/RFC2131'/>
</reference>

<reference  anchor='RFC4632' target='https://www.rfc-editor.org/info/rfc4632'>
<front>
<title>Classless Inter-domain Routing (CIDR): The Internet Address Assignment and Aggregation Plan</title>
<author initials='V.' surname='Fuller' fullname='V. Fuller'><organization /></author>
<author initials='T.' surname='Li' fullname='T. Li'><organization /></author>
<date year='2006' month='August' />
<abstract><t>This memo discusses the strategy for address assignment of the existing 32-bit IPv4 address space with a view toward conserving the address space and limiting the growth rate of global routing state. This document obsoletes the original Classless Inter-domain Routing (CIDR) spec in RFC 1519, with changes made both to clarify the concepts it introduced and, after more than twelve years, to update the Internet community on the results of deploying the technology described.  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='122'/>
<seriesInfo name='RFC' value='4632'/>
<seriesInfo name='DOI' value='10.17487/RFC4632'/>
</reference>

<reference  anchor='RFC8932' target='https://www.rfc-editor.org/info/rfc8932'>
<front>
<title>Recommendations for DNS Privacy Service Operators</title>
<author initials='S.' surname='Dickinson' fullname='S. Dickinson'><organization /></author>
<author initials='B.' surname='Overeinder' fullname='B. Overeinder'><organization /></author>
<author initials='R.' surname='van Rijswijk-Deij' fullname='R. van Rijswijk-Deij'><organization /></author>
<author initials='A.' surname='Mankin' fullname='A. Mankin'><organization /></author>
<date year='2020' month='October' />
<abstract><t>This document presents operational, policy, and security considerations for DNS recursive resolver operators who choose to offer DNS privacy services.  With these recommendations, the operator can make deliberate decisions regarding which services to provide, as well as understanding how those decisions and the alternatives impact the privacy of users. </t><t>This document also presents a non-normative framework to assist writers of a Recursive operator Privacy Statement, analogous to DNS Security Extensions (DNSSEC) Policies and DNSSEC Practice Statements described in RFC 6841.</t></abstract>
</front>
<seriesInfo name='BCP' value='232'/>
<seriesInfo name='RFC' value='8932'/>
<seriesInfo name='DOI' value='10.17487/RFC8932'/>
</reference>

<reference  anchor='RFC7453' target='https://www.rfc-editor.org/info/rfc7453'>
<front>
<title>MPLS Transport Profile (MPLS-TP) Traffic Engineering (TE) Management Information Base (MIB)</title>
<author initials='V.' surname='Mahalingam' fullname='V. Mahalingam'><organization /></author>
<author initials='K.' surname='Sampath' fullname='K. Sampath'><organization /></author>
<author initials='S.' surname='Aldrin' fullname='S. Aldrin'><organization /></author>
<author initials='T.' surname='Nadeau' fullname='T. Nadeau'><organization /></author>
<date year='2015' month='February' />
<abstract><t>This memo defines a portion of the Management Information Base (MIB) for use with network management protocols in the Internet community.  In particular, it describes additional managed objects and textual conventions for tunnels, identifiers, and Label Switching Routers to support Multiprotocol Label Switching (MPLS) MIB modules for transport networks.</t></abstract>
</front>
<seriesInfo name='RFC' value='7453'/>
<seriesInfo name='DOI' value='10.17487/RFC7453'/>
</reference>

<reference  anchor='RFC3338' target='https://www.rfc-editor.org/info/rfc3338'>
<front>
<title>Dual Stack Hosts Using &quot;Bump-in-the-API&quot; (BIA)</title>
<author initials='S.' surname='Lee' fullname='S. Lee'><organization /></author>
<author initials='M-K.' surname='Shin' fullname='M-K. Shin'><organization /></author>
<author initials='Y-J.' surname='Kim' fullname='Y-J. Kim'><organization /></author>
<author initials='E.' surname='Nordmark' fullname='E. Nordmark'><organization /></author>
<author initials='A.' surname='Durand' fullname='A. Durand'><organization /></author>
<date year='2002' month='October' />
</front>
<seriesInfo name='RFC' value='3338'/>
<seriesInfo name='DOI' value='10.17487/RFC3338'/>
</reference>


<reference  anchor='RFC6235' target='https://www.rfc-editor.org/info/rfc6235'>
<front>
<title>IP Flow Anonymization Support</title>
<author initials='E.' surname='Boschi' fullname='E. Boschi'><organization /></author>
<author initials='B.' surname='Trammell' fullname='B. Trammell'><organization /></author>
<date year='2011' month='May' />
<abstract><t>This document describes anonymization techniques for IP flow data and the export of anonymized data using the IP Flow Information Export (IPFIX) protocol.  It categorizes common anonymization schemes and defines the parameters needed to describe them.  It provides guidelines for the implementation of anonymized data export and storage over IPFIX, and describes an information model and Options- based method for anonymization metadata export within the IPFIX protocol or storage in IPFIX Files.  This document defines an  Experimental Protocol for the Internet community.</t></abstract>
</front>
<seriesInfo name='RFC' value='6235'/>
<seriesInfo name='DOI' value='10.17487/RFC6235'/>
</reference>

<reference  anchor='RFC6535' target='https://www.rfc-editor.org/info/rfc6535'>
<front>
<title>Dual-Stack Hosts Using &quot;Bump-in-the-Host&quot; (BIH)</title>
<author initials='B.' surname='Huang' fullname='B. Huang'><organization /></author>
<author initials='H.' surname='Deng' fullname='H. Deng'><organization /></author>
<author initials='T.' surname='Savolainen' fullname='T. Savolainen'><organization /></author>
<date year='2012' month='February' />
<abstract><t>Bump-in-the-Host (BIH) is a host-based IPv4 to IPv6 protocol translation mechanism that allows a class of IPv4-only applications that work through NATs to communicate with IPv6-only peers.  The host on which applications are running may be connected to IPv6-only or dual-stack access networks.  BIH hides IPv6 and makes the IPv4-only applications think they are talking with IPv4 peers by local synthesis of IPv4 addresses.  This document obsoletes RFC 2767 and RFC 3338.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='6535'/>
<seriesInfo name='DOI' value='10.17487/RFC6535'/>
</reference>

<reference  anchor='RFC2827' target='https://www.rfc-editor.org/info/rfc2827'>
<front>
<title>Network Ingress Filtering: Defeating Denial of Service Attacks which employ IP Source Address Spoofing</title>
<author initials='P.' surname='Ferguson' fullname='P. Ferguson'><organization /></author>
<author initials='D.' surname='Senie' fullname='D. Senie'><organization /></author>
<date year='2000' month='May' />
<abstract><t>This paper discusses a simple, effective, and straightforward method for using ingress traffic filtering to prohibit DoS (Denial of Service) attacks which use forged IP addresses to be propagated from 'behind' an Internet Service Provider's (ISP) aggregation point.  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='38'/>
<seriesInfo name='RFC' value='2827'/>
<seriesInfo name='DOI' value='10.17487/RFC2827'/>
</reference>

<reference  anchor='RFC3704' target='https://www.rfc-editor.org/info/rfc3704'>
<front>
<title>Ingress Filtering for Multihomed Networks</title>
<author initials='F.' surname='Baker' fullname='F. Baker'><organization /></author>
<author initials='P.' surname='Savola' fullname='P. Savola'><organization /></author>
<date year='2004' month='March' />
<abstract><t>BCP 38, RFC 2827, is designed to limit the impact of distributed denial of service attacks, by denying traffic with spoofed addresses access to the network, and to help ensure that traffic is traceable to its correct source network.  As a side effect of protecting the Internet against such attacks, the network implementing the solution also protects itself from this and other attacks, such as spoofed management access to networking equipment.  There are cases when this may create problems, e.g., with multihoming.  This document describes the current ingress filtering operational mechanisms, examines generic issues related to ingress filtering, and delves into the effects on multihoming in particular.  This memo updates RFC 2827.  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='84'/>
<seriesInfo name='RFC' value='3704'/>
<seriesInfo name='DOI' value='10.17487/RFC3704'/>
</reference>


<reference  anchor='RFC4541' target='https://www.rfc-editor.org/info/rfc4541'>
<front>
<title>Considerations for Internet Group Management Protocol (IGMP) and Multicast Listener Discovery (MLD) Snooping Switches</title>
<author initials='M.' surname='Christensen' fullname='M. Christensen'><organization /></author>
<author initials='K.' surname='Kimball' fullname='K. Kimball'><organization /></author>
<author initials='F.' surname='Solensky' fullname='F. Solensky'><organization /></author>
<date year='2006' month='May' />
<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='RFC6890' target='https://www.rfc-editor.org/info/rfc6890'>
<front>
<title>Special-Purpose IP Address Registries</title>
<author initials='M.' surname='Cotton' fullname='M. Cotton'><organization /></author>
<author initials='L.' surname='Vegoda' fullname='L. Vegoda'><organization /></author>
<author initials='R.' surname='Bonica' fullname='R. Bonica' role='editor'><organization /></author>
<author initials='B.' surname='Haberman' fullname='B. Haberman'><organization /></author>
<date year='2013' month='April' />
<abstract><t>This memo reiterates the assignment of an IPv4 address block (192.0.0.0/24) to IANA.  It also instructs IANA to restructure its IPv4 and IPv6 Special-Purpose Address Registries.  Upon restructuring, the aforementioned registries will record all special-purpose address blocks, maintaining a common set of information regarding each address block.</t></abstract>
</front>
<seriesInfo name='BCP' value='153'/>
<seriesInfo name='RFC' value='6890'/>
<seriesInfo name='DOI' value='10.17487/RFC6890'/>
</reference>

<reference anchor="IANA4" target="https://www.iana.org/assignments/iana-ipv4-special-registry/iana-ipv4-special-registry.xhtml">
		<front>
			<title>IANA IPv4 Special-Purpose Address Registry</title>
			<author>
				<organization>Internet Assigned Numbers Authority</organization>
			</author>
		</front>
</reference>
</references>
<references title="Informative References">

<reference anchor="Cloudflare" target="https://blog.cloudflare.com/fixing-reachability-to-1-1-1-1-globally/">
	<front>
		<title>Fixing reachability to 1.1.1.1, GLOBALLY!</title>
		<author fullname='Marty Strong'><organization>Cloudflare</organization></author>
		<date year='2018' month='April' day='4' />
	</front>
</reference>

<reference anchor="Huston" target="https://labs.ripe.net/author/gih/detecting-ip-address-filters/">
	<front>
		<title>Detecting IP Address Filters</title>
		<author initials='G.' surname='Huston' fullname='Geoff Huston'><organization>APNIC</organization></author>
		<date year='2012' month='January' day='13'/>
	</front>
</reference>

<reference anchor="NLNOGRing" target="https://ring.nlnog.net/post/10-years-of-nlnog-ring/">
	<front>
		<title>10 Years of NLNOG RING</title>
		<author><organization>NLNOG RING</organization></author>
	</front>
</reference>

<reference anchor="Atlas" target="https://atlas.ripe.net/">
	<front>
		<title>RIPE Atlas</title>
		<author><organization>RIPE Network Coordination Centre</organization></author>
	</front>
</reference>

<reference anchor="RIPElabs18" target="https://labs.ripe.net/author/franz/pollution-in-18/">
	<front>
		<title>Pollution in 1/8</title>
		<author fullname='Franz Schwarzinger'><organization>RIPE Labs</organization></author>
		<date year='2010' month='February' day='3' />
	</front>
</reference>

<reference anchor="RIPElabs2a1012" target="https://labs.ripe.net/author/emileaben/the-debogonisation-of-2a1012/">
	<front>
		<title>The Debogonisation of 2a10::/12</title>
		<author fullname='Emile Aben'><organization>RIPE Labs</organization></author>
		<date year='2020' month='January' day='17' />
	</front>
</reference>

<reference anchor="RIPElabs128016" target="https://labs.ripe.net/author/emileaben/the-curious-case-of-128016/">
	<front>
		<title>The Curious Case of 128.0/16</title>
		<author fullname='Emile Aben'><organization>RIPE Labs</organization></author>
		<date year='2011' month='December' day='6' />
	</front>
</reference>
</references>

    <section><name>Implementation Status</name>
<t>The behavior specified by this document has been implemented by the Linux
kernel since version 5.2, released in July 2019. Accordingly, it has been
included in various operating system releases, including Ubuntu 19.10
and Fedora 31 from October 2019, and some Android 11 and 12 devices.</t>

<t>This behavior has also been implemented by the OpenBSD kernel and
userspace since May 6, 2022, and hence appears in OpenBSD 7.2, released
on October 20, 2022.</t>

<t>This behavior is disabled by default in FreeBSD, but enabled by "sysctl
net.inet.ip.allow_net0=1", available in FreeBSD 14.0, released in
November 2023. It has been available in development releases since
July 13, 2022.</t>

<t>We have prepared a patch which enables this behavior on NetBSD. It
has not been merged as of December 2023.</t>

<t>Routing of subnets in the 0/8 range is supported by the Gobgp routing
daemon, as of release 3.0.0 in March 2022 (or earlier).</t>

<t>Support for 0/8 addressing may be typical of many DHCP
implementations (because the 0/8 address assignment special case
has often been handled at the kernel level). If the underlying
operating system supports 0/8 assignment to an interface, the
final official ISC DHCP release (4.4.3) supports 0/8 allocation as
both client and server, as do Busybox DHCP udhcpc/udhcpd (release
1.1.15), and ISC Kea (which currently includes only a DHCP server
implementation).</t>

</section>
</back>
</rfc>
