Configurer l’accélération CIFS et SMB2/SMB3

La fonction d’accélération CIFS fournit une suite d’améliorations des performances spécifiques au protocole pour le transfert de fichiers CIFS (Windows et Samba) et la navigation dans les répertoires, y compris des améliorations au transport CIFS et aux protocoles connexes tels que DCERPC.

L’accélération CIFS comporte trois parties :

  • Accélération du contrôle de flux TCP : cette opération est effectuée sur toutes les connexions CIFS accélérées, quelle que soit la version du protocole (SMB1, SMB2 ou SMB3) ou le degré d’authentification et de chiffrement.

  • Accélération du protocole CIFS : ces optimisations augmentent les performances CIFS en réduisant le nombre d’allers-retours nécessaires à l’exécution d’une commande CIFS. Ces optimisations sont effectuées automatiquement sur les connexions CIFS SMB1 et SMB2 qui n’utilisent pas l’authentification par paquet CIFS (« signature »), ou lorsque la signature est utilisée et que les appliances ont rejoint le domaine Windows dans un rôle de « délégué de sécurité ».

  • Compression CIFS : les connexions CIFS sont compressées automatiquement chaque fois qu’elles répondent aux exigences de l’accélération du protocole CIFS. En outre, les connexions SMB3 sont compressées lorsqu’elles sont non signées et non scellées.

Sur les réseaux sur lesquels la signature CIFS est activée, l’accélération et la compression du protocole CIFS exigent que vous désactiviez l’authentification par paquets CIFS (signature) ou que vos appliances de centre de données rejoignent le domaine Windows et créent une relation d’homologue sécurisée entre les appliances du centre de données et vos appliances distantes. et les plug-ins Citrix SD-WAN WANOP.

Tableau 1. Fonctionnalités d’accélération CIFS, selon la version du protocole SMB et si l’appliance a rejoint le domaine Windows.

Version SMB Contrôle de débit TCP Compression Accélération du protocole
    Signature désactivée  
SMB 1.0 O O O
SMB 2.0 O O O
SMB 2.1 O O N
SMB 3.0 O O N
    Signature activée, Citrix SD-WAN WANOP a rejoint le domaine **  
SMB 1.0 O O O
SMB 2.0 O O O
SMB 2.1 O O O
SMB 3.0 O O Y *
    Signature activée, Citrix SD-WAN WANOP n’a pas rejoint le domaine  
SMB 1.0 O N N
SMB 2.0 O N N
SMB 2.1 O N N
SMB 3.0 O N N

* SMB 3.0 Support a été ajouté dans la version 7.4.2.

** Citrix SD-WAN WANOP ne prend pas en charge l’authentification NTLMv2 (par défaut pour Windows 7) avec SMB 1/ SMB 2/ SMB 3 et avec le serveur NetApp. L’activation de l’authentification Kerberos permet l’accélération.

Tableau 2. Quelle version du protocole SMB est utilisée, par le système d’exploitation client et serveur.

Système d’exploitation client/serveur Windows 8, Windows 10 ou Windows Server 2012 Windows 7 ou Windows Server 2008 R2 Windows Vista ou Windows Server 2008 Versions antérieures de Windows
Windows 8, Windows 10 ou Windows Server 2012 SMB 3.0 SMB 2.1 SMB 2.0 SMB 1.0
Windows 7 ou Windows Server 2008 R2 SMB 2.1 SMB 2.1 SMB 2.0 SMB 1.0
Windows Vista ou Windows Server 2008 SMB 2.0 SMB 2.0 SMB 2.0 SMB 1.0
Versions antérieures de Windows SMB 1.0 SMB 1.0 SMB 1.0 SMB 1.0

Versions prises en charge de CIFS :

Toutes les implémentations CIFS n’utilisent pas les modèles de requête reconnus par l’appliance. Ces versions non prises en charge n’atteignent pas l’accélération dans toute la gamme des cas, comme indiqué dans le tableau suivant.

Tableau 3. Prise en charge de Citrix SD-WAN WANOP pour les serveurs et clients CIFS.

Produit Serveur Client
Windows Server 2003-2012 Oui* Oui*
Windows XP, Vista, 7, 8, 2000 Oui* Oui*
NetApp Oui** S.O.
Hitachi Oui** S.O.
Windows NT Oui Non
Windows ME et versions antérieures Non Non
Autres Voir la note Voir la note

* Le support SMB 3.0 a été introduit dans la version 7.4.2.

** Le fonctionnement avec SMB 3.0 n’a pas été testé à partir de la version 7.4.2.

Remarque : la plupart des implémentations CIFS tierces émulent l’un des serveurs ou clients énumérés ci-dessus. Dans la mesure où l’émulation est réussie, le trafic est accéléré, ou non, comme indiqué dans le tableau ci-dessus. Si l’émulation se comporte différemment de ce que l’accélérateur CIFS attend, l’accélération CIFS est interrompue pour cette connexion.

Le comportement de l’accélération CIFS avec une implémentation CIFS donnée ne peut être connu avec certitude tant qu’il n’a pas été testé.

Les modes d’accélération CIFS sont :

  • Lectures et écritures de fichiers volumineux

  • Lectures et écritures de fichiers de petite taille

  • Navigation dans le répertoire.

Lectures et écritures de fichiers volumineux : ces optimisations SMB1 sont destinées aux transferts de fichiers d’au moins 640 Ko. Des techniques sûres de lecture anticipée et d’écriture arrière sont utilisées pour diffuser les données sans pause pour chaque transfert (un transfert est de 64 Ko ou moins).

Ces optimisations ne sont activées que si le transfert a un verrou LOT ou EXCLUSIVE et est « simple. » Les copies de fichiers sont toujours simples. Les fichiers ouverts via les applications peuvent être ou non, selon la façon dont ils sont gérés au sein de l’application.

Des rapports de vitesse de 10x sont facilement accessibles avec l’accélération CIFS, à condition que votre liaison et vos disques soient suffisamment rapides pour accueillir dix fois vos vitesses de transfert actuelles. Une accélération de 50x peut être obtenue si nécessaire, mais n’est pas normalement activée, en raison de la consommation de mémoire. Contactez votre représentant Citrix si 10x n’est pas suffisant.

Lecture et écriture de petits fichiers : lesaméliorations de petits fichiers centrent davantage sur l’optimisation des métadonnées (répertoire) que sur la diffusion de données. CIFS natif ne combine pas efficacement les demandes de métadonnées. L’accélération CIFS fait. Comme pour l’accélération de gros fichiers, ces optimisations ne sont pas effectuées à moins qu’elles ne soient sûres (par exemple, elles ne sont pas effectuées si le client CIFS n’a pas reçu de verrou exclusif sur le répertoire). Lorsque le protocole SMB2 est utilisé, les métadonnées de fichier sont mises en cache localement pour des améliorations encore plus importantes.

Navigation dans les répertoires : les clients CIFS standard effectuent la navigation dans les répertoires d’une manière extrêmement inefficace, nécessitant un grand nombre d’allers-retours pour ouvrir un dossier distant. L’accélération CIFS réduit le nombre de voyages aller-retour à 2 ou 3. Lorsque le protocole SMB2 est utilisé, les données de répertoire sont mises en cache localement pour des améliorations encore plus importantes.

Accélération du protocole CIFS

L’accélération CIFS est prise en charge sur tous les modèles. CIFS est un protocole basé sur TCP et bénéficie du contrôle de flux. Cependant, CIFS est mis en œuvre d’une manière très inefficace sur les réseaux longue distance, ce qui nécessite un nombre excessif d’allers-retours pour terminer une opération. Étant donné que le protocole est très sensible à la latence de liaison, l’accélération complète doit être sensible au protocole.

L’accélération CIFS réduit le nombre d’allers-retours grâce à une variété de techniques. Le modèle des requêtes du client est analysé et sa prochaine action est prédite. Dans de nombreux cas, il est sûr d’agir sur la prédiction même si elle est fausse, et ces opérations sûres sont à la base de nombreuses optimisations.

Par exemple, les clients SMB1 émettent des lectures de fichiers séquentielles sans chevauchement, en attendant que chaque lecture de 64 Ko se termine avant d’émettre la lecture suivante. En implémentant la lecture anticipée, l’appliance peut accélérer jusqu’à 10 fois en toute sécurité en récupérant les données anticipées à l’avance.

Des techniques supplémentaires accélèrent la navigation dans les répertoires et les opérations de petits fichiers. L’accélération est appliquée non seulement aux opérations CIFS, mais aussi aux opérations RPC connexes.

Conditions préalables

L’accélération CIFS est prise en charge sur tous les modèles. CIFS est un protocole basé sur TCP et bénéficie du contrôle de flux. Cependant, CIFS est mis en œuvre d’une manière très inefficace sur les réseaux longue distance, ce qui nécessite un nombre excessif d’allers-retours pour terminer une opération. Étant donné que le protocole est très sensible à la latence de liaison, l’accélération complète doit être sensible au protocole.

L’accélération CIFS réduit le nombre d’allers-retours grâce à une variété de techniques. Le modèle des requêtes du client est analysé et sa prochaine action est prédite. Dans de nombreux cas, il est sûr d’agir sur la prédiction même si elle est fausse, et ces opérations sûres sont à la base de nombreuses optimisations.

Par exemple, les clients SMB1 émettent des lectures de fichiers séquentielles sans chevauchement, en attendant que chaque lecture de 64 Ko se termine avant d’émettre la lecture suivante. En implémentant la lecture anticipée, l’appliance peut accélérer jusqu’à 10 fois en toute sécurité en récupérant les données anticipées à l’avance.

Des techniques supplémentaires accélèrent la navigation dans les répertoires et les opérations de petits fichiers. L’accélération est appliquée non seulement aux opérations CIFS, mais aussi aux opérations RPC connexes.

Si votre réseau utilise la signature CIFS, l’appliance doit être un membre approuvé du domaine. Pour faire de l’appliance un membre approuvé du domaine, reportez-vous à la section Ajout d’une appliance Citrix SD-WAN WANOP à l’infrastructure de sécurité Windows.

Configurer l’accélération du protocole CIFS

L’accélération CIFS est activée par défaut pour les connexions qui n’utilisent pas la signature CIFS. Si votre réseau utilise la signature, il peut être désactivé ou les appliances côté serveur peuvent le fairerejoindre le domaine Windows.

Désactiver la signature CIFS

En fonction de leurs paramètres de sécurité, les serveurs Windows ou les serveurs de domaine peuvent avoir besoin d’ajuster leurs paramètres de sécurité.

Figure 1. Options de sécurité Windows Server, Windows Server 2003 et Windows Server 2008.

Image localisée

Les serveurs de fichiers Windows ont deux modes de sécurité : « scellement » et « signature «.

L’étanchéité crypte le flux de données et empêche complètement l’accélération du protocole CIFS.

La signature ajoute des données d’authentification à chaque paquet de données, sans chiffrer le flux de données. Cela empêche l’accélération, sauf si vous avez implémenté les procédures décrites dansAjout d’une appliance Citrix SD-WAN WANOP à l’infrastructure de sécurité Windows. Lorsque cette exigence est satisfaite, la signature est accélérée automatiquement. Sinon, la signature doit être désactivée (si elle n’est pas déjà désactivée) pour que l’accélération du protocole ait lieu.

Par défaut, les serveurs de fichiers Windows proposent la signature mais ne l’exigent pas, sauf pour les serveurs de domaine, qui l’exigent par défaut.

Pour accélérer CIFS avec les systèmes qui nécessitent actuellement une signature, vous devez modifier les paramètres de sécurité du système pour désactiver cette exigence. Vous pouvez le faire dans les paramètres de sécurité locaux du serveur de fichiers ou dans les stratégies de groupe. Les exemples suivants, pour Windows Server 2003 et Windows Server 2008, montrent les paramètres locaux. Les changements de stratégie de groupe sont, bien sûr, presque identiques.

Citrix SD-WAN WANOP

Pour modifier le paramètre du serveur pour autoriser l’accélération CIFS

  1. Accédez à la page Paramètres de sécurité locaux du système.

  2. Définir un membre du domaine : chiffrer ou signer numériquement les données du canal sécurisé (toujours) sur Désactivé.

  3. Définissez le client réseau Microsoft : Signer numériquement les communications (toujours) sur Désactivé.

  4. Définissez le serveur réseau Microsoft : Signer numériquement les communications (toujours) sur Désactivé.

Interpréter les statistiques CIFS

La page Surveillance : système de fichiers (CIFS/SMB) affiche une liste de connexions CIFS accélérées. Ces connexions sont divisées en connexions « optimisées » et « non optimisées ». Comme toutes ces connexions sont accélérées (avec contrôle de débit et compression), les connexions « optimisées » ont des optimisations CIFS en plus du contrôle et de la compression, tandis que les connexions « non optimisées » ont uniquement le contrôle de débit et la compression.

Résumé de la gestion CIFS

  • L’accélération CIFS apporte une amélioration significative même à des distances de liaison relativement courtes.

  • L’accélération CIFS commence lorsqu’un système de fichiers est accessible pour la première fois par le client. Si l’accélération est activée avec le serveur de fichiers et le client déjà opérationnel, aucune accélération ne se produit pendant plusieurs minutes, jusqu’à ce que les connexions CIFS préexistantes soient complètement fermées. Les connexions CIFS sont très persistantes et durent longtemps avant de se fermer, même en cas d’inactivité. Ce comportement est ennuyeux pendant le test, mais a peu d’importance dans le déploiement normal.

  • Le démontage et le remontage d’un système de fichiers dans Windows ne ferme pas les connexions CIFS, car Windows ne démonte pas vraiment le système de fichiers complètement. Le redémarrage du client ou du serveur fonctionne. Pour une mesure moins invasive, utilisez la commande NET USE devicename /DELETE de la ligne de commande Windows pour démonter complètement le volume. Sous Linux, smbmount et umount démontent complètement le volume.

  • La désactivation, puis la réactivation des optimisations de lecture et d’écriture CIFS sur l’appliance soulève des problèmes similaires. Les connexions existantes ne sont pas accélérées lorsque CIFS est activé et le nombre d’ « erreurs de protocole détectées » sur la page Surveillance : système de fichiers (CIFS/SMB) augmente brièvement.

  • Les statistiques CIFS peuvent prêter à confusion, car seule l’appliance la plus éloignée du serveur de fichiers signale une accélération CIFS avec des statistiques complètes. L’autre appliance le voit comme une accélération ordinaire.

  • L’accélération CIFS n’est pas prise en charge en mode proxy.

  • Si l’accélération CIFS n’a pas lieu avec un serveur Windows, vérifiez les paramètres de sécurité du serveur.