nanog mailing list archives

Re: What is "The Internet" TCP/IP or UNIX-to-UNIX ?


From: Steven Bellovin <smb () cs columbia edu>
Date: Sun, 4 Apr 2010 14:36:49 -0400


On Apr 4, 2010, at 12:02 42PM, Larry Sheldon wrote:

On 4/4/2010 09:57, Jorge Amodio wrote:
UUCP is not a descriptor of any kind of a network in any engineering
sense that I know of.  It is a point-to-point communications protocol.

You should revise some of the history behind it. It was a descriptor
for a very large network, it was even a TLD in the mid eighties when
the transition to DNS was taking place, the old bang style addresses
like mine original seismo!atina!pete transitioned for a while to
pete () atina UUCP and later to pete () atina ar.

I agree with some of this and most of the following, but I think the
problem is not so much my history as it is the drift in definitions.

And I do not pretend to any special authority in the area.

But when I think of "network" I think of things like the PSTN, ABC,
Mutual, California's DOJ torn-tape TTY, and FIDO where the message to be
delivered was the focus and the internal works were pretty much
uninteresting to the "user".

UUCP was not just a point to point protocol. Originally it was a set
of utility programs to permit copying files between Unix systems (Unix
to Unix CoPy, hence the name), since electronic emails where
essentially files UUCP became the transport mechanism for both
electronic email and later Usenet News.

CoPy is the only decode that ever occurs to me.  And the file view of
the world is correct and I had forgotten it.

Some referred to UUCP as Unix to Unix Communications Protocol, not
quite right but yes one of the pieces of UUCP (uucico = Unix to Unix
Copy in Copy Out) implemented different type of communication
protocols negotiated during the initial handshake phase and  fine
tuned to different communication facilities, point to point, telephone
modems, specific modems such as Telebit Trailblazers with PEP,
different types of encapsulation using X.28, X25, and obviously
TCP/IP.

For several years until we've got a more decent telecommunications
infrastructure UUCP was all we had in Argentina to let the academic
and science community reach out and communicate with their colleagues
around the world, we had an adapted version of the UUCP implementation
for DOS (some called it UUPC) that became very popular and enabled our
"UUCP network" to reach over 800 nodes in the early 90's when we later
were able to get a direct (IP) connection to the rest of the world.

My .02

Mine is that while "UUCP" took on a networkish patina in recent years (I
know a place here in town that still uses it, or did when I last had
contact with them a few years ago).

But in it origins, UUCP was no more a network function that "cp" is
today.  (Hmmm....interesting digression.  Was there NFS before there was
IP?  Seems like it, but I don't remember how it worked.)

With UUCP you had to dial somebody up, say howdy (sometimes human to
human) and issue the copy command.  Sure enough, frequent users had cron
jobs and scripts to do all that.  And sure enough, co-operative sites
would strip their own names off the beginning of a bang path and pass
the file to the next in line, the next time they talked to them.  Which
might be anywhere from a few seconds to never from now.

There were two primary user-issued commands, uucp and uux (remote execution).  You'd say something like

        uucp file... site!file
        uucp site!file... file
        uux site!command [site!file...]
        uux command site!file...

The paths you could write to or retrieve from, as well as the list of commands that could be executed remotely, were 
set in a configuration file.  The former was typically restricted much as anon-ftp is; the latter was typically rmail 
and -- after about 1982 -- rnews for Usenet.  There was very little, if any, manual dialing; you typically either had 
an autodialer or you were polled by someone who did.  Calling frequency and legal times of day for calling were also 
configurable, though polling -- and only polling -- was typically done via cron.  The receiving site did not strip its 
name off the email path, the sending site did.  That is, if I typed

        mail foo!bar!bletch!user

my mailer would translate that to

        uux foo!rmail bar!bletch!user

Site foo, in turn, would execute

        uux bar!rmail bletch!user

etc.  File transfer wasn't multihop, nor was remote execution per se.  Usenet used a flooding algorithm with duplicate 
suppression.

Uucp was designed for autodial modems, originally controlled by Bell autodialers; on PDP-11s, you needed a DN-11 to 
control the dialer.  The dialer was hooked to a modem -- a real one, with no telephone or dial attached to it; the 
modem was also hooked to a serial path.  Even very early on, though, uucp operated over higher-speed devices, such as 
the Bell Labs Datakit Virtual Circuit Switch and the ARPANET.

Figuring the explicit mail routing path was annoying.  I wrote (and Peter Honeyman rewrote) a command called pathalias; 
it took topology and cost data and generated the optimum path.  Since cost had to reflect monetary cost, reliability, 
and policy -- not everyone would forward for everyone else -- people had to tweak the metric to get the effect they 
desired.  (That, at least, should sound vaguely on-topic for NANOG...)  But the visibility of the path was the only 
thing ordinary users had to worry about.

                --Steve Bellovin, http://www.cs.columbia.edu/~smb







Current thread: