Protocoles SMB vs NFS : Une comparaison approfondie

Le partage de fichiers entre ordinateurs et utilisateurs facilite la communication et l’échange de données de manière plus efficace et pratique. Vous pouvez partager des fichiers sur le réseau de différentes manières, par exemple en utilisant les protocoles SMB ou NFS sur des serveurs et des ordinateurs. Les dispositifs NAS (stockage connecté en réseau) sont également utilisés pour partager des fichiers via SMB et NFS.

Lisez la comparaison NFS vs SMB pour comprendre ce qu’il faut utiliser dans votre cas et quel protocole choisir.

Qu’est-ce que le protocole SMB?

Le protocole SMB (Server Message Block) est un protocole de partage de fichiers permettant l’accès à des données partagées sur le réseau. Il est largement utilisé dans les environnements Windows pour accéder aux fichiers sur le réseau local (LAN). Développé par IBM en 1983, Microsoft a repris ce protocole plus tard et propose désormais une prise en charge SMB intégrée dans Windows. Le protocole continue d’évoluer, et la dernière version de SMB est la v.3.1.1.

Parfois, le terme CIFS est confondu avec SMB. CIFS est un dialecte SMP, c’est-à-dire une implémentation de SMB v1 par Microsoft. Lisez cette comparaison CIFS vs SMB pour en savoir plus.

Qu’est-ce que le protocole NFS?

NFS (Network File System) est un protocole de partage de fichiers pour les systèmes d’exploitation basés sur UNIX et Linux. Malgré le nom, NFS n’est pas un système de fichiers. Le protocole NFS a été initialement développé par Sun Microsystems en 1984.

  • NFS version 1 était utilisé par Sun à des fins internes et n’a jamais été publié.
  • NFS v2 fournissait des fonctionnalités de partage de fichiers de base.
  • NFS v3 prend en charge la gestion de la taille variable et l’amélioration du rapport d’erreurs, mais n’est pas compatible avec les clients NFS v2.
  • NFS v4 est la dernière version de NFS qui a été développée avec l’Internet Engineering Task Force (IETF). Il prend en charge l’accès aux fichiers parallèle, et la sécurité a été améliorée dans cette version. La compatibilité descendante avec NFS v2 et NFS v3 est présente. NFS v4 prend en charge l’authentification Kerberos.

NFS vs Samba – Différences clés

Samba est une implémentation de logiciel libre pour installer un serveur SMB sur Linux. Notez que Samba n’inclut pas le client SMB. Vous devez installer le package cifs-utils pour obtenir un client SMB sous Linux.

NFS, un protocole réseau, ne doit pas être comparé à un package logiciel (Samba). Cependant, si nous parlons de l’implémentation NFS pour Windows, le serveur NFS approprié et/ou le rôle de client NFS (selon nos tâches) doivent être installés sous Windows pour utiliser NFS.

NFS vs SMB – Aperçu des fonctionnalités

Dans cette section, nous comparons les fonctionnalités SMB et NFS dans 7 catégories différentes.

1. Connexion réseau/ports utilisés

  • Les deux protocoles de partage SMB et NFS fonctionnent sur la couche d’application du modèle OSI (couche 7) et utilisent l’architecture client-serveur.
  • SMB nécessite l’établissement de sessions (non requis avec NFS).
  • SMB peut également utiliser la couche de présentation pour son fonctionnement (couche 6).
  • Ces deux protocoles sont optimisés pour fonctionner dans le réseau local (LAN) plutôt que sur Internet. Les protocoles de partage SMB et NFS ne sont pas adaptés à la traduction d’adresse réseau et au routage pour être utilisés sur Internet.
  • NFS utilise les ports 2049 (TCP et UDP) et le port 111 (TCP et UDP). Le TCP 111 est utilisé par le mappeur de port. Le TCP 1110 et l’UDP 1110 sont utilisés pour le cluster et le statut du client. Le gestionnaire de verrouillage NFS utilise le TCP 4045 et l’UDP 4045.
  • SMB utilise le port TCP 445 sans le transport NetBIOS, en utilisant directement TCP/IP (c’est ainsi que SMB fonctionne à partir de Windows 2000, y compris les dernières versions de SMB utilisées de nos jours). SMB utilise les ports TCP 139, UDP 137 et UDP 138 pour fonctionner par-dessus NetBIOS sur TCP/IP. NetBIOS est un protocole de couche de session (fonctionne sur la couche 5 du modèle OSI) qui était utilisé pour les implémentations SMB plus anciennes avant Windows 2000.

2. Partage d’imprimantes

SMB prend en charge le partage d’imprimantes, ce qui permet aux utilisateurs distants d’utiliser une imprimante connectée à une machine particulière pour imprimer des fichiers via le réseau. Le protocole NFS ne prend pas en charge la fonction de partage d’imprimantes – Linux dispose d’autres mécanismes pour l’impression en réseau.

3. Authentification

A major difference between the NFS vs SMB protocols is how they authenticate.

  • SMB utilise le concept de liste de contrôle d’accès (ACL) avec des utilisateurs et des groupes. SMB fournit l’accès aux fichiers partagés pour les utilisateurs et les groupes sélectionnés (authentification basée sur l’utilisateur). Vous pouvez configurer les autorisations de manière flexible. Pour configurer l’accès aux hôtes autorisés, vous pouvez utiliser le pare-feu.
  • NFS fournit traditionnellement l’accès aux adresses IP autorisées. NFS utilise le système d’authentification basé sur l’hôte – vous pouvez activer les adresses IP des hôtes autorisés à accéder au partage NFS. Dans ce cas, chaque utilisateur de la machine autorisée peut accéder au partage NFS.

La propriété et les autorisations de style Linux sont une caractéristique du protocole NFS. Linux fonctionne avec UID (identifiant utilisateur) et GID (identifiant de groupe), tandis que Windows fonctionne avec SID (identificateur de sécurité).

Le support de Kerberos dans NFS v4 améliore le système d’authentification (pour améliorer la fonctionnalité de fourniture d’accès pour les utilisateurs sélectionnés).

4. Accès aux partages de fichiers

Les verrous de fichiers sont obligatoires pour SMB et consultatifs pour NFS. Les mécanismes de verrouillage de fichiers sont utilisés pour garantir la cohérence des fichiers ouverts par un utilisateur. Avec un verrou, les autres utilisateurs ne peuvent pas écrire de données dans les fichiers ouverts tant qu’ils ne sont pas fermés.

Vous pouvez accéder à un partage de fichiers SMB en utilisant le chemin UNC

dans Windows:

\\serveur\partage\répertoire1\répertoire2

dans Linux:

smb://serveur/partage/répertoire1/répertoire2

Vous pouvez accéder aux partages NFS en utilisant le chemin Export File System (EFS) et ce format:

serveur:/répertoire1/répertoire2

5. Support et intégration dans les systèmes d’exploitation

Le protocole NFS est optimisé pour Linux. SMB est optimisé pour Windows et est un protocole de partage de fichiers natif dans Windows avec une excellente intégration.

Cependant, les deux protocoles peuvent être utilisés sur Windows et Linux. Vous devez installer un client SMB (cifs-utils) ou un serveur SMB (Samba) sur Linux pour utiliser le protocole SMB. Vous devez installer un client NFS et/ou un serveur dans Windows en tant que composants supplémentaires (rôles) pour utiliser la configuration NFS de Windows.

NFS est sensible à la casse lors de l’accès aux fichiers, tandis que SMB ne l’est pas. Cela affecte la manière dont vous recherchez des fichiers et la manière dont vous saisissez les noms de fichiers.

Le protocole NFS est une norme ouverte et peut être implémenté par n’importe qui.

6. Sécurité/chiffrement

  • Les communications NFS basées sur le protocole de demande-réponse (RPC) sont risquées sans pare-feu. Lorsque NFS fonctionne en utilisant le protocole UDP sous-jacent, qui n’est pas sécurisé, le niveau de sécurité global est réduit. NFS prend en charge le cryptage à l’aide de TLS (le protocole de sécurité de la couche de transport basé sur SSL).
  • SMB prend en charge le cryptage de bout en bout avec des normes cryptographiques AES-256 qui sont plus robustes que le cryptage Kerberos pour NFS. Alors que SMB 1 est considéré comme un protocole vulnérable, les dernières versions SMB 3 sont sécurisées, ce qui améliore le niveau de sécurité par rapport à NFS.

7. Performance NFS vs SMB

NFS est le meilleur choix pour transférer de petits et moyens fichiers sur le réseau (par exemple, des fichiers d’environ 1 Mo et moins en taille). La performance des deux protocoles est similaire lors du transfert de gros fichiers (par exemple, des fichiers de 500 Mo).

NFS est plus rapide que SMB lorsqu’il utilise le cryptage. Les transactions de lecture sont plus rapides dans SMB avec un taux de 4 Mo. Les charges de trafic élevées peuvent ralentir la procédure de transfert de données. Nous pouvons noter que la bande passante maximale a été augmentée avec NFS v.4.2.

Comparaison SMB vs NFS : Tableau de comparaison

Nous pouvons résumer les principales différences dans notre comparaison NFS vs SMB dans le tableau.

SMB NFS
Environnement Utilisé nativement sous Windows Principalement utilisé dans les systèmes Linux
Authentification Authentification pratique basée sur l’utilisateur L’authentification basée sur l’hôte est la méthode principale
Ports utilisés TCP 445 ; TCP 139, UDP 137, 138 TCP 2049, UDP 2049, TCP 111 et UDP 111 ; TCP 1110, UDP 1110, TCP 4045, UDP 4045.
Chiffrement et sécurité Oui – Kerberos, AES-256 Oui – Kerberos et TLS
Environnement multiplateforme Pris en charge Pris en charge
Verrouillage de fichiers Obligatoire Consultatif
Partage d’imprimante Oui Non
Accès aux ressources \\serveur\répertoire1\répertoire2 serveur:/répertoire1/répertoire2

Conclusion

Sélectionner NFS par rapport à SMB en tant que protocole de partage de fichiers dépend principalement du système d’exploitation utilisé sur les ordinateurs du réseau et d’autres facteurs. Les deux protocoles sont fiables et peuvent être utilisés dans différents systèmes d’exploitation et périphériques NAS. Quel que soit votre choix, il est important de sauvegarder vos données lors de l’utilisation de partages de fichiers sur le réseau. NAKIVO Backup & Replication est une solution de protection des données tout-en-un qui peut être utilisée pour protéger les données partagées SMB et NFS ainsi que les données sur les machines virtuelles, les serveurs physiques et dans Microsoft 365.

Source:
https://www.nakivo.com/blog/nfs-vs-smb/