IEN 194



                      DCNET Mail Plan

                D.L. Mills and M.J. O'Connor
                    COMSAT Laboratories
                         23-Jul-81


1.  Introduction

     The  Distributed  Computer  Network   (DCNET)   is   an
experimental   research   network   in  use  at  COMSAT  and
elsewhere.  It includes a number of  PDP11-compatible  hosts
connected  to  each  other  and to ARPANET, SATNET and other
networks accessable to  the  DARPA  Internet  Project.   The
network  and  its  hosts  are  used for research in computer
network   protocols   and   for   general-purpose   software
development.   One of the principal functions of the network
is to support electronic mail, including the  capability  to
construct  and edit messages on-line, forward them to one or
more hosts on DCNET, ARPANET or elsewhere  and  to  retrieve
and  archive  incoming  messages  from  these  hosts.  These
capabilities have, of course, been available and extensively
used  for  some  time  on  ARPANET  hosts  and on commercial
services such as HERMES, ONTYME and TELEMAIL.

     All DCNET hosts presently  support  both  the  Internet
Protocol (IP) and Transmission Control Protocol (TCP), which
have  been  implemented  on  many  computers  and  operating
systems   and  have  been  adopted  as  DoD  standards  [5].
High-level protocol modules allow DCNET hosts to connect  to
ARPANET  hosts  as  virtual  terminals  and  to perform mail
functions using the ARPANET hosts in the ordinary  way.   In
addition,  files  can be exchanged between DCNET and ARPANET
hosts so that, in principal, messages  arriving  at  ARPANET
hosts  can  be relayed to DCNET hosts for furthur processing
and archiving.

     One of the tasks  addressed  in  our  present  Internet
Project  activities  is to investigate mechanisms with which
mail functions can be performed  directly  in  small  hosts,
rather  than  requiring  support from larger ARPANET service
hosts.  Besides reducing the network resources required  and
providing  potentially  better  performance, such mechanisms
would greatly simplify integration of speech  and  facsimile
media  into  the  message  system.   We have been working to
define and develop such mechanisms for  some  time  now  and
have  completed  a  version  suitable  for  general use.  We
believe that this establishes the feasibility of  performing
nearly  all  mail  functions  in  small  hosts of the LSI-11
variety  and  yet  maintain  complete   compatibility   with
existing  hosts  and their protocols.  The remainder of this
memorandum describes the architecture  of  this  system  and
demonstrates its use.

DCNET Mail Plan                                     PAGE   2



2.  DCNET Functions and Features

     The DCNET was conceived as a prototype and testbed  for
distributed  network  architectures.   All  DCNET  hosts use
variants of a  common  operating  system  called  the  Basic
Operating  System (BOS), which includes the usual supervisor
services together with the capability  to  emulate  the  DEC
RT-11  operating  system  environment and run ordinary RT-11
system and application programs.  Support for IP and TCP  is
embedded   in   the   BOS  together  with  an  interface  to
application programs, including a set of high-level protocol
modules  supporting virtual-terminal (TELNET), file-transfer
(FTP, NIFTP) and various utilities  (XNET,  PING,  NAME  and
WATCH).

     The most common application  of  a  DCNET  host  is  in
single-user   mode.    Although  the  software  can  support
simultaneous access  by  a  number  of  users,  the  typical
hardware  configuration  includes  only  a  modest amount of
on-line storage and  can  support  only  a  limited  set  of
applications in multi-user mode.  In the case of those hosts
equipped with dual  floppy-disk  drives,  for  example,  the
usual mode of operation is for each user to mount a personal
disk containing private files on one of  the  drives  and  a
system disk containing public files on the other.

     All DCNET hosts participate in network  functions  such
as  routing,  multiplexing,  network monitoring, timekeeping
and various utility "fake host" functions useful for testing
with  other  internet  hosts.   Some  hosts  are  given more
specific  responsibiliites.   For   instance,   two   LSI-11
machines  are presently used as multiplexors for a number of
other machines  and  as  gateways  to  ARPANET  and  SATNET.
Another  instance of specialization involves a host equipped
with digital-facsimile and digital-speech peripherals  which
are used in experiments in multi-media message systems.

3.  The DCNET Mail System

     The most essential component  in  any  electronic  mail
system  is  on-line  storage.  It has been common experience
that rather a lot of it is required for even a modest number
of  users  involved  in an active research community such as
the Internet Project.  To be useful, a modest amount of this
storage should be reachable from other internet hosts at all
times, since  those  hosts  holding  unsent  mail  typically
attempt  to  forward  it  immediately  upon receipt.  We are
currently using disks with a capacity of between 10  and  20
megabytes  for  this purpose and believe this sufficient for
the volume of mail expected, as well as for a general  DCNET
data  and  archive  base.  One of the disks is attached to a
DCNET  host  expected  to  be  available  for  mail   access
substantially   all   the   time;  however,  this  host  may

DCNET Mail Plan                                     PAGE   3



occasionally be unavailable for short periods due to program
development.   For  subsequent  reference  this host will be
called the mail host.

     The mail  host  serves  as  a  DCNET  post  office  and
forwarding   depot,   but   is   not   ordinarily  used  for
general-purpose application programs.  The  remaining  hosts
are  used  for  these  programs by various individuals on an
intermittent basis.  In the typical scenario, a user  mounts
his  personal  disk  on one of the local hosts, contacts the
mail host and interrogates its data base for his  new  mail.
Upon  inspection of the mail, the user disposes of it in one
of several ways, including: (1) deletes it, in which case it
is gone forever; (2) forwards it to the local host for later
processing; (3) copies it to a file or printer at  the  mail
host,  local  host  or  some  other  host.  Implicit in this
scenario is the expectation that the  volume  of  mail  will
require  that each user individually archive his mail on his
cache of personal disks as required.  Also implicit  is  the
requirement   that   some   forms  of  mail,  in  particular
multi-media speech and facsimile, will require access  to  a
host  with  the  required  peripheral  equipment.  We expect
eventually to provide automatic forwarding features that  do
not require direct interrogation of the mail host.

     In order to send mail, the user  constructs  and  edits
each  message  at  the  local  host,  perhaps  incorporating
messages and files from other hosts including the mail host.
Once  the message has been prepared and prefixed with a list
of recipients in  a  standard  header,  the  user  initiates
transmission  in one of two ways: (1) opens connections with
each recipient  internet  host  and  transmits  the  message
directly  or  (2)  forwards the message to the mail host for
later onward relay.  The  user  would  naturally  elect  the
former  if  speed  was  important  and  the  latter  if  the
recipient host was not responding at that time.

4.  Mail Protocols

     The mechanisms designed and implemented in DCNET  hosts
to support the above scenarios must be compatible with those
used elsewhere in  the  internet  community.   The  existing
ARPANET  mail  system  evolved  as  a  feature  of  the File
Transfer Protocol (FTP)  used  to  transport  files  between
ARPANET  hosts.  The original FTP was described in a working
document called RFC-542 and the format of the  mail  message
itself  in  RFC-733  [1].   The FTP described in RFC-542 is,
however, not compatible with the present internet  protocols
and  therefore is unsuitable for use outside the ARPANET.  A
version of FTP compatible with  TCP  has  been  proposed  in
RFC-765  [2];  however, there are few servers operational at
present which conform to this protocol.

DCNET Mail Plan                                     PAGE   4



     In order to provide mail support for systems using  TCP
and  for  interworking  with the existing ARPANET systems, a
new protocol called the Mail Transfer Protocol (MTP) [3] was
developed  and described in RFC-780.  The MTP is designed to
operate with current internet protocols and, in addition, to
provide  for  onward relay of mail into networks that do not
conform to these protocols,  such  as  MMDF  and  NITS  [7].
Preliminary versions of MTP have been implemented at ISI for
TOPS-20 hosts, at MIT for Multics hosts, at  DCEC  for  Unix
hosts and at COMSAT for DCNET hosts.

     The MTP is regarded as an intermediate step between the
ARPANET-specific  FTP-based  mail  and a proposed new system
called  the  Internet  Message  Protocol  (IMP)  [4],  which
provides  much greater operational flexibility together with
the capability to process multi-media data types.   The  MTP
can   provide   that   now   only  through  ad-hoc  protocol
extensions.  However, it is likely that the MTP will be used
for   some   time   until  the  necessary  software  can  be
constructed for  the  ARPANET  hosts.   The  IMP,  which  is
described  in  RFC-759,  is now being implemented by ISI for
TOPS-20 hosts and is being planned for DCNET hosts.

     In order to evaluate these protocols and  assess  their
feasibility  for  use  in  the  DCNET  environment,  we have
constructed protocol modules to support MTP and have  tested
them  with  other  hosts  on the ARPANET, including those at
ISI, DCEC and MIT.  Although yet to be thoroughly  debugged,
our intitial experience indicates this to be a practical way
to  join  the  ARPANET  mail  community.   We  intend   this
implementation  to  be  an  intermediate  step; however, and
expect to proceed to the IMP and multi-media data  types  in
the future.
     5.  Data Structures

     In the RFC-733 model messages are sent by a user  to  a
specified recipent in the format <user>@<host>, where <host>
is the name of a host and <user> is  the  name  of  an  user
known  to  that host.  The implied address, usually called a
mailbox, is typically associated with a mail file  belonging
to  the  recipient  and  is  easily  generalized  to include
organizations as well as  users  and  networks  as  well  as
hosts.   As  messages  arrive  at  a  host  the  mail server
dispatches them to the various mailboxes by appending  them,
together  with an appropriate header, following the messages
already in the mailbox.

     Since most of our interactions with internet hosts have
been  with  TOPS-20  machines,  we  have tried to maintain a
degree of compatability with the mail file formats  used  by
that  system.   The  file is line-structured, with each line
terminated by the ASCII sequence <CR><LF>, and contains only
ASCII  printing  characters  and format effectors.  Messages

DCNET Mail Plan                                     PAGE   5



consist of a file header, which contains a character  count,
followed by the message text.  Messages are stored one after
the other with the last followed by an ASCII <SUB> character
for  compatibility  with  other  RT-11 components.  Figure 1
shows the format of a typical message.

29-May-81 01:01:14,342;000000000000
MRCP to:<OConnor@ISIE>
MRCP to:<@Multics,Mills@ISIE>
MRCP to:<Mills@COMSAT>
MAIL from:<Mills@COMSAT-DLM>
Date: 29-May-81 01:00:42-UT
From: Mills@COMSAT-DLM
Subject: Mail example
To:   OConnor@ISIE
cc:   <@Multics,Mills@ISIE>,Mills@COMSAT

Folks,

This message demonstrates RFC-733 and RFC-780 formats.

Regards,
Dave
-------

     The first line is the file header, including the  date,
time  and  count  of  characters  in  the  message text, and
followed by an array of twelve flag characters used  by  the
MSG  program  described  below.   The  message  text  begins
immediately following the  <CR><LF>  which  terminates  this
line  and  includes  first  the  transport  (RFC-780) header
followed by the message (RFC-733) header and,  finally,  the
body  of the message itself.  In the above example the lines
beginning with MRCP and MAIL belong to the transport  header
and  the lines following that up until the blank line belong
to the message header.

     Mail files can be created in three ways: (1) by copying
a  mail  file  from a TOPS-20 or DCNET host as-is to a DCNET
host, (2) by creating and appending a  new  message  locally
and  (3)  by  receiving and appending a message from another
host.  Case (1) has been found useful during testing and  in
cases   involving   large  amounts  of  mail  which  can  be
bulk-transferred   using   more   efficient    file-transfer
protocols like FTP and NIFTP.  However, TOPS-20 files do not
include the transport header, so  that  messages  sent  from
these  files  require  manual  intervention.   Case  (2)  is
implemented by an interactive program called  SNDMSG,  which
operates  much  like the TOPS-20 program of the same name to
construct and edit messages  and  append  them,  along  with
their  transport  and message headers, onto a specified mail
file.  Case (3) is implemented by the MTPSRV server program,
which listens for messages from the network and appends them

DCNET Mail Plan                                     PAGE   6



onto a  well-known  mail  file.   All  three  cases  produce
identical  file  formats,  so  that a common message display
program can be used.  This interactive program, called  MSG,
is the focus of most mail operations and is used in the same
fashion as its TOPS-20 counterpart of the same name.

6.  Mail Operations

     Display and editing of mail file contents is  performed
by the MSG program.  This program includes the capability to
select messages and groups of messages and to  display  them
on  the operator's terminal and/or append them to other mail
files.  Since DCNET files and devices can be accessed in the
same  way,  this amounts to the capability to print them and
even to display them on the Dacom facsimile machine or speak
them on the LPCM speech decoder (assuming the correct source
encoding, of course).  When a message is copied  to  a  file
its headers are copied as well, so that copying a message to
a mail file results in a mail file in correct format.

     A message is  constructed  using  the  SNDMSG  program,
which  builds  the  transport  and  message headers shown in
Figure 1 according to an interactive dialog and  then  edits
the   text   as  specified  by  the  user.   Note  that,  as
illustrated in Figure 1, separate MRCP lines are created for
each  recipient  and  a MAIL line is created for the sender.
These lines are edited by the MTP user program  to  indicate
the  delivery  status  for  each recipient.  Features in the
present SNDMSG implementation provide for the  inclusion  of
data  files,  such  as  might be produced by a standard text
editor, and address lists.

     Mail is sent to  recipients  at  the  various  internet
hosts  by the MTP user program.  This program first searches
a specified  mail  file  and  constructs  a  data  structure
including  a  set  of  pointers to the MRCP transport-header
lines, along with the internet address associated with  each
recipient  host.   It  then sorts this structure by host and
constructs a source-route string, if necessary, as specified
by  the operator.  Finally, it connects to each host in turn
and   sends   its   messages   in   either   text-first   or
recipients-first  format,  as  required  by  the  host.   As
delivery to  each  recipient  is  confirmed,  the  MTP  user
program  overwrites  the  corresponding MRCP string with the
string SENT.  Other strings are possible in case of errors.

     It may happen that some messages sent  to  a  host  may
specify  recipients  not  at  that host, in which case these
messages must be  forwarded  to  the  final  destination  as
required  by  RFC-780.   This  would  be  the  case  when an
operator at a local host wishes to stage a batch of messages
at  the mail host for later relay to other hosts not on-line
at the moment.  In addition,  forwarding  is  also  required

DCNET Mail Plan                                     PAGE   7



when  the  final  destination  host  supports some transport
protocol other than TCP, so that an intermediary  supporting
both protocols is required.  The present system supports two
operational modes, one in which mail is  sent  automatically
either  directly  to  the destination or via an intermediate
relay, as directed by internal  tables,  and  the  other  in
which  it  is  sent  manually  according  to  a source route
specified by the operator.

     Mail is ordinarily received automatically  at  a  DCNET
host  by  the  MTPSRV  server program.  This program appends
each   message   as   it   is   received   to   a    public,
controlled-access  mail  file  called UNSENT.MSG.  For those
messages addressed to a recipient at the receiving host, the
corresponding  MRCP  string  is  overwritten with the string
DLVD; the remainder are left for later relay by the MTP user
program.

8.  On Hosts, Users and Mailboxes

     Upon reflection on the above it may be  noted  that  no
mention  is made of the concept of a DCNET mailbox.  This is
intentional  and  reflects  the  fact  that  each  user   is
identified  in  fact  only  by his personal data disk and an
informal convention of assigned user names.  Matters  become
considerably  more  complicated when DCNET virtual hosts are
involved, for this mechanism (described in detail elsewhere)
provides  the  capability  to associate one or more internet
addresses with a single  physical  host  and  to  move  this
association  from time to time.  Thus, the mail host may pop
up in various physical hosts depending upon any  of  several
considerations;  however,  the  internet  addressing will be
transparent to  this  and  the  routing  will  be  performed
automatically.

     For  these  reasons  we  have  chosen  to  identify   a
particular internet address with the mail host, to be called
simply COMSAT and the remaining hosts  as  COMSAT-xxx  where
xxx corresponds to the number (or name) of each of the other
virtual hosts.  Ordinarily, mail for all DCNET users is sent
to mailboxes such as <user>@COMSAT.  It would then remain at
the mail host for later inspection by <user>.   If,  on  the
other  hand, it is known that <user> is active on some DCNET
host at the time the mail is to be sent, then  it  could  be
sent directly to that host.

     In order to preserve privacy when accessing messages at
the  mail  host via virtual-terminal connection from a local
host, a feature has been incorporated into the  MSG  program
normally  used  for  this purpose.  Ordinarily, all messages
received at the mail host are saved in a public file  called
UNSENT.MSG,  while  the  messages belonging to each user are
saved in  private  files.   MSG  normally  operates  with  a

DCNET Mail Plan                                     PAGE   8



private  file  as specified by the user, with access granted
to UNSENT.MSG only by  means  of  a  keyword,  normally  the
recipient's  name.   A  special  MSG  command  provides  for
searching  UNSENT.MSG   for   messages   which   have   been
"delivered" (marked DLVD) to the recipient name matching the
keyword.  These messages can then be appended to the  user's
private  file  and  forwarded  to his local host for further
processing or archiving, if required.

9.  Internet Name Domains

     In the long run, it will not be practicable  for  every
internet   host   to  include  all  internet  hosts  in  its
name-address tables.  Even now, with over four hundred names
and nicknames in the combined ARPANET-DCNET tables, this has
become  awkward.   Some  sort  of  hierarchical   name-space
partitioning  can  easily  be  devised  to  deal  with  this
problem; however, it has been wickedly difficult to find one
compatible  with  the  known  mail  systems  throughout  the
community.  The one described here, which has been partially
implemented  in  the  DCNET  mail  system, is the product of
several  discussions  and  meetings  and  is  believed  both
compatible  with  existing systems and extensible for future
systems involving thousands of hosts.

     We first observe that every internet host  is  uniquely
identified  by  one  (or more) 32-bit internet addresses and
that the entire system is fully connected.  For the  moment,
the issue of protocol compatibility will be ignored, so that
all hosts can be assumed MTP-competent.  We  next  impose  a
topological  covering on the space of all internet addresses
with a set of so-called name domains.  In the natural model,
name  domains would correspond to institutions such as ARPA,
USC and COMSAT, and would not  be  necessarily  disjoint  or
complete.    While   in  principle  name  domains  could  be
hierarchically structured, we will assume in  the  following
only a single-level structure.

     Every name domain is  associated  with  one  (or  more)
internet  hosts  called mail forwarders and the name of that
domain is a name or nickname for any of these  hosts.   Each
mail  forwarder  is expected to maintain name-address tables
containing all other hosts in its domain and,  in  addition,
at  least  one  mail  forwarder for every other domain.  All
hosts other than mail forwarders are  expected  to  maintain
name-address  tables  containing at least one mail forwarder
for  every  domain  together  with   additional   hosts   as
convenient.   Following  current practice, several nicknames
may be associated with the principal name of a host  in  any
domain and the names and nicknames need not be unique in any
other domain.  Furthermore, hosts can be  multi-homed,  that
is,  respond  to  more than one address.  For the purpose of
mail forwarding and delivery, we will  assume  that  any  of

DCNET Mail Plan                                     PAGE   9



these addresses can be used without prejudice.

     In its most general form, an internet mailbox name  has
the syntax

                   <user>.<host>@<domain>

where <user> is the name of a user known at the host  <host>
in  the  name  domain  <domain>.  This syntax is intended to
suggest  a  three-level   hierarchically   structured   name
(reading  from  the  right)  which  is unique throughout the
internet system.  However, hosts within a single domain  may
agree  to  adopt  another  structure, as long as it does not
conflict with the above syntax and as long as the forwarders
for   that   domain  are  prepared  to  make  the  requisite
transformations.  For instance, let the  name  of  a  domain
including  DCNET  be COMSAT and the name of one of its hosts
be COMSAT-DLM with Mills a user known to  that  host.   From
within  the COMSAT domain the name Mills@COMSAT-DLM uniquely
identifies that mailbox as  could,  for  example,  the  name
Mills.DLM@COMSAT  from  anywhere  in  the  internet  system.
However,  Mills@COMSAT-DLM  is  not  necessarily  meaningful
anywhere outside the COMSAT domain (but it could be).

     The   functions   required   of   the   forwarder   are
straightforward.    When   it   receives   a   message   for
<user>.<host>@<domain>, it transforms  <host>  as  necessary
and  forwards  the  message  to  its  address  found  in the
name-address table for <domain>.  Note that  a  single  host
can  be  a mail forwarder for several independent domains in
this model and that these domains can intersect.  Thus,  the
names      Mills@USC-ISIE,      Mills.USC-ISIE@ARPA      and
Mills.USC-ISIE@COMSAT can all refer to the same mailbox  and
can,  conceivably,  all  be entries in the same name-address
table of some  host.   In  this  example  the  ARPANET  host
USC-ISIE  appears  as  a domain with a null host name.  Such
use would be permissable only in case the name USC-ISIE  was
unique and known to all forwarders in the internet system.

     In order for  this  scheme  to  work  properly,  it  is
necessary that messages transiting forwarders always contain
complete internet mailbox names.  When this is not feasible,
as in the current ARPANET mail system, the forwarder must be
able to determine which domain the  message  came  from  and
edit  the  names  accordingly.   This  would be necessary in
order to compose a reply to the message in any case.

10.  Current Status and Unresolved Issues

     The present system is  working  with  DCNET  hosts  and
certain  other  ARPANET hosts mentioned above, although some
minor problems remain to  be  worked  out.   The  experience
gained  has  guided  the implementation of features recently

DCNET Mail Plan                                     PAGE  10



incorporated into MSG and SNDMSG.  Additional  features  are
to  be  incorporated  into  MTP  and MTPSRV as the result of
current discussions and revisions of RFC-780.

     There are a number of system-specific issues which need
to  be  resolved  before  the  DCNET implementation could be
considered user-fortified, among them the following:

1.  There are no provisions to resolve conflicting  accesses
    to  public files such as UNSENT.MSG which might occur if
    a message arrives while SNDMSG is  active  on  the  same
    file.

2.  There  are   no   provisions   to   compact   UNSENT.MSG
    automatically  as messages are forwarded or processed by
    the recipients.

3.  The MTP user program must be initiated manually,  rather
    than  automatically  as  the  result  of  a timeout, for
    example.

4.  Forwarder  mailbox  name  transformations  as  described
    above are not supported.

5.  A facility is needed to  re-address  misrouted  messages
    and  to  return  failure  messages to the sender in case
    they cannot be forwarded.

11.  Summary

     This  memorandum  has  described  the  environment  and
features  required  of  the DCNET mail system, as well as an
interim  plan  for  compatability  with   other   developing
internet  mail  systems.   The  interim plan focusses on the
Mail Transfer Protocol of RFC-780 and on the  transition  of
the existing DCNET mail system to be compatible with it.  We
believe this to be a useful and reasonably easy thing to  do
and  that it will both shake the bugs from existing internet
mail transport systems as well as smooth  the  way  for  the
eventual implementation of the Internet Message Protocol and
multi-media data types.

DCNET Mail Plan                                     PAGE  11



12.  References

1.  Crocker, D., J.  Vittal, K.  Pogran, and D.   Henderson.
    Standard  for  the Format of ARPA Network Text Messages.
    Request for Comments RFC-733, NIC 41952, November  1977.
    Also  in:  Feinler,  E.   and  J.  Postel, eds.  ARPANET
    Protocol  Handbook.    NIC   7104,   for   the   Defense
    Communications  Agency by SRI International, Menlo Park,
    California, Revised January 1978.

2.  Postel, J., ed.  File Transfer  Protocol.   Request  for
    Comments RFC-765, Internet Experiment Note IEN-149.  USC
    Information  Sciences   Institute,   Marina   del   Rey,
    California, 1980.

3.  Postel, J., and S.  Sluizer.   Mail  Transfer  Protocol.
    Request  for Comments RFC-780.  USC Information Sciences
    Institute, Marina del Rey, California, May 1981.

4.  Postel, J.   Internet  Message  Protocol.   Request  for
    Comments RFC-759, Internet Experiment Note IEN-113.  USC
    Information  Sciences   Institute,   Marina   del   Rey,
    California, August 1980.

5.  Postel,  J.,  ed.   DoD  Standard  Transmission  Control
    Protocol.  Request for Comments 761, Internet Experiment
    Note 129,  NTIS  ADA082609.   USC  Information  Sciences
    Institute,  Marina  del  Rey,  California, January 1980.
    Also  in:  ACM  Computer  Communication  Review  10,   4
    (October 1980).

6.  PSS/SG3.   A  Network  Independent  Transport   Service.
    Study Group 3, The Post Office PSS Users Group, February
    1980.    Available   from:   DCPU,   National   Physical
    Laboratory, Teddington, UK.

n
-------