rfc757.txt

来自「RFC 的详细文档!」· 文本 代码 · 共 1,156 行 · 第 1/3 页

TXT
1,156
字号


RFC 757



  A Suggested Solution to the Naming, Addressing, and Delivery
               Problem for ARPAnet Message Systems












                        Debra P. Deutsch

                        10 September 1979





















                     Bolt Beranek and Newman

                        50 Moulton Street

                 Cambridge, Massachusetts 02138

                         (617) 491-1850
Preface                                                    Page 1


                             Preface

  Unlike   many   RFCs,   this   is  not  a  specification  of  a
soon-to-be-implemented protocol.  Instead this is a true  request
for  comments  on  the concepts and suggestions found within this
document, written  with  the  hope  that  its  content,  and  any
discussion  which it spurs, will contribute towards the design of
the  next  generation  of  computer-based  message  creation  and
delivery systems.

  A  number  of  people  have  made contributions to the form and
content of this document.  In particular, I would like  to  thank
Jerry   Burchfiel  for  his  general  and  technical  advice  and
encouragement, Bob Thomas for his  wisdom  about  the  TIP  Login
database  and  design of a netmail database, Ted Myer for playing
devil's  advocate,  and  Charlotte  Mooers  for   her   excellent
editorial assistance.

                                                   Debbie Deutsch



































RFC 757                                            September 1979
Introduction                                               Page 2


1. Introduction

  The  current  ARPAnet  message handling scheme has evolved from
rather informal, decentralized beginnings.  Early developers took
advantage of pre-existing tools --  TECO,  FTP  --  in  order  to
implement  their  first systems.  Later, protocols were developed
to  codify  the  conventions  already  in  use.     While   these
conventions  have  been  able  to  support an amazing variety and
amount of service, they have a number of shortcomings.

  One difficulty is the naming/addressing  problem,  which  deals
with  the  need  both  to  identify the recipient and to indicate
correctly a delivery point for the message.  The current paradigm
is deficient in that it lacks a  sharp  distinction  between  the
recipient's  name  and  the  recipient's  address,  which  is the
delivery point on the net.

  The naming/addressing scheme does not allow  users  to  address
their  messages  using  human  names,  but instead forces them to
employ designations better  designed  for  machine  parsing  than
human identification.

  Another  source  of  limitations  lies  in the delivery system,
which is simply an extension of the File Transfer Protocol.   The
delivery system is fairly limited in its operation, handling only
simple transactions involving the transfer of a single message to
a  single  user  on  the destination host.  The ability to bundle
messages and the ability to fan-out messages at the foreign  host
would improve the efficiency and usefulness of the system.

  An  additional  drawback  to  the delivery system is caused, to
some extent, by the addressing scheme.  A change in  address,  or
incorrect  address  usually  causes the delivery system to handle
the message incorrectly.  While some hosts support  some  variety
of  a  mail  forwarding database (MFDB), this solution is at best
inadequate and spotty  for  providing  reliable  service  to  the
network  as  a  whole.    Because the same username may belong to
different people at different hosts, ambiguities which  may  crop
up  when  messages  are  incorrectly addressed keep even the best
MFDBs from always being able to do their job.

  This proposal envisions a system  in  which  the  identity  and
address  of  the  recipient are treated as two separate items.  A
network database supports  a  directory  service  which  supplies
correct  address  information  for all recipients.  Additionally,
the scheme allows mail delivery to be  restricted  to  authorized
users of the network, should that be a desirable feature.







RFC 757                                            September 1979
Names and Addresses                                        Page 3


2. Names and Addresses

  Today's  ARPAnet  naming and addressing scheme (as specified in
RFC 733[3]) does not discriminate between the identity of a  user
                   1
and   his   address .      Both   are  expressed  the  same  way:
USERNAME@HOST.  While this  should  always  result  in  a  unique
handle for that user, it has proved to be inadequate in practice.
Users  who  change  the  location  of their mailboxes, because of
either a change in affiliation or a simple shift in  host  usage,
also  get their names changed.  If their old host employs an MFDB
the problem is not too bad.  Mail is simply forwarded on  to  the
new  address,  slightly  delayed.  Other less fortunate users who
cannot rely upon an MFDB must notify all their correspondents  of
the  change  in  address/name.    Any  mail  addressed to the old
address becomes undeliverable.  (An excellent discussion  of  the
differences between naming, addressing, and routing is found in a
paper by John Shoch [1].)

  The  desire  to  use  "real"  names  in  the  address fields of
messages is also thwarted by the current system.    An  elaborate
system  for  using  human-compatible  vs.   machine-interpretable
                                                        2
information has been evolved for use in message  headers .    The
most  recent  developments  indicate  that  many users would feel
happiest   if    the    real    human    name    could    appear;
machine-interpretable  information should not intrude too heavily
into the writer's work- and thought-space.

  The solution proposed here calls for a total break between  the
way  a  recipient is named or identified and the way in which his
location  is  specified.    Since  the  ARPAnet  is  a  regulated
environment,  a  unique  (and  not necessarily human-readable) ID
could be assigned to each authorized recipient of  network  mail.
This  ID  would stay with the user throughout his lifetime on the
network, through changes in address and affiliation.

  A network database  (which  could  be  derived  from  the  same
database  that  has  been  proposed  to  support TIP login) would
associate each ID with one or more addresses indicating where the
mail for that ID may be delivered.  If more than one address were

_______________
  1
   See, for example, RFC 733's discussion  of  the  semantics  of
address  fields,  in  which  it  is  specified that the To: field
"contains the identity of the primary recipients of the message".
  2
   See the "Syntax of General Addressee  Items"  section  of  RFC
733.




RFC 757                                            September 1979
Names and Addresses                                        Page 4


associated  with an ID, that would indicate an ordered preference
in delivery points.  The delivery system would  attempt  delivery
to  the first addressee, and, if that failed, try the second, and
     3
so on .  Most IDs would probably have only  one  address.    Also
associated  with each ID would be some information about the ID's
owner:  name, postal address, affiliation, phone number, etc.

  Rather than being forced to type some awkward character  string
in  order  to  name  his  correspondent, the writer would have to
supply only enough information to allow some process to determine
the unique identity of the recipient.  This information might  be
the recipient's name or anything else found in the database.

  The  access  to  this  data would also free the writer from any
need to know the location of the recipient.  Once the  unique  ID
were  known,  the  correct  location for delivery would be only a
look-up away.


2.1 A distributed database approach

  It  is  clear  that  if  the  network  database  had  only  one
instantiation  there  would  be  a tremendous contention problem.
All message traffic would be forced to query that  one  database.
This  is  extremely undesirable, both in terms of reliability and
speed.  It is also clear that requiring each host to  maintain  a
complete  local  copy  of  the  entire  network  database  is  an
undesirable and unnecessary burden on the hosts.

  A better approach would be to build  some  sophistication  into
the local delivery system, and use local mini-databases which are
based  upon  the contents of a distributed network database.  (It
may be redundant and/or partitioned, etc., but  is  probably  not
resident  on  the  local  host.)    When a local host queries the
network database about an ID (or, in  a  more  costly  operation,
asked  to  supply an ID given enough identification such as name,
etc.)  the database may be asked to return all its information on
that ID.  At this point the local host can enter all or  some  of
that  information  into a locally maintained database of its own.
It will always refer to that database first when  looking  for  a
name  or  address, only calling the network database if it cannot
find  a  local  entry.  Depending  upon  the  desired  level   of
sophistication of the local message handling programs, additional
information  may  be  added  to  that  database,  including,  for

_______________
  3
   Multiple  addresses  might  also  be  used  to  indicate  that
multiple deliveries are desired.




RFC 757                                            September 1979
Names and Addresses                                        Page 5


example, nicknames.

  The  database  might  be  shared by a cluster of hosts (such as
exist at BBN or ISI), or it might be used by  only  one.    Hosts
which  originate small amounts of message traffic might rely upon
the network database entirely.

  The structure and maintenance of the local  databases  is  left
solely  to the local hosts.  They may or may not store addresses.
It may be desirable either to garbage collect  them,  or  to  let
them  grow.  The local databases might be linked to smaller, more
specialized databases which are  owned  by  individual  users  or
groups.    These  individual databases would be the equivalent of
address books in which users  might  note  special  things  about
individuals:    interests,  last  time seen, names of associates,
etc.  The existence and scope of these databases are not mandated
by this scheme, but it does allow for them.

  The same individual databases may be used by  message  creation
programs   in   order   to  determine  the  recipient's  ID  from
user-supplied input.  For example, a user may address  a  message
to  someone  named  Nick.    The  message  creation  program  may
associate "Nick" with an ID, and hand that ID off to the delivery
system, totally removing the matter of address or formal ID  from
the user's world.


2.2 Delivery

  The delivery operation consists of three parts:

  1.  Determining  the  address  to which the message must be
      sent,

  2.  Sending the message,

  3.  Processing by foreign host.

  The first step usually means looking up, in either a  local  or
the   network  database,  the  correct  address(es)  for  message
delivery, given the recipient's ID.  Should the ID not  be  known
at  the time the message is submitted for delivery, any operation
necessary to determine that ID (such as  a  call  to  either  the
local  or  network  database)  is  also performed as part of this
step.

  The second step is not too different from what  happens  today.
The  local host establishes a connection to the foreign host.  It
is then able to send one or messages to one or more people.   The
options are:

   - Bulk mail.  Several recipients all get the same message.


RFC 757                                            September 1979
Names and Addresses                                        Page 6


   - Bundled  mail.    Several  messages get sent to the same
     recipient.

   - A combination of the above

   - One recipient gets one message.

  The foreign host should be able to accept mail for each ID.

  The rejection of mail for a given ID by the foreign host  would
usually  indicate  an  inconsistency  between  the sender's local
database and the network database.  In this case, the local  host
updates  its  local  database  from  the  network  database,  and
attempts delivery at the "new" host.  (This is mail  forwarding.)
If  a  host  taken  from  the  network  database  is  found to be
incorrect, there is  a  problem  in  the  network  database,  and
appropriate  authorities  are  notified.    Thus, address changes
propagate out from the network database only as  the  out-of-date
information  is  referenced.    This reduces the magnitude of the
local database update problem.

  Once the foreign host recognizes the ID(s), the message(s)  may
be   transmitted   to   the   foreign   host.    Upon  successful
transmission, the job of the local host is done.

  The third  step  requires  the  foreign  host  to  process  the
message(s).   This is analogous to what may occur in a mail room.
A foreign host may have to sort  the  bundled  or  bulk  mail  it
receives.    In addition, the foreign host might perform internal
or external fan-out functions or other special functions, at  the
option of the ID owner.

  The  implemention and design of possible functions which may be
performed in the mail rooms are neither mandated  nor  restricted
by  this  delivery  scheme.  Since they are too numerous to allow
even a small portion of them to be described  here,  only  a  few
examples will be mentioned.

  Fan-out  functions  might  include placing messages in multiple
files,  sending  copies  to  one  or   more   other   users,   or
rebroadcasting  the  messages  onto  the  network.  (In that last
case, the foreign host might evaluate an ID  list,  in  much  the

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?