ADC

Configurations TCP

Les configurations TCP pour une appliance NetScaler 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 NetScaler propose également d’autres approches pour configurer TCP.

Configuration TCP prise en charge

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

Défense du protocole TCP contre les attaques d’usurpation d’identité conformément à la RFC 5961

NetScaler prend en charge les méthodes d’atténuation de fenêtre RST et de protection contre l’usurpation SYN pour protéger le protocole TCP contre les attaques d’usurpation d’identité et est conforme à la norme RFC 4953.

À partir de la version 14.1-4.x de NetScaler, NetScaler est conforme à la norme RFC 5961, qui fournit une protection améliorée contre les attaques d’usurpation d’identité TCP. Conformément à la norme RFC 5961, NetScaler fournit les fonctionnalités suivantes en plus de l’atténuation de la fenêtre RST et de la protection contre l’usurpation SYN :

  • Réduit la probabilité d’une injection de données non valide.
  • Permet d’imposer une limite au nombre de réponses ACK aux défis par seconde envoyées par le NetScaler.

Par défaut, la conformité à la RFC 5961 est désactivée. Vous pouvez l’activer à l’aide de l’interface de ligne de commande ou de l’interface graphique. Pour plus d’informations, consultez la section Défense du protocole TCP contre les attaques par usurpation d’identité.

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 NetScaler de l’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 de TimeStamp cette option par NetScaler est conforme à la norme RFC 1323.

Détection de retransmissions fausses

Cette détection peut être effectuée à l’aide de l’accusé de réception sélectif en double TCP (D-SACK) et de la récupération RTO directe (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 NetScaler de D-SACK est conforme à la norme RFC 2883 et F-RTO est conforme à la norme RFC 5682.

Contrôle de la congestion

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

  • BBR : fonctionne en surveillant le temps aller-retour (RTT) et la bande passante plutôt que de réagir à la perte de paquets. Cette approche permet à BBR de réguler efficacement le trafic, ce qui se traduit par une amélioration du débit et de la latence.
  • BIC : optimisé pour les réseaux haut débit à latence élevée (réseaux long fat). Pour ces réseaux, le BIC présente un avantage significatif par rapport aux autres algorithmes de contrôle de congestion en ce qui concerne la correction de la bande passante gravement sous-utilisée.
  • CUBIC : permet d’établir des connexions à haut débit sur les réseaux de manière plus rapide et plus fiable en cas de latence élevée. Il permet d’optimiser les réseaux de graisse longs.
  • Default/New Reno - Empêche de trop nombreuses pertes de paquets dues à la congestion et assure l’équité avec les autres flux.
  • Nile : NetScaler a développé cet algorithme d’optimisation TCP pour les réseaux haut débit tels que LTE, LTE advanced et 3G. Nile répond à des défis uniques liés à la décoloration, aux pertes aléatoires ou congestives, aux retransmissions de la couche liaison et à l’agrégation des porteuses. Pour plus d’informations, voir Algorithme NILE. Pour plus d’informations, voir Algorithme NILE.
  • Westwood : L’algorithme TCP Westwood (TCPW) est une modification côté expéditeur de l’algorithme de fenêtre de congestion TCP qui améliore les performances des réseaux câblés et sans fil.

Configurez l’algorithme BBR :

À partir de la version 14.1-21.x de NetScaler, NetScaler prend en charge l’algorithme Bottleneck Bandwidth et Round Trip Propagation Time (BBR) pour TCP. Grâce à cet algorithme, NetScaler fournit des performances réseau améliorées et un système de gestion du trafic plus efficace.

Pour configurer le support BBR à l’aide de l’interface de ligne de commande, exécutez la commande suivante :

set ns tcpprofile <tcpprofile> -SACK [enable|disable] -flavor [ BBR| BIC |  CUBIC | Default | Nile | Westwood ]
<!--NeedCopy-->

Remarque :

Pour que l’algorithme de contrôle de congestion BBR fonctionne de manière optimale, la fonctionnalité de reconnaissance sélective (SACK) doit être activée sur le profil TCP.

Exemple :

set ns tcpprofile <tcpprofilename> -SACK enable -flavor BBR
<!--NeedCopy-->

Pour configurer le support BBR à l’aide de l’interface graphique :

  1. Accédez à Système > Profils > Profils TCP et cliquez sur Ajouter.
  2. Sur la page Créer un profil TCP, dans le champ TCP Flavor, sélectionnez BBR.

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 (une appliance NetScaler ou un client) pour informer 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 du protocole TCP en mesurant explicitement le nombre total d’octets de données en suspens sur le réseau et en aidant l’expéditeur (NetScaler 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 NetScaler stocke les connexions TCP établies vers le 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. NetScaler prend en charge le multiplexage des 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 NetScaler. Les connexions MPTCP ne sont pas prises en charge entre NetScaler et le serveur principal. L’implémentation du protocole MPTCP par NetScaler 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 NetScaler doivent prendre en charge la même version de MPTCP. Si vous utilisez l’appliance NetScaler comme passerelle MPTCP pour vos serveurs, ceux-ci ne doivent pas nécessairement prendre en charge le protocole 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 NetScaler 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 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 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 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 NetScaler doit publier 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 une adresse IP auprès des clients compatibles MPTCP à l’aide de l’interface graphique NetScaler

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

  1. Accédez à Système > Réseau > IP .
  2. Dans le panneau de détails, 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é.

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 NetScaler extrait l’option de superposition de chemins 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 SYNCOOKIE empêche la protection SYN contre les attaques sur l’appliance NetScaler.

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

Paramètres TCP pris en charge

Le tableau suivant fournit une liste des paramètres TCP et de leurs valeurs par défaut :

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 de la mémoire tampon TCP est la taille de la mémoire tampon de réception sur NetScaler. Cette taille de mémoire tampon est annoncée aux clients et aux serveurs par NetScaler et contrôle leur capacité à envoyer des données à NetScaler. La taille de la mémoire tampon par défaut est 131072 et il est généralement possible de l’incrémenter en toute sécurité lorsque vous parlez à des parcs de serveurs internes. La taille de la mémoire tampon est également affectée par la couche d’application réelle dans NetScaler. Pour les cas de terminaison SSL, la taille de la mémoire tampon est définie sur 40 K et pour la compression, elle est définie sur 96 K.
Remarque : L’argument de taille de la mémoire tampon doit être défini pour que les ajustements dynamiques aient lieu.
Taille mémoire tampon d’envoi TCP 131072 octets Taille 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
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.
Conformité à la RFC 5961 DÉSACTIVÉ Activez la conformité à la RFC 5961 pour vous protéger contre l’usurpation d’identité. Lorsque cette option est activée, elle fournit à la fois une atténuation de la fenêtre RST et une protection contre l’usurpation SYN et vous permet également de contrôler le nombre de défis ACK envoyés par le NetScaler. Notez que pour que la fonction de conformité à la RFC 5961 fonctionne, vous devez désactiver à la fois l’atténuation de la fenêtre RST et la protection contre l’usurpation SYN.
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 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. Grâce à l’algorithme de Nagle, NetScaler peut mettre en mémoire tampon de tels 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 NetScaler.
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 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).
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 NetScaler.
Loss Detection and Recovery    
Duplicate Selective Acknowledgment (DSACK) ACTIVÉ Une appliance NetScaler utilise un accusé de réception sélectif dupliqué (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 à NetScaler d’améliorer le débit global et de réduire la latence de connexion.
Maximum packets per retransmission 1 Permet à NetScaler de contrôler le nombre de paquets à retransmettre en une seule tentative. Lorsque NetScaler reçoit un ACK partiel et 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é.

Remarque :

Lorsque HTTP/2 est activé, Citrix vous recommande de désactiver le paramètre TCP Dynamic Receive Buffering dans le profil TCP.

Setting Global TCP Parameters

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

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

Remarques :

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

  • Lors de la configuration du profil TCP, assurez-vous que le buffersize paramètre TCP est inférieur ou égal au httppipelinebuffersize paramètre. Si le buffersize paramètre du profil TCP est supérieur au httppipelinebuffersize paramètre du profil HTTP, la charge utile TCP peut être accumulée et dépasser la taille de la mémoire tampon du pipeline HTTP. Cela entraîne la réinitialisation de la connexion TCP par l’appliance NetScaler.

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

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

Configuration globale de 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, NetScaler 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 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 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é

Avant le support de conformité à la RFC 5961

Pour activer l’atténuation de la fenêtre RST et la protection contre l’usurpation SYN à l’aide de l’interface de ligne de commande, procédez comme suit :

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

Pour activer l’atténuation de la fenêtre RST et la protection contre l’usurpation SYN à l’aide de l’interface graphique, procédez comme suit :

  1. Accédez à Système > Profils > Profils TCP, puis cliquez surAjouterpour créer un profil TCP.
  2. Sélectionnez l’ atténuation de la fenêtre RST et la protection contre les usurpationsSYN.
  3. Cliquez sur Créer.

À partir de la version 14.1-4.x de NetScaler avec prise en charge de la conformité à la RFC 5961

Pour activer la conformité à la RFC 5961 à l’aide de l’interface de ligne de commande :

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

Pour limiter le nombre d’ACK de défis autorisés par seconde, activez le rfc5961ChallengeAckLimit paramètre :

> set ns tcpParam -rfc5961ChlgAckLimit 100
 Done
<!--NeedCopy-->

Pour activer la conformité à la RFC 5961 à l’aide de l’interface graphique :

  1. Accédez à Système > Profils > Profils TCP, puis cliquez surAjouterpour créer un profil TCP.
  2. Atténuation claire de la fenêtre RST et protection contre les usurpations SYN.
  3. Sélectionnez Conformité à la RFC5961 et cliquez sur Créer.
  4. Accédez à Système > Paramètres > Modifier les paramètres TCP.
  5. Entrez une valeur dans la RFC5961 Chlg Ack Limit et cliquez sur OK.

Notification explicite de congestion (ECN)

Activez l’ECN sur le profil TCP requis.

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

NetScaler pour découvrir le MSS d’un serveur virtuel

Permettez à NetScaler d’apprendre le VSS et de 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 NetScaler prend désormais en charge le mécanisme TCP Fast Open (TFO) pour établir des connexions TCP multivoies (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 NetScaler 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 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]

Génération ISN améliorée

Lorsqu’il est activé, le paramètre augmente la variance des numéros de séquence initiaux (ISN) générés par NetScaler lors de l’établissement d’une connexion TCP. Ce scénario s’applique uniquement aux connexions TCP où NetScaler agit en tant que serveur. Par défaut, le paramètre est désactivé.

Pour activer la génération améliorée d’ISN à l’aide de l’interface de ligne de commande, exécutez la commande suivante :

set ns tcpparam -enhancedISNgeneration [ENABLED | DISABLED]
<!--NeedCopy-->

Exemple :

set ns tcpparam -enhancedISNgeneration ENABLED
<!--NeedCopy-->

Pour activer la génération améliorée d’ISN à l’aide de l’interface graphique :

  1. Accédez à Configuration -> Système -> Paramètres -> Modifier les paramètres TCP.

  2. Sur la page Configurer les paramètres TCP, sélectionnez Enhanced ISN Generation.

  3. Cliquez sur OK.

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

Configuration du paramètre de seuil de démarrage lent

Vous pouvez utiliser le slowStartthreshold paramètre seuil de démarrage lent pour configurer la tcp-slowstartthreshold valeur de la Nile variante de l’algorithme de contrôle de la congestion. Les valeurs acceptables pour le paramètre sont min = 8190 et max = 524288. La valeur par défaut est 524288. La variante TCP Nile, sous le profil TCP, ne dépend plus du maxcwnd paramètre. Vous devez configurer le slowStartthreshold paramètre de la Nile variante.

À l’invite de commandes, tapez :

set tcpprofile nstcp_default_profile -slowstartthreshold 8190
Done

<!--NeedCopy-->
Configurations TCP

Dans cet article