|< Day Day Up >|| |
Windows Server includes a functional SMTP component to provide a reliable transport mechanism for the Windows operating system and for applications layered on Windows. This SMTP component runs as part of the inetinfo.exe process and supports many of the Extended SMTP (ESMTP) standards. Messages can be submitted to the Windows SMTP using the SMTP protocol through port 25, using a drop-off directory for properly formatted e-mail messages, or using Collaboration Data Objects.
The Windows SMTP component also supports the transport and protocol-sinks that allow programmers to extend the capabilities of the basic SMTP component. Exchange takes advantage of these transport and protocol sinks to extend the basic SMTP functionality. When you install Exchange, it adds SMTP extensions in the following areas:
It adds an Exchange Installable File System store driver that allows message pickup and drop-off directly from the Information Store without having to queue the messages in specific file system directories.
It adds an Advanced Queuing Engine to manage message delivery queues.
It adds an enhanced message categorization agent that examines messages and queues the message for delivery on the basis of certain message attributes. Windows includes a basic message categorization agent ( cat.dll). The Exchange categorization agent ( phatcat.dll) includes support for Exchange-specific attributes.
It adds routing engine support for using link state status information to make intelligent routing decisions on the basis of the most current network conditions.
It adds SMTP command verbs to support communicating link state status information to other servers.
The SMTP protocol used by Exchange has several performance improvements that were not available with Exchange 5.5. All of these performance improvements are consistent with standards covered by the Internet Engineering Task Force. These improvements include the following:
When data are transferred between two Exchange servers, they are no longer converted from 8-bit data to 7-bit data for transmission, as done with Exchange 5.5. The conversion used by Exchange 5.5 took processing cycles and increased the amount of data transferred.
Exchange implements pipelining as defined in RFC 2197. Pipelining allows the sending system to send multiple SMTP commands (e.g., MAIL From, RCPT To, DATA) without waiting for an acknowledgment for each specific command.
SMTP implementations based on the older RFC 821 require that an acknowledgment be received for each command before the next one can be sent. This type of transmission was considered an unfortunate necessity when systems were connected with error-prone, unreliable connections. However, the performance penalty was significant, particularly with high-latency networks.
Exchange implements the BDAT command from the ESMTP specification as defined in RFC 1830. This is commonly referred to as chunking. The BDAT command replaces the DATA command found in the standard SMTP specification as defined in RFC 821.
The DATA command is issued to mark the start of the actual message data transmission. The end of data is marked by sending a sequence of characters (carriage return, line feed, full stop, carriage return, line feed). The receiving system must examine all incoming data to watch for this sequence of characters signifying the end of data.
By contrast, the BDAT command is sent to the receiving system along with a byte count signifying the number of bytes of data that are to be sent. The receiving system only needs to count the incoming bytes to know when all of the data have been received.
Because many of the SMTP servers on the Internet do not currently use these new features, Exchange uses these features only when communicating with other systems that support them. This is automatically negotiated between the two systems when they begin communicating.
Windows implements SMTP support using virtual servers. An SMTP virtual server is an instance of a service that appears to be a physical server. An SMTP virtual server has its own name, Internet Protocol (IP) address, port number, and authentication type, and each can be independently configured to meet your specific requirements. An Exchange server can support multiple SMTP virtual servers, although usually each server has only one SMTP virtual server checking for incoming connections on port 25 for all IP addresses.
Each SMTP virtual server is multithreaded, therefore there is no performance or scalability advantage for implementing multiple virtual servers on the same physical server. However, you may want to create additional virtual servers if the virtual servers have differing requirements that necessitate tailoring the configuration parameters. For example, you may want to use a different authentication method, such as anonymous access, for one of the virtual servers, or you may have certain users or applications that you do not want to use the same message size limits or other restrictions that you impose on the general e-mail population.
You can create a separate SMTP virtual server using a different port number to handle these special situations that will only allow specific hosts to route messages to the virtual server.
|< Day Day Up >|| |