The next few chapters give you an in-depth look at the architecture of Exchange 2000 Server. Before learning the specifics of Exchange Server, however, you need to understand some of the concepts that form its foundation. This section describes the basics of messaging systems, how an Exchange Server environment is organized, how Exchange Server stores information, and the key services that make up Exchange Server.
When most people think of electronic messages, they first think of e-mail, but an electronic messaging system can do more than just deliver e-mail. The term electronic messaging describes a more generalized process that can be used to deliver many different types of information to many different locations. A messaging system has several specific characteristics. First, it involves the participation of at least two parties: the sender and one or more recipients. Second, when a sender dispatches a message, the sender can count on the message being delivered. If the messaging system cannot deliver a message to a recipient immediately, it keeps trying. If, after repeated tries, the messaging system fails to deliver the message, the least it should do is inform the sender of this failure. Although a standard messaging system can guarantee the reliable delivery of messages, it cannot guarantee exactly how long it will take to deliver a message. This uncertainty is due to the asynchronous nature of a messaging system. In an asynchronous system, two related events are not dependent on each other; in a messaging system, for example, the sending of a message and the receipt of the message are not tied together in any fixed span of time.
There are two basic types of messaging systems: shared-filed systems and client/server systems. Although client/server systems have almost entirely replaced shared-file systems in modern messaging products, administrators need to have a good understanding of both.
Many older messaging products, such as Microsoft Mail, are shared-file systems. A shared-file e-mail system, as shown in Figure 1-1, works fairly simply. A messaging server contains a shared folder (a mailbox) for each user of the system. When a user sends a message, that users' e-mail client places a copy of the message into the shared folders of any designated recipients. Clients are generally configured to check their shared folders at set intervals. If the recipient client finds a new message in the folder, it alerts the user. Shared-file systems are generally referred to as passive systems, in that it is up to the messaging software running on the client to carry out the operations of the e-mail transaction. The messaging server itself plays no active role (other than housing the e-mail system's shared folders) in passing the message from sender to recipient.
Figure 1-1. A shared-file e-mail system.
An Exchange-based system is a form of client/server system (Figure 1-2). This type of system is referred to as an active system because the server takes a much more active role than the server in a shared-file system. In an Exchange-based messaging system, client software delivers outbound messages to a service on an Exchange server. That service places the messages in the recipient's mailbox or in a queue destined for another Exchange server or for a foreign messaging system. Exchange Server itself is then responsible for alerting users that new messages await them. In addition, Exchange Server takes on many other responsibilities. For example, each Exchange server does the following:
To provide these services, Exchange Server is typically installed on more powerful server machines than those used for shared-file messaging systems, which means that a client/server system such as Exchange Server is inherently more scalable than a shared-file system. The server-based agents that implement Exchange Server can also provide a higher level of security, reliability, and scalability than a simple shared-file messaging system can. All of these features allow Exchange Server to support many more users than simple file-based systems.
Figure 1-2. The Exchange client/server system.
As the name implies, a client/server system has two distinct components: a client and a server. The client and the server use a specific interface to cooperate. The fact that Exchange Server distributes functions between the client and the server means that more processing power is available systemwide for messaging in general. In comparison, a shared-file system depends on the client to constantly check and pull mail, a process that can result in poorer performance as well as increased network traffic on a workstation client.
NOTE
Exchange Server is the server component of an Exchange system, but the server does not exist in a vacuum. You will also learn about the clients that participate in an Exchange system.
Multiple clients can access a server at the same time. As a result, a server must be designed to handle many types of requests from many sources simultaneously. The need to service many clients is one of the primary factors that led to the architecture used to implement Exchange Server, in which several separate processes in the server cooperate to handle client requests. These server processes and the way they interact are described later in this chapter. Each Exchange Server process handles one type of task. This structure means that Exchange Server can execute different functions simultaneously rather than sequentially, as a monolithic, single-process messaging architecture would do. The overall result is that Exchange Server is a robust system that improves upon legacy messaging architectures.
In previous versions of Exchange Server, each group of Exchange servers was known as a site, and each site defined the group's boundaries for both administration and routing. Exchange 2000 Server does away with sites and instead allows Exchange servers to be grouped into administrative groups and routing groups. This split allows administrators to deploy their organizations along boundaries that are more closely aligned with the real world than was previously possible. In addition, the integration of Exchange 2000 Server with the Microsoft Windows 2000 Active Directory directory service has brought about changes in the way the various recipients are managed. This section outlines the basic organizational features of Exchange 2000 Server.
An administrative group is a collection of Exchange servers and administrative objects that are logically grouped together for common administrative purposes. For example, your organization might have two system administrators, one responsible for administering collaborative services and the other responsible for administering servers and connectors. You could use administrative groups as a way of assigning permissions and policies to each administrator. An administrative group can contain policies, routing groups, public folder trees, servers, and more.
A routing group is a collection of Exchange servers that are all physically connected by a permanent, high-speed, reliable network. A server is contained within one—and only one—routing group. The routing group is the closest thing to a site in previous versions of Exchange Server. Messages sent between servers in a routing group are delivered directly from source to destination. Messages sent between servers in different routing groups must be routed through bridgehead servers, servers that are specifically designated to route messages from one routing group to another over specialized connectors.
Policies are another feature new to Exchange 2000 Server. Policies are collections of configuration settings that are applied to one or more Exchange configuration objects. For example, an administrator could configure a set of parameters to govern a certain aspect of server behavior and then assign those parameters, as a policy, across tens or even hundreds of servers. Once policies are implemented, changes to the policies affect all objects to which the policies are assigned, making it easy to change the configuration of entire groups of objects at a stroke. Exchange 2000 Server uses two basic types of policies: system policies and recipient policies.
System policies are used to configure servers and the message store databases on those servers. Three classes of system policies are defined: mailbox store policies, public folder store policies, and server policies. A system policy defines configuration settings for a class of objects (such as public folders). Once you have defined a policy, you can apply it to existing objects or create new objects using that policy. You can then change the configuration for all of those objects with one stroke. For example, you might create a system policy that limits the size of messages that can be posted to a group of public folders. Once that policy has been applied to those folders, you could change the limits at any time for all of the folders simply by changing the policy.
Recipient policies are used to configure objects such as users, mailboxes, groups, and contacts—objects typically associated with the user side of the system. Because much of this directory information resides in the Windows 2000 Active Directory, recipient policies actually apply settings to the Windows 2000 domain containers. Recipient policies work in much the same way that system policies do. You can use them to apply and modify configuration settings to groups of recipients all at once. For example, you might configure a recipient policy that defines how an SMTP address is created for certain recipients. Once that policy has been applied, you can change the addressing scheme for all of the recipients by changing the policy.
Server is the term used in the Microsoft Exchange topology to refer to an individual computer that has the Microsoft Exchange Server messaging application installed and running on it. The name of the server is typically the same as the name of the Windows 2000 computer that hosts the Exchange Server application.
There are no hard and fast rules as to how many servers you should have within a particular routing group. The size of the machine acting as the server will have some bearing on how many users and how large a store the machine can support. In addition, you should put some thought into which servers to place users on. When individual users on the same server communicate through Exchange Server, they do not add to network bandwidth because the message does not need to move across the network between separate physical machines. By grouping users according to how they interact with one another, you can improve the Exchange server's performance and even the performance of the entire messaging system.
Although the recipient is the lowest level of the Exchange hierarchy, it is a critical component of the Exchange organization. As the name implies, a recipient is an entity that can receive an Exchange message. Most recipients are associated with a single, discrete mailbox, although this mailbox can be represented by several addresses, depending on the addressing types implemented within Exchange.
In previous versions of the Exchange Server, a separate tool—the Exchange Administrator—was used to create recipients and to associate them with Microsoft Windows NT user accounts. With the introduction and integration of Windows 2000 Server and Exchange 2000 Server, all that has changed. When you install Exchange 2000 Server, it adds Exchange-related functionality to the Windows 2000 Active Directory Users and Computers snap-in. This tie to Active Directory means that, in addition to mailboxes, Exchange 2000 Server supports other types of recipients, including groups and contacts.
Mailboxes A mailbox is an area of an Exchange Server's mailbox store database where a particular user's private messages are stored. A Windows 2000 user object that has been given a mailbox is referred to as mailbox enabled. Only user objects can be mailbox enabled.
NOTE
You can make other objects participate in Exchange 2000 Server routing simply by giving them an e-mail address. Such objects are referred to as mail enabled and are not associated with an actual mailbox.
Groups A group is a collection of users, contacts, and even other groups that is able to receive messages. When a group receives a message, Exchange Server sends a copy of the message to each of the recipients within the group. The term group also refers to a Windows 2000 security object that is a collection of users and other groups. An Exchange 2000 Server group is always based upon a Windows 2000 group. A group is the functional equivalent of a distribution list in previous versions of Exchange Server.
Contacts A contact is a Windows 2000 object that is not an actual user and thus cannot log on to the network. Contacts can receive e-mail from Exchange users, just as standard Exchange recipients can, after their addresses are defined in the Exchange system's Global Address List. Through the use of contacts, you can integrate external recipients, such as Internet e-mail addresses, into the address list of your Exchange system. Contacts are the functional equivalent of custom recipients in previous versions of Exchange Server.
An address list is simply a list of recipients. The Global Address List is the list of all Exchange Server recipients in the entire Exchange organization. Exchange Server uses address lists to hold and organize the names of the recipients associated with the system.
An Exchange system can have hundreds of thousands of recipients, making it difficult for a user to locate an individual recipient's name. In addition, e-mail addresses can be somewhat cryptic. Various legacy messaging systems have restrictions on the length of the user's mailbox name, and some administrators assign puzzling mailbox names. All in all, it can be difficult to guess a user's email address. The primary purpose of an address list, from a user's point of view, is to provide a way to locate an e-mail address for a recipient. When the administrator of an Exchange environment creates a recipient, the person's name—not a cryptic e-mail address—shows up in the Global Address List, making it easier for Exchange users to locate and send mail to recipients.
In addition to the Global Address List maintained by Exchange Server, individual users can create their own personal address lists, called address books. Personal address books can contain a portion of the Global Address List, as well as other custom addresses added by the user, to make it easier to access the addresses they use most frequently.
You should understand one more piece of the Exchange Server topology before moving on: connectors. A connector is a piece of software that acts as a gateway between Exchange Server routing groups or from a routing group to a non-Exchange mail system (such as foreign X.400 messaging systems). A connector enables the Exchange system to interact directly with a foreign e-mail system, as though its users were part of your Exchange system. Connectors can integrate foreign address lists into the Global Address List, enable message exchange, provide access to shared messaging folders, and make other functions available. Some connectors simply enable a consistent mail-forwarding and receipt operation. In addition to providing a link between Exchange Server and other messaging systems, a connector can be extremely useful if you are in the process of migrating to Exchange Server or connecting to nonmessaging systems such as fax or voice mail.
Exchange Server uses several types of message stores, or storage databases, to hold the messages that make up its information environment. Within these stores, Exchange Server organizes the messages and other material in folders. A folder has the same relationship to its messages that a directory in a file system has to its files. Because Exchange Server manages the storage of its own data, there is not a strict one-to-one relationship between a folder in an Exchange Server store and a directory in the operating system. Exchange Server uses two types of stores: a mailbox store and a public folder store.
When you install an Exchange server, you have to specify locations for the public folder store and the mailbox store. Each store acts as a database for all the objects that it contains: mailboxes for the mailbox store and public folders for the public folder store.
NOTE
Exchange 2000 Server makes use of a technology named Web Store. The term actually applies to the Exchange Server store technology and does not represent an actual store of data on the Exchange server. You'll learn more about the features of the new Web Store in the section "Web Store," later in this chapter.
The mailbox store is a database on an Exchange server that contains all of the mailboxes of every Exchange user associated with that Exchange server. The mailbox store manages the data within the mailboxes, tracking deleted messages and mailbox sizes and assisting in message transfers. A private folder is a secured folder component within a mailbox for an Exchange Server recipient. Each private folder holds information that is available only to a single Exchange user and to others to whom that user has granted access permissions.
Exchange maintains private folders and the mailboxes that contain them within the mailbox store of the associated Exchange server. Although the folders are "secured" in the sense that an Exchange user must have an account and a password to access each mailbox, Exchange Server does manage the contents of mailboxes. For example, the mailbox store is included in standard Exchange Server backup and recovery operations.
Exchange users are not limited to using the Outlook or Exchange client to access their mailboxes. They can also access private stores through various Internet mail protocols and even through a standard Web browser, if the Exchange environment is configured to allow those types of access.
NOTE
Many companies using Exchange also make use of personal stores, which are databases of messages controlled by a messaging client rather than by Exchange Server. Typically, personal stores reside on a user's local machine or on a shared network volume. After materials are placed in a personal folder, they are the exclusive responsibility of the user. Other users cannot access the materials in a personal folder. If users create or modify any of the documents in the personal folder and want others to access these documents, they have to explicitly place these documents in a private or public folder in order to put them back under the care of an Exchange server.
The public folder store is a database that stores public folders, indexes their contents, and assists in the replication of the folders with other Exchange servers. As the name implies, a public folder is accessible to more than one user. Administrators can define the specific security restrictions on a public folder to limit the types of users who have access to it. Public folders are the basis of a great deal of Exchange Server's functionality. They are ideal places to keep information that is accessed by large numbers of people. If, for example, your organization has marketing materials or human resources policies that you want to make available to everyone as soon as they are created, you can put them in a public folder.
The reason for the separation between the Public Folder Store and the Mailbox Store lies in the way Exchange Server treats the information in the Public Folder Store. Because everyone in what could be a widely dispersed organization can access public folders, Exchange Server allows you to set up automatic replication of the contents of public folders. Exchange Server handles the replication of documents in a public folder with no intervention on the part of an administrator after the replication is defined. Users who request a document in a public folder retrieve it from the closest copy of the public folder, rather than having all users access the requested document from a single location. In this way, public folders help expand the scalability of Exchange Server by reducing the bandwidth requirements for the access of common documents.
From the outside, Exchange Server looks like a single, monolithic software system. Internally, Exchange Server uses three key services to perform its tasks: the Information Store service, the Routing Engine service, and the System Attendant service. A service is a piece of software that runs in the background on Windows 2000, performing its tasks without requiring any specific administrative intervention.
When you install Exchange Server, you must specify a Windows 2000 user account that the various Exchange Server services will use to access the Windows 2000 server system. This account is called the Exchange service account. User accounts can be granted varying levels of system access. When an Exchange 2000 Server service accesses the Windows 2000 server, it must be able to act as part of the operating system. Thus, the user account that you specify as the Exchange service account during the installation of Exchange Server will automatically be granted extended access to the Windows 2000 server in order to act as an intermediary between Exchange users and the operating system. All Exchange Server services normally use the same service account. The following sections describe the three basic Exchange Server services.
As you know, Exchange Server information stores are kept as database files that are managed by the Exchange server. The Information Store service is responsible for storing and retrieving information from those stores. It is involved in sending messages and also handles certain automatic functions of Exchange, such as replication.
The most active part of an Exchange server is the Routing Engine. If this service shuts down, the Exchange server can no longer move mail through the system. The Routing Engine service is responsible for coordinating the transfer of messages between Exchange servers. It acts as a traffic cop and a crossing guard combined, directing messages to their destinations as well as ensuring that the messages arrive safely.
The System Attendant (SA) is the background manager for the Exchange system. The SA maintains the link state tables used for message delivery, monitors the connections between servers, and collects feedback that is used by other monitoring tools. These unseen activities are vital to the continuing successful operation of your Exchange environment.
Some optional features of Exchange Server create their own services, and so additional Exchange Server services may also be running on your system, such as the Key Management Services, which provides an additional level of security for your Exchange organization.