Redirection du cache de niveau N

Pour gérer efficacement de grandes quantités de données mises en cache, généralement plusieurs gigaoctets par seconde, un fournisseur d’accès Internet (ISP) déploie plusieurs serveurs de cache dédiés. La fonction de redirection du cache de l’appliance Citrix ADC peut aider à équilibrer la charge des serveurs de cache, mais un seul ou plusieurs appliances peuvent ne pas gérer efficacement le volume important de trafic.

Vous pouvez résoudre le problème en déployant les appliances Citrix ADC en deux niveaux (couches), où les appliances du niveau supérieur équilibrent la charge de celles du niveau inférieur et celles du niveau inférieur équilibrent les serveurs de cache. Cet arrangement est appelé redirection du cache à n niveaux.

À des fins telles que l’audit et la sécurité, un fournisseur de services Internet doit suivre les détails du client, tels que l’adresse IP, les informations fournies et l’heure de l’interaction. Par conséquent, les connexions client via une appliance Citrix ADC doivent être entièrement transparentes. Toutefois, si vous configurez la redirection transparente du cache, avec les appliances Citrix ADC déployées en parallèle, l’adresse IP du client doit être partagée entre toutes les appliances. Le partage de l’adresse IP du client crée un conflit qui empêche les périphériques réseau, tels que les routeurs, les serveurs de cache, les serveurs d’origine et les autres appliances Citrix ADC, de déterminer l’appliance, et donc le client, auquel la réponse doit être envoyée.

Mise en œuvre de la redirection du cache à n niveau

Pour résoudre le problème, la redirection du cache n tier de l’appliance fractionne la plage de ports source entre les appliances du niveau inférieur et inclut l’adresse IP du client dans la requête envoyée aux serveurs de cache. Les appliances Citrix ADC de niveau supérieur sont configurées pour effectuer un équilibrage de charge sans session afin d’éviter une charge inutile sur les appliances.

Lorsque l’appliance Citrix ADC de niveau inférieur communique avec un serveur de cache, elle utilise une adresse IP mappée (MIP) pour représenter l’adresse IP source. Par conséquent, le serveur de cache peut identifier l’appliance à partir de laquelle il a reçu la demande et envoyer la réponse à la même appliance.

L’appliance Citrix ADC de niveau inférieur insère l’adresse IP du client dans l’en-tête de la requête envoyée au serveur de cache. L’adresse IP du client dans l’en-tête permet à l’appliance de déterminer le client vers lequel le paquet doit être transféré lorsqu’il reçoit la réponse d’un serveur de cache ou du serveur d’origine en cas d’échec du cache. Le serveur d’origine détermine la réponse à envoyer en fonction de l’adresse IP du client insérée dans l’en-tête de la requête.

Le serveur d’origine envoie la réponse à une appliance de niveau supérieur, y compris le numéro de port source à partir duquel le serveur d’origine a reçu la demande. Toute la plage de ports source, 1024 à 65535, est distribuée entre les appliances Citrix ADC de niveau inférieur. Chaque appliance de niveau inférieur se voit attribuer exclusivement un groupe d’adresses dans la plage. Cette allocation permet à l’appliance de niveau supérieur d’identifier sans ambiguïté l’appliance Citrix ADC de niveau inférieur qui a envoyé la demande au serveur d’origine. L’appliance de niveau supérieur peut donc transmettre la réponse à l’appliance de niveau inférieur appropriée.

Les appliances Citrix ADC de niveau supérieur sont configurées pour effectuer le routage basé sur des stratégies, et les stratégies de routage sont définies pour déterminer l’adresse IP de l’appliance de destination à partir de la plage de ports source.

Configuration nécessaire pour configurer le CRD N-Tier

La configuration suivante est nécessaire pour le fonctionnement de la redirection du cache à n niveaux :

Pour chaque appliance Citrix ADC de niveau supérieur :

  • Activez le mode Couche 3.
  • Définissez des stratégies pour les itinéraires basés sur des règles (PBR) afin que le trafic soit transféré en fonction de la plage du port de destination.
  • Configurez un serveur virtuel d’équilibrage de charge.
  • Configurez le serveur virtuel pour écouter tout le trafic provenant du client. Définissez le type de service/protocole sur ANY et l’adresse IP sous forme d’astérisque (*).
  • Activez l’équilibrage de charge sans session avec le mode de redirection basé sur Mac pour éviter toute charge inutile sur les appliances Citrix ADC de niveau supérieur.
  • Assurez-vous que l’option Utiliser le port proxy est activée.
  • Créez un service pour chaque appliance de niveau inférieur et liez tous les services au serveur virtuel.

Pour chaque appareil Citrix ADC de niveau inférieur :

  • Configurez la plage de ports de redirection du cache sur l’appliance. Attribuez une plage exclusive à chaque appliance de niveau inférieur.
  • Configurez un serveur virtuel d’équilibrage de charge et activez la redirection basée sur Mac.
  • Créez un service pour chaque serveur de cache devant être équilibré par cette appliance. Lors de la création du service, activez l’insertion de l’adresse IP du client dans l’en-tête. Ensuite, liez tous les services au serveur virtuel d’équilibrage de charge.
  • Configurez un serveur virtuel de redirection de cache en mode transparent avec les paramètres suivants :
    • Activez l’option Origin USIP.
    • Ajoutez une expression IP source pour inclure l’adresse IP du client dans l’en-tête.
    • Activez l’option Utiliser la plage de ports.

Fonctionnement de la redirection du cache à n niveau lors d’un accès au cache

La figure suivante montre comment la redirection du cache fonctionne lorsqu’une requête client est mise en cache et que la réponse est envoyée à partir d’un serveur de cache.

Figure 1. Redirection du cache en cas d’accès au cache

Redirection du cache en cas d'accès au cache

Deux appliances Citrix ADC, L1NS1 et L1NS2, sont déployées dans le niveau supérieur, et quatre appliances Citrix ADC, L2NS1, L2NS2, L2NS3 et L2NS4, sont déployées dans le niveau inférieur. Le client A envoie une requête, qui est transmise par le routeur. Les serveurs de cache CRS1, CRS2 et CRS3 desservent les demandes de cache. Origin Server O traite les demandes non mises en cache.

Flux de trafic

  1. Le client envoie une demande, et le routeur la transmet à L1NS1.
  2. La charge L1NS1 équilibre la demande sur L2NS2.
  3. La charge L2NS2 équilibre la requête vers le serveur de cache CRS1, et la demande peut être mise en cache. L2NS2 inclut l’adresse IP du client dans l’en-tête de la requête.
  4. CRS1 envoie la réponse à L2NS2 car L2NS2 a utilisé son MIP comme adresse IP source lors de la connexion à CRS1.
  5. Avec l’aide de l’adresse IP du client dans l’en-tête de la requête, L2NS2 identifie le client d’où provient la requête. L2NS2 envoie directement la réponse au routeur, évitant ainsi toute charge inutile sur l’appliance dans le niveau supérieur.
  6. Le routeur transmet la réponse au client A.

Fonctionnement de la redirection du cache à n niveau lors d’un contournement du cache

La figure suivante montre comment fonctionne la redirection du cache lorsqu’une demande client est envoyée à un serveur d’origine pour une réponse.

Figure 2. Redirection du cache en cas de contournement du cache

Redirection du cache en cas de contournement du cache

Deux appliances Citrix ADC, L1NS1 et L1NS2, sont déployées dans le niveau supérieur, et quatre appliances Citrix ADC, L2NS1, L2NS2, L2NS3 et L2NS4, sont déployées dans le niveau inférieur. Le client A envoie une requête, qui est transmise par le routeur. Les serveurs de cache CRS1, CRS2 et CRS3 desservent les demandes de cache. Origin Server O traite les demandes non mises en cache.

Flux de trafic

  1. Le client envoie une demande, et le routeur la transmet à L1NS1.
  2. La charge L1NS1 équilibre la demande sur L2NS2.
  3. La requête ne peut pas être mise en cache (contournement du cache). Par conséquent, L2NS2 envoie la demande au serveur d’origine via le routeur.
  4. Le serveur d’origine envoie la réponse à une appliance de niveau supérieur, L1NS2.
  5. Conformément aux stratégies PBR, L1NS2 transfère le trafic à l’appliance appropriée du niveau inférieur, L2NS2.
  6. L2NS2 utilise l’adresse IP du client dans l’en-tête de requête pour identifier le client d’où provient la requête et envoie la réponse directement au routeur, évitant ainsi toute charge inutile sur l’appliance dans le niveau supérieur.
  7. Le routeur transmet la réponse au client A.

Fonctionnement de la redirection du cache à n niveau lors d’une absence de cache

La figure suivante montre comment la redirection du cache fonctionne lorsqu’une requête client n’est pas mise en cache.

Figure 3. Redirection du cache en cas d’échec du cache

Redirection du cache en cas d'échec du cache

Deux appliances Citrix ADC, L1NS1 et L1NS2, sont déployées dans le niveau supérieur, et quatre appliances Citrix ADC, L2NS1, L2NS2, L2NS3 et L2NS4, sont déployées dans le niveau inférieur. Le client A envoie une requête, qui est transmise par le routeur. Les serveurs de cache CRS1, CRS2 et CRS3 desservent les demandes de cache. Origin Server O traite les demandes non mises en cache.

Flux de trafic

  1. Le client envoie une demande, et le routeur la transmet à L1NS1.
  2. La charge L1NS1 équilibre la demande sur L2NS2.
  3. La charge L2NS2 équilibre la requête vers le serveur de cache CRS1 car la requête est mise en cache.
  4. CRS1 n’a pas la réponse (cache miss). CRS1 transmet la demande au serveur d’origine par l’intermédiaire de l’appliance du niveau inférieur. L2NS3 intercepte le trafic.
  5. L2NS3 prend l’adresse IP du client à partir de l’en-tête et transmet la requête au serveur d’origine. Le port source inclus dans le paquet est le port L2NS3 à partir duquel la demande est envoyée au serveur d’origine.
  6. Le serveur d’origine envoie la réponse à une appliance de niveau supérieur, L1NS2.
  7. Conformément aux stratégies PBR, L1NS2 transfère le trafic à l’appliance appropriée du niveau inférieur, L2NS3.
  8. L2NS3 transmet la réponse au routeur.
  9. Le routeur transmet la réponse au client A.