Protocolos SMB vs NFS: Una comparación en profundidad

Compartir archivos entre ordenadores y usuarios ayuda a comunicar e intercambiar datos de forma más eficaz y cómoda. Puedes compartir archivos a través de la red de diferentes maneras, por ejemplo, utilizando el protocolo SMB o NFS en servidores y ordenadores. Los dispositivos NAS (almacenamiento conectado a la red) también se utilizan para compartir archivos a través de SMB y NFS.

Lee la comparativa NFS vs SMB para entender qué usar en tu caso y qué protocolo elegir.

NAKIVO for NAS Data Backup

NAKIVO for NAS Data Backup

Fast backup and recovery for gigabytes of data on NAS devices and Windows and Linux file shares. Recover whatever you need and whenever you need in seconds.

¿Qué es el protocolo SMB?

SMB (Server Message Block) es un protocolo de intercambio de archivos que proporciona acceso a datos compartidos a través de la red. Se utiliza ampliamente en entornos Windows para acceder a archivos a través de la red de área local (LAN). Desarrollado por IBM en 1983, Microsoft retomó este protocolo más tarde y ahora ofrece compatibilidad SMB integrada en Windows. El protocolo sigue evolucionando, y la última versión de SMB es la v.3.1.1.

A veces se confunde el término CIFS con SMB. CIFS es un dialecto SMP, es decir, una implementación de SMB v1 de Microsoft. Lea esta comparación entre CIFS y SMB para obtener más información.

¿Qué es el protocolo NFS?

NFS (Network File System) es un protocolo de compartición de archivos para sistemas operativos basados en UNIX y Linux. A pesar de su nombre, NFS no es un sistema de archivos. El protocolo NFS fue desarrollado originalmente por Sun Microsystems en 1984.

  • La versión 1 de NFS fue utilizada por Sun con fines internos y nunca llegó a publicarse.
  • NFS v2 ofrecía funciones básicas de recurso compartido de archivos.
  • NFS v3 admite la gestión de tamaños variables y la notificación de errores mejorada, pero no es compatible con los clientes NFS v2.
  • NFS v4 es la última versión de NFS que se desarrolló con Internet Engineering Task Force (IETF). Es compatible con el acceso paralelo a archivos y en esta versión se ha mejorado la seguridad. Existe compatibilidad con versiones anteriores de NFS v2 y NFS v3. NFS v4 es compatible con la autenticación Kerberos.

NFS vs Samba – Principales diferencias

Samba es una implementación de software libre para instalar un servidor SMB en Linux. Tenga en cuenta que Samba no incluye el cliente SMB. Debe instalar el paquete cifs-utils para obtener un cliente SMB en Linux.

NFS, un protocolo de red, no debe compararse con un paquete de software (Samba). Sin embargo, si estamos hablando de la implementación de NFS para Windows, el servidor NFS apropiado y/o el rol de cliente NFS (dependiendo de nuestras tareas) necesitan ser instalados en Windows para usar NFS.

NFS vs SMB – Resumen de funciones

En esta sección, comparamos las funciones de SMB y NFS en 7 categorías diferentes.

1. Conexión de red/puertos utilizados

  • Tanto el protocolo de compartición SMB como el NFS funcionan en la capa de aplicación del modelo OSI (capa 7) y utilizan la arquitectura cliente-servidor.
  • SMB requiere el establecimiento de sesiones (no es necesario con NFS).
  • SMB también puede utilizar la capa de presentación para su funcionamiento (capa 6).
  • Estos dos protocolos están optimizados para funcionar en la red de área local (LAN) y no en Internet. Los protocolos de compartición SMB y NFS no son aptos para la traducción de direcciones de red y el enrutamiento para su uso en Internet.
  • NFS utiliza los puertos 2049 (TCP y UDP) y 111 (TCP y UDP). TCP 111 es utilizado por el mapeador de puertos. TCP 1110 y UDP 1110 se utilizan para el estado del clúster y del cliente. El gestor de bloqueos NFS utiliza TCP 4045 y UDP 4045.
  • SMB utiliza el puerto TCP 445 sin el transporte NetBIOS, utilizando directamente TCP/IP (así es como funciona SMB a partir de Windows 2000, incluidas las últimas versiones de SMB utilizadas en la actualidad). SMB utiliza los puertos TCP 139, UDP 137 y UDP 138 para funcionar sobre NetBIOS a través de TCP/IP. NetBIOS es un protocolo de capa de sesión (funciona en la capa 5 del modelo OSI) que se utilizaba en las antiguas implementaciones de SMB anteriores a Windows 2000.

2. Compartir impresoras

SMB admite el uso compartido de impresoras, lo que permite a los usuarios remotos utilizar una impresora conectada a un equipo concreto para imprimir archivos a través de la red. El protocolo NFS no proporciona la función de compartir impresoras – Linux tiene otros mecanismos para la impresión en red.

3. Autenticación

Una diferencia importante entre los protocolos NFS y SMB es cómo se autentican.

  • SMB utiliza el concepto de ACL (lista de control de acceso) con usuarios y grupos. SMB proporciona acceso a los archivos compartidos a los usuarios y grupos seleccionados (autenticación basada en el usuario). Puede configurar los permisos de forma flexible. Para configurar el acceso de los hosts permitidos, puede utilizar el cortafuegos.
  • Tradicionalmente, NFS proporciona acceso a las direcciones IP permitidas. NFS utiliza el sistema de autenticación basado en host: puede habilitar las direcciones IP de los hosts que pueden acceder al recurso compartido NFS. En este caso, todos los usuarios de la máquina permitida pueden acceder al recurso compartido NFS.

La propiedad y los permisos al estilo Linux son una función del protocolo NFS. Linux funciona con UID (identificador de usuario) y GID (identificador de grupo), mientras que Windows funciona con SID (identificador de seguridad).

La compatibilidad con Kerberos en NFS v4 mejora el sistema de autenticación (para mejorar las funciones de acceso a usuarios seleccionados).

4. Acceso a recursos compartidos

Los bloqueos de archivos son obligatorios para SMB y aconsejables para NFS. Los mecanismos de bloqueo de archivos se utilizan para garantizar la coherencia de los archivos abiertos por un usuario. Con un bloqueo, otros usuarios no pueden escribir datos en los archivos abiertos hasta que se cierren.

Puede acceder a un recurso compartido SMB utilizando la ruta UNC

en Windows:

\\server\share\directory1\directory2

en Linux:

smb://server/share/directory1/directory2

Puede acceder a recursos compartidos NFS utilizando la ruta Export File System (EFS) y este formato:

server:/directory1/directory2

5. Compatibilidad e integración en sistemas operativos

El protocolo NFS está optimizado para Linux. SMB está optimizado para Windows y es un protocolo nativo para compartir archivos en Windows con una excelente integración.

Sin embargo, ambos protocolos pueden utilizarse en Windows y Linux. Es necesario instalar un cliente SMB (cifs-utils) o un servidor SMB (Samba) en Linux para utilizar el protocolo SMB. Es necesario instalar un cliente y/o servidor NFS en Windows como componentes adicionales (roles) para utilizar la configuración NFS de Windows.

NFS distingue entre mayúsculas y minúsculas al acceder a los archivos, mientras que SMB no distingue entre mayúsculas y minúsculas. Esto afecta a la forma de buscar archivos y de introducir nombres de archivo.

El protocolo NFS es un estándar abierto y cualquiera puede implementarlo.

6. Seguridad/cifrado

  • Las comunicaciones NFS basadas en el protocolo solicitud-respuesta (RPC) son arriesgadas sin un cortafuegos. Cuando NFS funciona utilizando el protocolo UDP subyacente, que no es seguro, el nivel de seguridad global se reduce. NFS es compatible con el cifrado mediante TLS (el protocolo de seguridad de la capa de transporte basado en SSL).
  • SMB es compatible con el cifrado de extremo a extremo con el estándar criptográfico AES-256, más potente que el cifrado Kerberos para NFS. Mientras que SMB 1 se considera un protocolo vulnerable, las últimas versiones de SMB 3 son seguras, lo que hace que el nivel de seguridad con SMB sea mejor que con NFS.

7. Rendimiento de NFS frente a SMB

NFS es la mejor opción para transferir archivos pequeños y medianos a través de la red (por ejemplo, archivos de 1 MB o menos de tamaño). El rendimiento de ambos protocolos es similar cuando se transfieren archivos de gran tamaño (por ejemplo, archivos de 500 MB).

NFS es más rápido que SMB cuando se utiliza cifrado. Las transacciones de lectura son más rápidas en SMB con la tasa de 4 MB. Las cargas de tráfico elevadas pueden ralentizar el procedimiento de transferencia de datos. Podemos observar que el ancho de banda máximo aumentó con NFS v.4.2.

SMB frente a NFS: tabla comparativa

Podemos resumir las principales diferencias en nuestra comparación NFS vs SMB en la tabla.

PYME NFS
Medio ambiente Utilizado de forma nativa en Windows Se utiliza sobre todo en sistemas Linux
Autenticación Cómoda autenticación basada en el usuario La autenticación basada en host es el principal método
Puertos utilizados TCP 445; TCP 139, UDP 137, 138 TCP 2049, UDP 2049, TCP 111 y UDP 111; TCP 1110, UDP 1110, TCP 4045, UDP 4045.
Cifrado y seguridad Sí – Kerberos, AES-256 Sí – Kerberos y TLS
Entorno multiplataforma Compatibilidad Compatibilidad
Bloqueo de archivos Obligatorio Asesoría
Compartir impresoras No
Acceso a los recursos \servidor\directorio1\directorio2 server:/directory1/directory2

Conclusión

La selección de NFS frente a SMB como protocolo para compartir archivos depende del sistema operativo utilizado principalmente en los ordenadores de la red y de otros factores. Ambos protocolos son fiables y pueden utilizarse en distintos sistemas operativos y dispositivos NAS. Elijas lo que elijas, es importante hacer backup de tus datos cuando utilices recursos compartidos en la red. NAKIVO Backup & Replication es una solución de protección de datos todo en uno que se puede utilizar para proteger datos compartidos SMB y NFS, así como datos en máquinas virtuales, servidores físicos y en Microsoft 365.

1 Year of Free Data Protection: NAKIVO Backup & Replication

1 Year of Free Data Protection: NAKIVO Backup & Replication

Deploy in 2 minutes and protect virtual, cloud, physical and SaaS data. Backup, replication, instant recovery options.

Artículos recomendados