Proxy du service d'annuaire

 

Dernière rubrique modifiée : 2006-11-27

Le proxy du service d'annuaire (DSProxy) est un composant Exchange Server 2003 qui fournit un service de carnet d'adresses aux clients Microsoft Office Outlook. DSProxy est implémenté dans DSProxy.dll et comporte deux fonctions :

  • émuler un service de carnet d'adresses MAPI et transmettre par procuration des demandes à un serveur Active Directory ;
  • fournir un mécanisme de redirection afin que les clients Outlook puissent contacter directement les serveurs Active Directory.

Son nom implique qu'il fournit uniquement des services proxy, cependant DSProxy fournit également des services de redirection.

Les clients MAPI qui exécutent des versions d'Outlook antérieures à Outlook 2000 ont accès à l'annuaire à l'aide du composant DSProxy. Ces versions antérieures furent conçues en partant du principe que chaque serveur Exchange contenait un service d'annuaire. Ce n'est plus le cas avec Exchange 2000 Server et les versions ultérieures. Par conséquent, DSProxy émule un service d'annuaire afin que les versions antérieures du client puissent fonctionner. En effet, le serveur Exchange 2003 transfère les demandes vers Active Directory.

Les versions ultérieures d'Outlook, comme Outlook 2000 et Outlook 2002, utilisent toujours un proxy NSPI (Name Service Provider Interface) sur la connexion initiale à Exchange Server. Toutefois, après que le client a contacté le serveur, le service DSProxy transfère une redirection au client. Dès ce moment, toutes les futures demandes concernant l'annuaire sont envoyées directement au serveur de redirection. Dans ce cas, le serveur de redirection est le serveur de catalogue global.

noteRemarque :
Dans la version originale d'Outlook 2000, une redirection est actualisée uniquement s'il est impossible d'atteindre le serveur de catalogue global. Dans Outlook 2000 Service Release 2 (SR2), la redirection est actualisée à chaque démarrage d'Outlook. Cette modification permet d'éviter qu'Outlook 2000 ne se connecte continuellement à un serveur de catalogue global inapproprié. Outlook 2002 et versions ultérieures met à jour sa redirection de catalogue global lorsque le client redémarre ou en cas d'échec.

DSProxy obtient sa liste de serveurs de catalogue global en cours d'exécution auprès de DSAccess, mais il n'achemine pas ses requêtes via DSAccess. En effet, DSProxy utilise l'interface NSPI pour envoyer des recherches de carnet d'adresses MAPI. DSAccess traite uniquement les requêtes LDAP. Cependant, DSProxy dépend entièrement de DSAccess pour assurer le basculement de catalogue global.

Opérations DSProxy

DSProxy effectue les opérations suivantes.

  • Il acquiert la liste des catalogues globaux en cours d'exécution auprès de DSAccess et élimine les catalogues globaux inappropriés.
  • Il transmet par procuration des requêtes MAPI de clients antérieurs à Outlook 2000 aux serveurs de catalogue global, en fonction du nombre de catalogues globaux et du protocole IP du client.
  • Il redirige Outlook 2000 et les versions plus récentes vers des serveurs de catalogue global à l'aide d'un mécanisme de répétitions alternées.

Initialement, DSProxy s'exécute en tant que thread unique, pouvant prend en charge jusqu'à 512 connexions de client. DSProxy produit automatiquement un thread supplémentaire toutes les 512 connexions. Contrairement à DSAccess, DSProxy ne dispose pas de mécanisme de cache. Cela signifie que toutes les requêtes MAPI traitées via DSProxy sont envoyées à un catalogue global en cours d'exécution.

Système de redirection d'Exchange Server 2003 avant le Service Pack 2

Exchange Server 2003 Service Pack 2 (SP2) a connu un changement au niveau de la conception en ce qui concerne la redirection du service DSProxy vers des clients Outlook dans des catalogues globaux. Cette rubrique explique les différences du système de redirection avant et après ces modifications.

Avant Exchange Server 2003 SP2, les clients Outlook MAPI recevaient soit une redirection vers un serveur de catalogue global ou pouvaient utiliser le serveur Exchange pour envoyer des requêtes liées aux répertoires. Dans un scénario dans lequel le client est Outlook 2000, après que le client Outlook s'est connecté au serveur Exchange, le service DSProxy retransfère une redirection au client. Dès ce moment, toutes les futures requêtes de répertoire sont envoyées directement au serveur de catalogue global de redirection.

Dans ce scénario, le catalogue global provient de l'un des deux emplacements suivants :

  • Le catalogue global se situe sur le même site Active Directory que le serveur Exchange (comportement habituel).
  • Le catalogue global se trouve sur un site Active Directory directement connecté au site Active Directory du serveur Exchange (lorsque tous les catalogues globaux du site sont indisponibles).

En plus d'être membre du site, DSProxy préfère utiliser les serveurs de catalogue global qui sont membres du même domaine que le serveur Exchange. Si aucun n'est disponible, DSProxy utilise les autres serveurs de catalogue global sur le site Active Directory.

Ce comportement présente des problèmes dans des environnements à plusieurs domaines dans lesquels DomainPrep a été exécuté. Si un client est notamment redirigé vers un serveur de catalogue global que ne réside pas dans le même domaine que l'utilisateur à extension messagerie, cet utilisateur aura accès à des données en format lecture seule. Cela signifie que les mises à jour de certains objets peuvent échouer. Les mises à jour peuvent être des mises à jour de l'utilisateur à extension messagerie telles que l'accès délégué ou l'appartenance à un groupe de distribution.

Scénario pré-SP2

La forêt contient trois domaines, chacun préparé pour Exchange Server. Tous les utilisateurs et les groupes de distribution résident dans le domaine UserDomain. Un serveur de catalogue global provenant de UserDomain et ThirdDomain sont des membres du site Active Directory du serveur Exchange. Les clients Outlook se trouvent sur un autre site Active Directory. Le domaine du serveur Exchange n'est pas représenté et aucun serveur de catalogue global de ce domaine ne réside sur le site Active Directory d'Exchange Server.

Processus de redirection DSProxy Pré-SP2

Si un client Outlook 2003 se connecte au serveur Exchange, DSProxy pourrait le rediriger vers l'un des trois serveurs de catalogue global du site Active Directory du serveur Exchange, en partant du principe qu'un ou plusieurs de ces serveurs de catalogue global sont en ligne et accessibles. Étant donné qu'aucun serveur de catalogue global n'est membre du domaine du serveur Exchange, le comportement du pré-SP2 n'accorde de préférence à aucun d'entre eux. DSProxy équilibre la charge des requêtes de redirection sur les serveurs de catalogue global disponibles pour répartir les clients de façon équitable.

En prenant en considération la conception ci-dessus, il y a 66 % de chance que DSProxy redirige le client Outlook vers un serveur de catalogue global ne se trouvant pas dans le domaine d'origine du client. Pour les besoins de cette discussion, partons du principe que DSProxy redirige le client vers un serveur de catalogue global ThirdDomain. Dans ce scénario, les clients Outlook peuvent utiliser ce serveur de catalogue global avec succès pour toutes les requêtes de répertoire, à l'exception de :

  • la mise à jour de l'appartenance aux groupes de distribution qui résident dans UserDomain ;
  • l'attribution d'autorisations de délégué aux boîtes aux lettres de ces groupes de distribution, qui résident dans UserDomain ;
  • la publication de certificats dans la liste d'adresses globale à l'aide de l'option Publier vers la liste d'adresses globale dans Outlook.

Si DSProxy a redirigé le client Outlook vers le CG1 UserDomain, le client Outlook peut effectuer les requêtes répertoriées ci-dessus.

Pour plus d'informations sur le comportement du pré-SP2 et les problèmes potentiels, voir les articles suivants de la Base de connaissances Microsoft.

Système de redirection d'Exchange Server 2003 Service Pack 2

Dans Exchange Server 2003 SP2, le processus de redirection tente désormais de fournir au client Outlook un catalogue global appartenant au même domaine que l'utilisateur à extension messagerie en utilisant un nouvel algorithme. Celui-ci résout le problème de délégation si un serveur de catalogue global du domaine d'origine existe et est accessible par le serveur Exchange pour le destinataire du courrier. Il peut traiter ce problème de groupe de distribution si ce dernier réside dans le même domaine que la boîte aux lettres. Si ce n'est pas le cas, il ne traite pas ce problème car le catalogue global contient une copie en lecture seule du groupe de distribution.

Fonctionnement du nouvel algorithme

Le service DSProxy d'Exchange Server 2003 SP2 essaie de rediriger le client Outlook vers un serveur de catalogue global disponible, prend en charge le protocole utilisé par le client et réside dans le domaine Active Directory d'origine du propriétaire de la boîte aux lettres. Pour que DSProxy trouve un serveur de catalogue global qui réponde à ces critères, il mesure les avantages des serveurs de catalogue global en fonction des contraintes suivantes :

  • Contrainte 1   Catalogue global qui est disponible (RPC ping) – 16 points
  • Contrainte 2   Catalogue global qui prend en charge le protocole client – 8 points
  • Contrainte 3   Catalogue global qui appartient au domaine de l'utilisateur – 4 points
  • Contrainte 4   Catalogue global se trouvant dans le même site Active Directory que le serveur Exchange – 2 points
  • Contrainte 5   Catalogue global faisant partie des catalogues globaux que le serveur Exchange utilise – 1 point

DSProxy répartit d'abord les serveurs de catalogue global qui ont le plus de points, puis attribue les ressources de manière séquentielle en cas d'égalité.

La contrainte 1 est calculée toutes les cinq minutes et peut être configurée via la modification de la clé de Registre LdapKeepAliveSecs. Les contraintes 2 et 3 sont « dynamiques » car elles doivent être calculées à chaque fois qu'un client demande une redirection. Les contraintes 4 et 5 sont « statiques » car elles sont calculées une fois pour chaque catalogue global, puis elles sont stockées.

La contrainte 5 est également appelée liste d'incarnations. Lors de l'initialisation de DSAccess, ce dernier crée une liste d'incarnations de 10 serveurs de catalogue global dans le site qu'il peut utiliser. Si tous les serveurs de catalogue global dans le site sont indisponibles, DSAccess crée une liste d'incarnations de 10 serveurs hors site à partir des sites directement connectés, en commençant par celui qui a les coûts de liaison les plus bas. Étant donné l'ordre des contraintes, DSProxy préfère les serveurs dans la liste d'incarnations de DSAccess, de manière à ce que, par défaut, il préfère les 10 serveurs qui offrent les coûts de liaison les plus bas. Toutefois, DSProxy possède une liste de tous les serveurs de catalogue global dans tous les sites directement connectés et utilise uniquement l'appartenance à la liste d'incarnations pour attribuer des points aux serveurs.

La figure suivante indique le scénario dans lequel il existe deux domaines, Exchange Domain et UserDomain.

Processus de redirection DSProxy dans Exchange Server 2003 SP2

Dans ce scénario, les serveurs de catalogue global se verront attribuer des points par le service DSProxy comme illustré dans le tableau suivant. Notez l'hypothèse que tous les serveurs de catalogue global se trouvent dans le site Active Directory Exchange et sont réactifs.

Serveur Site Active Directory Utilisé par DSAccess ? Total des points par valeur de contrainte

CG1 UserDomain

Site client Active Directory

Non

16+8+4=28

(1, 2, 3)

CG2 UserDomain

Site client Active Directory

Non

16+8+4=28

(1, 2, 3)

CG3 UserDomain

Site B Active Directory

Non

16+8+4=28

(1, 2, 3)

CG4 UserDomain

Site B Active Directory

Non

16+8+4=28

(1, 2, 3)

CG1 Exchange Domain

Site Active Directory Exchange

Oui

16+8+2+1=27

(1, 2, 4, 5)

CG2 Exchange Domain

Site Active Directory Exchange

Oui

16+8+2+1=27

(1, 2, 4, 5)

CG3 Exchange Domain

Site A Active Directory

Non

16+8=24

(1, 2)

CG4 Exchange Domain

Site A Active Directory

Non

16+8=24

(1, 2)

CG5 Exchange Domain

Site B Active Directory

Non

16+8=24

(1, 2)

CG6 Exchange Domain

Site B Active Directory

Non

16+8=24

(1, 2)

noteRemarque :
Comme vous pouvez le voir dans le tableau, CG7 Exchange Domain et CG5 UserDomain ne sont pas inclus car ils ne sont pas directement connectés au site Active Directory du serveur Exchange. En d'autres termes, le serveur Exchange n'utilise jamais ces serveurs de catalogue global pour des fonctions DSAccess ou DSProxy.

Dans cet exemple, vous pouvez voir que cet algorithme donne la priorité au serveur de catalogue global hors site sur un serveur de catalogue global dans le site, dont le comportement DSProxy pré-SP2 général est différent.

Dans cet exemple, Exchange Server fournit les serveurs de catalogue global UserDomain aux clients Outlook (de manière séquentielle pour équilibrer la charge des requêtes) car ces serveurs ont un calcul de points supérieur aux serveurs de catalogue global Exchange Domain. Cela signifie qu'Exchange peut désormais renvoyer des clients à des serveurs de catalogue global hors site (mais seulement ceux qui sont connectés directement au site Active Directory Exchange) si le site Active Directory du serveur Exchange ne contient pas de serveur de catalogue global du domaine d'origine de la boîte aux lettres. Dans cet exemple, le client Outlook peut être redirigé vers un serveur de catalogue global UserDomain situé dans le site B Active Directory ou dans le site Client Active Directory.

En outre, si tous les serveurs de catalogue global UserDomain étaient inaccessibles (c'est-à-dire, les serveurs dont la contrainte 1 a échoué), DSProxy redirigerait les clients Outlook vers les serveurs de catalogue global qui résident dans le site Active Directory Exchange car leur total de points est le second plus élevé.

Pour plus d'informations sur la redirection de DSProxy post-SP2, consultez l'article du blog de l'équipe Exchange Server relatif à la mise à jour concernant la redirection de DSProxy post-SP2 dans Exchange 2003.

noteRemarque :
Le contenu de chaque blog et leur URL sont susceptibles d'être modifiés sans préavis.

Problèmes ne pouvant être résolus par le changement d'Exchange Server 2003 SP2 DSProxy

Le changement de redirection de DSProxy permet à l'utilisateur final de ne rechercher qu'un serveur de catalogue global du domaine d'origine. S'il n'existe pas de serveur de catalogue global du domaine d'origine dans le site Active Directory du serveur Exchange ou dans un site Active Directory directement connecté au serveur Exchange, le client Outlook est redirigé vers un serveur de catalogue global qui contient une copie en lecture seule de l'utilisateur à extension messagerie. Cet accès en lecture seule signifie que la boîte aux lettres en question ne peut pas entreprendre de modification de délégué ni publier de certificats dans la liste d'adresses globale.

En outre, bien que le nouveau système puisse résoudre les problèmes d'autorisation de délégué et de publication de certificats, il risque de ne pas prendre en charge la capacité du destinataire du courrier à mettre à jour l'appartenance à un groupe de distribution. Le groupe de distribution doit appartenir au même domaine que le destinataire du courrier pour que ce dernier puisse mettre à jour l'appartenance. Si le groupe de distribution n'appartient pas au même domaine que le destinataire du courrier, la mise à jour de l'appartenance échoue. Par conséquent, il se peut que vous deviez encore chercher une autre solution pour fournir à l'ensemble des utilisateurs la possibilité de mettre à jour l'appartenance.

Implications du système de redirection DSProxy

Les éléments suivants doivent être revus dans votre infrastructure :

  • Même s'il convient de tenir compte en premier lieu de la conception réseau, ce changement peut entraîner la redirection des clients vers des serveurs de catalogue global incorrects du point du vue du réseau (latence, bande passante, utilisation, nombre de sauts). Il est recommandé de prendre en compte les implications réseau avant la mise en œuvre.
  • Pour vous assurer qu'Exchange Server continue à effectuer des redirections de catalogue global dans le site, vous risquez de devoir ajouter des serveurs de catalogue global au site Active Directory Exchange pour les domaines qui contiennent des boîtes aux lettres résidant sur les serveurs Exchange de ce site Active Directory.