[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[ih] The history of "This" network?

    > From: Michael Kjorling

    > the January 1970 RFC 33 says on page 6

I'm too lazy to go check, but that may be a bit too early to be the final
form of NCP (the protocol applications ran on).

    > NCP addressing was 24 bits of "user number" plus 8 bits of "host number"
    > plus 8 bits of "another eight-bit number", 7 of which seem like they
    > function largely as what we today refer to as "ports"; one end of a
    > connection was therefore identified by a total of 48 bits, 8 of which
    > describe the host.

This doesn't ring any bells for me. Here's what the addressing in NCP looked
like (from BBN report 1822, and the 'Host-Host Protocol' from the NIC):

It started with the host's ARPANET address, which was the concatenation of its
IMP number, and its Host number on that IMP. These were originally 6 bits and
2 bits long, respectively, used with the so-called '32-bit leader' (basically,
the IMP<->Host header), but that soon became too small, and they were expanded
to 16 bits and 8 bits, respectively (as part of the replacement '96-bit

The application<->application 'connection' specified a 'socket' at each end;
sockets were 32 bits long. However, these did not appear in packets; instead,
'link's were used. In the original 32-bit leader, there was an 8-bit link
field; in the later 96-bit leader, there was a 12-bit field called the
'message ID', and the link field was the high 8 bits of this.

Anyway, when a connection was set up, between one host/socket to another, it
used a particular link, and no other connection could use that link until the
connection was closed. Links were kind of like Virtual Circuits in their
properties, in that packets sent on one were received reliably (although there
was an error message when that didn't happen) and in order at the other end of
the link, but thay had no open/close - a host just started using a link.

One link, 0, was special - it was the 'control link'. All messages involved in
opening and closing a connection were sent over the control link - only data
messages belonging to a connection went over a connection's link.

    > I don't see anything obvious actually specifying a format for how these
    > addresses would be entered by or displayed to a user, only hints that
    > hexadecimal notation may have been common.

Not that I am aware of. In the old HOSTS file, I see three different formats:
H/I (both in octal), H*64+I (in decimal), and H*0100+I (in octal). I don't
recall what was used for the socket.

    > Note that "port" in NCP seems to have been a very different concept
    > from "port" in TCP.

Yeah, the NCP equivalent for TCP 'port' was the 'socket'.

'Port' was IIRC used a lot for the host number on the IMP, usually a physical
port (but VDH hosts made things more complex).