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 – 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
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
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