¿Cuál es la diferencia entre NFS y CIFS? ¿Puede explicar cuándo debería usar NFS o CIFS?
NFS (Network File System) y CIFS (Common Internet File System) son protocolos diseñados para permitir que un sistema cliente vea y acceda a archivos almacenados en un dispositivo informático remoto, como un servidor o una PC. CIFS es un dialecto del protocolo Server Message Block (SMB) que utilizan la mayoría de los sistemas de almacenamiento actuales.
Microsoft dejó de usar el término CIFS en favor de Server Message Block Version 1.0 (SMB1) comenzando con implementaciones en Windows 2000. Microsoft hizo algunos cambios entre CIFS y SMB1 y usó el mismo identificador de dialecto, Windows NT LAN Manager (NTLM) 0.12.
La versión 2 de SMB era un protocolo de intercambio de archivos completamente nuevo que Microsoft basó en conceptos de SMB y las actualizaciones subsiguientes de Microsoft SMB se basaron en esa revisión. CIFS sigue siendo una implementación de SMB, pero los sistemas de almacenamiento actuales rara vez usan CIFS.
En un escenario típico, una aplicación o sistema basado en cliente solicita a un servidor acceder a un archivo o pasar un mensaje a un programa que se ejecuta en el servidor. El servidor de archivos realiza la acción solicitada y devuelve una respuesta. Entonces, un usuario puede ver, almacenar y actualizar archivos en una computadora remota o dispositivo de almacenamiento como si estuviera en su propia computadora.
Los protocolos NFS y CIFS / SMB se desarrollaron para funcionar con cualquier sistema operativo y hardware. Sin embargo, en la práctica, NFS se implementa más comúnmente en sistemas Linux y Unix y CIFS / SMB se usa normalmente con Windows, en parte porque las aplicaciones desarrolladas para esos sistemas operativos esperan un cierto conjunto de propiedades del sistema de archivos.
Aplicaciones NFS frente a CIFS
Una diferencia significativa durante la mayor parte de la vida útil de los respectivos protocolos es que NFS se ha asociado durante mucho tiempo con la implementación de aplicaciones empresariales de misión crítica, como bases de datos de Oracle e infraestructura virtualizada de VMware, porque permite a los clientes reconectarse sin interrupciones después de reiniciar para mantenimiento del servidor o conmutación por error.
Inicialmente, CIFS / SMB tendía a centrarse en aplicaciones y servicios de impresión y archivos compartidos utilizados en LAN pequeñas. Microsoft no agregó soporte para reconexiones transparentes hasta más tarde, con la tercera versión del protocolo SMB.
Microsoft proporciona NFS versión 2 (NFSv2) y clientes NFSv3 en todas las versiones compatibles de servidores Windows y NFSv4.1 a partir de Windows Server 2012. Asimismo, Linux admite un cliente SMB y el software Samba de código abierto ha estado disponible durante mucho tiempo para habilitar SMB / CIFS en Linux y Unix. Los macOS de Apple utilizan principalmente SMB en la actualidad, pero también son compatibles con NFS. Los sistemas de almacenamiento empresarial a menudo admiten tanto NFS como SMB para el acceso a archivos.
Historia de NFS frente a CIFS / SMB
Sun Microsystems desarrolló NFS a mediados de la década de 1980 con el objetivo de permitir que los recursos del sistema de archivos se compartieran a través de una red a una velocidad comparable al acceso a archivos locales. NFSv2 fue la primera versión lanzada fuera de Sun. Con NFS, un usuario o administrador del sistema puede montar todo o una parte de un sistema de archivos.
Sun lanzó la especificación del protocolo NFS para uso gratuito en 1989 como Solicitud de comentarios (RFC) 1094 disponible en Internet Engineering Task Force (IETF). Sun también obtuvo una licencia comercial de una implementación de referencia del código fuente de NFS a un gran número de proveedores a partir de 1985. Algunos proveedores, como IBM, escribieron sus propias versiones de NFS basadas en RFC 1094. Las versiones de código abierto de NFS aparecieron por primera vez en FreeBSD y más tarde en Linux, que actualmente es la implementación de NFS predominante.
En 1998, Sun Microsystems cedió el control del mantenimiento de NFS al IETF. Los tecnólogos afiliados a una amplia gama de proveedores contribuyen al desarrollo continuo del protocolo NFS.
Barry Feigenbaum creó SMB, originalmente conocido como protocolo BAF, a principios de la década de 1980 cuando trabajaba en IBM. El protocolo se usó originalmente en DOS, OS / 2 y las primeras versiones de Windows para permitir el uso compartido de archivos y dispositivos a través de una red. Entre los proveedores que trabajaron en las mejoras para las PYMES se incluyen Intel, 3Com y, en particular, Microsoft.
Microsoft comenzó a usar el término Sistema de archivos de Internet común en la década de 1990 para describir una versión del protocolo SMB basada en el sistema operativo Windows NT. Microsoft definió CIFS como el dialecto NTLM del protocolo SMB para su uso con los sistemas operativos Windows NT Server 3.51, Windows NT Server 4.0, Windows NT Workstation 4.0 y Windows 98. El término CIFS a veces también se usaba para referirse a todos los dialectos del protocolo SMB.
Este video de itfreetraining explica el
diferencias entre NFS y SMB.CIFS fue diseñado no solo para proporcionar a los clientes acceso administrado y simultáneo a archivos y directorios alojados en sistemas de servidor, sino también para facilitar el acceso a colas de impresión y servicios de comunicación entre procesos a través de una red. Por el contrario, NFS restringió su dominio al intercambio de archivos.
Con NFS vs. CIFS, ambos protocolos son independientes del transporte, pero CIFS se usó más comúnmente con hospedaje directo y transportes basados en NetBIOS, como NetBIOS sobre TCP / IP.
Por qué CIFS / SMB1 está desactualizado
El término CIFS está desactualizado porque se aplica a sistemas operativos que Microsoft ya no admite. SMB1 no se ha utilizado desde que Microsoft suspendió el soporte de Windows 2000.
CIFS / SMB1 tendía a ser más hablador en sus comunicaciones que NFS y, a veces, requería la optimización del protocolo de archivos a través de una WAN. SMB1 fue diseñado para usuarios que acceden a archivos y aplicaciones en LAN pequeñas en las décadas de 1980 y 1990. Microsoft modernizó y reescribió la mayor parte del código base de SMB comenzando con Windows Vista y Windows Server 2008.
SMB2 fue diseñado para un acceso de usuario más seguro a archivos y aplicaciones con mayor eficiencia y rendimiento en WAN y LAN grandes que las versiones anteriores del protocolo. SMB3 se desarrolló para cargas de trabajo de infraestructura de bloques que operan a escala de centro de datos moderno a través de redes de acceso remoto directo a memoria, además de escenarios de acceso a archivos altamente seguros.
NFS ha evolucionado con el tiempo y se ha vuelto más similar a SMB en muchos aspectos mediante la incorporación de funciones como escrituras asincrónicas en el servidor para mejorar el rendimiento, listas de control de acceso y una nueva versión de bloqueos de archivos. NFSv4.2 tiene un estado completo en contraste con las versiones anteriores de NFS que fueron diseñadas para su uso en implementaciones donde el servidor no necesitaba mantener el estado de ningún cliente para funcionar. Pero NFS aún maneja los reinicios del servidor y recupera el estado para permitir su uso continuo para aplicaciones críticas de datos persistentes.
Con la respectiva evolución de los protocolos, NFSv4 y SMB3 se han vuelto más similares en funcionalidad que nunca. Pero con NFS frente a CIFS, es probable que NFS continúe utilizándose principalmente en entornos Linux, mientras que SMB seguirá siendo la opción dominante para Windows.
Resumiendo
Como informático especializado, puedo proporcionarte información sobre las diferencias entre NFS y CIFS/SMB. NFS (Network File System) y CIFS (Common Internet File System) o SMB (Server Message Block) son protocolos de intercambio de archivos ampliamente utilizados en entornos de red. A continuación, te proporcionaré una comparación de ambos protocolos:
- Propósito:
- NFS: NFS es un protocolo desarrollado originalmente por Sun Microsystems que permite a los usuarios acceder y compartir archivos en una red. Es comúnmente utilizado en entornos UNIX y Linux, aunque también es compatible con Windows.
- CIFS/SMB: CIFS o SMB es un protocolo desarrollado por Microsoft que permite compartir archivos, impresoras y otros recursos en una red. Es el protocolo predeterminado utilizado en entornos Windows.
- Plataformas compatibles:
- NFS: NFS es compatible con una amplia gama de sistemas operativos, incluyendo UNIX, Linux y Windows.
- CIFS/SMB: CIFS/SMB es nativo de los sistemas operativos Windows y también es compatible con sistemas UNIX y Linux a través de implementaciones de software como Samba.
- Rendimiento:
- NFS: NFS generalmente se considera más rápido y eficiente en redes de área local (LAN) debido a su enfoque en la simplicidad y la velocidad de transferencia de archivos.
- CIFS/SMB: CIFS/SMB puede tener un rendimiento ligeramente inferior en comparación con NFS en redes de área local, pero es más adecuado para entornos de área amplia (WAN) y ofrece una mayor compatibilidad con una variedad de sistemas operativos.
- Seguridad:
- NFS: NFS tradicionalmente ha tenido limitaciones en cuanto a la seguridad, ya que su enfoque inicial no se centraba en la autenticación y el cifrado de datos. Sin embargo, versiones más recientes, como NFSv4, han mejorado en términos de seguridad, ofreciendo opciones de autenticación y cifrado.
- CIFS/SMB: CIFS/SMB ofrece un mejor soporte para la seguridad y la autenticación de usuarios. Utiliza el protocolo de autenticación de dominio de Windows, lo que permite un control más granular sobre los permisos de acceso a los archivos.
- Características adicionales:
- NFS: NFS ofrece una funcionalidad avanzada, como la capacidad de montar sistemas de archivos remotos como si fueran locales, acceso simultáneo a archivos compartidos y soporte para la administración de cuotas de disco.
- CIFS/SMB: CIFS/SMB ofrece características como el uso compartido de impresoras, el acceso a recursos de red y la capacidad de integrarse fácilmente con el entorno de autenticación de dominio de Windows.
En conclusión, NFS y CIFS/SMB son protocolos de intercambio de archivos ampliamente utilizados en entornos de red. NFS es más común en sistemas UNIX y Linux, mientras que CIFS/SMB es el protocolo predeterminado en entornos Windows. Ambos protocolos tienen diferencias en cuanto a rendimiento, seguridad y características adicionales. La elección entre NFS y CIFS/SMB depende de las necesidades y el entorno específico de tu red[1][3][7][8].