You are on page 1of 6

Definitions of key transport components in Exchange Server 2003

This article lists the definitions of key transport components that are involved in message processing and

mail flow in Microsoft Exchange Server 2003.

Back to the top

MORE INFORMATION

Advanced queuing engine

The Exchange 2003 advanced queuing engine queues messages for each destination and manages those

queues. The advanced queuing engine receives a message from Simple Mail Transfer Protocol (SMTP),

hands the message to the message categorizer, and receives the message back after the message

destination is determined. The advanced queuing engine then queues the message for delivery, takes the

next-hop routing information from the routing engine into account, and finally delivers the message either to

the local store driver or to the local SMTP stack.

Back to the top

Exchange Interprocess Communication

Exchange Interprocess Communication (ExIPC), also known as Epoxy, is a queuing layer that permits

Microsoft Internet Information Services (IIS) and the Inetinfo.exe and Store.exe information store processes

to move data back and forth very quickly. This queuing layer achieves the best possible performance

between the protocols and the database services on an Exchange 2003 server. Conventional applications

require the processor to switch contexts when the processor transfers data between two processes. Epoxy is

a high-performance interprocess communication (IPC) between the Inetinfo.exe process and the Store.exe

process. Epoxy passes data between two processes at exceptional speeds by using a memory-sharing model

that was built from the shared-memory circular-queue model.

Microsoft Exchange Server 5.5 incorporates protocols such as Network News Transfer Protocol (NNTP), Post

Office Protocol version 3 (POP3), and Internet Message Access Protocol (IMAP) directly into the Store.exe

process to make data transfer very efficient. Exchange 2003 architecture separates the protocols from the

database to improve ease of management and to support future architectures.


Back to the top

Installable file system

The Exchange 2003 installable file system (IFS) is a user-mode and kernel-mode streaming interface that

reads and writes directly to the streaming database. The streaming database is also known as the .stm file.

IFS permits clients to stream files more efficiently into the .stm file by keeping Internet mail in the native

format, for example, Request for Comments (RFC) 822 format or MIME format.

Back to the top

IMAIL

IMAIL is a component of the information store that facilitates the conversion of messages between Internet

and MAPI storage formats.

Back to the top

Link state algorithm

The link state algorithm propagates routing status information between Exchange 2003 servers. This

algorithm is based on the Open Shortest Path First (OSPF) networking technology protocol. The algorithm

transfers link state information between routing groups by using the X-LSA-2 command verb over SMTP and

by using a Transmission Control Protocol (TCP) connection to port 691 in a routing group.

Exchange 2003 uses link state routing to determine the best method to send messages between servers

based on the current status of messaging connectivity and the cost. In situations where no alternative path

for the message exists or where there is an oscillating connection that is intermittently available and

unavailable, Exchange 2003 communicates link state information better than earlier versions of Exchange.

Specifically, Exchange 2003 reduces link state traffic by trying to determine if the connector state is

oscillating or if no alternative path exists. If either of these conditions exists, Exchange suppresses the link

state information. Even if no alternative path exists for a link, the link state is shown as available. Exchange

2003 does not change the link state to unavailable if no alternative path exists. Instead, Exchange 2003

queues mail for delivery and sends it when the route becomes available. This enhances performance

because it reduces the propagation of link state information.


For oscillating connections, Exchange 2003 reviews the link state queue. If there are multiple conflicting

state changes during a specified interval for a connector, the connector is considered an oscillating

connection and its link state remains available. It is better to leave an oscillating connector available than to

continually change the link state. This reduces the link state traffic that is replicated between servers.

Back to the top

Link state table

The link state table is the in-memory database that each Exchange 2003 server uses to store the link state

information that is propagated by the link state algorithm. Exchange uses the link state table to evaluate the

most efficient route for a message based on cost and connection availability.

Back to the top

Message categorizer

The message categorizer examines messages that come to an SMTP server and determines what to do with

the messages. The messages may be destined for the local information store. The messages may be

destined for a remote host by using the message transfer agent (MTA). Or, the messages may be destined

for a remote host by using SMTP. The categorizer also handles distribution list (DL) expansion. The

categorizer is a plug-in to the advanced queuing engine. The categorizer is essentially a collection of event

sinks that perform advanced address resolution on every message that travels through the advanced

queuing engine.

Back to the top

Message transfer agent

The message transfer agent (MTA) continues to be an important part of the system in Exchange 2003. The

MTA in Exchange 2003 is different in many ways from the MTA in Exchange Server 5.5. With respect to the

advanced queuing engine code, the most important update is that the MTA uses calls to the Exchange 2003

routing system instead of relying on the Gateway Address Routing Table (GWART). The GWART uses next-

hop routing. Next-hop routing is more likely to loop than the advanced link state routing that the Exchange

2003 routing system uses. In Exchange 2003, the X.400 connector and the other connectors benefit from
the same loop-free routing that SMTP uses.

Back to the top

Routing engine

The routing engine is an important part of Exchange 2003. Exchange 2003 adds link-state routing to the

advanced queuing architecture by providing accurate next-hop information to the advanced queuing engine.

The advanced technology that is used in the routing component minimizes mail loops that occur because of

link state changes. The routing engine uses a variant of Dijkstra's single-source shortest-path algorithm.

Dijkstra's algorithm solves the problem of finding the shortest path from a source point in a graph to a

destination. If you use the algorithm, you can find the shortest paths from a specified source to all points in

a graph in the same time.

Back to the top

Routing group

A routing group is a collection of Exchange 2003 servers that can transfer messaging data to one another in

a single hop without using a bridgehead server. Generally, Exchange 2003 servers in a single routing group

have resilient high-bandwidth network links between each other. Additionally, a routing group defines public

folder access for Microsoft Outlook clients.

Back to the top

Routing group connector

Routing group connectors in Exchange 2003 connect routing groups to one another. A routing group

connector is unidirectional and can have separate configuration properties, such as the message types that

are permitted over the connection. Routing group connectors use the concept of local bridgeheads and

remote bridgeheads to dictate the servers in the routing groups that can communicate over the link. The

underlying message transport for a routing group connector is either SMTP or remote procedure call (RPC).

The underlying message transport depends on the version of Exchange that uses the connector. A routing

group connector that is set up between Exchange 2003 servers or that is set up between Exchange 2003

servers and Microsoft Exchange 2000 Server servers uses SMTP. A routing group connector that is set up

between an Exchange 2003 server and an Exchange 5.5 server uses RPC. To the Exchange Server 5.5
computer, the routing group connector is the equivalent of a site connector. Link state information is used to

route messages efficiently.

Back to the top

Simple Mail Transfer Protocol

Simple Mail Transfer Protocol (SMTP) is a standards-based protocol that permits different messaging servers

to transfer messages between each other. SMTP is defined under RFC 821. SMTP uses simple command

verbs for message transport over TCP/IP port 25.

Back to the top

Information store

The information store manages the storage of data. It continues to be referred to as the Messaging

Database (MDB), but there are major design changes to the MDB in Exchange 2003 that make it different

from the MDB in Exchange 5.5. The changes permit you to have multiple MDBs. The changes also permit

you to store data such as e-mail messages, documents, spreadsheets, audio files, and video files in the

information store. The message contents are held in an Internet content store in the RFC 822 format. The

Internet content file is an .stm file. The information store also contains the .edb file. The .edb file is the

property store and holds the header information of the message.

Back to the top

Store driver

The store driver in Exchange 2003 performs the following:

 The store driver delivers inbound messages from the advanced queuing engine to the Exchange

2003 information store for local delivery.

 The store driver submits messages from the information store to the advanced queuing engine

for categorization and possibly for outbound delivery.

 The store driver delivers messages from the advanced queuing engine to other non-SMTP

gateways.
 The store driver enables an Imsg memory structure that is queued in the advanced queuing

engine to be persistent in the information store.

The store driver is made up of two dynamic-link libraries (DLL). One DLL runs in IIS, and the other DLL runs

in the information store. The two DLLs use Epoxy to communicate with each other.

You might also like