<?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-127-01"
      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 127/8">Unicast Use of the Formerly Reserved 127/8</title>
    <seriesInfo name="Internet-Draft" value="draft-schoen-intarea-unicast-127-01"/>

   <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>
	<postal>
	<city>Half Moon Bay</city>
	<region>CA</region>
	<country>US</country>
	</postal>
	<phone />
        <email>dave@taht.net</email>
        <!-- uri and facsimile elements may also be added -->
     </address>
    </author>


    <date year="2022"/>

   <!-- 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>template</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 redefines the IPv4 local loopback network as consisting only of the 65,536 addresses 127.0.0.0 to 127.0.255.255 (127.0.0.0/16). It asks implementers to make addresses in the prior loopback range 127.1.0.0 to 127.255.255.255 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 unicast use of more than 16 million historically
reserved addresses in the middle of the IPv4 address space.</t>
      <t>This document provides history and rationale to reduce the size of the IPv4 local loopback network ("localnet") from /8 to /16, freeing up over 16 million IPv4 addresses for other possible uses.</t>
      <t>When all of 127.0.0.0/8 was reserved for loopback addressing, IPv4 addresses were not yet recognized as scarce. Today, there is no justification for allocating 1/256 of all IPv4 addresses for this purpose, when only one of these addresses is commonly used and only a handful are regularly used at all.  Unreserving the majority of these addresses provides a large number of additional IPv4 host addresses for possible use, alleviating some of the pressure of IPv4 address exhaustion.
      </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 IPv4 network 127/8 was first <xref target="RFC0776">reserved by Jon Postel in 1981</xref>. Postel's policy was to reserve the first and last network of each class, and it does not appear that he had a specific plan for how to use 127/8. Apparently, the first operating systems to support a loopback interface as we understand it today were experimental Berkeley Unix releases by Bill Joy and Sam Leffler at the University of California at Berkeley. The choice of 127.0.0.1 as loopback address was made in 1983 by Joy and Leffler in the code base that was eventually released as 4.2BSD. Their earliest experimental code bases used 254.0.0.0 and 127.0.0.0 as loopback addresses. Three years later, Postel and Joyce Reynolds documented the loopback function in November 1986 <xref target="RFC0990" />, and it was
	    codified as a requirement for all Internet hosts three years after that, in <xref target="RFC1122" />. The
	    substantive interpretation of these addresses has remained unchanged
	    since RFC 990 indicated that the
    </t>
    <blockquote>
    	 network number 127 is assigned the "loopback"
         function, that is, a datagram sent by a higher level protocol
         to a network 127 address should loop back inside the host.  No
         datagram "sent" to a network 127 address should ever appear on
         any network anywhere.
    </blockquote>
    <t>Many decisions about IPv4 addressing contemporaneous with this one
    underscore the lack of concern about address scarcity. It was common
    in the early 1980s to allocate an entire /8 to an individual university,
    company, government agency, or even a research project.</t>

    <t>By contrast, IPv6, despite its vastly larger pool of available address space, <xref target="RFC4291">allocates only a single local loopback address (::1)</xref>. This appears to be an architectural vote of confidence
	    in the idea that Internet protocols ultimately do not require millions
	    of distinct loopback addresses.</t>

    <t>Most applications use only the single loopback address 127.0.0.1
    ("localhost") for IPv4 loopback purposes, although there are
    exceptions. For example, the systemd-resolved service on Linux
    provides a stub DNS resolver at 127.0.0.53.</t>

    <t>In theory, having multiple local loopback addresses might be useful
    for increasing the number of distinct IPv4 sockets that can be used for
    inter-process communication within a host. 
    The local loopback /16 network retained by this document will still
    permit billions of distinct concurrent loopback TCP connections
    within a single host, even if both the IP address and port number of
    one endpoint of each connection are fixed.
    </t>

</section>
<section numbered="true" toc="default">
	<name>Change in Status of Addresses Within 127/8</name>
	<t>The purpose of this document is to reduce the size of the
	special-case reservation of 127/8, so that only 127.0/16
	is reserved as the local loopback network.</t>
<t>Other IPv4 addresses whose first octet is 127 (that is, the
	addresses 127.1.0.0 to 127.255.255.255) are no longer reserved
	and are now available for general Internet unicast use, treated
	identically to other IPv4 addresses, and subject to potential future
	allocation.</t>
<t>All host and router software SHOULD treat 127.1.0.0 to 127.255.255.255 as
	a global unicast address range.</t>
<t>
Clients for autoconfiguration mechanisms such as <xref target="RFC2131">DHCP</xref>
SHOULD accept a lease or assignment of addresses within 127.1/16 to
127.255/16 whenever the underlying operating system is capable of
accepting it. Servers for these mechanisms SHOULD assign this address
when so configured.</t>
</section>

<section numbered="true" toc="default">
	<name>Compatibility and Interoperability</name>

        <t>Many deployed systems follow older Internet standards in
	rejecting externally-originating packets from addresses in 127/8, and in
	not generating packets addressed to them). <xref target="RFC3704">RFC 3704</xref> (BCP 84)
        cites <xref target="RFC2827">RFC 2827</xref> (BCP 38) to this effect:</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>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 127/8 address space is no longer reserved as a whole, an address
	within this space, other than those within 127/16, 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 127/8 (other than those in 127/16). Maintainers of lists
	of "Martian addresses" MUST NOT designate addresses from the 127/8 range (other
	than those within 127/16) as "Martian".</t>

	<t>The filtering recommended by RFC 3704 is designed for border
	routers, not for hosts.  To the extent that an ISP had validly allocated
	an address range from within 127/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 127/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
        127/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 anchor="IANA" numbered="true" toc="default">
      <name>IANA Considerations</name>
      <t>This memo unreserves a portion of 127/8. It therefore requests IANA to update
	      the <xref target="IANA4SP">IPv4 Special-Purpose Address
	      registry</xref> by replacing the entry for 127.0.0.0/8 with
	      127.0.0.0/16, with authority of this document.</t>

      <t>
	      IANA is also requested to update the <xref target="IANA4">IPv4 Address Space
	      Registry</xref> by changing the entry for 127/8 (IANA - Loopback)
	      to read 127/16, and by adding a new entry

	      127.1/16-127.255/16 Unallocated [Date of this document] [blank] [blank] UNALLOCATED
</t>
<t>
	Finally, IANA is requested to prepare for this address space to be addressed in
	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 127.1.0.0 through 127.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 debogonization and 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 behavior change specified by this document could produce security
concerns where two devices, or two different parts of the software on
a host, or a software application and a human user, follow divergent
interpretations of an address that was formerly a loopback address.</t>
<t>For example, this could lead
to errors in the specification or enforcement of rules about Internet
hosts' connectivity to one another, or their right to access resources.
It could also lead to an application connecting to the local host when
it expected to connect to a remote host, or vice versa.</t>

<t>One undesired case would arise where a local process on a host
accepts connections on what it believes is a loopback address, in order
to receive commands from other software on the same host, yet
the bound address is actually reachable from outside that host.
The traditional socket API present on most operating systems does not
make this especially likely, since a listening process typically binds
to either INADDR_ANY (which includes both loopback and nonloopback
interfaces) or INADDR_LOOPBACK (which includes only the single address
127.0.0.1).  The existence of an additional interface with a
remotely addressable unicast address like 127.8.9.10 would not, in
itself, change which hosts can communicate with either of these sockets.
Nonetheless, an operating system or software library that provides some
other interface with its own means of scoping the receipt of incoming
connections must take care not to leave an ambiguity between host-only
and non-host-only address scopes as a result of the change specified
by this document.</t>

<t>
The importance of the distinction just mentioned is underscored
by practical examples of vulnerabilities when specific software
relaxed the distinction between loopback and non-loopback
addresses in a different way.  A 2017 <xref target="CVE-2016-1551">vulnerability</xref>
related to the reference implementation of the <xref target="RFC5905">Network Time Protocol
v4</xref>, and an analogous 2020 <xref target="CVE-2020-8558">vulnerability</xref> in
the Kubernetes cluster management software, both involved the use of a Linux
kernel option that removed the prohibition on sending or receiving packets over
the wire with a 127/8 destination address.  This, however, allowed other
devices to reach and communicate with server processes that had deliberately
listened on what they otherwise expected to be loopback addresses.</t>

<t>The change requested by this document does not have the same effect,
because loopback addresses in the reduced 127.0/16 loopback range are still not
permitted to appear on the wire, and should still be rejected by implementations.
The ability to enforce the inaccessibility of loopback addresses by other
hosts remains necessary for security.
      In particular, treating all of 127/8 as globally routable address
      space is not a safe behavior. Operating systems SHOULD continue to
      treat 127.0/16 as loopback-only and never route packets between 127.0/16
      loopback addresses and any other interface. Addresses in 127.0/16 still
      SHOULD NOT appear on any network link and SHOULD NOT be accepted or
      generated over a network link.  Applications MUST NOT
      use 127.1/16 to 127.255/16 for loopback purposes or assume that
      connections from these addresses necessarily originated from software
      on the local host.
      </t>

<t>Apart from that, firewall rules that assume that 127.1/16 through 127.255/16 are
unroutable and/or local SHOULD be updated to take into account that
they may be routable and/or non-local.</t>

<t>Software that assumes that all of 127/8, either as a source or a
destination, refers to the local host SHOULD be updated to make that
inference only for 127/16. Communications to or from 127.1/16 through
127.255/16 SHOULD NOT be treated as inherently more trusted than
communications to or from the public Internet as a whole.</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.</t>
      <t>Members of the Internet History Mailing List helped us clarify
      the early history of 127/8.</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>
      <name>References</name>
      <references>
        <name>Normative References</name>

	<reference anchor="IANA4" target="https://www.iana.org/assignments/ipv4-address-space/ipv4-address-space.xhtml">
                <front>
                        <title>IANA IPv4 Address Space Registry</title>
			<author>
				<organization>Internet Assigned Numbers Authority</organization>
			</author>
                </front>
	</reference>
	<reference anchor="IANA4SP" 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>

     <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='RFC0776' target='https://www.rfc-editor.org/info/rfc776'>
<front>
<title>Assigned numbers</title>
<author initials='J.' surname='Postel' fullname='J. Postel'><organization /></author>
<date year='1981' month='January' />
</front>
<seriesInfo name='RFC' value='776'/>
<seriesInfo name='DOI' value='10.17487/RFC0776'/>
</reference>


<reference  anchor='RFC0990' target='https://www.rfc-editor.org/info/rfc990'>
<front>
<title>Assigned numbers</title>
<author initials='J.K.' surname='Reynolds' fullname='J.K. Reynolds'><organization /></author>
<author initials='J.' surname='Postel' fullname='J. Postel'><organization /></author>
<date year='1986' month='November' />
<abstract><t>This Network Working Group Request for Comments documents the currently    assigned values from several series of numbers used in network protocol    implementations.  This memo is an official status report on the numbers    used in protocols in the ARPA-Internet community.  See RFC-997.  Obsoletes    RFC-960, 943, 923 and 900.</t></abstract>
</front>
<seriesInfo name='RFC' value='990'/>
<seriesInfo name='DOI' value='10.17487/RFC0990'/>
</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='RFC4291' target='https://www.rfc-editor.org/info/rfc4291'>
<front>
<title>IP Version 6 Addressing Architecture</title>
<author initials='R.' surname='Hinden' fullname='R. Hinden'><organization /></author>
<author initials='S.' surname='Deering' fullname='S. Deering'><organization /></author>
<date year='2006' month='February' />
<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, &quot;IP Version 6 Addressing Architecture&quot;.   [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='4291'/>
<seriesInfo name='DOI' value='10.17487/RFC4291'/>
</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='RFC5905' target='https://www.rfc-editor.org/info/rfc5905'>
<front>
<title>Network Time Protocol Version 4: Protocol and Algorithms Specification</title>
<author initials='D.' surname='Mills' fullname='D. Mills'><organization /></author>
<author initials='J.' surname='Martin' fullname='J. Martin' role='editor'><organization /></author>
<author initials='J.' surname='Burbank' fullname='J. Burbank'><organization /></author>
<author initials='W.' surname='Kasch' fullname='W. Kasch'><organization /></author>
<date year='2010' month='June' />
<abstract><t>The Network Time Protocol (NTP) is widely used to synchronize computer clocks in the Internet.  This document describes NTP version 4 (NTPv4), which is backwards compatible with NTP version 3 (NTPv3), described in RFC 1305, as well as previous versions of the protocol. NTPv4 includes a modified protocol header to accommodate the Internet Protocol version 6 address family.  NTPv4 includes fundamental improvements in the mitigation and discipline algorithms that extend the potential accuracy to the tens of microseconds with modern workstations and fast LANs.  It includes a dynamic server discovery scheme, so that in many cases, specific server configuration is not required.  It corrects certain errors in the NTPv3 design and implementation and includes an optional extension mechanism.   [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='5905'/>
<seriesInfo name='DOI' value='10.17487/RFC5905'/>
</reference>


      </references>

      <references>
        <name>Informative References</name>
        <!-- Here we use entities that we defined at the beginning. -->

	<reference anchor="CVE-2016-1551" target="https://nvd.nist.gov/vuln/detail/CVE-2016-1551">
		<front>
			<title>CVE-2016-1551</title>
			<author>
				<organization>NIST National Vulnerability Database</organization>
			</author>
			<date year="2017" month="January" />
		</front>
	</reference>

	<reference anchor="CVE-2020-8558" target="https://nvd.nist.gov/vuln/detail/CVE-2020-8558">
		<front>
			<title>CVE-2020-8558</title>
			<author>
				<organization>NIST National Vulnerability Database</organization>
			</author>
			<date year="2020" month="July" />
		</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>

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

        <!-- A reference written by by an organization not a person. -->

      </references>
    </references>
    <section>
	    <name>Implementation Status</name>
<t>To our knowledge, the behavior specified by this document is not
currently the default in any TCP/IP implementation. We have prepared
and tested small patches to the Linux and FreeBSD kernels, and achieved
interoperability between patched versions of these systems when
numbered with 127/8 addresses. The patched systems were otherwise usable
normally.</t>
<t>The behavior of our patches contrasts with that of the existing
route_localnet option in Linux.  The route_localnet option is a Linux
kernel feature which a user can enable in order to make
all of 127/8 simultaneously addressable in both host and network address
scopes, which, as described in the Security Considerations section,
has had undesirable security consequences.  Our patches instead
retain 127.0/16 an exclusive loopback address range, continuing
to forbid it from appearing on the wire at all.</t>
    </section>
 </back>
</rfc>
