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

Steven Bellovin smb at cs.columbia.edu
Sun Apr 4 13:36:49 CDT 2010

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 at atina.UUCP and later to pete at 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

More information about the NANOG mailing list