Virtual Circuit protocols => universal access

Daniel W. Connolly (connolly@hal.com)
Sun, 21 Aug 1994 20:44:52 +0200

I take back many of the nasty things I said about using virtual-
circuit based protocols (e.g. HTTP over TCP/IP) for wWW. I had an
experience the other day that changed my mind.

I downloaded the complete binary distribution for SRC Modula-3,
release 3.3, a 15MB file, from someplace in Canada to my PC at home
in about 3 hours, while I entertained myself reading news etc.

How's this for a virtual circuit:

* On my PC running linux, I log in over a 14.4KBPS dialup connection
to ausblazer, HaL's modem bank terminal server, and rlogin to
austin2. There I start rterm on that end, exit my terminal emulator
(without hanging up), and start term on my end.

Term is an application that essentially implements the features of
SLIP or PPP in a user process -- except that it works at the TCP
level (virtual circuit), not at the IP level (datagram). rterm is
term compiled for SOCKS, i.e. -Dconnect=Rconnect etc.

* Back on my linux PC, I invoke:
% tncftp ftp://ftp.vlsi.polymtl.ca/pub/m3/linux/src-m3-3.3l1.tar.gz

ncftp is an ftp client with added some features, e.g. understadning
URI's. tncftp is ncftp with the socket API calls replaced by term API
calls.

* ncnftp opens a unix domain socket to the term server process on my
Pc, and initiates a TCP connection to ftp.vlsi.polymtl.ca.

* term and rterm establish a channel (the 14.4 connection is
multiplexed!), and rterm initiates a connection to ftp.vlsi.polymtl.ca
via a T1 connection to HaL's SOCKS server in california.

* the connection is established, and the tncftp client on my box
begins conversing over this perverse virtual circuit with the FTP
server on ftp.vlsi.polymtl.ca. To review, it's

tncftp@linux --TERM/unix socket--> term@linux --TERM/RS232-->
rlogin@ausblazer --TCP/IP/ethernet--> rterm@austin2
--TCP/IP/T1--> socks@hal.com --TCP/IP/??-->ftp@ftp.vlsi.polymtl.ca

* Meanwhile, I have another term connection between my box and
austin2, over which I read my mail and news, and surf the Modula3
documentation at DEC with Mosiac+term.

So the point, I guess, is that virtual circuits are well-understood,
and can be optimized for various network topologies and technologies,
and they're the only consumer technology networking available today.

[Another point, of course, is that linux is cool! Widely tested
binaries of all your favorite apps available on FTP servers, if
not on CD rom for <$50. And, of course, the source for everything
is available if you're so inclined. Support and documentation are
a bit raw, but they're coming -- the economies of scale are kicking
in! See the Linux Documentation project welcome page:
http://sunsite.unc.edu/mdw/linux.html
for complete info]

So while request-response protocols like ARDP and TTCP may be optimal
for distibuted hypermedia applications, the success of WWW is rooted
in its widespread accessability, not it's high-tech features. Mosaic
and lynx are easy to use, and HTML and URL's are easy to understand;
hence WWW has become nearly consumer technology. It has clearly
advanced beyond research/engineering/hacker technology into the
business communications arena. And it's only a matter of time before
high bandwidth connection to the home becomes ubiquitous.

In a few years, we'll want to upgrade to more optimal protocols, so
we need to research them now, but virual circuits are not passe. Not
as long as the modem-connected user base outnumbers the
digital-connected userbase (be it ethernet, FDDI, ISDN, ATM, etc.)
by, say, 1000 to 1.

Dan