Reviving ARPAnet

Noel Chiappa jnc at mercury.lcs.mit.edu
Thu Jan 18 12:27:29 CST 2018


    > From: Grant Taylor

    >> It is TCP/IPv4, so it's got compatible headers

    > Are you referring to the 802.3 Ethernet (vs Ethernet II) frame type

No, I meant the IP and TCP headers. Those are end-end; the Ethernet stuff is
just a local wrapping, and can be substituted.

    > I was not aware that there was code that supported /only/ Class A (/8)
    > addresses and /not/ Class B (/16) or Class C (/24) addresses.
    > I /thought/ that everything was either classful (as in supports all 
    > three classes: A, B, and C) or classless (as in supports CIDR).
    > Is my networking history missing something else?

Yes. There was a stage before A/B/C. See RFC-760.

    > Please clarify ... what you mean by ARPANET interface? Are you
    > referring to host specific hardware that was used to communicate
    > with an IMP?

Basically, yes.

The ARPANET supported several different kinds of interfaces between the IMPs
(the switching nodes in the ARPANET) and hosts, but the 'usual' one was
either 'Local Host' (LH) or 'Distant Host' (DH) which were _basically_
identical except at the very lowest level - LH was TTL, and DH was
differential pair.

Those interfaces were a custom bit-serial thing with a handshake (with
"there's-your-bit", "ready-for-next-bit" lines, etc); see BBN Report #1822:

  http://www.bitsavers.org/pdf/bbn/imp/BBN1822_Jan1976.pdf  

So the "ARPANET interface" in the host is a piece of custom hardware (some
were DMA; I also used one which was interrupt per byte) which went on the
host, which talked 1822 (as it was called), of either the DH or LH physical
form.

(There was also an Host/IMP interface called VDH, but that used a modem, and
a _lot_of software; see here:

  https://en.wikipedia.org/wiki/Talk:Network_Control_Program#Layer_locations

for a bit more about it.)


    > Do the necessary emulators support the ARPANET interface?

Dunno, but they shouldn't be too hard to add.

The real problem is going to be 'what do you hook the simulated ARPANET
interfaces up to, and how'? I know they have IMP code running in simulators:

  http://mailman.trailing-edge.com/pipermail/simh/2013-November/007672.html

but I dunno how one would hook _that_ simulation up to a simulated host
running a simulated ARPANET interface.


Easier, to get this old TCP/IP running, might be to write a Unix V6 driver for
an Ethernet card (one the simulators do support - I know Ersatz-11 does the
Interlan NI1010A/2010A, which is nice and simple) and write an Ethernet
network interface module for that TCP, which talks to said driver; i.e. just
replace the ARPANET interface stuff completely.

	Noel


More information about the cctalk mailing list