Exchange 2013 Transport Architecture Explained

Exchange Send Connector

Exchange 2013 introduced a number of changes over the previous versions with one of them being the reduction or available roles to three which means the Hub Transport Role has been removed and message transport logic moved to both the Client Access Server and the Mailbox Server role.

Being able to fully understand the Exchange 2013 Transport Architecture is essential when troubleshooting mail flow so let’s see how messages are being delivered without the Hub Transport Server.

Exchange 2013 Transport Architecture – Transport Services

As I have written above the Hub Transport Server role functionality has been integrated into transport services running both on the CAS and Mailbox Server, services are as follows:

  • Front End transport Service which runs on the CAS Server and acts as a proxy for all inbound (and optionally outbound) SMTP connections
  • Mailbox Transport Service which passes email messages between the transport service and the mailbox database

Below you can see a diagram giving a good representation of how all the components fit and work together

Exchange 2013 Transport Architecture

Exchange 2013 Transport Architecture – Internal Mailflow

Now that we have seen how Exchange 2013 mail transport works let’s see a practical example analyzing headers of a message that I have sent within my lab:

Received: from SZHV-EXM01.mcse.lab (192.168.1.218) by SZHV-EXM01.mcse.lab
 (192.168.1.218) with Microsoft SMTP Server (TLS) id 15.0.1076.9 via Mailbox
 Transport; Thu, 11 Jun 2015 22:32:20 +0200

Received: from SZHV-EXM01.mcse.lab (192.168.1.218) by SZHV-EXM01.mcse.lab
 (192.168.1.218) with Microsoft SMTP Server (TLS) id 15.0.1076.9; Thu, 11 Jun
 2015 22:32:20 +0200

Received: from SZHV-EXM01.mcse.lab ([fe80::717a:4a19:77b5:2652]) by
 SZHV-EXM01.mcse.lab ([fe80::717a:4a19:77b5:2652%12]) with mapi id
 15.00.1076.000; Thu, 11 Jun 2015 22:32:20 +0200

The above is the partial header of a test message I’ve sent between two accounts in the same Exchange 2013 organization and below you can see a graphical representation of the same header analyzed through MX Toolbox header analyzer

Exchange 2013 Trasnport - Internal mailflow

As you can see in the picture and the header above eve if the sender and recipient mailboxes are on the same server and mailbox the message goes through all the various Exchange 2013 transport services even if all resides on the same server.

Exchange 2013 Transport Architecture – External Mailflow

Now that we have observed how email messages are delivered between mailboxes within the same organization let’s see what happens when sending a message to an external recipient

Exchange 2013 Trasnport - External mailflow

Above you can see the message traversed the various transport services on the Exchange 2013 server and delivered the message to google.

If the above message was sent through an Exchange 2010 server the submission of the message would have happened between the mailbox database (via RPC/MAPI) to the Hub Transport Server that would have then delivered to google, in Exchange 2013 the message traverse the Mailbox Transport service which adds at least one additional passed in the header.

In the above examples I’ve used a Multirole Exchange 2013 Server with no Edge Trasnport Server Role otherwise the message would have been handed from the Mailbox Transport service to the Edge Server through the dedicated Send Connector

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s