¿Cuál es la diferencia entre NFS y CIFS?

Network File System (NFS) y Common Internet File System (CIFS) son protocolos de almacenamiento de acceso a archivos o reglas para que el uso compartido de archivos sea eficiente en una red. La comunicación, la colaboración y la capacidad de compartir archivos de forma eficaz son esenciales para las operaciones cotidianas de cualquier organización. A través de NFS, un usuario (o dispositivo cliente) puede conectarse a un servidor de red y acceder a los archivos del servidor. Tiene reglas que permiten a varios usuarios compartir el mismo archivo sin conflictos de datos. CIFS se basa en el protocolo Server Message Block (SMB). CIFS permite a los dispositivos compartir archivos con el servidor y con otros dispositivos periféricos, como impresoras.

Cómo funcionan: comparación entre NFS y CIFS

Puede implementar protocolos de almacenamiento de acceso a archivos, como Network File System (NFS) y Common Internet File System (CIFS) en varias redes:

  • redes físicas, como redes de área local (LAN) y redes de área extensa (WAN)
  • redes virtuales
  • redes de almacenamiento en la nube

NFS y CIFS utilizan los protocolos IP y TCP para compartir archivos entre un servidor y los clientes en entornos de red. Varios equipos del lado del cliente pueden acceder a los archivos de un servidor. Además, pueden crear, leer, modificar y eliminar archivos (CRUD, por sus siglas en inglés) como si fueran locales en los equipos del lado del cliente. Los mecanismos de bloqueo de archivos evitan conflictos entre varios clientes que intentan cambiar el mismo archivo o directorio.

Cómo funciona NFS

Sun Microsystems inicialmente desarrolló NFS en 1984, pero ahora quien lo mantiene es el Internet Engineering Task Force (Grupo de trabajo de ingeniería de Internet). NFS se ha diseñado para sistemas Unix, que incluyen los sistemas operativos Linux y macOS. 

En NFS, un cliente solicita un archivo o directorio de un servidor NFS remoto mediante las llamadas a procedimientos remotos (RPC). Si el archivo o el directorio están disponibles y el cliente tiene los permisos de acceso correctos, el servidor lo monta en el equipo del lado del cliente. El cliente lleva a cabo operaciones de archivos a través de una conexión virtual. Desde la versión 4 de NFS, el administrador de bloqueos de NFS para la resolución de conflictos de archivos ya no es un servicio independiente y forma parte del protocolo.

Cómo funciona CIFS

Microsoft lanzó originalmente CIFS a mediados de la década de 1990 como una extensión del protocolo de acceso a archivos Server Message Block (SMB). CIFS se ha utilizado ampliamente en los entornos de red de los sistemas operativos Windows, pero las versiones posteriores de SMB han sustituido a CIFS en las implementaciones de sistemas modernos.

En CIFS, los detalles de la implementación y del protocolo no se documentaron exhaustivamente en el momento del lanzamiento. Esto hace que la administración de redes complejas sea un desafío, especialmente en entornos de sistemas operativos mixtos. 

Diferencias clave entre NFS y CIFS

Aunque tanto Network File System (NFS) como Common Internet File System (CIFS) son protocolos de acceso a archivos, son muy diferentes. NFS se limita a archivos y directorios en cuanto a su capacidad para compartir recursos. Por el contrario, CIFS también puede ofrecer comunicaciones de recursos compartidos con otros dispositivos de red, como impresoras. NFS aún está en desarrollo activo y puede enviar las RFC al Internet Engineering Task Force (Grupo de trabajo de ingeniería de Internet). CIFS no está en desarrollo activo.

Estas son algunas otras diferencias importantes entre los dos protocolos.

Sistema operativo de destino inicial

NFS y CIFS se han diseñado inicialmente para diferentes sistemas operativos. CIFS está dirigido al sistema operativo Windows, mientras que NFS está dirigido a Unix. Esto significa que se crearon para aprovechar los núcleos de sus respectivos sistemas operativos para lograr un funcionamiento óptimo. Si bien es posible utilizar CIFS con sistemas operativos basados en Linux (a través de Samba) y NFS con sistemas operativos Windows (a través de paquetes de terceros), no son compatibles de forma nativa.

Autenticación

NFS depende tradicionalmente de la autenticación basada en el host, en la que el acceso a los archivos compartidos se controla en función de la dirección IP o el nombre de host del equipo del lado del cliente. Tiene mecanismos de seguridad integrados limitados, lo que puede ser un problema en las redes abiertas.

CIFS, por otro lado, ofrece características de autenticación y de seguridad más avanzadas. Admite la autenticación basada en el usuario, por lo que los usuarios individuales pueden acceder a los recursos compartidos con sus credenciales. CIFS también admite el cifrado y otros mecanismos de seguridad, lo que lo hace más adecuado para entornos seguros.

Bloqueo de archivos

NFS utiliza un diseño sin estado, lo que significa que no hace un seguimiento de los archivos abiertos en el servidor. Esto conlleva que el cliente gestione el bloqueo de archivos y se produzcan conflictos cuando varios clientes intentan escribir en el mismo archivo simultáneamente.

CIFS, por otro lado, admite el bloqueo de archivos en el lado del servidor. Proporciona una mejor coordinación y evita conflictos cuando varios clientes acceden al mismo archivo.

Rendimiento

NFS utiliza un protocolo ligero con menos sobrecarga, lo que se traduce en velocidades de transferencia y acceso a los archivos más rápidos.

Por el contrario, CIFS tiene una mayor sobrecarga de protocolo debido a su compatibilidad con varias características específicas de Windows. Esto puede afectar al rendimiento, especialmente en redes de alta latencia.

Cuándo elegir NFS en comparación con CIFS

Los entornos de red pueden utilizar varios protocolos de almacenamiento de acceso a archivos a la vez, por lo que se puede usar Network File System (NFS) junto con Server Message Block (SMB) o Common Internet File System (CIFS). Sin embargo, casi siempre es mejor optar por NFS que por CIFS. No obstante, no siempre es la mejor opción entre otros protocolos, todo depende del caso de uso. 

Si bien CIFS todavía se utiliza en algunas aplicaciones y servicios de red heredados, ya no se usa en la comunidad de sistemas en general. La versión 2.0 de SMB sustituyó a CIFS, y la versión 3.1.1 de SMB es ahora la versión SMB actual. Para los servicios de red para uso compartido de archivos y dispositivos basados en Windows, la versión actual de SMB es ahora el protocolo estándar.

Los usuarios solo deben utilizar CIFS si es la única opción disponible para trabajar con un sistema existente. Los administradores de red deberían considerar la posibilidad de actualizar estos sistemas a la versión actual de SMB para mejorar el rendimiento, las características de seguridad, la compatibilidad entre sistemas y un conjunto de características más amplio.

NFS, por otro lado, sigue siendo el protocolo de uso compartido de archivos de red preferido para entornos Linux. Linux suele ser el sistema operativo preferido para las cargas de trabajo de servidores remotos por su estabilidad, fiabilidad, flexibilidad y rentabilidad. NFS sigue siendo popular en los entornos de nube y en los centros de datos empresariales locales.

Nota sobre los protocolos de almacenamiento de acceso a archivos en la nube 

Tanto NFS como SMB son protocolos populares. Sin embargo, en los entornos de nube, los proveedores de nube suelen utilizar protocolos propietarios, con la implementación y la configuración abstractas. De esta forma, los usuarios pueden integrar diferentes dispositivos y sistemas operativos sin necesidad de una configuración manual.

En la práctica, esto significa que los administradores pueden utilizar interfaces de usuario sencillas para conectar los archivos compartidos de CIFS, SMB y NFS locales a servidores en la nube de cualquier tipo. Lo mismo ocurre con los clientes locales o remotos de cualquier tipo. Estos entornos de nube híbrida simplifican las complejas tareas de administración de red que anteriormente se requerían en las configuraciones de red remotas.

 

Resumen de las diferencias entre NFS y CIFS

 

NFS

CIFS

¿Qué es?

Network File System.

Common Internet File System.

Versión actual

NFS versión 4.

Sustituido por SMB, versión 3.1.1.

Más adecuada para lo siguiente:

Arquitecturas de red basadas en Linux.

Arquitecturas heredadas basadas en Windows cuando sea necesario.

Recursos compartidos

Archivos y directorios.

Archivos, directorios y recursos de red, como impresoras.

Autenticación

Basado en IP.

Basado en el usuario.

Bloqueo de archivos

Gestionado por el cliente.

Gestionado por el servidor.

Rendimiento

Bajos gastos generales de protocolo y mayor rendimiento.

Altos gastos generales de protocolo y menor rendimiento.

¿Cómo puede ayudarle AWS con sus necesidades de sistemas de archivos?

Amazon Web Services (AWS) cuenta con una amplia gama de servicios modernos y fáciles de usar de administración de redes, uso compartido de archivos y almacenamiento. Simplifican el trabajo colaborativo, independientemente de dónde se encuentren los archivos y los usuarios.

Si desea utilizar almacenamiento en la nube para aumentar sus sistemas de almacenamiento de archivos en las instalaciones, AWS Storage Gateway proporciona un puente para crear una solución de nube híbrida o para ayudarle a migrar a la nube. Con Amazon Simple Storage Service (Amazon S3), puede migrar el almacenamiento en las instalaciones a la nube sin necesidad de volver a diseñar las aplicaciones y los procesos existentes.

Amazon FSx para Windows File Server es otra opción para migrar servidores de Common Internet File System (CIFS) existentes a un entorno administrado basado en la nube. Permite la integración total con entornos de Windows existentes y cuenta con características de seguridad avanzadas. 

Amazon Elastic File System (Amazon EFS) es un servicio de AWS similar optimizado para configuraciones de Network File System (NFS). Cuenta con capacidades de almacenamiento totalmente elásticas, por lo que puede prescindir de la administración de puertos de estado de clientes y clústeres.

Para comenzar a utilizar el uso compartido de archivos y soluciones de almacenamiento de AWS, cree una cuenta hoy mismo.

Siguientes pasos con AWS

Comience a crear con NFS

Descubra cómo comenzar a utilizar NFS en AWS

Más información 
Comience a crear con CIFS

Descubra cómo comenzar con CIFS en AWS

Más información