Citrix ADC

Configurations TCP

Les configurations TCP d’une appliance Citrix ADC peuvent être spécifiées dans une entité appelée profil TCP, qui est un ensemble de paramètres TCP. Le profil TCP peut ensuite être associé à des services ou à des serveurs virtuels qui souhaitent utiliser ces configurations TCP.

Un profil TCP par défaut peut être configuré pour définir les configurations TCP qui seront appliquées par défaut, globalement à tous les services et serveurs virtuels.

Remarque :

Lorsqu’un paramètre TCP a des valeurs différentes pour le service, le serveur virtuel et globalement, la valeur de l’entité la plus spécifique (le service) est donnée la priorité la plus élevée. L’appliance Citrix ADC fournit également d’autres approches pour configurer TCP. Lisez la suite pour en savoir plus.

Configuration TCP prise en charge

L’appliance Citrix ADC prend en charge les fonctionnalités TCP suivantes :

Défendre TCP contre les attaques d’usurpation

L’ implémentation Citrix ADC de l’atténuation des fenêtres est conforme à la norme RFC 4953.

Notification explicite de congestion (ECN)

L’appliance envoie une notification de l’état de congestion du réseau à l’expéditeur des données et prend des mesures correctives en cas de congestion des données ou de corruption des données. L’implémentation d’ECN Citrix ADC est conforme à la norme RFC 3168.

Mesure du temps aller-retour (RTTM) à l’aide de l’option horodatage

Pour que l’option TimeStamp fonctionne, au moins un côté de la connexion (client ou serveur) doit la prendre en charge. L’implémentation Citrix ADC de l’ TimeStamp option est conforme à la norme RFC 1323.

Détection de retransmissions fausses

Cela peut être fait à l’aide de l’accusé de réception sélectif en double TCP (D-SACK) et de récupération RTO (F-RTO). S’il y a des retransmissions fausses, les configurations de contrôle de congestion sont rétablies à leur état d’origine. L’implémentation Citrix ADC de D-SACK est conforme à la RFC 2883 et F-RTO est conforme à la RFC 5682.

Contrôle de la congestion

Cette fonctionnalité utilise les algorithmes New-Reno, BIC, CUBIC, Nile et TCP Westwood.

Mise à l’échelle des fenêtres

Cela augmente la taille de la fenêtre de réception TCP au-delà de sa valeur maximale de 65 535 octets.

Points à prendre en compte avant de configurer la mise à l’échelle des fenêtres

  • Vous ne définissez pas de valeur élevée pour le facteur d’échelle, car cela peut avoir des effets néfastes sur l’appliance et le réseau.
  • Vous ne configurez pas la mise à l’échelle des fenêtres à moins de savoir clairement pourquoi vous souhaitez modifier la taille de la fenêtre.
  • Les deux hôtes de la connexion TCP envoient une option d’échelle de fenêtre lors de l’établissement de la connexion. Si un seul côté d’une connexion définit cette option, la mise à l’échelle des fenêtres n’est pas utilisée pour la connexion.
  • Chaque connexion pour la même session est une session de mise à l’échelle des fenêtres indépendante. Par exemple, lorsque la demande d’un client et la réponse du serveur passent par l’appliance, il est possible de mettre à l’échelle des fenêtres entre le client et l’appliance sans mise à l’échelle des fenêtres entre l’appliance et le serveur.

Fenêtre de congestion maximale TCP

La taille de la fenêtre est configurable par l’utilisateur. La valeur par défaut est de 8190 octets.

Accusé de réception sélectif (SACK)

Cela utilise le récepteur de données (une appliance Citrix ADC ou un client) avertit l’expéditeur de tous les segments qui ont été reçus avec succès.

Accusé de réception (FACK)

Cette fonctionnalité évite la congestion TCP en mesurant explicitement le nombre total d’octets de données en attente sur le réseau et en aidant l’expéditeur (Citrix ADC ou un client) à contrôler la quantité de données injectées dans le réseau pendant les délais d’expiration de la retransmission.

Multiplexage de connexion TCP

Cette fonctionnalité permet de réutiliser les connexions TCP existantes. L’appliance Citrix ADC stocke les connexions TCP établies au pool de réutilisation. Chaque fois qu’une demande client est reçue, l’appliance recherche une connexion disponible dans le pool de réutilisation et sert le nouveau client si la connexion est disponible. Si elle n’est pas disponible, l’appliance crée une connexion pour la demande du client et stocke la connexion au pool de réutilisation. Citrix ADC prend en charge le multiplexage de connexions pour les types de connexion HTTP, SSL et DataStream.

Mise en mémoire tampon de réception dynamique

Cela permet d’ajuster dynamiquement la mémoire tampon de réception en fonction des conditions de mémoire et du réseau.

Connexion MPTCP

Connexions MPTCP entre le client et Citrix ADC. Les connexions MPTCP ne sont pas prises en charge entre Citrix ADC et le serveur principal. L’implémentation Citrix ADC de MPTCP est conforme à la norme RFC 6824.

Vous pouvez afficher des statistiques MPTCP telles que les connexions MPTCP actives et les connexions de sous-flux actives à l’aide de l’interface de ligne de commande.

À l’invite de commandes, tapez l’une des commandes suivantes pour afficher un résumé ou un résumé détaillé des statistiques MPTCP ou pour effacer l’affichage des statistiques :

  1. Stat MPTCP
  2. Stat mptcp –detail
  3. Clearstats basic

Remarque :

Pour établir une connexion MPTCP, le client et l’appliance Citrix ADC doivent prendre en charge la même version MPTCP. Si vous utilisez l’appliance Citrix ADC comme passerelle MPTCP pour vos serveurs, ces serveurs n’ont pas besoin de prendre en charge MPTCP. Lorsque le client démarre une nouvelle connexion MPTCP, l’appliance identifie la version MPTPC du client à partir de l’option MP_CAPABALE du paquet SYN. Si la version du client est supérieure à celle prise en charge sur l’appliance, la solution matérielle-logicielle indique sa version la plus élevée dans l’option MP_CAPABALE du paquet SYN-ACK. Le client revient ensuite à une version inférieure et envoie le numéro de version dans l’option MP_CAPABALE du paquet ACK. Si cette version est prise en charge, l’appliance continue la connexion MPTCP. Sinon, la solution matérielle-logicielle revient à un TCP normal. L’appliance Citrix ADC ne lance pas de sous-flux (MP_JOIN). L’appliance s’attend à ce que le client lance des sous-flux.

Prise en charge de la publicité d’adresses supplémentaires (ADD_ADDR) dans MPTCP

Dans un déploiement MPTCP, si un serveur virtuel est lié à un ensemble d’adresses IP supplémentaires de serveur virtuel, la fonctionnalité Add_ADDR (Address Address Address Advertisement) annonce l’adresse IP des serveurs virtuels liés à l’ensemble d’adresses IP. Les clients peuvent initier des MP-JOIN sous-flux supplémentaires vers les adresses IP annoncées.

Points à retenir sur la fonctionnalité MPTCP ADD_ADDR

  • Vous pouvez envoyer un maximum de 10 adresses IP dans le cadre de ADD_ADDR cette option. Si le mptcpAdvertise paramètre est activé sur plus de 10 adresses IP, après avoir fait la publicité de l’adresse IP 10, l’appliance ignore le reste des adresses IP.
  • Si le sous-flux MP-CAPABLE est défini sur l’une des adresses IP du jeu d’adresses IP au lieu de l’adresse IP du serveur virtuel principal, l’adresse IP du serveur virtuel est annoncée si le mptcpAdvertise paramètre est activé pour l’adresse IP du serveur virtuel.

Configurer plus de fonctionnalités de publicité d’adresses (ADD_ADDR) pour annoncer une adresse VIP supplémentaire à l’aide de l’interface de ligne de commande

Vous pouvez configurer la MPTCP ADD_ADDR fonctionnalité pour les types d’adresses IPv4 et IPv6. En général, plusieurs adresses IP IPv4 et IPv6 peuvent être attachées à un seul ensemble d’adresses IP et le paramètre peut être activé sur n’importe quel sous-ensemble d’adresses IP. Dans la fonction ADD_ADDR, seules les adresses IP sur lesquelles l’option « MPTCPAdVertise » est activée et les adresses IP restantes du jeu d’adresses IP sont ignorées. Procédez comme suit pour configurer la ADD_ADDR fonctionnalité :

  1. Ajoutez un ensemble d’adresses IP.
  2. Ajoutez une adresse IP de type IP de serveur virtuel (VIP) avec la publicité MPTCP activée.
  3. Liez l’adresse IP au jeu d’adresses IP.
  4. Configurez le jeu d’adresses IP avec le serveur virtuel d’équilibrage de charge.

Ajouter un ensemble d’adresses IP

À l’invite de commandes, tapez :

add ipset <name> [-td <positive_integer>]
<!--NeedCopy-->

Exemple :

add ipset ipset_1
<!--NeedCopy-->

Ajouter une adresse IP de type IP de serveur virtuel (VIP) avec la publicité MPTCP activée

Au niveau de la commande, tapez :

add ns ip <IPAddress>@ <netmask> [-mptcpAdvertise ( YES | NO )] -type <type>
<!--NeedCopy-->

Exemple :

add ns ip 10.10.10.10 255.255.255.255 -mptcpAdvertise YES -type VIP

Lier les adresses IP au jeu d’adresses IP

À l’invite de commandes, tapez :

bind ipset <name> <IPAddress>
<!--NeedCopy-->

Exemple :

bind ipset ipset_1 10.10.10.10

Configuration du jeu d’adresses IP sur un serveur virtuel d’équilibrage de charge

À l’invite de commandes, tapez :

set lb vserver <name> [-ipset  <string>]
<!--NeedCopy-->

Exemple :

set lb vserver lb1 -ipset ipset_1
<!--NeedCopy-->

Exemple de configuration :

Add ipset ipset_1
add ns ip 10.10.10.10 255.255.255.255 -mptcpAdvertise YES -type VIP
bind ipset ipset_1 10.10.10.10
set lb vserver lb1 -ipset ipset_1
<!--NeedCopy-->

Configurer l’adresse IP externe publicitaire à l’aide de la fonctionnalité ADD_ADDR

Si l’adresse IP annoncée appartient à l’entité externe et que l’appliance Citrix ADC doit annoncer l’adresse IP, le paramètre « MPTCPAdVertise » doit être activé avec les paramètres d’état et ARP désactivés.

Procédez comme suit ADD_ADDR pour configurer la publicité de l’adresse IP externe.

  1. Ajoutez une adresse IP de type IP de serveur virtuel (VIP) avec la publicité MPTCP activée.
  2. Liez l’adresse IP au jeu d’adresses IP.
  3. Lier le jeu d’adresses IP au serveur virtuel d’équilibrage de charge

Ajouter une adresse IP externe de type IP de serveur virtuel (VIP) avec la publicité MPTCP activée

À l’invite de commandes, tapez :

add ns ip <IPAddress>@ <External-IP-mask -type VIP> [-mptcpAdvertise ( YES | NO )] -type <type> -state DISABLED -arp DISABLED
<!--NeedCopy-->

Exemple :

add ns ip 10.10.10.10 255.255.255.255 -mptcpAdvertise YES -type VIP -state DISABLED -arp DISABLED

Lier les adresses IP au jeu d’adresses IP

À l’invite de commandes, tapez :

bind ipset <name> <IPAddress>
<!--NeedCopy-->

Exemple :

bind ipset ipset_1 10.10.10.10

Configuration du jeu d’adresses IP sur un serveur virtuel d’équilibrage de charge

À l’invite de commandes, tapez :

set lb vserver <name> [-ipset  <string>]
<!--NeedCopy-->

Exemple :

set lb vserver lb1 -ipset ipset_1

Exemple de configuration :

add ns ip 10.10.10.10 255.255.255.255 -mptcpAdvertise YES -type VIP state DISABLED -arp DISABLED
bind ipset ipset_1 10.10.10.10
set lb vserver lb1 -ipset ipset_1
<!--NeedCopy-->

Annoncez l’adresse IP auprès des clients compatibles MPTCP à l’aide de l’interface graphique Citrix ADC

Effectuez l’étape suivante pour annoncer l’adresse IP aux clients compatibles MPTCP :

  1. Accédez à Système > Réseau > IP.
  2. Dans le volet d’informations, cliquez sur Ajouter.
  3. Dans la page Créer une adresse IP, activez la case à cocher MPTCP Advertise pour définir le paramètre. Par défaut, il est désactivé.

Procédure de l'interface graphique pour annoncer une adresse IP aux clients MPTCP

Extraction de l’option de superposition de chemin TCP/IP et insertion de l’en-tête HTTP Client-IP

Extraction de la superposition de chemin TCP/IP et insertion d’en-tête HTTP client-IP. Le transport de données via des réseaux superposés utilise souvent la terminaison de connexion ou la traduction d’adresses réseau (NAT), dans laquelle l’adresse IP du client source est perdue. Pour éviter cela, l’appliance Citrix ADC extrait l’option de superposition de chemin TCP/IP et insère l’adresse IP du client source dans l’en-tête HTTP. Avec l’adresse IP dans l’en-tête, le serveur Web peut identifier le client source qui a établi la connexion. Les données extraites sont valides pendant toute la durée de vie de la connexion TCP, ce qui empêche l’hôte de saut suivant d’avoir à réinterpréter l’option. Cette option s’applique uniquement aux services Web sur lesquels l’option d’insertion Client-IP est activée.

Déchargement de la segmentation TCP

Décharge la segmentation TCP vers la carte réseau. Si vous définissez l’option « AUTOMATIQUE », la segmentation TCP est déchargée vers la carte réseau, si la carte réseau est prise en charge.

Ceci est utilisé pour résister aux attaques d’inondation SYN. Vous pouvez activer ou désactiver le SYNCOOKIE mécanisme de prise de contact TCP avec les clients. La désactivation SYNCOOKIE empêche la protection contre les SYN attaques sur l’appliance Citrix ADC.

Apprendre MSS pour activer l’apprentissage MSS pour tous les serveurs virtuels configurés sur l’appliance

Paramètres TCP pris en charge

Le tableau suivant fournit une liste des paramètres TCP et de leur valeur par défaut configurés sur une appliance Citrix ADC.

Paramètre Valeur par défaut Description
Gestion des fenêtres    
Minuteur Retardé TCP 100 millisec Délai d’attente pour ACK retardé TCP, en millisecondes.
Délai d’expiration minimum de retransmission TCP (RTO) en millions de secondes 1000 milli sec Délai de retransmission minimal, en millisecondes, spécifié par incréments de 10 millisecondes (la valeur doit donner un nombre entier si elle est divisée par 10)
Temps d’inactivité de connexion avant le démarrage des sondes Keep-Alive 900 secondes Déposez silencieusement les connexions établies par TCP sur les délais d’attente d’inactivité, les connexions établies lors du délai d’attente d’inactivité
Option d’horodatage TCP DÉSACTIVÉ L’option horodatage permet une mesure RTT précise. Option Activer ou désactiver l’horodatage TCP.
Délai d’expiration de session TCP multichemin 0 seconde Délai d’expiration de session MPTCP en secondes. Si cette valeur n’est pas définie, inactif. Les sessions MPTCP sont vides après le délai d’inactivité du client du serveur virtuel.
Supprimer silencieusement les connexions HalfClosed sur le délai d’inactivité 0 seconde Déposez silencieusement les connexions TCP à moitié fermées lors de l’expiration du délai d’inactivité.
Déposer silencieusement les connexions établies en mode d’attente d’inactivité DÉSACTIVÉ Déposez silencieusement les connexions établies par TCP lors du délai d’attente d’inactivité
Gestion de la mémoire    
Taille du tampon TCP 131072 octets La taille du tampon TCP correspond à la taille du tampon de réception sur Citrix ADC. Cette taille de tampon est annoncée aux clients et serveurs de Citrix ADC et contrôle leur capacité à envoyer des données à Citrix ADC. La taille du tampon par défaut est de 8 Ko et il est généralement possible de l’incrémenter en toute sécurité lorsque vous parlez à des batteries de serveurs internes. La taille du tampon est également affectée par la couche applicative réelle dans Citrix ADC, comme pour les cas de terminaison SSL, elle est définie sur 40 K et pour la compression, elle est définie sur 96 K. Remarque : L’argument de taille du tampon doit être défini pour que des ajustements dynamiques puissent avoir lieu.
Taille du tampon d’envoi TCP 8190 octets Taille du tampon d’envoi TCP
TCP Dynamic Receive Buffering DÉSACTIVÉ Activez ou désactivez la mémoire tampon de réception dynamique. Lorsque cette option est activée, elle permet d’ajuster dynamiquement la mémoire tampon de réception en fonction des conditions de mémoire et du réseau. Remarque : L’argument de taille du tampon doit être défini pour que les ajustements dynamiques puissent avoir lieu.
Fenêtre de congestion TCP Max (CND) 524288 octets Fenêtre de congestion maximale TCP
État de l’échelle des fenêtres ENALBED Activez ou désactivez le dimensionnement des fenêtres.
Facteur de dimensionnement des fenêtres 8 Facteur utilisé pour calculer la nouvelle taille de fenêtre. Cet argument n’est nécessaire que lorsque la mise à l’échelle des fenêtres est activée.
Configuration de la connexion    
Sondes Keep-Alive DÉSACTIVÉ Envoyez des sondes TCP Keep-Alive (KA) périodiques pour vérifier si le pair est toujours actif.
Temps d’inactivité de connexion avant le démarrage des sondes Keep-Alive 900 secondes Durée, en secondes, pour que la connexion soit inactive, avant d’envoyer une sonde Keep-Alive (KA).
Intervalle de sonde Keep-Alive 75 secondes Intervalle de temps, en secondes, avant la prochaine sonde Keep-Alive (KA), si le pair ne répond pas.
Sondes de maintien en vie maximales à manquer avant d’abandonner la connexion. 3 Nombre de sondes Keep-Alive (KA) à envoyer lorsqu’elles ne sont pas reconnues, avant de supposer que le pair est en panne.
Atténuation de la fenêtre RST (protection contre les usurpation). DÉSACTIVÉ Activez ou désactivez l’atténuation de la fenêtre RST pour vous protéger contre l’usurpation. Lorsque cette option est activée, la réponse est accompagnée d’un ACK correctif lorsqu’un numéro de séquence n’est pas valide.
Acceptez RST avec le dernier numéro de séquence accusé de réception. ACTIVÉ  
Transfert de données    
ACK immédiat sur paquet PUSH ACTIVÉ Envoyez un accusé de réception positif immédiat (ACK) à la réception des paquets TCP avec indicateur PUSH.
Nombre maximal de paquets par MSS 0 Nombre maximal d’octets à autoriser dans un segment de données TCP
Algorithme de Nagle DÉSACTIVÉ L’algorithme de Nagle combat le problème des petits paquets dans la transmission TCP. Les applications telles que Telnet et d’autres moteurs en temps réel qui nécessitent que chaque touche soit passée de l’autre côté créent souvent de petits paquets. Avec l’algorithme de Nagle, Citrix ADC peut tamponner ces petits paquets et les envoyer ensemble pour augmenter l’efficacité de la connexion. Cet algorithme doit fonctionner avec d’autres techniques d’optimisation TCP dans Citrix ADC.
Segments TCP maximum autorisés dans une rafale 10 MSS Nombre maximal de segments TCP autorisés en rafale
Nombre maximal de paquets hors commande à mettre en file d’attente 300 Taille maximale de la file d’attente de paquets hors commande. Une valeur de 0 signifie qu’aucune limite
Contrôle de la congestion    
Saveur TCP CUBIQUE  
Paramètre de la fenêtre de congestion initiale (cnd) 4 MSS Limite supérieure maximale initiale du nombre de paquets TCP pouvant être en attente sur la liaison TCP vers le serveur
Notification de congestion explicite TCP (ECN) DÉSACTIVÉ La notification de congestion explicite (ECN) fournit une notification de bout en bout de la congestion réseau sans laisser tomber les paquets.
Fenêtre de congestion TCP Max (CND) 524288 octets TCP conserve une fenêtre de congestion (CND), limitant le nombre total de paquets non reconnus qui peuvent être en transit de bout en bout. Dans TCP, la fenêtre de congestion est l’un des facteurs qui déterminent le nombre d’octets pouvant être en suspens à tout moment. La fenêtre de congestion permet d’empêcher un lien entre l’expéditeur et le récepteur de surcharger trop de trafic. Il est calculé en estimant combien de congestion il y a sur le lien.
Démarrage hybride TCP (HyStart) 8 octets  
Délai d’expiration minimum de retransmission TCP (RTO) en millions de secondes 1 000 Délai d’expiration minimum de retransmission, en millisecondes, spécifié par incréments de 10 millisecondes (la valeur doit produire un nombre entier si elle est divisée par 10).
Seuil de dupack TCP DÉSACTIVÉ  
Contrôle du taux de rafale 3 Contrôle du taux d’éclatement TCP DÉSACTIVÉ/FIXÉ/DYNAMIQUE. FIXE nécessite un taux TCP pour être défini
Taux TCP DÉSACTIVÉ Taux d’envoi de la charge utile de connexion TCP en Kb/s
File d’attente maximale du taux TCP 0 Taille maximale de la file d’attente de connexion en octets, lorsque BurstrateControl est utilisé.
MPTCP    
TCP multichemin DÉSACTIVÉ Le TCP multichemin (MPTCP) est un ensemble d’extensions de TCP standard pour fournir un service TCP multichemin, qui permet à une connexion de transport de fonctionner simultanément sur plusieurs chemins.
Données de dépôt TCP multichemins sur un sous-flux préétabli DÉSACTIVÉ Activez ou désactivez l’abandon silencieux des données sur le sous-flux préétabli. Lorsque cette option est activée, les paquets de données DSS sont supprimés silencieusement au lieu d’abandonner la connexion lorsque les données sont reçues sur un sous-flux préétabli.
Ouverture rapide TCP multichemin DÉSACTIVÉ Activez ou désactivez l’ouverture rapide TCP Multipath. Lorsque cette option est activée, les paquets de données DSS sont acceptés avant de recevoir le troisième pack de liaison SYN.
Délai d’expiration de session TCP multichemin 0 seconde Délai d’expiration de session MPTCP en secondes. Si cette valeur n’est pas définie, les sessions MPTCP inactives sont vides après le délai d’inactivité du client du serveur virtuel.
Sécurité    
Protection contre l’usurpation SYN DÉSACTIVÉ Activez ou désactivez le dépôt de paquets SYN non valides pour vous protéger contre l’usurpation d’identité. Lorsque cette option est désactivée, les connexions établies sont réinitialisées lorsqu’un paquet SYN est reçu.
Syncookie TCP DÉSACTIVÉ Ceci est utilisé pour résister aux attaques d’inondation SYN. Activez ou désactivez le mécanisme SYNCOOKIE pour la prise de contact TCP avec les clients. La désactivation de SYNCOOKIE empêche la protection contre les attaques SYN sur l’appliance Citrix ADC.
Détection et récupération des pertes    
Accusé de réception sélectif en double (DSACK) ACTIVÉ Une appliance Citrix ADC utilise Duplicate Selective Acknogment (DSACK) pour déterminer si une retransmission a été envoyée par erreur.
Récupération vers l’avant (FRTO) ACTIVÉ Détecte les délais d’expiration de retransmission TCP fallacieux. Après avoir retransmis le premier segment non reconnu déclenché par un délai d’attente, l’algorithme de l’expéditeur TCP surveille les accusés de réception entrants pour déterminer si le délai d’attente était errant. Il décide ensuite s’il faut envoyer de nouveaux segments ou retransmettre des segments non reconnus. L’algorithme aide efficacement à éviter d’autres retransmissions inutiles et améliore ainsi les performances TCP en cas de temporisation errant.
Accusé de réception TCP (FACK) ACTIVÉ Activez ou désactivez FACK (Forward ACK).
Statut d’accusé de réception sélectif (SACK) ACTIVÉ TCP SACK résout le problème des pertes de paquets multiples, ce qui réduit la capacité globale de débit. Avec un accusé de réception sélectif, le destinataire peut informer l’expéditeur de tous les segments reçus avec succès, ce qui permet à l’expéditeur de ne retransmettre que les segments perdus. Cette technique permet à Citrix ADC d’améliorer le débit global et de réduire la latence de connexion.
Nombre maximal de paquets par retransmission 1 Permet à Citrix ADC de contrôler le nombre de paquets à retransmettre en une seule tentative. Lorsque Citrix ADC reçoit un ACK partiel et qu’il doit effectuer une retransmission, ce paramètre est pris en compte. Cela n’a pas d’incidence sur les retransmissions basées sur le RTO.
Minuteur Retardé TCP 100 millisec Délai d’expiration pour l’ACK retardé TCP, en millisecondes
Optimisation du coût total de possession    
Mode d’optimisation TCP TRANSPARENT Modes d’optimisation TCP TRANSPARENT/ENDPOINT
Appliquer des optimisations TCP adaptatives DÉSACTIVÉ Appliquer des optimisations TCP adaptatives
Déchargement de la segmentation TCP AUTOMATIQUE Déchargez la segmentation TCP vers la carte réseau. Si cette option est définie sur AUTOMATIQUE, la segmentation TCP est déchargée vers la carte réseau, si la carte réseau la prend en charge.
Agrégation ACK DÉSACTIVÉ Activer ou désactiver l’agrégation ACK
Time-attente TCP (ou Time_Wait) 40 s Temps écoulé avant de libérer une connexion TCP fermée

Définition des paramètres TCP globaux

L’appliance Citrix ADC vous permet de spécifier des valeurs pour les paramètres TCP applicables à tous les services Citrix ADC et serveurs virtuels. Cela peut être fait en utilisant :

  • Profil TCP par défaut
  • Commande TCP globale
  • Fonction de mise en mémoire tampon TCP

Remarque :

Le recvBuffSize paramètre de la commande set ns TCPParam est obsolète à partir de la version 9.2. Dans les versions ultérieures, définissez la taille du tampon à l’aide du bufferSize paramètre de la commande set ns TCPProfile. Si vous effectuez une mise à niveau vers une version où le recvBuffSize paramètre est obsolète, le bufferSize paramètre est défini sur sa valeur par défaut.

Profil TCP par défaut

Un profil TCP, nommé comme nstcp_default_profile, est utilisé pour spécifier les configurations TCP utilisées si aucune configuration TCP n’est fournie au niveau du service ou du serveur virtuel.

Remarques :

  • Les paramètres TCP ne peuvent pas tous être configurés via le profil TCP par défaut. Certains paramètres doivent être effectués à l’aide de la commande TCP globale (voir la section ci-dessous).

  • Il n’est pas nécessaire que le profil par défaut soit explicitement lié à un service ou à un serveur virtuel.

Pour configurer le profil TCP par défaut

  • À l’aide de l’interface de ligne de commande, entrez :

     set ns tcpProfile nstcp_default_profile...
     <!--NeedCopy-->
    
  • Dans l’interface graphique, accédez à Système > Profils, cliquez sur Profils TCP et mettez à jour nstcp_default_profile.

Commande TCP globale

Une autre approche que vous pouvez utiliser pour configurer les paramètres TCP globaux est la commande TCP globale. En plus de certains paramètres uniques, cette commande duplique certains paramètres pouvant être définis à l’aide d’un profil TCP. Toute mise à jour effectuée sur ces paramètres dupliqués est reflétée dans le paramètre correspondant dans le profil TCP par défaut.

Par exemple, si le paramètre SACK est mis à jour à l’aide de cette approche, la valeur est reflétée dans le paramètre SACK du profil TCP par défaut (nstcp_default_profile).

Remarque :

Citrix recommande d’utiliser cette approche uniquement pour les paramètres TCP qui ne sont pas disponibles dans le profil TCP par défaut.

Pour configurer la commande TCP globale

  • À l’aide de l’interface de ligne de commande, entrez :

     set ns tcpParam …
     <!--NeedCopy-->
    
  • Sur l’interface graphique, accédez à Système > Paramètres, cliquez sur Modifier les paramètres TCP et mettez à jour les paramètres TCP requis.

Fonction de mise en mémoire tampon TCP

Citrix ADC fournit une fonctionnalité appelée mise en mémoire tampon TCP que vous pouvez utiliser pour spécifier la taille du tampon TCP. La fonctionnalité peut être activée globalement ou au niveau du service.

Remarque :

La taille de la mémoire tampon peut également être configurée dans le profil TCP par défaut. Si la taille du tampon comporte des valeurs différentes dans la fonction de mise en mémoire tampon TCP et dans le profil TCP par défaut, la valeur la plus élevée est appliquée.

Pour configurer la fonctionnalité de mise en mémoire tampon TCP globalement

  • À l’invite de commandes, entrez :

    activer le mode ns TCPB

    set ns tcpbufParam -size <positiveInteger> -memLimit <positiveInteger>

  • Sur l’interface graphique, accédez à Système > Paramètres, cliquez sur Configurer les modes et sélectionnez TCP Buffering.

    Ensuite, accédez à Système > Paramètres, cliquez sur Modifier les paramètres TCP, spécifiez les valeurs pour la taille du tampon et lalimite d’utilisation de la mémoire.

Définition des paramètres TCP spécifiques au service ou au serveur virtuel

À l’aide des profils TCP, vous pouvez spécifier des paramètres TCP pour les services et les serveurs virtuels. Vous devez définir un profil TCP (ou utiliser un profil TCP intégré) et associer le profil au service et au serveur virtuel appropriés.

Remarque :

Vous pouvez également modifier les paramètres TCP des profils par défaut en fonction de vos besoins.

Vous pouvez spécifier la taille du tampon TCP au niveau du service à l’aide des paramètres spécifiés par la fonction de mise en mémoire tampon TCP.

Pour spécifier des configurations TCP au niveau du service ou du serveur virtuel à l’aide de l’interface de ligne de commande

À l’invite de commandes, effectuez les opérations suivantes :

  1. Configurez le profil TCP.

    set ns tcpProfile <profile-name>...
    <!--NeedCopy-->
    
  2. Liez le profil TCP au service ou au serveur virtuel.

   set service <name> ....
   <!--NeedCopy-->

Exemple :

> set service service1 -tcpProfileName profile1

Pour lier le profil TCP au serveur virtuel :

set lb vserver <name> ....
<!--NeedCopy-->

Exemple :

> set lb vserver lbvserver1 -tcpProfileName profile1
<!--NeedCopy-->

Pour spécifier des configurations TCP au niveau du service ou du serveur virtuel à l’aide de l’interface graphique

À l’interface graphique, effectuez les opérations suivantes :

  1. Configurez le profil TCP.

    Accédez à Système > Profils > Profils TCP, puis créez le profil TCP.

  2. Liez le profil TCP au service ou au serveur virtuel.

    Accédez à Gestion du trafic > Équilibrage de charge > Services/Serveurs virtuels, puis créez le profil TCP, qui doit être lié au service ou au serveur virtuel.

Profils TCP intégrés

Pour faciliter la configuration, Citrix ADC fournit certains profils TCP intégrés. Consultez les profils intégrés répertoriés pour les éléments suivants, sélectionnez un profil et utilisez-le tel qu’il est ou modifiez-le pour répondre à vos besoins. Vous pouvez lier ces profils à vos services ou serveurs virtuels requis.

Profilé intégré Description
nstcp_default_profile Représente les paramètres TCP globaux par défaut de l’appliance.
nstcp_default_tcp_lan Utile pour les connexions de serveur principal, où ces serveurs résident sur le même réseau local que l’appliance.
NSTCP_Default_WAN utile pour les déploiements WAN.
nstcp_default_tcp_lan_thin_stream Semblable au profil nstcp_default_tcp_lan. Toutefois, les paramètres sont réglés sur des flux de paquets de petite taille.
nstcp_default_tcp_interactive_stream Semblable au profil nstcp_default_tcp_lan. Cependant, il a une minuterie ACK retardée réduite et des paramètres de paquets ACK sur PUSH .
nstcp_default_tcp_lfp Utile pour les réseaux WAN (Long Fat Pipe Network) côté client. Les réseaux longs de gros tuyaux ont des lignes à long délai et à bande passante élevée avec un minimum de chutes de paquets.
nstcp_default_tcp_lfp_thin_stream Semblable au profil nstcp_default_tcp_lfp. Toutefois, les paramètres sont réglés pour les flux de paquets de petite taille.
nstcp_default_tcp_lnp Utile pour les réseaux étendus à tubes étroits (WAN) côté client. Les réseaux de tuyaux longs et étroits subissent parfois des pertes de paquets considérables.
nstcp_default_tcp_lnp_thin_stream Semblable au profil nstcp_default_tcp_lnp. Toutefois, les paramètres sont réglés pour les flux de paquets de petite taille.
nstcp_internal_apps Utile pour les applications internes de l’appliance (par exemple, la synchronisation de site GSLB). Il contient des options de mise à l’échelle des fenêtres et de SACK accordées aux applications souhaitées. Ce profil ne doit pas être lié à des applications autres que des applications internes.
NSTCP_Default_Mobile_Profile Utile pour les appareils mobiles.
NSTCP_Default_XA_XD_Profile Utile pour un déploiement XenApp ou XenDesktop.

Exemples de configurations TCP

Exemples d’interface de ligne de commande permettant de configurer les éléments suivants :

Défendre TCP contre les attaques d’usurpation

Permettez à Citrix ADC de défendre TCP contre les attaques d’usurpation d’usurpation. Par défaut, le paramètre « RSTWindowAtténuation » est désactivé. Ce paramètre est activé pour protéger l’appliance contre l’usurpation d’identité. Si vous l’activez, il répond avec un accusé de réception correctif (ACK) pour un numéro de séquence non valide. Les valeurs possibles sont Activé, Désactivé.

Où, le paramètre d’atténuation de la fenêtre RST protège l’appareil contre l’usurpation. Lorsque cette option est activée, répondez avec l’ACK correctif lorsqu’un numéro de séquence n’est pas valide.

    > set ns tcpProfile profile1 -rstWindowAttenuate ENABLED -spoofSynDrop ENABLED
    Done
    > set lb vserver lbvserver1 -tcpProfileName profile1
    Done
<!--NeedCopy-->

Notification explicite de congestion (ECN)

Enable ECN on the required TCP profile

    > set ns tcpProfile profile1 -ECN ENABLED
    Done
    > set lb vserver lbvserver1 -tcpProfileName profile1
    Done
<!--NeedCopy-->

Accusé de réception sélectif (SACK)

Activez SACK sur le profil TCP requis.

    > set ns tcpProfile profile1 -SACK ENABLED
    Done
    > set lb vserver lbvserver1 -tcpProfileName profile1
    Done
<!--NeedCopy-->

Accusé de réception (FACK)

Activez FACK sur le profil TCP requis.

> set ns tcpProfile profile1 -FACK ENABLED
> set lb vserver lbvserver1 -tcpProfileName profile1
<!--NeedCopy-->

Mise à l’échelle des fenêtres (WS)

Activez la mise à l’échelle des fenêtres et définissez le facteur de dimensionnement des fenêtres sur le profil TCP requis.

set ns tcpProfile profile1 –WS ENABLED –WSVal 9
Done
set lb vserver lbvserver1 -tcpProfileName profile1
Done
<!--NeedCopy-->

Taille maximale de segment (MSS)

Mettez à jour les configurations associées au MSS.

> set ns tcpProfile profile1 –mss 1460 - maxPktPerMss 512
Done
> set lb vserver lbvserver1 -tcpProfileName profile1
Done
<!--NeedCopy-->

Citrix ADC pour apprendre le MSS d’un serveur virtuel

Permettez à Citrix ADC d’apprendre le VSS et de mettre à jour d’autres configurations associées.

> set ns tcpParam -learnVsvrMSS ENABLED –mssLearnInterval 180 -mssLearnDelay 3600
Done
<!--NeedCopy-->

TCP Keep-Alive

Activez TCP Keep-Alive et mettez à jour d’autres configurations associées.

> set ns tcpProfile profile1 –KA ENABLED –KaprobeUpdateLastactivity ENABLED -KAconnIdleTime 900 -KAmaxProbes 3 -KaprobeInterval 75 Done > set lb vserver lbvserver1 -tcpProfileName profile1 Done

Taille du tampon - à l’aide du profil TCP

Spécifiez la taille du tampon.

> set ns tcpProfile profile1 –bufferSize 8190 Done > set lb vserver lbvserver1 -tcpProfileName profile1 Done

Taille du tampon : utilisation de la fonction de mise en mémoire tampon TCP

Activez la fonctionnalité de mise en mémoire tampon TCP (globalement ou pour un service), puis spécifiez la taille de la mémoire tampon et la limite de mémoire.

> enable ns feature TCPB Done > set ns tcpbufParam -size 64 -memLimit 64 Done

MPTCP

Activez MPTCP, puis définissez les configurations MPTCP facultatives.

> set ns tcpProfile profile1 -mptcp ENABLED Done > set ns tcpProfile profile1 -mptcpDropDataOnPreEstSF ENABLED -mptcpFastOpen ENABLED -mptcpSessionTimeout 7200 Done > set ns tcpparam -mptcpConCloseOnPassiveSF ENABLED -mptcpChecksum ENABLED -mptcpSFtimeout 0 -mptcpSFReplaceTimeout 10 -mptcpMaxSF 4 -mptcpMaxPendingSF 4 -mptcpPendingJoinThreshold 0 -mptcpRTOsToSwitchSF 2 -mptcpUseBackupOnDSS ENABLED Done

Contrôle de la congestion

Définissez l’algorithme de contrôle de congestion TCP requis.

set ns tcpProfile profile1 -flavor Westwood Done > set lb vserver lbvserver1 -tcpProfileName profile1 Done

Mise en mémoire tampon de réception dynamique

Activez la mise en mémoire tampon de réception dynamique sur le profil TCP requis.

> set ns tcpProfile profile1 -dynamicReceiveBuffering ENABLED Done > set lb vserver lbvserver1 -tcpProfileName profile1 Done

Prise en charge de TCP Fast Open (TFO) dans Multipath TCP (MPTCP)

Une appliance Citrix ADC prend désormais en charge le mécanisme TCP Fast Open (TFO) pour établir des connexions TCP multichemin (MPTCP) et accélérer les transferts de données. Le mécanisme permet de transporter les données de sous-flux pendant la liaison MPTCP initiale dans les paquets SYN et SYN-ACK et permet également de consommer les données par le nœud récepteur lors de l’établissement de la connexion MPTCP.

Pour plus d’informations, consultez la rubrique TCP Fast Open .

Prise en charge de la taille variable des cookies TFO pour MPTCP

Une appliance Citrix ADC vous permet désormais de configurer un cookie TCP Fast Open (TFO) de longueur variable d’une taille minimale de 4 octets et d’une taille maximale de 16 octets dans un profil TCP. Ce faisant, l’appliance peut répondre au client avec la taille de cookie TFO configurée dans le paquet SYN-ACK.

Pour configurer le cookie TCP Fast Open (TFO) dans un profil TCP à l’aide de l’interface de ligne de commande

À l’invite de commandes, tapez :

set tcpProfile nstcp_default_profile -tcpFastOpenCookieSize <positive_integer>

Exemple

set tcpProfile nstcp_default_profile -tcpFastOpenCookieSize 8

Pour configurer le cookie TCP Fast Open (TFO) dans un profil TCP à l’aide de l’interface graphique

  1. Accédez à Configuration > Système > Profils.
  2. Dans le volet d’informations, accédez à l’onglet Profils TCP et sélectionnez un profil TCP.
  3. Sur la page Configurer le profil TCP, définissez la taille du cookie TCP Fast Open .
  4. Cliquez sur OK et Terminé.

Le TCPSyncookie paramètre est activé par défaut dans les profils TCP pour fournir une protection robuste basée sur la RFC 4987 contre les attaques SYN. Si vous devez prendre en charge des clients TCP personnalisés qui ne sont pas compatibles avec cette protection mais qui veulent toujours garantir un retour en cas d’attaque, il synAttackDetection gère cela pour vous en activant automatiquement le SYNCookie comportement en interne pendant une période déterminée par le autosyncookietimeout paramètre.

Pour configurer le seuil maximal de retransmission SYN ACK à l’aide de l’interface de ligne de commande :

À l’invite de commandes, tapez :

    set ns tcpparam [-maxSynAckRetx <positive_integer>]

    Set ns tcpparam [-maxSynAckRetx 150]
<!--NeedCopy-->

Pour configurer l’intervalle de délai d’expiration automatique des cookie SYN à l’aide de l’interface de ligne de commande

À l’invite de commandes, tapez :

set ns tcpparam [-autosyncookietimeout <positive_integer>]

Set ns tcpparam [-autosyncookietimeout 90]

Configurations TCP