[ih] History of 127/8 as localhost/loopback addresses?

Craig Partridge craig at tereschau.net
Sat Jan 2 05:40:15 PST 2021


There's been a long discussion this week on the ex-BBNers list about
ARPANET link debugging and the ability to loopback IMP lines.  That's from
the IMP side (not host per your question) but shows that loopbacks were
considered an essential debugging feature from the start of the ARPANET.

Craig

On Sat, Jan 2, 2021 at 2:38 AM John Gilmore via Internet-history <
internet-history at elists.isoc.org> wrote:

> I am in the process of sorting out various ways that the IPv4 unicast
> address space was historically constrained to allow fewer than the 2^32
> available IP addresses.  One question that came up was how we ended up
> with 16,777,216 loopback addresses in IPv4.
>
> History questions:
>
> Was there a host-software-accessible loopback or localhost function in
> the ARPANET or in NCP?  How was it invoked?
>
> When TCP/IP was being designed, where did the concept of a loopback
> function come from?  How did it merge with the "connect to a port
> on the local host, without having to figure out its IP address" function
> that 127/8 eventually got used for?
>
> Did Jon Postel or other IP designers have the localhost function in mind
> for 127 when he first reserved it back in 1981?  Was 127 used this way
> prior to 1986?  Did Jon or others discuss this use prior to then?
>
> Who, if anyone, argued for having more than a single loopback address?
> Was there discussion of whether a full Class-A network was needed for
> the loopback function?  Why was a Class-C network not used?  Is there an
> explanation for why so many addresses were ultimately assigned to that
> function?
>
> And, fast-forwarding into the 1990s:  When IPv6 was designed, why was
> this design decision revised?  Who made the decision to allocate a
> single IPv6 localhost address?  Was that controversial?
>
> Thanks for the memories!
>
> Researching in the first thousand RFC's reveals:
>
> The first mention of any kind of loopback in the RFC series seems to be
> in June 1984 in RFC 900.  In that Assigned Numbers RFC, loopback appears
> as an Ethernet frame type 0x9000, assigned for Larry Garlick of Xerox.
> This refers to a specific kind of packet sent on 10-megabit Ethernet
> v2.0 networks to test connectivity among hosts.
>
> In RFC 907 of July 1984, the SATNET Host Access Protocol has a specific
> bit assigned as the "Loopback Bit", and also defines a remote loopback
> request/response message and function.  (This is for setting a mode
> in which ALL traffic is looped from transmit to receive side of an
> interface -- not for looping an individual packet or TCP connection.)
>
> In the evolution of IP Multicast from RFC 966 in December 1985 to RFC
> 988 in July 1986, a new parameter specified whether multicast packets
> would or would not be "looped-back" to their sending host.
>
> In September 1981, in RFC 790, Jon Postel first indicated that IP
> network number 127 was "reserved", without explicitly stating for what.
> This was repeated in all the Assigned Numbers RFCs through RFC 960
> (December 1985); then in RFC 990 (November 1986), Jon and Joyce Reynolds
> assigned it for loopback, stating that:
>
>   The class A 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.
>
> By the Host Requirements RFC 1122 in October 1989, the spec was
> restated to:
>
>   { 127, <any> }
>
>   Internal host loopback address.  Addresses of this form
>   MUST NOT appear outside a host.
>
> The first mention of the specific address "127.0.0.1" in RFCs is in May
> 1993 in RFC 1459 (as an example dotted decimal address that one might
> use in the IRC protocol).  The RFCs contain no explanation of how the
> whole specified range of 16 million loopback addresses was narrowed in
> many peoples' minds to the single "localhost" address 127.0.0.1.
> ("Localhost" does not appear in the first thousand RFC's.)
>
>         John
> --
> Internet-history mailing list
> Internet-history at elists.isoc.org
> https://elists.isoc.org/mailman/listinfo/internet-history
>


-- 
*****
Craig Partridge's email account for professional society activities and
mailing lists.



More information about the Internet-history mailing list