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

Scott Bradner sob at sobco.com
Sat Jan 2 11:59:15 PST 2021


the SIPP loopback address is in "SIPP Addressing Architecture  July 1994"

https://www.sobco.com/ipng/archive/sipp/sipp-routing-addr-02.txt

Scott

> On Jan 2, 2021, at 2:44 PM, Brian E Carpenter via Internet-history <internet-history at elists.isoc.org> wrote:
> 
> The idea precedes computer networks. I recall that a favourite trick
> at student parties in Manchester (England) in the late 1960's, if there
> was a phone in the flat, was to dial a magic number and hang up. Some
> seconds later the phone would ring but whoever answered it found nobody
> there, because the magic number was the loopback, used for engineering
> tests. It would have been a very natural idea for any ex-telephony people
> to add to the IMP.
> 
> As for IPv6, I have the draft minutes of the SIPP working group (just before it
> became IPv6) from July 1994:
> 
>> A local loop back address is defined. This is the local address with the low order 
>> one bit set to one, and the rest set to zero (address FE00:0:0:0:0:0:0:1). The 
>> cluster label for this would appear to be FE00:0:0:0:0:0:0:0, although some of us 
>> were unclear what a cluster loopback address would mean.
> 
> The document under discussion was draft-ietf-sipp-routing-addr-02.txt. The IETF archive is more than a bit flaky (it claims to have the draft, but doesn't). https://www.sobco.com/ipng/internet-drafts/ doesn't have it either (it has draft-ietf-sip-routing-addr-00.txt but that is for 64-bit SIP, not 128-bit SIPP.)
> 
> John, I'll unicast you those minutes and the draft. But for more details, ask Bob Hinden.
> 
> Regards
>   Brian
> 
> On 03-Jan-21 02:40, Craig Partridge via Internet-history wrote:
>> 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
>>> 
>> 
>> 
> -- 
> Internet-history mailing list
> Internet-history at elists.isoc.org
> https://elists.isoc.org/mailman/listinfo/internet-history




More information about the Internet-history mailing list