Méthodes de hachage

Les méthodes d’équilibrage de charge basées sur des hachages de certaines informations de connexion ou informations d’en-tête constituent la majorité des méthodes d’équilibrage de charge de l’appliance Citrix ADC. Les hachages sont plus courts et plus faciles à utiliser que les informations sur lesquelles ils sont basés, tout en conservant suffisamment d’informations pour s’assurer qu’aucun élément d’information différent ne génère le même hachage et sont donc confondus les uns avec les autres.

Vous pouvez utiliser les méthodes d’équilibrage de charge de hachage dans un environnement où un cache sert une large gamme de contenu provenant d’Internet ou de serveurs d’origine spécifiés. La mise en cache des requêtes réduit la latence des demandes et des réponses et assure une meilleure utilisation des ressources (CPU), rendant la mise en cache populaire sur les sites Web et les serveurs d’applications fortement utilisés. Comme ces sites bénéficient également de l’équilibrage de charge, les méthodes d’équilibrage de charge de hachage sont largement utiles.

L’appliance Citrix ADC fournit les méthodes de hachage suivantes :

  • Méthode de hachage d’URL
  • Méthode de hachage de domaine
  • Méthode de hachage IP de destination
  • Méthode de hachage IP source
  • Méthode de hachage IP de destination IP source
  • Méthode de hachage du port source IP source
  • Méthode de hachage d’ID d’appel
  • Méthode de jeton

Ces algorithmes de hachage assurent une perturbation minimale lorsque des services sont ajoutés ou supprimés de votre configuration d’équilibrage de charge. La plupart d’entre eux calculent deux valeurs de hachage :

  • Un hachage de l’adresse IP et du port du service.
  • Hash de l’URL entrante, du nom de domaine, de l’adresse IP source, de l’adresse IP de destination ou des adresses IP source et destination, selon la méthode de hachage configurée.

L’appliance Citrix ADC génère ensuite une nouvelle valeur de hachage en utilisant ces deux valeurs de hachage. Enfin, il transmet la requête au service avec la valeur de hachage la plus élevée. Lorsque l’appliance calcule une valeur de hachage pour chaque requête et sélectionne le service qui traitera la demande, elle remplit un cache. Les requêtes suivantes avec la même valeur de hachage sont envoyées au même service. L’organigramme suivant illustre ce processus.

Figure 1. Comment les méthodes de hachage distribuent les demandes

hashing-method-distribute-requests

Les méthodes de hachage peuvent être appliquées aux adresses IPv4 et IPv6.

Considérons un scénario dans lequel trois services (Service-HTTP-1, Service-HTTP-2 et Service-HTTP-3) sont liés à un serveur virtuel, toute méthode de hachage est configurée et la valeur de hachage est Hash1. Lorsque les services configurés sont UP, la demande est envoyée à Service-HTTP-1. Si Service-HTTP-1 est en panne, l’appliance Citrix ADC calcule la valeur de hachage du dernier journal du nombre de services. L’appliance sélectionne ensuite le service ayant la valeur de hachage la plus élevée, tel que Service-HTTP-2. Le diagramme suivant illustre ce processus.

Figure 2. Modèle d’entité pour les méthodes de hachage

modèle de hachage

Remarque : si l’appliance Citrix ADC ne parvient pas à sélectionner un service à l’aide d’une méthode de hachage, elle utilise par défaut la méthode de connexion la moins adaptée pour sélectionner un service pour la demande entrante. Vous devez ajuster les pools de serveurs en supprimant les services pendant les périodes de faible trafic pour permettre aux caches de repeupler sans affecter les performances de votre configuration d’équilibrage de charge.

La méthode de hachage de l’URL

Lorsque vous configurez l’appliance Citrix ADC pour qu’elle utilise la méthode de hachage URL pour équilibrer la charge des services, pour sélectionner un service, l’appliance génère une valeur de hachage de l’URL HTTP présente dans la demande entrante. Si le service sélectionné par la valeur de hachage est DOWN, l’algorithme dispose d’une méthode pour sélectionner un autre service dans la liste des services actifs. L’appliance met en cache la valeur hachée de l’URL et, lorsqu’elle reçoit des demandes ultérieures qui utilisent la même URL, elle les transmet au même service. Si l’appliance ne peut pas analyser une requête entrante, elle utilise la méthode round robin pour l’équilibrage de la charge au lieu de la méthode de hachage URL.

Pour générer la valeur de hachage, l’appliance utilise un algorithme spécifique et considère une partie de l’URL. Par défaut, l’appliance prend en compte les 80 premiers octets de l’URL. Si l’URL est inférieure à 80 octets, l’URL complète est utilisée. Vous pouvez spécifier une longueur différente. La longueur de hachage peut être de 1 à 4096 octets. Généralement, si des URL longues sont utilisées où seulement un petit nombre de caractères sont différents, il est conseillé de rendre la longueur de hachage aussi élevée que possible pour essayer d’assurer une distribution de charge plus uniforme.

Considérons un scénario dans lequel trois services, Service-HTTP-1, Service-HTTP-2 et Service-HTTP-3, sont liés à un serveur virtuel, et la méthode d’équilibrage de charge configurée sur le serveur virtuel est la méthode de hachage URL. Le serveur virtuel reçoit une requête et la valeur de hachage de l’URL est U1. appliance sélectionne Service-HTTP-1. Si Service-HTTP-1 est DOWN, l’appliance sélectionne Service-HTTP-2.

Le diagramme suivant illustre ce processus.

Figure 3. Fonctionnement du hachage d’URL

Hachage d'URL

Si Service-HTTP-1 et Service-HTTP-2 sont tous deux DOWN, l’appliance envoie des requêtes avec la valeur de hachage U1 à Service-HTTP-3.

Si Service-HTTP-1 et Service-HTTP-2 sont en panne, les requêtes qui génèrent l’URL1 de hachage sont envoyées à Service-HTTP-3. Si ces services sont UP, les demandes qui génèrent l’URL1 de hachage sont distribuées de la manière suivante :

  • Si le Service-HTTP-2 est en service, la demande est envoyée à Service-HTTP-2.
  • Si le Service-HTTP-1 est en service, la demande est envoyée à Service-HTTP-1.
  • Si Service-HTTP-1 et Service-HTTP-2 sont mis en service en même temps, la demande est envoyée à Service-HTTP-1.

Pour configurer la méthode de hachage URL, reportez-vous à la section Configuration d’une méthode d’équilibrage de charge qui n’inclut pas de stratégie. Sélectionnez la méthode d’équilibrage de charge en tant qu’URL Hash et définissez la longueur de hachage sur le nombre d’octets à utiliser pour générer la valeur de hachage.

La méthode de hachage du domaine

Un serveur virtuel d’équilibrage de charge configuré pour utiliser la méthode de hachage de domaine utilise la valeur hachée du nom de domaine dans la requête HTTP pour sélectionner un service. Le nom de domaine provient soit de l’URL entrante, soit de l’en-tête Host de la requête HTTP. Si le nom de domaine apparaît à la fois dans l’URL et dans l’en-tête Host, l’appliance donne la préférence à l’URL.

Si vous configurez le hachage de nom de domaine et qu’une requête HTTP entrante ne contient pas de nom de domaine, l’appliance Citrix ADC utilise par défaut la méthode round robin pour cette requête.

Le calcul de la valeur de hachage utilise la longueur de nom ou la valeur de longueur de hachage, la valeur la plus petite étant retenue. Par défaut, l’appliance Citrix ADC calcule la valeur de hachage à partir des 80 premiers octets du nom de domaine. Pour spécifier un nombre différent d’octets dans le nom de domaine lors du calcul de la valeur de hachage, vous pouvez définir le paramètre hashLength (longueur de hachage dans l’utilitaire de configuration) sur une valeur comprise entre 1 et 4096 (octets).

Pour configurer la méthode de hachage de domaine, reportez-vous à la section Configuration d’une méthode d’équilibrage de charge qui n’inclut pas de stratégie.

Méthode de hachage IP de destination

Un serveur virtuel d’équilibrage de charge configuré pour utiliser la méthode de hachage IP de destination utilise la valeur hachée de l’adresse IP de destination pour sélectionner un serveur. Vous pouvez masquer l’adresse IP de destination pour spécifier la partie de celle-ci à utiliser dans le calcul de la valeur de hachage, de sorte que les requêtes provenant de réseaux différents mais destinées au même sous-réseau soient toutes dirigées vers le même serveur. Cette méthode prend en charge les serveurs de destination IPv4 et IPv6.

Cette méthode d’équilibrage de charge est appropriée pour une utilisation avec la fonction de redirection du cache.

Pour configurer la méthode de hachage IP de destination pour un serveur de destination IPv4, définissez le paramètre NetMask. Pour configurer cette méthode pour un serveur de destination IPv6, vous utilisez le paramètre V6NetMasklen. Dans l’utilitaire de configuration, des zones de texte permettant de définir ces paramètres apparaissent lorsque vous sélectionnez la méthode Destination IP Hash.

Pour configurer la méthode de hachage IP de destination, reportez-vous à la section Configuration d’une méthode d’équilibrage de charge qui n’inclut pas de stratégie.

La méthode de hachage IP source

Un serveur virtuel d’équilibrage de charge configuré pour utiliser la méthode de hachage IP source utilise la valeur hachée de l’adresse IPv4 ou IPv6 client pour sélectionner un service. Pour diriger toutes les demandes provenant d’adresses IP source appartenant à un réseau particulier vers un serveur de destination spécifique, vous devez masquer l’adresse IP source. Pour les adresses IPv4, utilisez le paramètre netMask. Pour les adresses IPv6, utilisez le paramètre V6NetMaskLength.

Pour configurer la méthode de hachage IP source, reportez-vous à la sectionConfiguration d’une méthode d’équilibrage de charge qui n’inclut pas de stratégie.

Méthode de hachage IP de destination IP source

Un serveur virtuel d’équilibrage de charge configuré pour utiliser la méthode de hachage IP de destination IP source utilise la valeur hachée des adresses IP source et destination (IPv4 ou IPv6) pour sélectionner un service. Le hachage est symétrique ; la valeur de hachage est la même quel que soit l’ordre des adresses IP source et destination. Cela garantit que tous les paquets circulant d’un client particulier vers la même destination sont dirigés vers le même serveur.

Pour diriger toutes les demandes appartenant à un réseau particulier vers un serveur de destination spécifique, vous devez masquer l’adresse IP source. Pour les adresses IPv4, utilisez le paramètre netMask. Pour les adresses IPv6, utilisez le paramètre V6NetMaskLength.

Pour configurer la méthode de hachage IP de destination IP source, reportez-vous à la section Configuration d’une méthode d’équilibrage de charge qui n’inclut pas de stratégie.

Méthode de hachage du port source IP source

Un serveur virtuel d’équilibrage de charge configuré pour utiliser la méthode de hachage du port source IP source utilise la valeur de hachage de l’adresse IP source (IPv4 ou IPv6) et du port source pour sélectionner un service. Cela garantit que tous les paquets d’une connexion particulière sont dirigés vers le même service.

Cette méthode est utilisée dans la mise en miroir des connexions et l’équilibrage de charge du pare-feu. Pour plus d’informations sur la mise en miroir des connexions, reportez-vous à la section Basculement de connexion.

Pour diriger toutes les demandes appartenant à un réseau particulier vers un serveur de destination spécifique, vous devez masquer l’adresse IP source. Pour les adresses IPv4, utilisez le paramètre netMask. Pour les adresses IPv6, utilisez le paramètre V6NetMaskLength.

Pour configurer la méthode de hachage du port source IP source, reportez-vous à la section Configuration d’une méthode d’équilibrage de charge qui n’inclut pas de stratégie.

La méthode de hachage de l’ID d’appel

Un serveur virtuel d’équilibrage de charge configuré pour utiliser la méthode de hachage de l’ID d’appel utilise la valeur de hachage de l’ID d’appel dans l’en-tête SIP pour sélectionner un service. Les paquets d’une session SIP particulière sont donc toujours dirigés vers le même serveur proxy.

Cette méthode est applicable à l’équilibrage de charge SIP. Pour plus d’informations sur l’équilibrage de charge SIP, reportez-vous à la section Surveillance des services SIP.

Pour configurer la méthode de hachage de l’ID d’appel, reportez-vous à la section Configuration d’une méthode d’équilibrage de charge qui n’inclut pas de stratégie.