RFC 759 (rfc759) - Page 2 of 71


Internet Message Protocol



Alternative Format: Original Text Document




                                                             August 1980
Internet Message Protocol
Introduction



  developed in the context of the ARPA work on the interconnection of
  networks, but it is thought that it has a more general scope.

  The focus here is on the internal mechanisms to transmit messages,
  rather than the external interface to users.  It is assumed that a
  number of user interface programs will exist.  These will be both new
  programs designed to work with this system and old programs designed
  to work with earlier systems.

1.3.  The Internetwork Environment

  The internetwork message environment consists of processes which run
  in hosts which are connected to networks which are interconnected by
  gateways.  Each network consists of many different hosts.  The
  networks are tied together through gateways.  The gateways are
  essentially hosts on two (or more) networks and are not assumed to
  have much storage capacity or to "know" which hosts are on the
  networks to which they are attached [1,2].

1.4.  Model of Operation

  This protocol is implemented in a process called a Message Processing
  Module or MPM.  The MPMs exchange messages by establishing full duplex
  communication and sending the messages in a fixed format described in
  this document.  The MPM may also communicate other information by
  means of commands described here.

  A message is formed by a user interacting with a User Interface
  Program or UIP.  The user may utilize several commands to create
  various fields of the message and may invoke an editor program to
  correct or format some or all of the message.  Once the user is
  satisfied with the message it is submitted for transmission by placing
  it in a data structure read by the MPM.

  The MPM discovers the unprocessed input data (either by a specific
  request or by a general background search), examines it, and, using
  routing tables (or some other method), determines which outgoing link
  to use.  The destination may be another user on the same host, one on
  another host on a network in common with the same host, or a user in
  another network.

  In the first case, another user on this host, the MPM places the
  message in a data structure read by the destination user, where that
  user's UIP will look for incoming messages.

  In the second case, the user on another host in this network, the MPM
  transmits the message to the MPM on that host.  That MPM then repeats