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 propose également d’autres approches de configuration de TCP. Lisez la suite pour plus d’informations.

Configuration TCP prise en charge

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

Défendre TCP contre les attaques par usurpation d’identité

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 d’encombrement ou de corruption des données. L’implémentation Citrix ADC d’ECN est conforme à la norme RFC 3168.

Mesure du temps aller-retour (RTTM) à l’aide de l’option d’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 pourrait avoir des effets négatifs 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 8 190 octets.

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

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

Accusé de réception avant (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 client) à contrôler la quantité de données injectées dans le réseau pendant les délais de retransmission.

Multiplexage de connexions 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 TCP multivoie

Connexions TCP multivoies (MPTCP) entre le client et l’appliance Citrix ADC. Les connexions MPTCP ne sont pas prises en charge entre l’appliance Citrix ADC et le serveur principal. L’implémentation Citrix ADC de MPTCP est conforme aux normes RFC 6824 et RFC 8684 prenant en charge les versions MPTCP 0 et 1.

Vous pouvez afficher les 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 en tant que 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 par l’appliance, celle-ci 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 poursuit la connexion MPTCP. Sinon, l’appliance reprend un protocole 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é d’annonce d’adresse supplémentaire (ADD_ADDR) annonce l’adresse IP des serveurs virtuels liés à l’ensemble d’adresses IP. Les clients peuvent initier davantage de MP-JOIN sous-flux 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 paramètre mptcpAdvertise 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 paramètre mptcpAdvertise est activé pour l’adresse IP du serveur virtuel.

Configurer la fonctionnalité de publication d’adresses supplémentaires (ADD_ADDR) pour annoncer plus d’adresses VIP à 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.

TCP segmentation offload

Décharge la segmentation TCP vers la carte réseau. Si vous définissez l’option sur « 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 mécanisme SYNCOOKIE de 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.

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 répertorie les paramètres TCP et leur valeur par défaut configurés sur une appliance Citrix ADC.

Paramètre Valeur par défaut Description
Gestion des fenêtres    
TCP Delayed-ACK Timer 100 millisecondes 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)
Connection idle time before starting keep-alive probes 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é
TCP Timestamp Option DÉSACTIVÉ L’option horodatage permet une mesure RTT précise. Activez ou désactivez l’option Horodatage TCP.
Multipath TCP session timeout 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.
Silently Drop HalfClosed connections on idle timeout 0 seconde Abandonnez silencieusement les connexions TCP semi-fermées en période d’inactivité.
Silently Drop Established connections on idle timeout DÉSACTIVÉ Supprimer silencieusement les connexions établies par TCP en période d’inactivité
Gestion de la mémoire    
Taille de la mémoire 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 de la mémoire tampon par défaut est de 8 Ko et il est généralement prudent de l’incrémenter lorsque vous parlez à des batteries de serveurs internes. La taille du tampon est également affectée par la couche d’application réelle dans Citrix ADC, comme pour les cas de point de terminaison SSL, elle est définie sur 40 Ko et pour la compression, elle est définie sur 96 Ko. Remarque : L’argument de taille de tampon doit être défini pour que les ajustements dynamiques aient lieu.
TCP Send Buffer Size 8190 octets TCP Send Buffer Size
Mise en mémoire tampon de réception dynamique TCP DÉSACTIVÉ Activez ou désactivez la mise en mémoire tampon de réception dynamique. Lorsqu’il est activé, il permet d’ajuster dynamiquement le tampon de réception en fonction des conditions de mémoire et du réseau. Remarque : L’argument de taille de la mémoire tampon doit être défini pour que les ajustements dynamiques aient lieu
TCP Max congestion window(CWND) 524288 octets TCP Maximum Congestion Window
Window Scaling status ENABLED Activez ou désactivez la mise à l’échelle des fenêtres.
Window Scaling factor 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    
Keep-alive probes DÉSACTIVÉ Envoyez des sondes TCP Keep-Alive (KA) périodiques pour vérifier si le pair est toujours actif.
Connection idle time before starting keep-alive probes 900 secondes Durée, en secondes, pendant laquelle la connexion est inactive, avant l’envoi d’une sonde keep-alive (KA).
Keep-alive probe interval 75 seconde Intervalle de temps, en secondes, avant la prochaine sonde Keep-Alive (KA), si le pair ne répond pas.
Nombre maximal de sondes Keep-Alive à manquer avant d’interromper la connexion. 3 Nombre de sondes Keep-Alive (KA) à envoyer sans accusé de réception, 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É  
Data transfer    
Immediate ACK on PUSH packet ACTIVÉ Envoie un accusé de réception positif immédiat (ACK) à la réception de paquets TCP avec indicateur PUSH.
Maximum packets per MSS 0 Nombre maximal d’octets à autoriser dans un segment de données TCP
Algorithme de Nagle DÉSACTIVÉ L’algorithme de Nagle’s résout 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 frappe de 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.
Maximum TCP segments allowed in a burst 10 MSS Maximum number of TCP segments allowed in a burst
Maximum out-of-order packets to queue 300 Taille maximale de la file d’attente des paquets en rupture d’ordre. Une valeur de 0 signifie qu’il n’y a pas de limite
Contrôle de la congestion    
TCP Flavor CUBIC  
Paramétrage de la fenêtre de congestion initiale (cwnd) 4 MSS Limite maximale initiale du nombre de paquets TCP pouvant être en attente sur la liaison TCP vers le serveur
TCP Explicit Congestion Notification(ECN) DÉSACTIVÉ La notification de congestion explicite (ECN) fournit une notification de bout en bout de la congestion du réseau sans abandonner de paquets.
TCP Max congestion window(CWND) 524288 octets TCP maintient une fenêtre de congestion (CWND), limitant le nombre total de paquets sans accusé de réception pouvant ê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 attente à tout moment. La fenêtre de congestion est un moyen d’empêcher qu’un lien entre l’expéditeur et le destinataire ne soit surchargé par un trafic trop important. Il est calculé en estimant combien de congestion il y a sur le lien.
TCP Hybrid Start (HyStart) 8 octets  
Délai d’expiration minimum de retransmission TCP (RTO) en millions de secondes 1 000 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).
TCP dupack threshold DÉSACTIVÉ  
Burst Rate Control 3 Contrôle du taux de rafale TCP DÉSACTIVÉ/FIXE/DYNAMIQUE. FIXED nécessite la définition d’un débit TCP
Taux TCP DÉSACTIVÉ Taux d’envoi de la charge utile de connexion TCP en Ko/s
TCP Rate Maximum Queue 0 Taille maximale de la file d’attente de connexion en octets, lorsque BurStrateControl est utilisé.
MPTCP    
Multipath TCP DÉSACTIVÉ Multipath TCP (MPTCP) est un ensemble d’extensions de TCP standard pour fournir un service TCP multipath, qui permet à une connexion de transport de fonctionner simultanément sur plusieurs chemins.
Multipath TCP drop data on pre-established subflow DÉSACTIVÉ Activez ou désactivez la suppression silencieuse 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’interrompre la connexion lorsque des données sont reçues sur un sous-flux préétabli.
Multipath TCP fastopen DÉSACTIVÉ Activez ou désactivez l’ouverture rapide Multipath TCP. Lorsque cette option est activée, les paquets de données DSS sont acceptés avant de recevoir le troisième ack de l’établissement de liaison SYN.
Multipath TCP session timeout 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é    
SYN spoof protection DÉSACTIVÉ Activez ou désactivez la suppression des 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.
TCP Syncookie DÉSACTIVÉ Ceci est utilisé pour résister aux attaques d’inondation SYN. Activez ou désactivez le mécanisme SYNCOOKIE pour l’établissement de liaison TCP avec les clients. La désactivation de SYNCOOKIE empêche la protection contre les attaques SYN sur l’appliance Citrix ADC.
Loss Detection and Recovery    
Duplicate Selective Acknowledgment (DSACK) ACTIVÉ Une appliance Citrix ADC utilise un accusé de réception sélectif en double (DSACK) pour déterminer si une retransmission a été envoyée par erreur.
Forward RTO recovery (FRTO) ACTIVÉ Détecte les délais d’attente de retransmission TCP parasites. Après avoir retransmis le premier segment non reconnu déclenché par un délai d’expiration, l’algorithme de l’expéditeur TCP surveille les accusés de réception entrants pour déterminer si le délai d’expiration était faux. Il décide ensuite s’il faut envoyer de nouveaux segments ou retransmettre les segments non confirmés. L’algorithme aide efficacement à éviter d’autres retransmissions inutiles et améliore ainsi les performances TCP en cas de délai d’expiration inutile.
TCP Forward Acknowledgment (FACK) ACTIVÉ Activez ou désactivez FACK (Forward ACK).
Selective Acknowledgement(SACK) status 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.
Maximum packets per 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 aucune incidence sur les retransmissions basées sur le RTO.
TCP Delayed-ACK Timer 100 millisecondes Délai d’attente pour l’ACK retardé par TCP, en millisecondes
Optimisation du coût total de possession    
Mode d’optimisation TCP TRANSPARENT TCP Optimization modes TRANSPARENT/ENDPOINT
Appliquer des optimisations TCP adaptatives DÉSACTIVÉ Apply Adaptive TCP optimizations
TCP Segmentation Offload AUTOMATIQUE Déchargez la segmentation TCP vers la carte réseau. Si cette option est définie sur AUTOMATIC, la segmentation TCP est déchargée vers la carte réseau, si la carte réseau la prend en charge.
ACK Aggregation DÉSACTIVÉ Activer ou désactiver l’agrégation ACK
TCP Time-wait (ou Time_Wait) 40 secondes Temps écoulé avant de libérer une connexion TCP fermée
Client et serveur Delink sur RST DÉSACTIVÉ Déconnecter la connexion client et serveur, lorsqu’il y a des données en attente à envoyer à l’autre côté.

Setting Global TCP Parameters

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 à l’aide de :

  • Default TCP profile
  • Global TCP command
  • Fonction de mise en mémoire tampon TCP

Remarque :

Le paramètre recvBuffSize 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 paramètre bufferSize de la commande set ns TCPProfile. Si vous effectuez une mise à niveau vers une version où le paramètre recvBuffSize est obsolète, le paramètre bufferSize est défini sur sa valeur par défaut.

Default TCP profile

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 :

  • Tous les paramètres TCP ne peuvent pas être configurés via le profil TCP par défaut. Certains paramètres doivent être exécuté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.

Global TCP command

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 de ces paramètres dupliqués est reflétée dans le paramètre correspondant du 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 de la mémoire tampon comporte des valeurs différentes dans la fonctionnalité 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 globalement la fonctionnalité de mise en mémoire tampon TCP

  • À l’invite de commandes, saisissez :

    enable ns mode 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 de la mémoire tampon TCP au niveau du service à l’aide des paramètres spécifiés par la fonctionnalité 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

Dans 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, lorsque 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 Similaire au profil nstcp_default_tcp_lan. Toutefois, les paramètres sont réglés pour les flux de paquets de petite taille.
nstcp_default_tcp_interactive_stream Similaire au profil nstcp_default_tcp_lan. Cependant, il dispose d’un temporisateur ACK retardé réduit et des paramètres de paquet ACK sur PUSH .
nstcp_default_tcp_lfp Utile pour les réseaux WAN (long fat pipe networks) côté client. Les réseaux de gros tubes longs ont des lignes à long délai et à bande passante élevée avec des pertes de paquets minimales.
nstcp_default_tcp_lfp_thin_stream Similaire 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 à tubes longs et étroits (WAN) côté client. Les réseaux à tubes longs et étroits subissent parfois des pertes de paquets considérables.
nstcp_default_tcp_lnp_thin_stream Similaire 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 la mise à l’échelle de la fenêtre ajustée et les options SACK pour les 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 le déploiement de Citrix Virtual Apps and Desktops.

Exemples de configurations TCP

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

Défendre TCP contre les attaques par usurpation d’identité

Activez Citrix ADC pour défendre TCP contre les attaques d’usurpation. Par défaut, le paramètre « RSTWindowattenuation » 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’appliance 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 de la fenêtre et définissez le facteur de mise à l’échelle de la fenêtre sur le profil TCP requis.

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

Taille de segment maximale (MSS)

Mettez à jour les configurations liées au MSS.

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

Citrix ADC pour découvrir le MSS d’un serveur virtuel

Activez Citrix ADC pour apprendre le VSS et mettre à jour les autres configurations associées.

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

Keep-Alive TCP

Activez la persistance TCP et mettez à jour les 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 de la mémoire tampon : utilisation du profil TCP

Spécifiez la taille de la mémoire 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. Dans la page Configurer le profil TCP, définissez la taille du cookie d’ ouverture rapide TCP .
  4. Cliquez sur OK et Terminé.

Le paramètre TCPSyncookie 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 avez besoin de prendre en charge des clients TCP personnalisés qui ne sont pas compatibles avec cette protection mais souhaitent tout de même garantir une solution de secours en cas d’attaque, le synAttackDetection gère pour vous en activant automatiquement le comportement en interne de SYNCookie pendant la durée déterminée par le paramètre autosyncookietimeout.

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]

Supprimer la connexion client et serveur

Lorsqu’il est activé, le paramètre déconnecte la connexion client et serveur lorsqu’il y a des données en attente à envoyer vers l’autre côté. Par défaut, le paramètre est désactivé.

set ns tcpparam -delinkClientServerOnRST ENABLED
Done

<!--NeedCopy-->
Configurations TCP