
Exchange Server 2003 Service Pack 2 Referral Behavior
In Exchange Server 2003 SP2, by using a new algorithm, the referral process now tries to provide the Outlook client with a global catalog that belongs to the same domain as the mailbox-enabled user. The new algorithm will solve the delegation issue, if a home-domain global catalog server exists and is reachable by the Exchange server for the mail recipient. It may address the distribution group issue if the distribution group resides in the same domain as the mailbox. If it does not reside in the same domain, it will not address the issue because the global catalog contains a read-only copy of the distribution group.
How the New Algorithm Works
The Exchange Server 2003 SP2 DSProxy service tries to refer the Outlook client to a global catalog server that is available, supports the protocol that is used by the client, and resides in the mailbox owner’s home Active Directory domain. For DSProxy to find a global catalog server that meets those requirements, DSProxy scores the desirability of a particular global catalog server based on the following constraints:
-
Constraint 1 A global catalog that is available (RPC ping) – 16 points
-
Constraint 2 A global catalog that supports the client's protocol – 8 points
-
Constraint 3 A global catalog that belongs to the user's domain – 4 points
-
Constraint 4 A global catalog that is in the same Active Directory site as the Exchange server – 2 points
-
Constraint 5 A global catalog that is one of the global catalogs that the Exchange server is currently using – 1 point
DSProxy distributes the global catalog servers that have the most points first, and sequentially allocates resources if there is a tie.
Constraint 1 is computed every five minutes and is configurable through changing the LdapKeepAliveSecs registry key. Constraints 2 and 3 are "dynamic" because they must be computed every time that a client demands a referral. Constraints 4 and 5 are "static" because they are computed one time for each global catalog and then stored.
Constraint 5 is also known as the incarnation list. When DSAccess initializes, it builds an incarnation list of 10 in-site global catalog servers that it can use. If all in-site global catalog servers are unavailable, DSAccess builds an incarnation list of 10 out-of-site servers from the directly connected sites, starting with the site that has the lowest site link cost. Because of the constraint ordering, DSProxy prefers servers in the incarnation list of DSAccess so that by default, it will prefer the 10 servers that have the lowest site link cost. However, DSProxy has a list of all global catalog servers in all directly connected sites and only uses membership in the incarnation list to assign points to servers.
The following figure shows the scenario where there are two domains, Exchange Domain and UserDomain.
In this scenario, the global catalog servers will be assigned the points by the DSProxy service as shown in the following table. Be aware that the assumption is made that all global catalog servers are up and responsive in the Exchange Active Directory site.
|
Server
|
Active Directory site
|
In-Use by DSAccess?
|
Total points by constraint value
|
|---|
|
UserDomain GC1
|
Client Active Directory site
|
No
|
16+8+4=28
(1, 2, 3)
|
|
UserDomain GC2
|
Client Active Directory site
|
No
|
16+8+4=28
(1, 2, 3)
|
|
UserDomain GC3
|
Active Directory site B
|
No
|
16+8+4=28
(1, 2, 3)
|
|
UserDomain GC4
|
Active Directory site B
|
No
|
16+8+4=28
(1, 2, 3)
|
|
Exchange Domain GC1
|
Exchange Active Directory site
|
Yes
|
16+8+2+1=27
(1, 2, 4, 5)
|
|
Exchange Domain GC2
|
Exchange Active Directory site
|
Yes
|
16+8+2+1=27
(1, 2, 4, 5)
|
|
Exchange Domain GC3
|
Active Directory site A
|
No
|
16+8=24
(1, 2)
|
|
Exchange Domain GC4
|
Active Directory site A
|
No
|
16+8=24
(1, 2)
|
|
Exchange Domain GC5
|
Active Directory site B
|
No
|
16+8=24
(1, 2)
|
|
Exchange Domain GC6
|
Active Directory site B
|
No
|
16+8=24
(1, 2)
|
Note: |
|---|
|
As you can see from the table, Exchange Domain GC7 and UserDomain GC5 are not included because they are not directly connected to the Exchange server’s Active Directory site. In other words, the Exchange server never uses those global catalog servers for DSAccess or DSProxy functions.
|
From this example, you can see that this algorithm may prioritize an out-of-site global catalog server over an in-site global catalog server, which differs from typical pre-SP2 DSProxy behavior.
In this example, Exchange Server provides the UserDomain global catalog servers to the Outlook clients (in a sequential manner to load-balance requests) because those global catalog servers have a greater point calculation than the Exchange Domain global catalog servers. This means that Exchange can now refer clients to out-of-site global catalog servers (but only those that are directly connected to the Exchange Active Directory site) if there are no mailbox home-domain global catalog servers available in the Exchange server’s Active Directory site. In this particular example, the Outlook client could receive a referral to a UserDomain global catalog server that is located in Active Directory site B or the Client Active Directory site.
Additionally, if all the UserDomain global catalog servers were unreachable (that is, those servers failed Constraint 1), DSProxy would refer the Outlook clients to the global catalog servers that reside in the Exchange Active Directory site, because they have the next highest point cost.
For more information about post-SP2 DSProxy referral, see the Exchange Server Team blog article Exchange 2003 post-SP2 DSProxy Referral Update.
Note: |
|---|
|
The content of each blog and its URL are subject to change without notice.
|
What the Exchange Server 2003 SP2 DSProxy Change Does Not Solve
The DSProxy referral change helps the end-user only when DSProxy can find a home-domain global catalog server. If there are no home-domain global catalog servers in the Exchange server’s Active Directory site or in any of the Exchange server’s directly-connected Active Directory sites, the Outlook client receives a referral to a global catalog server that contains a read-only copy of the mailbox-enabled user. This read-only access means that the mailbox in question cannot make delegate modifications or publish certificates to the (GAL).
Additionally, although the new behavior could solve the delegate permission and certificate publishing issues, it might not address the mail recipient’s ability to update distribution group membership. The distribution group must belong to the same domain as the mail recipient for the mail recipient to update the membership. If the distribution group does not belong to the same domain as the mail recipient, updating the membership will fail. Therefore, you may still have to examine another solution to provide all users with the capability to update group membership.
Implications of the DSProxy Referral Behavior
The following items must be reviewed in your infrastructure:
-
Unless there is prior consideration with regard to network design, this change may cause clients to be referred to incorrect global catalog servers from a network perspective (latency, bandwidth, usage, number of hops). We recommend that you consider network implications before implementation.
-
To ensure that Exchange Server continues to provide in-site global catalog referrals, you may need to add global catalog servers to the Exchange Active Directory site for those domains that contain mailboxes residing on the Exchange servers in that Active Directory site.