Netscape Messaging Multiplexor is a specialized messaging server that acts as a single point of connection to multiple messaging servers. With the Multiplexor, large-scale messaging-service providers can distribute POP and IMAP user mailboxes across many machines to increase messaging capacity. All users connect to the single Multiplexor server, which redirects each connection to the appropriate messaging server.
If you provide electronic mail service to many users, you can install and configure Messaging Multiplexor so that an entire array of messaging servers will appear to your mail users to be a single host.
Messaging Multiplexor is provided as part of Netscape Messaging Server. You can install Messaging Multiplexor when first installing Messaging Server or other Netscape servers, or at a later time.
Netscape Messaging Multiplexor supports:
Multiplexor Benefits
Message stores on heavily used messaging servers can grow quite large. Spreading user mailboxes and user connections across multiple servers can therefore improve capacity and performance. In addition, it may be more cost-effective to use several small server machines than one large, high-capacity, multiprocessor machine.
If the size of your mail-server installation requires the use of multiple messaging servers, your organization can benefit in several ways from using the Messaging Multiplexor. The indirect connection between users and their message stores, coupled with the ease of reconfiguration of user accounts among messaging servers allows for the following benefits:
- Simplified user management
Because all users connect to one server (or two, if you have separate
Multiplexors for POP and IMAP), you can preconfigure email clients and
distribute uniform login information to all users. This simplifies your
administrative tasks and reduces the possibility of distributing erroneous
login information.
For especially high-load situations, you can run multiple Multiplexor servers
and manage connections to them by DNS round robin or by using a load-
balancing program, such as LocalDirector from Cisco Systems.
Because Multiplexor uses information stored in the LDAP directory to locate
each user's messaging server, moving a user to a new server is simple for
the system administrator and transparent to the user. The administrator can
move a user's mailbox from one messaging server to another, and then
update the user's entry in the directory. The user's mail address, mailbox
access, and other client preferences need not change.
- Improved performance
If a message store grows prohibitively large for a single machine, you can
balance the load by moving some of the message store to another machine.
You can assign different classes of users to different machines. For example,
you can choose to locate premium users on a larger and more powerful
machine.
Multiplexor performs some buffering, so that slow client connections
(through a modem, for example) do not slow down the messaging server.
- Decreased cost
Because you can efficiently manage multiple messaging servers with
Messaging Multiplexor, you can decrease overall costs by purchasing
several small server machines that together cost less than one very large
machine.
- Better scalability
With Messaging Multiplexor, your configuration can expand easily. You can
incrementally add machines as your performance or storage-capacity needs
grow, without replacing your existing investment.
- Minimum user downtime
Using Messaging Multiplexor to spread a large user base over many small
store machines isolates user downtime. When an individual server fails,
only its users are affected.
- Increased security
You can use the server machine on which Messaging Multiplexor is installed
as a firewall machine. By routing all client connections through the
Multiplexor machine, you can restrict access to the internal message store
machines by outside computers. Messaging Multiplexor supports both
unencrypted and encrypted communications with clients.
How Multiplexor Works
Messaging Multiplexor is a multithreaded server that facilitates distributing mail users across multiple server machines. Multiplexor handles incoming client connections destined for other server machines (the machines on which user mailboxes reside). Clients connect to Multiplexor itself, which then redirects the session to the server with the correct mailbox. This capability allows Internet service providers and other large installations to spread message stores across multiple machines (to increase capacity) while providing the appearance of a single mail host for users (to increase efficiency) and for external clients (to increase security).
Figure 13.1 shows how servers and clients relate to each other in a Messaging Multiplexor installation.
Figure 13.1 How the Messaging Multiplexor interacts with clients and servers
All POP and IMAP clients work with Messaging Multiplexor. Messaging Multiplexor accepts connections, performs LDAP directory lookups, and routes the connections appropriately. As is typical with other mail-server installations, each user is assigned a specific address and mailbox on a specific messaging server. However, all connections are routed through Multiplexor.
In more detail, these are the steps involved in establishing a user connection:
A user's client connects to Multiplexor, which accepts preliminary authentication information (user name).
Multiplexor queries an LDAP directory server to determine which messaging server contains that user's mailbox.
Multiplexor connects to the proper messaging server, replays authentication, then acts as a pass-through pipe for the duration of the connection.
Encryption (SSL) Option
The Netscape Multiplexor supports both unencrypted and encrypted (SSL) communications between the IMAP server and mail clients.
In SSL mode, Multiplexor listens by default on port 993. You can specify a different port if you wish. The IMAP Multiplexor SSL supports STARTTLS which allows Multiplexor to promote non-SSL connections to SSL.
To enable SSL encryption for your IMAP service:
Certificate-Based Client Authentication
Multiplexor can use certmap to match a client's certificate to the correct user in the user-group LDAP database.
In order to use certificate-based client authentication, you must also enable SSL encryption as described in Encryption (SSL) Option.
You also have to configure a store administrator. You can use the mail administrator, but Netscape recommends that you create a unique user ID, such as mmpstore for this purpose so that you can set permissions as needed.
Note that Multiplexor does not support certmap plug-ins. Instead, Multiplexor accepts enhanced DNComps and FilterComps property value entries in the certmap.conf file. These enhanced format entries use the form:
mapname:DNComps FROMATTR=TOATTR
mapname:FilterComps FROMATTR=TOATTR
So that a FROMATTR value in a certificate's subjectDN can be used to form an LDAP query with the TOATTR=value element. For example, a certificate with a subjectDN of "cn=Pilar Lorca, ou=pilar o=airius.com" could be mapped to an LDAP query of "(uid=pilar)" with the line:
mapname:FilterComps ou=uid
To enable certificate-based authentication for your IMAP service:
Decide on the user ID you intend to use as store administrator.
While you can use the mail administrator for this purpose, Netscape
recommends that you create a unique user ID for store administrator. For
example, mmpstore.
Make sure that SSL encryption is (or will be) enabled as described in Encryption (SSL) Option.
Configure Multiplexor to use certificate-based client authentication:
User Pre-Authentication
Multiplexor has the option of pre-authenticating users by binding to the directory as the incoming user and logging the result.
Note: Enabling the pre-authentication option will reduce server performance.
The log entries are in the format:
date time (sid 0x%p) user name pre-authenticated - client IP address
Where date is in the format yyyymmdd, time is in the format hhmmss, sid is the session object, the user name includes the virtual domain (if any), and the IP address is in dot-quad format.
Virtual Domains
Multiplexor supports the 4.0 format virtual domain file syntax.
Virtual domains listen on different IP addresses and automatically append domain names to user IDs. They can also be used to specify alternate configurations.
Multiplexor can map IP addresses to domain names for searching an LDAP directory and for logging in to the store server. When a connection is accepted from a client, if the server's IP address is in the virtual domain mapping file, the domain is appended to the user ID and used for the LDAP search and for subsequent replay of authentication. This capability is useful for hosting multiple domains with overlapping user ID name spaces.
To enable virtual domains:
Each entry of a virtual domain file has the following syntax:
vdmap name IPaddr
name:property value
Where name is whatever name you choose to use, IPaddr is in dot-quad format, and property and value pairs configure the virtual domain as described in Table 13.1. When set, virtual domain properties override global configuration parameters.
Table 13.1 describes the properties you can specify for a virtual domain. (See Table 13.3 for a description of configuration variables you can specify for Multiplexor.)
Multiple Multiplexor Instances
You can create multiple instances of Multiplexor, all of which must be on the same server. In other words, you can have multiple installations of Multiplexor on different servers, and on any given machine you can have multiple instances.
Using multiple instances of Multiplexor allows you to create alternate configurations, such as SSL or the listen port, that cannot be handled through virtual domains.
You can configure a single instance of Multiplexor to support both POP and IMAP protocols (as shown in Figure 13.1), or you can create separate Multiplexor instances for each protocol, as shown in Figure 13.2. By splitting messaging services across different machines, you can tune the resources on each computer for maximum performance.
Figure 13.2 Separate Multiplexors and messaging servers for POP and IMAP support
For instructions on creating multiple instances of Multiplexor, see Installing and Configuring Multiplexor (Unix) or Installing and Configuring Multiplexor (NT).