A primer that I put together for my Network Engineering team to help them understand Exchange. This goes into detail on how MAPI, and other exchange stack protocols work across the network.
Ensuring Technical Readiness For Copilot in Microsoft 365
Microsoft Exchange Technology Overview
1. Exchange Technology
Overview
Mike Pruett
Manager – Information Technology
mpruett@istavision.com
2. System Overview
Functional Architecture
RPC Primer
Client-Side Communications
DNS Requirements
Domain Controllers
MAPI
Use Case #1 – Server Information Discovery
Use Case #2 – Login to a Mailbox
Agenda
3. Exchange servers provide a rich set of
interfaces with which clients can
interoperate.
Each protocol exposes a set of
functionality that pertains to specific
classes of operation.
These classes (or core functions) are
described as such:
◦ Message Processing System
◦ Information Store
System Overview
5. RPC or Remote Procedure Call is an Inter-process
communication technology that allows a computer program
to cause a subroutine or procedure to execute in another
address space (commonly on another computer/server)
without the programmer explicitly coding the details for
this remote interaction. That is, the programmer would
write essentially the same code whether the subroutine is
local to the workstation, or remote.
RPC is used by the Message Processing System to support
transmitting data between clients & servers.
RPC is also utilized by the Information Store to support
data storage on remote storage systems.
In order to establish native Exchange Server to Outlook
Client, or Exchange Server to Exchange Server
communications, RPC protocols must be used.
RPC Primer
7. The Message Processing System utilizes RCP to
communicate to all Outlook clients.
In the absence of RPC, the MPS can default to
standards-based protocols such as SMTP, POP3,
IMAP4 for client communications. (Non-Outlook)
Clients use DNS to resolve Exchange Server
host-names. (Same is true for reverse)
Domain Controller’s provide Directory Services
for Clients to resolve Global Address list
requests.
Exchange Servers depend on Domain Controller’s
for authentication services & security policies.
Client-Side Communications
8. DNS or Domain Naming System services are required by the MPS
for routing.
An Exchange Server needs to have an IP Address that is
resolvable from the Inside (internal) network.
In order to receive external email, the Exchange Server needs to
have an IP Address that is resolvable from the internet.
When a Internal Server has a IP address that is both resolvable
from inside & external, its called Split-Brain DNS.
DNS is used by the client to resolve Exchange Server host-
names.
Special type of DNS Records must exist to support email traffic.
Each Server must have an A record, and a MX record.
MX DNS records are configured to map the mail domain to the
public IP address corresponding to the externally available
Exchange server.
The MX records are propagated to the extended private or public
networks so all intended clients can resolve the domain name.
DNS Requirements
9. Domain Controllers provide security authentication for member
servers, and workstations.
Exchange uses DC’s for access accounting for all clients by way of
LDAP/Kerberos authentication.
Domain Controllers provide Global Catalog services which store
Meta-Data about all configured users within that Domain.
This Global Catalog is often called Active Directory, as it not only
maintains Users Login information, but also other Meta-Data
about the user.
Exchange utilizes the Global Catalog data to store Mail-Related
objects for all accounts whom have been “Mail-Enabled”.
The use of GC’s in an Exchange Environment is critical. If the
Exchange Server is unable to communicate with a Domain
Controller, the MPS will fail.
Domain Controllers
10. Client applications (including Outlook) utilize MAPI or Messaging Application
Programming Interface to interface with Exchange Servers.
Any application can utilize the MAPI subsystem to become mail-enabled or
mail-aware. A prime example is Internet Explorer.
The MAPI/RPC combo is used heavily by Outlook to process items such as
Calendar Events, Tasks, Meeting Reminders, and Rich-Type Mail object
rendering.
Due to its nature as a interface for other applications, MAPI is started as a
separate service to other Outlook functions.
MAPI has been around since 1987, and has been used as the primary
subsystem for all Microsoft Messaging Clients since CC’ mail.
Outlook clients can receive errors about “communicating to the exchange
server” because of a MAPI service problem. (Even though the Exchange Server
is fine.)
CDO.DLL is a integral Client Library that the MAPI Service requires.
If the version of the clients MAPI is older than the version on the Exchange
server, the clients state is severely degraded. (Clients CDO.DLL should be the
same version or higher than the Exchange CDO.DLL version.)
MAPI
12. 1. Client contacts LDAP server (Directory Service) for Service
Connection Point (SCP) objects via LDAP.
2. LDAP server returns SCP objects, which reference an
Autodiscover server URI or another LDAP server. If the SCP
returns another LDAP server, then repeat step with the new
LDAP server until URI are returned for Autodiscover server.
3. Client parses the URI and adds the appropriate Autodiscover
server URI’s to the list of possible Autodiscover server URI’s.
4. Client executes a DNS search for SRV records that match the
returned Autodiscover server URI.
5. If the DNS server responds with any SRV records, then the
corresponding Autodiscover server URI records are added to
the list of possible Autodiscover server URI’s on the client.
6. Client uses the Autodiscover server URI to contact the
Autodiscover server via HTTP to query server information.
Server Information Discovery
14. 1. Client uses the discovery process from the
previous use case to identify the appropriate server.
2. The client connects to the Exchange server via RPC
and issues a EcDoConnectEx (or EcDoConnect)
request, along with the client’s version information.
3. The Exchange server accepts the connection
request and responds with the server version and
other connection information.
4. The client issues a RopLogon Remote Operation
(ROP) request to attempt to log on to the mailbox
DN.
5. Upon successful logon, the Exchange server
returns a list of special Folder IDs depending on the
logon action requested by the client.
Logon to a Mailbox
15. Exchange Server Protocols System Overview
http://msdn.microsoft.com/en-
us/library/cc463895(v=EXCHG.80).aspx
MAPI – Wikipedia
http://en.wikipedia.org/wiki/MAPI
RPC – Wikipedia
http://en.wikipedia.org/wiki/Remote_procedu
re_call
KB171440 – CDO Libraries
http://support.microsoft.com/kb/171440
References