RFC 753 (rfc753) - Page 3 of 57
Internet Message Protocol
Alternative Format: Original Text Document
March 1979
Internet Message Protocol
Introduction
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 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 individual 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 [5].
1.4. Operation
The model of operation is that this protocol is implemented in a
process. Such a process is 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 messages it is "sent" by placing it in a data
structure shared with 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 determines which outgoing link to use. The destination
may be another user on this host, a user on another host in this
network, or a user in another network.
In the first case, another user on this host, the MPM places the
message in a data structure shared with 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
the routing decision, and discovering the destination is local to it,
places the messages in the data structure shared with the destination
user.



