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 pour configurer 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 d’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 réseau à l’expéditeur des données et prend des mesures correctives en cas de congestion des données ou d’altération 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 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’option TimeStamp est compatible 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 la récupération par voie de retour (F-RTO). En cas de 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 à considérer 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 de la fenêtre sauf si vous savez 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 une même session est une session de mise à l’échelle de fenêtre 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 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 dans le réseau et en aidant l’expéditeur (soit un 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 retransmission.

Multiplexage de connexion TCP

Cette fonctionnalité permet la réutilisation des 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 nouvelle connexion pour la demande client et stocke la connexion au pool de réutilisation. Citrix ADC prend en charge le multiplexage de connexion pour les types de connexion HTTP, SSL et DataStream.

Mise en mémoire tampon de réception dynamique

Cela permet d’ajuster dynamiquement le tampon de réception en fonction des conditions de mémoire et de 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 de base

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 Gateway MPTCP pour vos serveurs, les serveurs n’ont pas à 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, l’appliance 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 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.

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 de superposition 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 pour la durée de vie de la connexion TCP et, par conséquent, cela empêche l’hôte de saut suivant d’avoir à interpréter à nouveau l’option. Cette option s’applique uniquement aux services Web sur lesquels l’option d’insertion Client-IP est activée. Pour plus d’informations, consultez la rubrique Insertion du client sur le backend.

Déchargement de la segmentation TCP

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

Paramètres TCP supportables

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

Paramètre Valeur par défaut Description
Gestion des fenêtres    
Minuteur ACK différé TCP 100 millisec Délai d’attente pour ACK retardé TCP, en millisecondes.
Délai de retransmission (RTO) minimum TCP en millisec 1000 millisec 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 Laisser silencieusement les connexions établies tcp sur le délai d’inactivité outcp les connexions établies sur le délai d’inactivité
Option d’horodatage TCP ACTIVÉ L’option horodatage permet une mesure RTT précise. Activez ou désactivez l’option d’horodatage TCP.
Délai d’expiration de session TCP à chemins multiples 0 seconde Délai d’expiration de session MPTCP en secondes. Si cette valeur n’est pas définie, inactif. Les sessions MPTCP sont vidé après le délai d’inactivité client de vserver.
Supprimer silencieusement les connexions HalfFermées sur le délai d’inactivité 0 seconde Déposez silencieusement les connexions TCP semi-fermées sur le délai d’inactivité.
Supprimer silencieusement les connexions établies sur le délai d’inactivité DÉSACTIVÉ Déposez silencieusement les connexions établies TCP sur le délai d’attente d’inactivité
Gestion de la mémoire    
Taille du tampon TCP 131072 octets La taille du tampon TCP est 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 8K et dans la plupart des cas, il sera sûr d’incrémenter cela lorsque vous parlez à des batteries de serveurs internes. La taille de la mémoire tampon est également influencé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, sur 96 Ko. Remarque : L’argument de taille de tampon doit être défini pour que les ajustements dynamiques aient lieu.
Taille du tampon d’envoi TCP 8190 octets Taille du tampon d’envoi TCP
Mise en mémoire tampon de réception dynamique TCP DÉSACTIVÉ Activer ou désactiver la mise en mémoire tampon de réception dynamique. Lorsqu’elle est activée, elle permet d’ajuster dynamiquement le tampon de réception en fonction des conditions de mémoire et de réseau. Remarque : L’argument de taille de tampon doit être défini pour que les ajustements dynamiques aient lieu
Fenêtre de congestion TCP Max (CWND) 524288 octets Fenêtre Congestion maximale TCP
État de la mise à l’échelle de la fenêtre ÉNALBED Activer ou désactiver la mise à l’échelle des fenêtres.
Facteur de mise à l’échelle de la fenêtre 8 Facteur utilisé pour calculer la nouvelle taille de la fenêtre.Cet argument est nécessaire uniquement lorsque la mise à l’échelle de la fenêtre est activée.
Configuration de la connexion    
Sondes Keep-alive DÉSACTIVÉ Envoyez périodiquement des sondes TCP keep-alive (KA) pour vérifier si l’homologue est toujours actif.
Temps d’inactivité de connexion avant le démarrage des sondes Keep-alive 900 secondes Durée, en secondes, de la connexion pour être 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 l’homologue ne répond pas.
Sondes Keep-alive maximum à manquer avant de laisser tomber la connexion. 3 Nombre de sondes Keep-alive (KA) à envoyer lorsqu’elles n’ont pas été accusées de réception, avant de supposer que le pair est en panne.
Atténuation de la fenêtre RST (protection contre les usurpations). 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, elle répondra avec ACK correctif lorsqu’un numéro de séquence n’est pas valide.
Acceptez la TVD avec le dernier numéro de séquence accusé de réception. ACTIVÉ  
Transfert de données    
ACK immédiat sur le paquet PUSH ACTIVÉ Envoyer un accusé de réception positif immédiat (ACK) à la réception des paquets TCP avec l’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 lutte contre le problème des petits paquets dans la transmission TCP. Des applications comme 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 très 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 MS Nombre maximal de segments TCP autorisés dans une rafale
Nombre maximal de paquets hors ordre à mettre en file d’attente 300 Taille maximale de la file d’attente de paquets en panne. Une valeur de 0 signifie aucune limite
Contrôle de la congestion    
Saveur TCP CUBE  
Paramètre de la fenêtre de congestion initiale (cwnd) 4 MS Limite supérieure maximale initiale du nombre de paquets TCP qui peuvent être en attente sur la liaison TCP vers le serveur
Notification de congestion explicite TCP (ECN) DÉSACTIVÉ La notification ECN (Explicite Congestion Notification) fournit une notification de bout en bout de la congestion réseau sans laisser tomber les paquets.
Fenêtre de congestion TCP Max (CWND) 524288 octets TCP maintient une fenêtre de congestion (CWND), limitant le nombre total de paquets non accusés pouvant être en transit de bout en bout. Dans TCP, la fenêtre de congestion est l’un des facteurs qui détermine le nombre d’octets qui peuvent être en suspens à tout moment.La fenêtre de congestion est un moyen d’arrêter un lien entre l’expéditeur et le récepteur de devenir surchargé avec trop de trafic. Il est calculé en estimant combien de congestion il y a sur le lien.
Début hybride TCP (HYSTART) 8 octets  
Délai de retransmission (RTO) minimum TCP en millisec 1000 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 DISABLE/FIXE/DYNAMIQUE. FIXE nécessite un taux TCP à définir
Taux TCP DÉSACTIVÉ Taux d’envoi de charge utile de connexion TCP en Ko/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 à chemins 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.
Multipath TCP déposer des données 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 de supprimer la connexion lorsque les données sont reçues sur un sous-flux préétabli.
Multipath TCP fastopen DÉSACTIVÉ Activez ou désactivez Multipath TCP fastopen. Lorsqu’ils sont activés, les paquets de données DSS sont acceptés avant de recevoir le troisième paquet de la poignée de main SYN.
Délai d’expiration de session TCP à chemins multiples 0 seconde Délai d’expiration de session MPTCP en secondes. Si cette valeur n’est pas définie, les sessions MPTCP inactives sont vidé après le délai d’inactivité client de vserver.
Sécurité    
Protection contre les usurpations SYN DÉSACTIVÉ Activez ou désactivez la suppression des paquets SYN non valides pour se protéger contre l’usurpation. Lorsqu’elles sont désactivées, 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 poignée de main 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 DSACK (Duplicate Selective Accusé de réception) pour déterminer si une retransmission a été envoyée par erreur.
Récupération de RTO à terme (ORF) ACTIVÉ Détecte les délais impartis de retransmission TCP. Après avoir retransmis le premier segment non accusé de réception 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 des segments non accusés de réception. L’algorithme aide efficacement à éviter les retransmissions inutiles supplémentaires et améliore ainsi les performances TCP en cas de délai imparti.
Accusé de réception de transfert TCP (FACK) ACTIVÉ Activez ou désactivez FACK (Forward ACK).
Statut de l’accusé de réception sélectif (SACK) ACTIVÉ TCP SACK résout le problème de la perte de plusieurs paquets, ce qui réduit la capacité de débit globale. Avec un accusé de réception sélectif, le destinataire peut informer l’expéditeur de tous les segments qui sont 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 faire une retransmission, ce paramètre est considéré. Cela n’a pas d’incidence sur les retransmissions basées sur RTO.
Minuteur ACK différé TCP 100 millisec Délai d’attente pour 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 sur la carte réseau. Si elle est définie sur AUTOMATIQUE, la segmentation TCP sera déchargée sur la carte réseau, si elle 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 à écouler 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 et serveurs virtuels Citrix ADC. Cela peut être fait en utilisant :

  • Profil TCP par défaut
  • Commande TCP globale
  • 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 de la mémoire tampon à l’aide du paramètre BufferSize de la commande set ns TCPProfile. Si vous effectuez une mise à niveau vers une version dans laquelle le paramètre RecvBuffSize est obsolète, le paramètre BufferSize est défini sur sa valeur par défaut.

Profil TCP par défaut

Un profil TCP, nommé nstcp_default_profile, est utilisé pour spécifier les configurations TCP qui seront 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 effectués à l’aide de la commande TCP globale (voir la section ci-dessous).

  • Le profil par défaut n’a pas besoin d’être 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 :

    définir ns TCPProfile nstcp_default_profile…

  • 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 qui peuvent être définis à l’aide d’un profil TCP. Toute mise à jour apportée à ces paramètres en double 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 …

  • Dans 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 de la mémoire tampon TCP. La fonctionnalité peut être activée globalement ou au niveau du service.

Remarque La taille du tampon peut également être configurée dans le profil TCP par défaut. Si la taille de la mémoire tampon a 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 globalement la fonctionnalité de mise en mémoire tampon TCP

  • À l’invite de commandes, entrez :

    activer le mode ns TCPB

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

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

    Et, accédez à Système > Paramètres, cliquez sur Modifier les paramètres TCP et spécifiez les valeurs pour la taille de la mémoire tampon et la limite 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 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>...

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

set service <name> ....

**Exemple** :

`> set service service1 -tcpProfileName profile1`

Pour lier le profil TCP au serveur virtuel :

`set lb vserver <name> ....`

**Exemple** :

`> set lb vserver lbvserver1 -tcpProfileName profile1`

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 et 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 et 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. Passez en revue les profils intégrés répertoriés ci-dessous et 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 sur l’appliance.
nstcp_default_tcp_lan Utile pour les connexions au serveur principal, où ces serveurs résident sur le même réseau local que l’appliance.
nstcp_default_tcp_lan_thin_stream Similaire au profil nstcp_default_tcp_lan ; cependant, 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 a un temporisateur ACK retardé réduit et ACK sur les paramètres de paquets PUSH.
nstcp_default_tcp_lfp Utile pour les réseaux WAN (long fat pipe network) côté client. Les réseaux de tubes de graisse longs ont un long délai, des lignes à large bande passante avec un minimum de gouttes de paquets.
nstcp_default_tcp_lfp_thin_stream Similaire au profil nstcp_default_tcp_lfp ; cependant, 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 étroits longs (WAN) côté client. Les réseaux de tuyaux étroits longs ont une perte considérable de paquets de temps en temps.
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, synchronisation de sites GSLB). Cela contient des options de mise à l’échelle des fenêtres et 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 pour configurer les éléments suivants :

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

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

Le paramètre d’atténuation de la fenêtre RST protège l’appliance contre l’usurpation d’identité. Lorsque cette option est activée, répondra avec 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

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

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

Accusé de réception (FACK)

Activez FACK sur le profil TCP requis.

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

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

Taille maximale du segment (MSS)

Mettez à jour les configurations associées à MSS.

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

Citrix ADC pour apprendre le MSS d’un serveur virtuel

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

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

TCP garder en vie

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 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 de la mémoire tampon - utilisation de la fonction de mise en mémoire tampon TCP

Activez la fonction de mise en mémoire tampon TCP (globalement ou pour un service), puis spécifiez la taille du 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 multipath (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, reportez-vous à la rubrique Ouverture rapide TCP.

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 TCP Fast Open.
  4. Cliquez sur OK et Terminé.

Dans une appliance Citrix ADC, par défaut, le paramètre de cookie SYN sur le profil TCP est activé pour résister aux attaques SYN. Si vous préférez détecter une attaque pour un serveur virtuel et vérifier le taux de retransmission SYN-ACK, la valeur du cookie SYN est basculée de l’état Activé à l’état Désactivé. Toutefois, l’effet de basculement du cookie de l’état Activé à l’état Désactivé et vice versa provoque une incohérence de configuration entre les nœuds dans un déploiement de cluster. Pour résoudre ce problème, vous pouvez utiliser le second paramètre de cookie SYN géré sur chaque serveur virtuel de l’appliance. Lorsqu’une attaque SYN est détectée, le cookie SYN sur le profil TCP est désactivé et la deuxième valeur de cookie SYN sur le serveur passe de l’état Désactivé à l’état Activé. Le cookie reste dans l’état Activé pour un intervalle autosyncookietimeout que vous pouvez spécifier. Pendant l’intervalle de temporisation, le serveur virtuel combat l’attaque SYN en mode SYN Cookie. Une fois l’intervalle écoulé, la valeur du cookie SYN est rétabli à l’état Désactivé si le taux de retransmission SYN-ACK du serveur virtuel est inférieur au seuil. Sinon, si le taux est toujours au-dessus du seuil, cela implique qu’il s’agit d’une attaque SYN et que le cookie est de nouveau basculé à l’état Activé pour la période d’expiration spécifiée.

Pour configurer le seuil maximum 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]

Pour configurer l’intervalle de temporisation automatique des cookies 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]