ADC

Redirection du cache N-Tier

Pour gérer efficacement de grandes quantités de données mises en cache, généralement plusieurs gigaoctets par seconde, un fournisseur de services Internet (ISP) déploie plusieurs serveurs de cache dédiés. La fonctionnalité de redirection du cache de l’appliance NetScaler peut aider à équilibrer la charge des serveurs de cache, mais une seule appliance 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 NetScaler sur deux niveaux (couches), les appliances du niveau supérieur équilibrant la charge du niveau inférieur et les appliances du niveau inférieur équilibrant la charge des serveurs de cache. Cet arrangement est appelé redirection du cache à n niveaux.

À des fins telles que l’audit et la sécurité, un FAI 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 NetScaler doivent être totalement transparentes. Toutefois, si vous configurez la redirection transparente du cache, avec les appliances NetScaler 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 NetScaler, de déterminer l’appliance, et donc le client, auquel la réponse doit être envoyée.

Comment la redirection du cache de niveau N est implémentée

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

Lorsque l’appliance NetScaler 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 NetScaler de niveau inférieur insère l’adresse IP du client dans l’en-tête de la demande envoyée au serveur de cache. L’adresse IP du client figurant dans l’en-tête aide l’appliance à déterminer le client auquel le paquet doit être transféré lorsqu’elle reçoit la réponse d’un serveur de cache, ou le 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 demande.

Le serveur d’origine envoie la réponse à un dispositif de niveau supérieur, y compris le numéro de port source à partir duquel le serveur d’origine a reçu la demande. L’ensemble de la plage de ports source, de 1024 à 65535, est répartie entre les appliances NetScaler de niveau inférieur. Chaque appliance de niveau inférieur se voit attribuer exclusivement un groupe d’adresses au sein de la plage. Cette allocation permet à l’appliance de niveau supérieur d’identifier sans ambiguïté l’appliance NetScaler 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 NetScaler de niveau supérieur sont configurées pour effectuer un routage basé sur des politiques, et les politiques 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 N-Tier CRD

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

Pour chaque appliance NetScaler de niveau supérieur :

  • Activez le mode couche 3.
  • Définissez des politiques pour les itinéraires basés sur des politiques (PBR) afin que le trafic soit transféré en fonction de la portée du port de destination.
  • Configurez un serveur virtuel d’équilibrage de charge.
  • Configurez le serveur virtuel pour qu’il écoute tout le trafic provenant du client. Définissez le type/protocole de service 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 NetScaler 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 appliance NetScaler 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 dont la charge doit être équilibrée par cette appliance. Lors de la création du service, activez l’insertion de l’adresse IP du client dans l’en-tête. Liez ensuite tous les services au serveur virtuel d’équilibrage de charge.
  • Configurez un serveur virtuel de redirection du 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.

Comment fonctionne la redirection du cache de niveau N lors d’un accès au cache

La figure suivante montre comment fonctionne la redirection du cache lorsqu’une demande client peut être mise en cache et que la réponse est envoyée depuis 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 NetScaler, L1NS1 et L1NS2, sont déployées au niveau supérieur, et quatre appliances NetScaler, L2NS1, L2NS2, L2NS3 et L2NS4, sont déployées au niveau inférieur. Le client A envoie une demande qui est transmise par le routeur. Les serveurs de cache CRS1, CRS2 et CRS3 traitent les demandes de cache. Le système d’exploitation d’Origin Server traite les demandes non mises en cache.

Flux de trafic

  1. Le client envoie une demande et le routeur la transmet à L1NS1.
  2. L1NS1 équilibre la charge de la demande vers L2NS2.
  3. L2NS2 équilibre la charge de la demande envoyée au 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. À l’aide de l’adresse IP du client dans l’en-tête de la demande, L2NS2 identifie le client d’où provient la demande. Le L2NS2 envoie directement la réponse au routeur, évitant ainsi une charge inutile sur l’appliance du niveau supérieur.
  6. Le routeur transmet la réponse au client A.

Comment fonctionne la redirection du cache de niveau N 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 obtenir 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 NetScaler, L1NS1 et L1NS2, sont déployées au niveau supérieur, et quatre appliances NetScaler, L2NS1, L2NS2, L2NS3 et L2NS4, sont déployées au niveau inférieur. Le client A envoie une demande qui est transmise par le routeur. Les serveurs de cache CRS1, CRS2 et CRS3 traitent les demandes de cache. Le système d’exploitation d’Origin Server traite les demandes non mises en cache.

Flux de trafic

  1. Le client envoie une demande et le routeur la transmet à L1NS1.
  2. L1NS1 équilibre la charge de la demande vers 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 à un dispositif de niveau supérieur, L1NS2.
  5. Conformément aux politiques PBR, L1NS2 transfère le trafic vers l’appliance appropriée du niveau inférieur, L2NS2.
  6. Le L2NS2 utilise l’adresse IP du client figurant dans l’en-tête de la demande pour identifier le client d’où provient la demande et envoie la réponse directement au routeur, évitant ainsi de surcharger inutilement l’appliance du niveau supérieur.
  7. Le routeur transmet la réponse au client A.

Comment fonctionne la redirection du cache de niveau N en cas d’échec du cache

La figure suivante montre comment fonctionne la redirection du cache lorsqu’une demande 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 NetScaler, L1NS1 et L1NS2, sont déployées au niveau supérieur, et quatre appliances NetScaler, L2NS1, L2NS2, L2NS3 et L2NS4, sont déployées au niveau inférieur. Le client A envoie une demande qui est transmise par le routeur. Les serveurs de cache CRS1, CRS2 et CRS3 traitent les demandes de cache. Le système d’exploitation d’Origin Server traite les demandes non mises en cache.

Flux de trafic

  1. Le client envoie une demande et le routeur la transmet à L1NS1.
  2. L1NS1 équilibre la charge de la demande vers L2NS2.
  3. L2NS2 équilibre la charge de la demande envoyée au serveur de cache CRS1 car la demande peut être mise en cache.
  4. CRS1 n’a pas la réponse (échec du cache). CRS1 transmet la demande au serveur d’origine via l’appliance du niveau inférieur. Le L2NS3 intercepte le trafic.
  5. L2NS3 prend l’adresse IP du client depuis l’en-tête et transmet la demande 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 à un dispositif de niveau supérieur, L1NS2.
  7. Conformément aux politiques PBR, L1NS2 transfère le trafic vers 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.