RFC475

From RFC-Wiki




Network Working Group A. Bhushan Request for Comments: 475 MIT-DMCG NIC: 14919 March 6, 1973


                  FTP AND NETWORK MAIL SYSTEM

This paper describes my understanding of the results of the Network Mail System meeting SRI-ARC on February 23, 1973, and the implications for FTP (File Transfer Protocol). There was general agreement at the meeting that network mail function should be within FTP.

FTP currently provides two commands for handling mail. The MAIL command allows a user to send mail via the TELNET connection (the server collects the mail and determines its end by searching for the character sequence "CRLF.CRLF"). The MLFL (mail file) command allows a user to send mail via the data connection (requires a user-FTP to handle the command but transfer is more efficient as server need not search for a special character sequence). These commands are being used to provide network mailing facilities. Local mail and SNDMSG programs have been modified at many sites to include network mailing (e.g., USER@HOST at BBN_TENEX and MAIL host user at MIT-DMCG).

The network mail system should provide a facility whereby users can conveniently send messages to other network users who have "mailboxes" at one or more hosts. It is not required that the messages or mail be delivered in real-time. The network mail system is not an interactive inter-console communication facility, but it may be possible for some sites to deliver "urgent" mail to users in real-time (e.g., print mail at user console if user is currently logged-in). The mail system also does not provide a general inter- process communication facility, though it may be possible to deliver messages to programs which have mailbox addresses. Inter-process and inter-entity communication facilities are very desirable but are beyond the scope of the network mail system.

The concepts of "mailbox" and "mailbox addresses" are central to this discussion of network mail system. A mailbox is a place where the mail is stored before a user picks it up. It may be a file in the user's directory or it may be a bin for hard-copy. The mailbox address is the address required by the sender in order to send the mail to its destination mailbox. For users who have an "on-line" network mailbox, the mailbox address contains the Host address and the user's mailbox identification at that Host. The mailbox identification is that which is required by an FTP-server in order that it may put the mail in the desired mailbox. The terms mailbox address will be used to refer to the on-line network mailbox address.



NETWORK MAIL SYSTEM FUNCTIONS

The network mail system should provide the following six functions:

1. CREATING: This refers to the manner in which the user creates or

  composes his message.  The FTP servers do not explicitly provide
  any message editing capability (server's editing conventions may
  be applicable in the case of MAIL command).  Editing conventions
  such as those for character delete and line cancel vary widely
  over the network.  The user is most familiar with his local Host
  conventions and these should be used for network mail editing.
  The user also has access to local editing systems which can be
  used for composing message files.  The message file may then be
  transmitted via the MAIL or MLFL commands (MLFL being preferable).
  The present FTP approach of assuming the creation of messages to
  be sender's responsibility seems adequate.  TIP users if they
  desire editing facilities should use intermediate Hosts for
  creating and sending messages.

2. LOCATING: How sender determines receivers address. FTP assumes

  that the sender knows the receivers correct address.  There is no
  published or "on-line" list of mailbox addresses.  There is,
  however, a list of network participants maintained (on-line) and
  published by the Network Information Center (NIC) at SRI-ARC.  The
  network users have been assigned a unique "NIC Ident" and Host
  site by the NIC.  It was therefore specified in FTP that FTP-
  servers maintain a table that maps NIC Idents to mail-box
  identifications.  The NIC will maintain on-line and publish the
  local mailbox address information for network participants.  It
  would be possible for users to look up a published list, or querry
  the NIC on-line to locate destination addresses.  The NIC will
  also provide an on-line facility (similar to FTP) that can be used
  by programs for retrieving the address information.  This latter
  approach of the NIC's maintaining addresses has several
  advantages.  The user can obtain a number of addresses for a
  group, and use these to transmit mail.  The FTP servers need not
  maintain NIC Ident Tables, and the NIC can provide a good facility
  for locating addresses from last names, NIC Idents, or even
  sketchy information.  It may still be desirable that FTP servers
  accept NIC idents, last names, and other standard forms as mailbox
  identifiers.

3. SENDING: How message is sent to the destination mailbox. The

  messages may be sent directly to the destination mailbox (via
  TELNET or Data connections) or via an intermediate Host such as
  the NIC.  FTP does not explicitly provide for mail forwarding by
  intermediate Hosts but FTP servers may be able to recognize
  addresses as not being local, and forward mail.  In the event mail



  is to be forwarded, a desirable facility is to have the
  intermediate site return an acknowledgement (by request) upon
  delivery of mail or if delivery fails within a specified time.
  The current FTP specifications recommend that FTP-servers accept
  multiple addresses but do not require this.

4. STORING: Where mail is stored before reading and if information is

  available for later reference or retrieval.  The FTP does not
  require that sender store mail or keep duplicate copies.  It is
  the receiver's responsibility to store the information for
  reading, reference, or retrieval.  The receiver need not store the
  mail as a data file but can directly print it out on a user
  console or line printer.  FTP does not specify the procedures for
  storage handling by intermediate sites.  If intermediate site is
  used for forwarding the mail until it is delivered to its final
  destination.  If the mail is undeliverable then the intermediate
  site should return the undelivered information to the sender.  A
  similar situation arises when sending of mail is deferred by the
  sending site (destination host may be down).  The sending site
  then acts as an intermediate forwarder insofar as the user is
  concerned.

5. RECORDING: Should the mail be catalogued and recorded for later

  reference and retrieval.  FTP currently does not provide an
  explicit mechanism for the receiver to record mail.  If an
  intermediate site (the NIC) is used for mail distribution then a
  function of such a site could be to record mail, if so requested.
  NIC is ideal for recording mail, but other sites may also wish to
  record the mail.  If the mail is recorded, then it is not
  necessary to send the entire contents of the mail.  Instead only a
  citation for the document can be sent and the receiver can
  retrieve the mail only if he wants to.  This is particularly
  useful for large documents such as NWG/RFC which are distributed
  to a group.  The citation may contain author, title, retrieval
  pathname, and perhaps an abstract.

6. READING: How the mail is finally presented to and read by the

  user.  FTP currently assumes that mail reading is entirely the
  receiving site's function.  However, there are ways in which the
  sender can aid the receiver in providing improved mail reading
  facilities.  For example, the receiving system, if it knows a
  message to be urgent can deliver it immediately at a user console.
  Long messages may be put in separate files with notification in
  user's regular mail.  Alternately, mail could be a citation that
  the reading program can retrieve upon user request.  Selective
  handling of different classes of mail is important for an improved
  network mail system.




MODELS FOR MAIL SYSTEM USE

The user of a mail system can use intermediate site for locating addresses, recording and/or distributing mail, and for creating and reading mail. We therefore have the following models for mail system use:

1. The user connects directly to the destination FTP server and sends

  mail using the MAIL command.  Local editing functions are limited
  to character delete and line cancel (assuming user is in line-at-
  a-time mode) and server conventions may also apply.  The user only
  needs a user-TELNET program at his site but needs to know the
  destination address.  This model is specially applicable to TIP
  and other mini-Host users who do not have a user-FTP or user-Mail
  programs.

2. The user composes the mail using a local editor (or mail system)

  and then requests his user-FTP or mail program to send the mail
  directly to the destination via the FTP MAIL or MLFL commands.
  The user needs to know the destination address.  The mail can be
  deferred by the sending program if the destination Host is down.
  TIP users can use this model by using the facilities of a "home-
  base" Host.

3. The user uses an intermediate site such as NIC (other sites may

  provide forwarding services too) for mail distribution.  The user
  need not know the destination addresses but can use NIC idents for
  individuals and groups of individuals.  The mail can be recorded
  on request and its sending can be deferred (the destination Host
  may be down, or it may be more economical to defer mail).  The
  message to be mailed may be created at the local site using local
  editing facilities, or it may be created directly at the
  intermediate site.

4. The user may send a citation of the mail instead of the complete

  mail item.  The citation refers to an existing document which can
  be retrieved on-line (such as the NIC number of a NIC journal
  communication).

MAILING TO TIP USERS

The TIP does not currently provide an FTP server or mailbox facilities. While it is possible to send mail to TIP terminals (such as line printers) it seems undesirable to do so because of the possibility of losing mail, the lack of privacy, and the fact that user may be several (or several hundred) miles away from the location of the TIP. The TIP users normally have a "home-base" computer where they do their computing work most of the time. The TIP user problem



is best solved by requiring that TIP users rent mailboxes at their "home-base" Host. Such a Host can provide good mail reading and querry facilities. A TIP user can request his "home" Host to send him notification of mail on a TIP terminal. If RDML command (NWG/RFC 458) is accepted in FTP, TIP users could use such a command. More important, if the user has a number of mailboxes on different Hosts, the RDML (or RDMF) command can be used to read his mail at all the sites where he has mailboxes.

ACCESS CONTROL IN MAIL SYSTEM

It has been suggested that FTP specification should require that mail function (for receiving mail) should be "free", i.e., FTP servers should not require the user to "login" (send the USER, PASS, and ACCT commands). In the absence of the access control commands the FTP server should charge the cost of receiving mail to an overhead or browsing account. It should be noted that this "free" mail function using default "USER" account may not allow non mail-related commands without reinitializing. This requirement will improve communication among the network users.

Some systems, such as Multics, have mechanisms for access control in the receipt of mail. That is a user can specify who is eligible to send him mail (normally users give then access ".*.*.*.", i.e., any one can send mail). The access control commands would be required to gain privileged access. The USER command does not seem the best way to identify the sender of mail. Consider users logged in as GUEST, ICCC, NETWORK, MIT-DMCG, and NETWORK-USER. A separate FROM command seems desirable. Such a command can be used to identify the sender as well as to send acknowledgments and replies. The receiving site can tag the mail as: FROM AKB at MIT-DMCG, logged in as GUEST. The receiver can then send reply to the mailbox address AKB at Host 70 (SNDMSG AKB@DMCG or MAIL DMCG AKB).

NETWORK INFORMATION CENTER FUNCTIONS

The NIC is a very special facility for handling mail. It provides facilities for recording and distributing mail to individuals and groups of individuals, and for locating users' addresses. The NIC will also undertake to provide distribution of unrecorded mail. Currently the NIC requires that users log into the NIC and use NLS to create and distribute mail. Using NLS for creating mail has been a frustrating experience for many who are used to different editing systems. Recently there has been a problem that NIC is overloaded at most times of the day and even if one can get a "network terminal" and log in, the interaction is quite slow. As NIC (or NLS) is designed for character-at-a-time interaction with remote echo, the




use is inefficient. Using NIC is particularly unbearable when the user falls behind in his echo by as much as an entire line.

An alternative to direct use of NIC is to use the NIC via FTP and programs at the user's site. The user can create journal documents using his own local editing system and then transfer it to NIC via FTP. The user may have to specify such information as author, title, where the acknowledgment should be sent, and journal number if the item is to be recorded. It should also be possible for users to send sequential files to NIC and have them restructuredinto NLS form without having to do an "input sequential" (a suggestion is to "NLS" the file if its name is suffixed with a .NLS). Alternately it should be possible for user's to retrieve journal documents and other sequential files without having to do a previous "output sequential".

The NIC currently delivers mail via hardcopy and/or on-line. On-line currently means that user must log into NIC to see if he has a message and read it by "print branch". The messages are not seen by the destination users for several days and many users get their hard copy before they have had a chance to examine their on-line NIC mail. If the NIC were to deliver mail via FTP to network users, then the mail turn-around time will be greatly speeded and the users will not have to log into the NIC. Large documents need not be mailed to the user in their entirety but only a citation need be sent. The NIC willhave to collect the information on the mailbox addresses of Network participants for delivering mail, especially since it appears that many FTP servers are not "respecting" NIC idents. It is recognized that a user may have only one (the most used) of these addresses.

The NIC identification subsystem (currently accessible via NLS only) contains information on users (such as affiliation, US Mail address, telephone numbers, etc.) and groups (members, etc.). The on-line mailbox address information can be added here. The NIC will undertake to provide a facility whereby the identification subsystem can be querried by programs, allowing mailing programs to retrieve the addresses automatically. This facility will be separate from FTP.

FTP MODIFICATIONS

The FTP currently does not provide explicit facilities for recording mail, communicating sender's address, sending program readable citations, specifying author and title for documents, requesting acknowledgments, and indicating message type (urgent, ordinary, and long). To overcome these deficiencies, we can take any of the following approaches:




1. Kludge the desired features in the pathname syntax of the MAIL and

  MLFL commands, justifying the kludge on the grounds that most of
  the functions are to be used only by the NIC.

2. Add new commands for the desired functions and alter the MAIL and

  MLFL commands somewhat to recognize the existence of the new
  commands.

3. Define a new mail command which incorporates the missing functions

  (in the process defining new commands for the desired functions).
  The MAIL and MLFL commands can be used in their present form but
  may be gradually phased out.

The first approach seems undesirable to me as many of the missing functions can be used by other sites as well. In addition it will be easier to write programs to deal with commands rather than a complex syntax. The second and the third approaches are not very different from each other. The third approach seems preferable as it will allow existing mail programs to function in their present form. Using the third approach consider the following new FTP commands:

1. MLTO (mail to): The argument is one or more mailbox identifiers

  separated by "," (commas).  It is suggested that if there is no
  argument, the mail should be sent to some responsible user or
  printed on a printer.  This command starts the sequence of
  optional FTP mail related commands described below.  The sequence
  ends with the TEXT, FILE, or CITA (citation) commands.

2. FROM: The argument is the address of the sender or senders. It is

  in a standard form that can be interpreted by programs as well as
  human users.  The information is to be used for identifying the
  sender(s), for sending replies, and for sending acknowledgments if
  the receiver is an intermediate forwarding site.

3. MTYP (mail type): This identifies the type of mail as U (urgent),

  O (ordinary), and L (long).  The receiving system can take the
  appropriate actions from this knowledge.  The default assumption
  is ordinary mail.

4. RECO (record the mail): The argument if present is the identifying

  information for recording (such as NIC Journal number).  If no
  argument is present the server will assign the recording
  information and send an appropriate reply (real-time or deferred).

5. AUTH (author): Identifies the author of the document in a form

  acceptable to the server (NIC ident may be required by NIC).




6. TITL (title): Identifies the title of the document. The argument

  is an ASCII string ending with the sequence "CRLF.CRLF".

7. ACKN (acknowledge): Relevant for intermediate forwarding sites.

  Asks the server to send acknowledgment on delivery or if delivery
  fails within a specified time.

8. TEXT: No arguments. Starts the transfer of mail over TELNET

  connection in an identical manner as MAIL.

9. FILE: No arguments. Starts transfer of mail over the data

  connection in an identical manner as MLFL.

10. CITA (citation): Argument is the pathname of retrievable file.

We also need to define new reply codes for handling mail. Some sites have expressed the need for replies such as "send only X bytes of mail". Other replies could specifically request additional commands such as USER/PASS/ACCT for privileged mailing, FROM/ACKN for mail forwarding, and AUTH/TITL for recorded mail. Another suggestion that may be given consideration is allowing TYPE/BYTE other than A/8 for FILE command. Mailing large files between like machines such as PDP-10s is more efficient in I/36. The RDML and RDMF commands proposed by Bressler and Thomas (NWG/RFC 458) also merit consideration as they would aid the handling of mail for users who have mailboxes at different Hosts.


    [This RFC was put into machine readable form for entry]
 [into the online RFC archives by Kelly Tardif, Viagenie 10/99]