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 -------
mirror server hosted at Truenetwork, Russian Federation.