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)

La solution matérielle-logicielle 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 la solution matérielle-logicielle 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 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 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, la solution matérielle-logicielle poursuit la connexion MPTCP. Sinon, la solution matérielle-logicielle 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é 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 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 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 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| |Minuterie de retour retardé TCP|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)| |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. Activez ou désactivez l’option Horodatage TCP.| |Délai d’expiration de session TCP multipath|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|Abandonnez silencieusement les connexions TCP semi-fermées en période d’inactivité.| |Supprimer silencieusement les connexions établies en période d’inactivité|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.| |Taille de la mémoire tampon d’envoi TCP|8190 octets|Taille de la mémoire tampon d’envoi TCP| |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| |Fenêtre de congestion TCP Max (CWND)|524288 octets|Fenêtre d’encombrement maximal TCP| |État de l’échelle de la fenêtre|ENABLED|Activez ou désactivez la mise à l’échelle des fenêtres.| |Facteur d’échelle de fenêtre|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, pendant laquelle la connexion est inactive, avant l’envoi d’une sonde keep-alive (KA).| |Intervalle de sonde Keep-Alive|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É| |Transfert de données| |Paquet ACK immédiat sur PUSH|ACTIVÉ|Envoie un accusé de réception positif immédiat (ACK) à la réception de 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 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.| |Segments TCP maximum autorisés dans une rafale|10 MSS|Nombre maximal de segments TCP autorisés en rafale| |Nombre maximal de paquets en rupture d’ordre à mettre en file d’attente|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| |Saveur TCP|CUBIQUE| |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| |Notification de congestion explicite TCP (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.| |Fenêtre de congestion TCP Max (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.| |Démarrage hybride TCP (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).| |Seuil de dupack TCP|DÉSACTIVÉ| |Contrôle de la vitesse de rafale|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| |File d’attente maximale du débit TCP|0|Taille maximale de la file d’attente de connexion en octets, lorsque BurStrateControl est utilisé.| |MPTCP| |TCP à trajets multiples|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.| |Données de suppression TCP multipath sur un sous-flux préétabli|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.| |Ouverture-rapide TCP multipath|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.| |Délai d’expiration de session TCP multipath|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.| |Security| |Protection contre les usurpations SYN|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.| |Cookie de synchronisation TCP|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.| |Détection et récupération des pertes| |Accusé de réception sélectif en double (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.| |Récupération RTO avant (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.| |Accusé de réception TCP Forward (FACK)|ACTIVÉ|Activez ou désactivez FACK (Forward ACK).| |État SACK (Selective Acknowledgement)|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 aucune incidence sur les retransmissions basées sur le RTO.| |Minuterie de retour retardé TCP|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|Modes d’optimisation TCP TRANSPARENT/ENDPOINT| |Appliquer des optimisations TCP adaptatives|DÉSACTIVÉ|Appliquer des optimisations TCP adaptatives| |Déchargement de segmentation TCP|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.| |Agrégation ACK|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É|Supprimer la connexion client et serveur, lorsqu’il y a les données en suspens doivent être envoyées de l’autre côté. |

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

  • 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 :

  • 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.

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 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 :

    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 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 la solution matérielle-logicielle.
nstcp_default_tcp_lan Utile pour les connexions de serveur principal, lorsque ces serveurs résident sur le même réseau local que la solution matérielle-logicielle.
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 sur des 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 la solution matérielle-logicielle (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 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 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 la solution matérielle-logicielle 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 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 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]

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