[comp.sources.amiga] Dnet Overview

ain@j.cc.purdue.edu (Patrick White) (05/10/88)

Submitted by:	cory.berkely.edu!dillon  (Matt Dillon)
Summary:	Matt's Net for the Amiga.
Poster Boy:	Patrick White	(ain@j.cc.purdue.edu)
Archive Name:	sources/amiga/volume4/dnet.overview.Z
Tested
 
*********
   Since the binaries are so little in comparison to the docs and sources, and
since Matt sent them all to us a one lump file, the binaries are mixed in with
the sources -- and all has been posted to the sources group.
*********


NOTES:
   This is the Amiga end of the net -- two Amigas can be connected together,
or to a unix 4.3 BSD machine (with the unix end.. coming soon to a net near
you).
   The The Amiga end is zoo'd because Matt requested we preserve the directory
structure.  Because of this, the newest version of zoo is needed to un-do this
zoo archive (at least that's what Rob told me -- he whipped up the archive).
   The zoos also contain the docs, and binaries as well as sources -- that's
pretty much the way Matt sent it to us, and it seemed to make sense to keep
it that way.
 
 
-- Pat White   (co-moderator comp.sources/binaries.amiga)
ARPA/UUCP: j.cc.purdue.edu!ain  BITNET: PATWHITE@PURCCVM  PHONE: (317) 743-8421
U.S.  Mail:  320 Brown St. apt. 406,    West Lafayette, IN 47906
 
========================================
 

				DNET OVERVIEW

			       AMIGA/BSD4.3UNIX

			 	16 March 1988

What is DNET?

	DNet is a link protocol.  Properly, it should be called DLink, but
DNet sort of stuck so unless I get sued the name will remain DNet.  What DNet
provides is essentially an unlimited number of reliable connections between
processes on machine A and processes on machine B.

	DNet can be run on any Amiga or 4.3UNIX machine.  You can connect
an Amiga with an Amiga, Amiga with UNIX, or UNIX with UNIX.  DNet works 
on the Amiga with any EXEC device that looks like a serial.device .  DNet
works on UNIX with tty and socket devices.  DNet achieves better than
95% average throughput (through real-life usage) on file transfers.

	DNet utilizes a client-server relationship, where servers 'listen'
on virtual port numbers for one or more connections from 'clients'.  Servers
are run on-demand if they are listed in the special server file DNET.SERVERS .
For instance, you could have several shell windows, a load average window,
and two file transfers (one in each direction) simultaniously.

	DNet uses a sliding-window protocol which allows up to 4 
unacknowledged windows in transit.  The minimum packet size is 3 bytes
(SYNC/CMD/CHK).  Packets which contain data are longer.  No error correction
is used (packets are resent on error), and a two byte enhanced checksum is
used for data sections.  Overlayed on the low level data packets are
higher level multiplexed commands and data that implement virtual
connections and such.

	Connections are prioritized.  For instance, a shell window has
a higher priority than a file transfer.  However, since up to 4 packets
may be queued to the serial line, you will still not get fantastic
per-character response from shell window while a file transfer is going
on.  Block response is better... you get a screen full of data just as
fast with the file transfer than without.

	Since DNet is server based, just about anything can be written for
it.  Already written is a file transfer client/server, shell window,
talk program (when you've got two amiga's connected together), and remote
CLI window (unix->Amiga remote CLI or Amiga->Amiga remote CLI).  In the
future I hope to have an RFS (mount the UNIX filesystem on the Amiga), Mail
(hopefully SMTP), and other clients/servers.

					-Matt