SOLVED

Exchange 2010 and 2016 coexistence

Steel Contributor

We've just installed Exchange server 2016 in an existing Exchange server 2010 environment. We've had an issue where the Default receive connector on the HT servers has been configured to only receive mail from certain servers for some reason, and this was stopping some users from sending mail internally. We fixed this up, but I can't get my head around why the Exchange 2016 got involved in this internal mail flow in the first place. None of the namespace or mailflow cutover has occured yet, only the intitial install of the Exchange servers, so I would have thought that internal mail flow would have been through the Exchange 2010 servers only. If anyone can let me know what happens upon the intitial installation of Exchange 2016 that cuases it to be involved in the internal mail flow, that would be great. some Technet articles describing this would be prefect.

7 Replies
So I'm going to try and answer my own question. If this is incorrect I'd lobe if someone could point me in the right direction From the "Understanding Message Routing" technet article, it advises that Exchange 2010 generates a list of HT servers in the AD site. I assume that this list includes both 2013/2016 servers. If the local 2010 Mailbox server that generated the message isn't running the HT server role, notifications that a message is waiting are load balanced among Hub Transport servers by using round robin, thus the Server 2016 servers can pick up the message. I just need to figure out why 2016 was trying to send the mail back to a 2010 HT server and not directly to the 2010 MBX server that contained the user

Hi Dan,

 

Here you can see how the Mail flow and transport work https://technet.microsoft.com/en-us/library/aa996349(v=exchg.160).aspx

 

For mail routing https://technet.microsoft.com/en-us/library/aa998825(v=exchg.160).aspx

 

Note: If you need to change any o the Connectors, use Front End Transport

"isn't running the HT server role, notifications that a message is waiting are load balanced among Hub Transport servers by using round robin,"

So nearly right! When a mailbox delivers to transport service it is ALWAYS version dependent. But when delivering cross AD site, it is NEVER version dependent.

That means, mailbox 2010 to transport server initially will stay 2010. But when then delivering to another AD site, or receiving from another AD site, the sending transport service will round robin across all the transport servers that are online in the target site.

Brian Reid

Hi Brian,

 

That is not what we have just experienced. With Exchange 2010 and Exchange 2016 installed in the same site, Exchange 2016 servers were picking up internal to internal messages for local delivery from the Exchange 2010 servers. The only way we noticed this is that the client had played around with the default receive connectors on the Exchange 2010 servers and restricted the remote server IP range, so the new Exchange 2016 servers weren't included. This caused messages to queue on the Exchange 2016 servers until they were allowed on Exchange 2010 receive connectors.

I believe this is due to shadow queue in Exchange 2010, or Safety Net in Exchange 2016. Exchange will always route an email through another Exchange transport server in the same site to create another copy of the message for backfill if necessary. See https://technet.microsoft.com/en-us/library/dd351027(v=exchg.141).aspx

best response confirmed by Thomas Stensitzki (MVP)
Solution
To see what is happening get the message headers and post them to exrca.com. This will show things like 2010 mapi to 2010 transport (as I described above) and later the last hop being to 2010. As the mailbox is on 2010, the transport service must deliver it to a Hub Transport role. 2016 cannot deliver to a 2010 mailbox. 2016 can deliver to 2010 transport but only 2010 transport can deliver to 2010 mailbox (as transport to transport is not version dependant but transport to and from mailbox is version dependant)

This was exactly the answer I needed. Thanks so much Brian!!!

1 best response

Accepted Solutions
best response confirmed by Thomas Stensitzki (MVP)
Solution
To see what is happening get the message headers and post them to exrca.com. This will show things like 2010 mapi to 2010 transport (as I described above) and later the last hop being to 2010. As the mailbox is on 2010, the transport service must deliver it to a Hub Transport role. 2016 cannot deliver to a 2010 mailbox. 2016 can deliver to 2010 transport but only 2010 transport can deliver to 2010 mailbox (as transport to transport is not version dependant but transport to and from mailbox is version dependant)

View solution in original post