With Exchange 2013 now there is no HUB Transport Role in other words it is divided and merged between Client Access & Mailbox Server Role. There are very good reasons and benefits too behind the architectural changes but at the same time Exchange Admins has to update its knowledge with this new mail flow concept.
While going through the TechNet documentation I found it to be interesting and enjoyed going through each topics on mail flow, thought of sharing the knowledge of basic mail flow how it works in an Exchange 2013 via this article.
There are three main services with regards to mail flow in Exchange 2013 as mentioned below:
- Front End Transport Service – This is runs on CAS Servers and acts as a stateless proxy server. It takes care of all the inbound and outbound external SMTP traffic for Exchange 2013 Organizaiton
- Transport Service – This service runs on Mailbox Servers and is virtually identical to the HUB Transport role in previous version. This service handles all the mail flow for the organization
- Mailbox Transport Service – This service runs on Mailbox Server and consist of two separate types: the Mailbox Transport Submission & Mailbox Delivery Transport Service. Since Transport service never communicate directly with mailbox database, the task is now handled by the Mailbox Transport Service.
Below is the mail flow topology diagram of Exchange 2013 Organization @High Level
Scenario A – User@externaldomain.com sends email to UserA@exchangems.in
- Externaldomain.com SMTP Server queries internet domain exchangems.in for MX record and it sees pointed to the firewall listening on port 25
- Since we have Smart Host setup in the DMZ network – the email is forwarded to the CAS server behind the DMZ network on port 25
- Exchange 2013 CAS accepts the email using receive connector (by default it has anonymous option checked unlike its previous version Exchange 2007/10).
- Exchange 2013 being stateless doesn’t hold the email which then proxies the SMTP request using Front End Transport Service to Transport service (Equivalent to MS Transport Service in legacy version – 2007/10) on the Mailbox Server role.
- The Transport service on Mailbox Server then categorizes the email, performs message content inspection, etc. Since it doesn’t connects directly to Mailbox database it sends email to the Mailbox Transport Service over port 25
- The Mailbox Transport Service is again divided into two service out of which Mailbox Transport Delivery service receives SMTP message from Transport service
- The Mailbox Transport Delivery Service using Store Driver would connect to the mailbox database via RPC and deliver the e-mail to the mailbox database
Note: If the mailbox is in different mailbox server DB – The message received at Transport service would route the email to Transport Service on the destination Mailbox Server via SMTP on port 25 and the process continues from Transport service to Mailbox Transport Delivery service as mentioned above.
Scenario B – UserB@exchangems.in sends email to User@externaldomain.com
- The Mailbox Transport Submission service using Store Driver would connect to the mailbox database via RPC and pull the e-mail
- The Mailbox Transport submission would try to resolve the recipient to its mailbox database and look up for the delivery group
- The Transport service on the mailbox server will receive the e-mail sent over SMTP from the Mailbox Transport Submission service using its default receive connector (on port 25)
- The categorizer then picks up message from submission queue and since it is external domain (outbound to internet) the message is routed to the Front End transport service on CAS server using the send connector
- Since we have configured the Smart Host on the Send Connector, the CAS Server Front End Service would route the email to Smart Host on port 25
- Smart Host would then query on the internet for the MX record of externaldomain.com for message delivery
Note: If the recipient was of the same organization(UserA@exchangems.in) but on the other mailbox server database, the transport service instead of forwarding message to CAS server frond end service it would directly connect to other mailbox server transport service on port 25 and the process continues as above mentioned in scenario A delivering message to database.
For the in-depth process and its working please refer TechNet Documentation.