[ih] The history of "This" 0.0.0.0/8 network?

Jack Haverty jack at 3kitty.org
Tue Feb 12 12:20:37 PST 2019


On 2/12/19 8:42 AM, Grant Taylor wrote:

> On 2/11/19 1:21 PM, Dave Taht wrote:
>> As part of an upcoming internet draft, I'd wanted to be able to coherently 
>> discuss the origin and original use cases of the "this" network "0" 
>> in Arpanet to early ipv4 transition days, and thus far I haven't found 
>> much information on it.
>>
>> Admittedly I'm not familiar with the addressing that was used on ARPAnet 
>> prior to IPv4.  But I suspect that it's addressing did not take the form 
>> of 0.0.0.0.

Well, I was there during the transition from ARPANET to TCP version 2.x
to version 4, and I remember some of the issues and reasoning.  You
probably won't find any of this written down in IENs or RFCs.

In the beginning, ... there was the ARPANET, the Packet Radio Net(s),
and SATNET.   All of these had their own addressing scheme, e.g., in the
ARPANET it was a concatenation of IMP# and Host# on that IMP (An IMP was
a packet switch to which phone lines and cables to "host computers" were
attached.

The IP address, expressed in x.x.x.x notation, could be used to specify
both a particular network and a Host address on that network.  There
were several different classes of IP address, each having different
numbers of bits allocated for the network # and address within that
network.  Class A networks used 8 bits for network# and allowed 24 bits
for address-on-that-network.  The ARPANET addresses could be encoded
into 24 bits.  So, for ARPANET (and some of its clones), an IP address
like 10.2.0.5 would mean network #10, Host #2 on IMP #5.  Host #2
identified a specific physical connector on the back of the IMP cabinet.

Routers (then known as gateways), hosts, and anybody else could take an
IP address, and figure out the network address on that particular
network by simple algorithm. This worked for ARPANET, SATNET, and PRNETs.

LANs broke this scheme.  In particular, Ethernet addresses were too big
to be stuffed into even the 24 bits of a class-A IP address.  So
algorithmic translations were not possible with those types of
networks.  That led to the creation of ARP, and the use of broadcast
capabilities of Ethernets, to implement a mechanism for doing translations.

I recall discussions of this in the ICCB/IAB, the Internet Meetings, the
hotel bars, etc.   The goal of the Internet was to be able to integrate
any type of network into the network as long as it met the very basic
requirements of being able to carry packets.  (We even mused about a
"network" based on carrier pigeons).

The unsolved problem (at the time) was how to deal with networks that
had addresses too big to fit in IP addresses, and that also did not have
any broadcast capability. 

I can't remember specifically, but that might have come up while we
implemented the "VAN Gateway", which used the public X.25 network to
interconnect between the US ARPANET and University College London in
Europe.  IIRC, we could manually configure the two gateways at either
end of the X.25 path to know each others addresses and be able to use
the X.25 path to carry IP traffic between routers. 

But that didn't provide any mechanism for a Host computer to interact
with the gateway, using the X.25 network as a "LAN" of sorts.  So the
entire public X.25 network was a network within the Internet, but we
didn't have any way to connect "host computers" on that network.

Another unsolved problem was how host computers would find out basic
information that they needed to know how to use the Internet - e.g., the
address of the gateway(s) on their net, their network number, etc. 
Manual configuration wasn't too bad when there were only large computers
on the ARPANET, but with the advent of workstations, the administration
became unwieldy.  That led to DHCP.

There was a lot of other experimental work going on, e.g., in handling
of voice and video, and the use of multicast capabilities, which led to
implementations such as MBone.  Lots of problems to be solved there.

I don't remember any specific discussions about 0.x.x.x, but I suspect
it was reserved as a placeholder for future use - i.e., don't assign any
network as network #0 - it may be useful when someone figures out how to
approach the problems above.

Remember, the Internet was always an Experiment (hence the IENs), so
lots of stuff in the Internet technology was there to help create an
experimental platform.

All of the above occurred in the 1978-1982 or so timeframe.   I assume
that the 0.x.x.x "hook" got used later as the Internet evolved.

/Jack Haverty





More information about the Internet-history mailing list