Isode markets its X.400 and Internet messaging solutions as different products. However, Isode's core M-Switch product is the same for both X.400 and Internet deployments, with some modules specific to Internet and X.400 deployments. This white paper looks at features which are present in Isode's products primarily to address X.400 markets, but can add significant value to ISP messaging deployments.
What is X.400 Anyway?
Most ISPs have limited knowledge of X.400, and those that do would typically attach views like "It's a Dinosaur" or "Didn't X.400 die with the Arc?". X.400 is a set of messaging protocols developed by CCITT and ISO, which were originally intended to provide a global messaging infrastructure. This did not happen, and most people now use Internet email for their messaging. However, X.400 is still alive and well in certain specialized markets that typically have strong security and management requirements.
Isode has separated out its X.400 and Internet Email product descriptions, so that capabilities are laid out separately in order to set out the solutions clearly for target markets. M-Switch has a single manual, and the multi-protocol nature of the product becomes clear when you start to look closely (although Internet Mail configurations will not show any X.400 functionality or information to users or operators). We tried to separate out the manual (for R10.2), but this proved to be unmaintainable due to the high level of functionality that was a part of the core product. We noted that much functionality developed for X.400 customers was also available to Internet mail users. This led to the question "How could this functionality be useful to Internet users?". The result is this paper, which looks at how functionality in the Isode products which was developed primarily for X.400 markets can be useful for Internet customers.
Customer Management Philosophy: X.400 vs Internet
A typical X.400 operator has a very different underlying message management philosophy to a typical Internet mail service provider. Consider the case of a failed connection to transfer a message. A typical ISP or Enterprise will just regard this as an event that will go un-noticed. The ISP will want to monitor for major failures, but a transient failure of this nature will either sort out, or result in a timed out message. A typical X.400 operator will want to know immediately about such failures, and would consider what corrective action to take (e.g., calling the operator of the remote MTA or re-routing the message). This may seem unduly paranoid, until you consider that a typical X.400 infrastructure is supporting services such as Military formal messaging, EDI, and ground to ground Aviation scheduling. Where messages are dealing with things such as scheduling of aircraft flights, you need to take a pro-active operational approach to managing the messaging infrastructure, and operators need to be pro-active when messages are delayed or not read by recipients.
Most Internet environments do not need this level of management. However, many customers have a growing expectation of the reliability and quality of email service, and many of the capabilities described here will be useful for Internet Email Service Providers to improve their operations and to provide a higher level of managed service to their customers.
The Central Role of Message Switching
In many Internet email systems, management is primarily associated with the handling of stored messages, dealing with functions including quota management, mailbox migration and archiving. Often, the SMTP message switching is a simple subsystem with very minimal management capabilities. In a managed messaging infrastructure, where it is critical to ensure that messages are reliably and rapidly delivered, management of the message switching infrastructure is the highest priority. M-Switch, Isode's SMTP and X.400 Message Switch, is a core Isode product with strong management features.
M-Switch is sold with variants to support SMTP, Anti-Spam, X.400, and MIXER (X.400/Internet Email Conversion). There is a single underlying product, which is a multi-protocol message switch. Although the architecture is multi-protocol, in practice is has been developed to support two protocols: X.400 and Internet Email. Where practical, functionality is implemented in an abstract manner, so capabilities are provided as generic services and not constrained to a single protocol. Protocol specific functionality is provided by "channels" which means that the core system is not protocol specific. This is a very powerful architecture, and means that most M-Switch management features are available in the context of both protocols.
Message Priorities and Scheduling
X.400 has the concept of Message Priority, and Isode has implemented this in M-Switch, including:
- Always working to send high priority messages first, while still optimizing processing (by avoiding stopping and starting processes) and network usage (by maximizing use of open connections to remote MTAs).
- Not starting connections for lower priority messages, when there are higher priority messages in the queue.
- Reserving channel slots for high priority messages, so that there is always spare capacity to process them.
This flexibility is possible because of the Queue Manager architecture, where there is a process that manages scheduling of all messages based on a range of parameters, rather than simply a series of linear queues.
Internet Mail (SMTP) does not have the concept of priority. Because the M-Switch queuing mechanism is common to X.400 and SMTP, priority is available for Internet messaging. This is easily accessed by use of an Internet Message header "Priority:", which can be set to "normal", "urgent", or "non-urgent". This field is defined in RFC 2156 as part of the MIXER specifications, supported by M-Switch, for mapping between Internet mail and X.400.
This priority handling can be useful for Internet mail systems that carry a mix of urgent business critical traffic, and less urgent information.
Active Monitoring and Control
M-Switch has an MConsole tool which provides monitoring and control functions for M-Switch. MConsole provides a graphical display, which shows a history of the loading of the message switch, and gives status of the various "channels" of the message switch, highlighting any problem queues or messages. It has sophisticated, configurable heuristics for classifying multiple levels of warning condition. It also allows control of the queue, and capabilities such as resubmitting and deleting messages. M-Switch may also be monitored using SNMP (Simple Network Management Protocol).
For a typical X.400 deployment, the ability to carefully monitor message switching is a top priority. Many Internet messaging systems, have relatively crude tools for monitoring. Isode's monitoring facilities are standard for Internet mail.
Dealing with Delayed Messages
Isode's monitoring enables an operator to determine when a message is not being delivered. The operator's first step is likely to be to determine if the cause of non-delivery can be rectified (e.g., by telephoning the operator of a failed server). M-Switch provides other options to the local operator:
- Reroute the message to an different MTA, in order to bypass a failed link.
- Resubmission of the message, to a different recipient.
- Non-deliver the message, so that the originator can be alerted to a failure which cannot be rectified quickly.
- Automatically send the message to an alternate recipient after a configurable period of time. For X.400, this can be a sender specified alternate recipient. This is not possible for Internet mail, as this cannot be set. For both protocols, it is possible to have an alternate recipient associated with the message recipient or a default alternate recipient associated with the system.
These capabilities will help manage messages in environments where
it is critical to ensure communication.
Store and Forward Routing
Email uses a store and forward approach, with messages being held at a sequence of MTAs (Message Transfer Agents) en route from originator to recipient. X.400 deployments often use complex store and forward routing topologies, and X.400 MTAs need to be configurable to achieve this. Isode uses an approach of "Message Routing Trees", which was originally defined in RFC 1801 to enable routing information to be shared by different MTAs in a directory, while allowing MTAs to have appropriate routing configurations, dependent on their location in the routing topology.
Internet Email has an approach of direct delivery, and use of the DNS (Domain Name Service) allows an MTA to determine the correct MTA for delivery to a given domain (e.g., delivery to "isode.com"). This approach is very effective in many situations. However, it becomes problematic when when a more complex topology is needed. Often MTAs inside an organization need to route differently to those outside. This can be awkward to configure.
Isode's implementation of Message Routing Trees works for both Internet Email and for X.400, and for Internet Email can be mixed with standard DNS routing. This means that it is straightforward to build more complex store and forward configurations using M-Switch, while still making use of DNS as appropriate and sharing routing configuration between multiple MTAs using the directory. Routing trees can also be used to configure redundant routing, to enable routing to work when individual MTAs fail.
In situations requiring high reliability, message switches are generally configured with redundant storage (RAID), so that they are not at risk from failure of a single storage component. In the event of a processor or other system component failing, a typical solution is to have the switch stop working. Messages in transit at the time of failure are then processed when the system component is restored. The message delays caused by this approach are not acceptable in many environments. In order to avoid this, Isode's products all support fail-over clustering. This approach is useful for X.400 and Internet messaging.
This paper has looked at a number of management technologies which are a part of X.400, or are commonly associated with X.400. These are available to those using M-Switch for Internet messaging, and will allow service providers to delivery a higher standard of managed messaging service than with a typical Internet only product.