Cyrus Carnegie Mellon

Project Cyrus Archives: Cyrus Technology Overview
Computing Services
Home
ASG Home
What's New
Cyrus Wiki
Employment
Contact Us
Google

This document is from 08/04/94. It is provided mainly for historical interest (and the fact that we don't have newer document yet).

Internet standards have proven to be very resilient. The real worldwide standard for exchanging email is not X.400 with its ugly addresses, it is Internet addresses and the Simple Mail Transfer Protocol (SMTP). These technologies have very deep-rooted foundations in universities and research institutions where they originated and eventually sprung forth from.

The Cyrus mail project has chosen a set of Internet standards technologies most of which have are part of the IETF standards processes. The technologies which will be discussed in this section are IMAP4, IMSP, SMTP, the RFC 822 message format, and MIME. In addition, a discussion of directory service technologies will be included.

IMAP4
The core technology used by project Cyrus is the Internet Message Access Protocol (IMAP4). IMAP4 specifies a network protocol for accessing a remote message store from a client application and is gaining increasing acceptance as the Internet standard for mail store access. Many major universities are basing their future distributed mail solutions on IMAP4. The protocol is an Internet Proposed Standard (RFC 1730). The previous versions of IMAP, IMAP2 and IMAP2bis are backward compatible with IMAP4 and are already in widespread use. There are already clients in existence on every major platform and many more in the works.

Unlike the other popular Internet mail protocols and particularly the Post Office Protocol (POP) family, IMAP4 primarily describes a method of accessing a message store which retains messages on a remote server. The POP protocols are primarily designed to act as store and forward engines. Clients contact a remote message store and download all their mail to a local message store. For a population like students, this difference is important. When the messages have been downloaded from a message store to the client mobility becomes a real problem. The downloaded messages are no longer easily accessible from other clients. Even more important, many of the clients that students use have no permanent storage for their use. To get permanent storage they must store the mail files in a remote filesystem. Storage of mail in remote filesystems can lead to many problems with scale and availability.

IMAP4 is a super-set of the functionality provided by POP3. All the functionality of a POP3 client can be mimicked using the IMAP4 protocol. The IMAP4 revision of the IMAP protocol adds support for disconnected operation. This will allow for a client on a notebook computer to download portions of a mail store and keep them syncrhonized with the mail store over time.

One of the goals of Project Cyrus is to support the MIME internet standard message interchange format. IMAP4 has rich support for MIME, allowing the MIME structure to be examined without downloading the whole message to the client and for individual MIME parts to be downloaded. For example, if a MIME messages includes a 5meg audio portion and your client does not support audio IMAP4 will allow all of the message to be downloaded without that MIME part. This is also important functionality for disconnected and slow link operation.

Other IMAP Resources


IMSP
IMAP4 does not provide all the functionality needed for acheiving the goals of accessing remote messages from multiple clients. There is no mechanism for storing and retreiving client- and user-specific information. When users move between clients it is important that their profile information follow them. Even when they move between machines and use the same client, their profile information must follow them. One special type of user information is address books. In addition they need a reliable mechanism to find what server houses the folders they want to access including bboards. This is especially true in a large environment where administrators may wish to move users and bboards between mail servers in order to optimize performance and disk space.

Putting the missing functionality into IMAP4 would be overloading the protocol with functions that are not neaded for purely accessing a remote message store. Therefore, a sister protocol to IMAP4 has been created which provide this missing functionality. This protocol, the Internet Message Support Protocol (IMSP), provides three needed functions; a central store of client and user option information, address book storage and access, and finally a way to find folders and their status from a central location.

IMSP is very similar in structure and convention to IMAP4. This should make the implementation of clients which support both IMAP4 and IMSP much easier. A convention for naming options so that options common to multiple clients can have a reliable name and to keep different clients from stomping on each other's personal namespace is established with IMSP.

It is IMSP which really adds to functions necessary for scaling. In order to ensure that the IMSP does not become a bottleneck or single point of failure, provisions have been made in the protocol to replicate the IMSP server.


SMTP
The Simple Mail Transport Protocol (SMTP) is the Internet standard for tranporting mail. It is widely implmented and must be used by anyone who wants to communicate with the Internet community. SMTP is used solely for delivery of mail. Mail servers, gateways, and clients deliver mail to mail stores and gateways. SMTP is not intended for delivery of mail directly to clients. In addtion, it is not wise to have clients deliver mail to the final destination in all cases. Often mail can not be delivered to the destination because of bad network connections, temporary machine downtime, or load problems at both ends. In these cases the SMTP delivery agent must requeue the mail and try again later. Since mail clients can be office machines which are not gaurunteed to remain on or operational, it is not optimal for them to be delivering directly to remote destinations. To solve this, most mail clients deliver mail to post office machines which will deliver the mail on their behalf. Other reasons for this include better name resolution and error handling.

Project Cyrus will use SMTP as the protocol for mail transport. For internal use between Cyrus clients and Cyrus post office machines, Kerberos extensions will be added to SMTP to allow for better guarantees of the originator of the message. At a later date the Kerberos extentions may be replaced or augmented by some form of Privacy Enhanced Mail (PEM), but that is not in the original scope of Project Cyrus.

RFC 821
SMTP Clients


RFC 822 Message Format The Internet Draft RFC 822 is the standard for message storage format on the Internet. Like SMTP, RFC 822 support is essential for communication between Internet sites. The IMAP protocol has integral support for RFC822 format messages.

RFC 822


MIME
The Multipurpose Internet Mail Extensions (MIME) protocol describes a method of extending the plain text communication in email to the full gamut of multi-media objects. MIME allows for foreign languages, pictures, applications and just about any other object to be encoded in plain 7bit text for transfer over 7bit connections and within the RFC 822 message format.

MIME is quickly becoming the Internet standard for transmission of mail with anything other than plain 7bit ASCII text.

Other MIME Resources


LDAP/X.500 Directory Services
LDAP (Lightweight Directory Access Protocol), from the University of Michigan, is being investigated. It provides a less resource-intensive method of accessing X.500 directory service information. LDAP is specified in the Draft Standard RFC1777.

Other LDAP/X-500 Resources