Citrix ADC

Cas d’utilisation 2 — Configuration non Jumbo à Jumbo

Prenons un exemple d’installation standard à jumbo dans laquelle le serveur virtuel d’équilibrage de charge LBVS-1, configuré sur une appliance Citrix ADC NS1, est utilisé pour équilibrer le trafic entre les serveurs S1 et S2. La connexion entre le client CL1 et NS1 prend en charge les trames régulières, et la connexion entre NS1 et les serveurs prend en charge les trames jumbo.

L’interface 10/1 de NS1 reçoit ou envoie du trafic depuis ou vers le client CL1. L’interface 10/2 de NS1 reçoit ou envoie du trafic depuis ou vers le serveur S1 ou S2.

Les interfaces 10/1 et 10/2 de NS1 font partie de VLAN 10 et VLAN 20, respectivement. Pour prendre en charge uniquement les trames régulières entre CL1 et NS1, le MTU est défini sur la valeur par défaut 1500 pour l’interface 10/1 et le VLAN 10

Pour la prise en charge des trames jumbo entre NS1 et les serveurs, la MTU est définie sur 9000 pour l’interface 10/2 et VLAN 20. Les serveurs et tous les autres périphériques réseau entre NS1 et les serveurs sont également configurés pour prendre en charge les trames jumbo.

Puisque le trafic HTTP est basé sur TCP, les MSSS sont définis en conséquence à chaque point d’extrémité pour la prise en charge des trames jumbo.

  • Pour prendre en charge les trames jumbo pour la connexion entre une adresse SNIP de NS1 et S1 ou S2, le MSS sur NS1 est défini en conséquence dans un profil TCP personnalisé, qui est lié aux services (SVC-S1 et SVC-S1) représentant S1 et S2 sur NS1.
  • Pour prendre en charge uniquement les trames régulières pour la connexion entre CL1 et le serveur virtuel LBVS-1 de NS1, le profil TCP par défaut nstcp_default_profile est utilisé qui est par défaut lié à LBVS-1 et dont le MSS est défini sur la valeur par défaut 1460.

jumbo uc2

Le tableau suivant répertorie les paramètres utilisés dans cet exemple.

Entité Name Détails
Adresse IP du client CL1   192.0.2.10
Adresse IP des serveurs S1 198.51.100.19
  S2 198.51.100.20
Adresse SNIP sur NS1   198.51.100.18
MTU spécifié pour les interfaces et les VLAN sur NS1 10/1 1500
  10/2 9000
  VLAN 10 1500
  VLAN 20 9000
Profil TCP par défaut nstcp_default_profile MSS:1460
Profil TCP personnalisé NS1-SERVERS-JUMBO MSS: 8960
Services sur NS1 représentant les serveurs SVC-S1 IP address: 198.51.100.19, Protocol: HTTP, Port: 80, TCP profile: NS1-SERVERS-JUMBO (MSS: 8960)
  SVC-S2 IP address: 198.51.100.20, Protocol: HTTP, Port: 80, TCP profile: NS1-SERVERS-JUMBO (MSS: 8960)
Serveur virtuel d’équilibrage de charge sur VLAN 10 LBVS-1 IP address = 203.0.113.15, Protocol: HTTP, Port:80, Bound services: SVC-S1, SVC-S2, TCP Profile: nstcp_default_profile (MSS:1460)

Voici le flux de trafic de la demande de CL1 vers S1 dans cet exemple :

  1. Client CL1 crée une requête HTTP de 200 octets à envoyer au serveur virtuel LBVS-1 de NS1.

  2. CL1 ouvre une connexion à LBVS-1 de NS1. CL1 et NS1 échangent leurs valeurs MSS TCP respectives lors de l’établissement de la connexion.

  3. Étant donné que le MSS de NS1 est plus grand que la requête HTTP, CL1 envoie les données de la demande dans un seul paquet IP à NS1.

    Taille du paquet de requête =[En-tête IP + en-tête TCP + requête TCP]=[20 + 20 + 200]= 240

  4. NS1 reçoit le paquet de requête à l’interface 10/1, puis traite les données de requête HTTP dans le paquet.

  5. L’algorithme d’équilibrage de charge de LBVS-1 sélectionne le serveur S1 et NS1 ouvre une connexion entre l’une de ses adresses SNIP et S1. NS1 et CL1 échangent leurs valeurs MSS TCP respectives lors de l’établissement de la connexion.

  6. Étant donné que le MSS de S1 est plus grand que la requête HTTP, NS1 envoie les données de la demande dans un seul paquet IP à S1.

    Taille du paquet de requête =[En-tête IP + en-tête TCP + [Demande TCP]=[20 + 20 + 200]= 240

Voici le flux de trafic de la réponse de S1 à CL1 dans cet exemple :

  1. Le serveur S1 crée une réponse HTTP de 18 000 octets à envoyer à l’adresse SNIP de NS1.
  2. S1 segmente les données de réponse en multiples de MSS de NS1 et envoie ces segments dans des paquets IP à NS1. Ces paquets IP proviennent de l’adresse IP de S1 et sont destinés à l’adresse SNIP de NS1.

    • Taille des deux premiers paquets =[En-tête IP+ En-tête TCP + (Segment TCP = taille MSS de NS1)]=[20 + 20 + 8960]= 9000
    • Taille du dernier paquet = [En-tête IP + en-tête TCP + (segment TCP restant)] = [20 + 20 + 2080] = 2120
  3. NS1 reçoit les paquets de réponse à l’interface 10/2.
  4. À partir de ces paquets IP, NS1 assemble tous les segments TCP pour former les données de réponse HTTP de 18000 octets. NS1 traite cette réponse.
  5. NS1 segmente les données de réponse en multiples de MSS de CL1 et envoie ces segments dans des paquets IP, de l’interface 10/1, à CL1. Ces paquets IP proviennent de l’adresse IP de LBVS-1 et sont destinés à l’adresse IP de CL1.

    • Taille de tous les paquets sauf le dernier[En-tête IP+ En-tête TCP + (TCP Payload=taille MSS de CL1)]=[20 + 20 + 1460]= 1500
    • Taille du dernier paquet = [En-tête IP + en-tête TCP + (segment TCP restant)] = [20 + 20 + 480] = 520

Tâches de configuration

Le tableau suivant répertorie les tâches, les commandes Citrix ADC et les exemples de création de la configuration requise sur l’appliance Citrix ADC.

Tâches Syntaxe CLI Exemples
Définir le MTU des interfaces souhaitées pour la prise en charge des trames jumbo set interface <id> -mtu <positive_integer>, show interface <id> set int 10/1 -mtu 1500 set int 10/2 -mtu 9000
Créez des VLAN et définissez le MTU des VLAN souhaités pour la prise en charge des trames jumbo add vlan <id> -mtu <positive_integer>, show vlan <id> add vlan 10 -mtu 1500 add vlan 20 -mtu 9000
Liez des interfaces aux VLAN bind vlan <id> -ifnum <interface_name>, show vlan <id> bind vlan 10 -ifnum 10/1 bind vlan 20 -ifnum 10/2
Ajouter une adresse SNIP add ns ip <IPAddress> <netmask> -type SNIP, show ns ip add ns ip 198.51.100.18 255.255.255.0 -type SNIP
Créer des services représentant des serveurs HTTP add service <serviceName> <ip> HTTP <port>, show service <name> add service SVC-S1 198.51.100.19 http 80, add service SVC-S2 198.51.100.20 http 80
Créer des serveurs virtuels d’équilibrage de charge HTTP et y lier les services add lb vserver <name> HTTP <ip> <port>, bind lb vserver <vserverName> <serviceName>, show lb vserver <name> add lb vserver LBVS-1 http 203.0.113.15 80, bind lb vserver LBVS-1 SVC-S1, bind lb vserver LBVS-1 SVC-S2
Créez un profil TCP personnalisé et définissez son MSS pour la prise en charge des trames jumbo add tcpProfile <name> -mss <positive_integer>, show tcpProfile <name> add tcpprofile NS1-SERVERS-JUMBO -mss 8960
Liez le profil TCP personnalisé aux services souhaités set service <Name> -tcpProfileName <string>, show service <name> set service SVC-S1 -TCPProfileName NS1-SERVERS-JUMBO, set service SVC-S2 -TCPProfileName NS1-SERVERS-JUMBO
Enregistrer la configuration save ns config, show ns config  

Cas d’utilisation 2 — Configuration non Jumbo à Jumbo