S- TOKEN-PLEASE TOKEN-GIVE
8. The Application Layer
8.3.2. Message Handling Systems
Electronic mail (e-mail) represents one of the most successful classes of network applications currently enjoyed by many users. Early e-mail systems were network dependent, and their use was limited to the private networks of individual organizations. The CCITT X.400 and the ISO 10021 series of standards for Message Handling Systems (MHS) have paved the way for standardized and widely-available e-mail services.
Figure 8.85 illustrates the X.400 view of MHS architecture. At the center of MHS is a Message Transfer System (MTS) which handles the delivery of messages. The system consists of the following components:
• A Message Transfer Agent (MTA) is responsible for the routing of complete e-mail messages (called envelopes) through the MTS. MTAs handle envelopes in a store-and-forward fashion.
• A User Agent (UA) manages a user’s mailbox. It enables the user to create, submit, and receive messages. The UA may serve an application or provide a user interface for direct interaction. UAs typically run on multi-user systems (e.g., mainframes).
• A Message Store (MS) acts on behalf of a UA running on a system which may not be available on a continuous basis (e.g., personal computers). MSs are typically used within a LAN environment, serving a collection of personal computers.
Figure 8.84 MHS architecture.
MTA
Message Transfer System (MTS)
UA UA UA MTA MTA MTA MS UA
UAs and MSs make it possible for users to receive messages when they are not personally present, and while even their terminal or personal computer is not switched on. They simply store the messages and notify the user at the earliest opportunity.
Each user has its own UA. Furthermore, each user is identified by a unique address which is structured in a hierarchical fashion (similar to a postal address). The address structure reflects the division of MTAs into domains. Domains exist at various level of abstraction: country, organization, unit, etc.
Figure 8.85 illustrates the general structure of an envelope. It consists of contents and addressing information. The contents consists of two parts: heading and body. A heading is comprised of fields such as recipients’ addresses, addresses to which the message should be copied, originator’s address, subject, etc. Some of the heading information is provided by the user (e.g., recipients’ addresses and subject), others are automatically inserted by the UA (e.g., date and originator’s address). The body contains the message information itself. It may consist of more than one part, each of which may be of a different type (e.g., text, digitized voice, digitized image).
An envelope is constructed by a UA by deriving envelope addressing information from the heading and adding it to the contents. MTAs only deal with envelopes and their addressing. They have no interest in the contents of an envelope. Each receiving MTA looks at the addressing of an envelope, records on it the last leg of the route so far, time stamps it, and hands it over to the next MTA. The envelope therefore bears a complete trace of its route through the network of MTAs.
Figure 8.85 Envelope structure. To: Cc: From: Subject: ... Heading Body Contents Envelope
Envelope addressing info...
As would be expected, the MHS service is defined by a set of service primitives. Figure 8.35 summarizes the primitives and their purpose.
Figure 8.86 MHS service primitives.
Primitive Issued By Types Purpose
LOGON UA request
response
To initiate a session. If successful, the UA is informed of any messages waiting.
MTA indicate confirm
LOGOFF UA request To terminate a session.
MTA confirm
CHANGE UA request To change the UA's logon password.
PASSWORD MTA indicate
confirm
REGISTER UA request To change the UA's profile maintained by the
MTA confirm MTA.
SUBMIT UA request To submit a message (an envelope) to the MTA.
MTA confirm
DELIVER MTA indicate To deliver a submitted message to the UA. NOTIFY MTA indicate To notify the UA of message delivery. CANCEL UA request To cancel a message delivery to a UA.
MTA confirm
PROBE UA request To check if a SUBMIT would be successful.
MTA confirm
CONTROL UA request
response
To alter the ways in which message storage and delivery is controlled by the MTA.
MTA indicate confirm
MHS uses four protocols (P1, P2, P3, and P7) to provides two types of service:
• The Message Transfer (MT) service supports the handling of envelopes. This service operates between MTAs (P1 protocol), between UAs and MTA/MSs (P3 protocol), and between UAs and MSs (P7 protocol).
• The Inter-Personal Messaging (IPM) service supports the handling of the contents of envelopes. This service operates between UAs (P2 protocol). IPM depends on the MT service for its operation.
These services are organized as service groups, each of which contains related service elements. The service elements are supported by the service primitives depicted in Figure 8.35. Figure 8.87 summarizes sample MT and IPM service elements.
MHS protocols use the three common service elements described in Section 8.2 (i.e., ACSE, RTSE, and ROSE). All envelopes are transferred as APDUs using the RTSE. All MHS protocols and messages are defined in ASN.1 and have BER codings. This includes a set of application-wide tags defined for identifying the various data types defined for MHS.
Figure 8.87 Service groups and sample service elements.
Group Service Element Purpose
Basic Content Type Indication Allows the originating UA to indicate the message content types (e.g. text, binary) to the recipient. Message Identification Used by the MTS to uniquely identify each
message passing through it.
MT
Submission Delivery Notification Allows the originating UA to request notification of receipt from the receiving UA.
& Delivery Multidestination Delivery Allows the originating UA to specify multiple destination addresses.
Conversion Prohibit Conversion Allows the originating UA to ask the MTS not to perform any conversion on the message. Explicit Conversion Used by the UA to ask the MTS to perform code
conversion on the message.
Basic Same as MT Same as MT
Action Receipt Notification Used by the originating UA to ask the receiving UA to notify the originator of the receipt.
IPM
Auto-forward Indication Used by the receiving UA to determine if the message has been auto-forwarded.
Information Subject Indication Used by the originating UA to convey the message subject to the receiving UA.
Conveying Expiry Indication Used by the originating UA to specify when the message will become invalid.
The X.400 series of standards consist of a number of recommendations, of which the following were touched upon in this section:
CCITT X.400 / ISO 10021.1 MHS Service Overview CCITT X.402 / ISO 10021.2 MHS Architecture
CCITT X.411 / ISO 10021.4 MHS Message Transfer Service Definition CCITT X.419 / ISO 10021.6 MHS Protocol Specification