Network File System

De Wikipedia, la enciclopedia libre
(Redirigido desde «NFS»)
Saltar a: navegación, búsqueda
Network File System
(NFS)
Familia Protocolos de sistema de archivos en red
Función Acceso a sistema de archivos vía red.
Última versión NFSv4
Ubicación en la pila de protocolos*
Aplicación NFS
Presentación XDR
Sesión ONC RPC
Transporte TCP o UDP
Red IP
* según el Modelo OSI
Estándares
RFC 1094 (versión 2)
RFC 1813 (versión 3)
RFC 3530 (versión 4)
[editar datos en Wikidata ]

El Network File System (Sistema de archivos de red), o NFS, es un protocolo de nivel de aplicación, según el Modelo OSI. Es utilizado para sistemas de archivos distribuido en un entorno de red de computadoras de área local. Posibilita que distintos sistemas conectados a una misma red accedan a ficheros remotos como si se tratara de locales. Originalmente fue desarrollado en 1984 por Sun Microsystems, con el objetivo de que sea independiente de la máquina, el sistema operativo y el protocolo de transporte, esto fue posible gracias a que está implementado sobre los protocolos XDR (presentación) y ONC RPC (sesión).[1] El protocolo NFS está incluido por defecto en los Sistemas Operativos UNIX y la mayoría de distribuciones Linux.

Características[editar]

  • El sistema NFS está dividido al menos en dos partes principales: un servidor y uno o más clientes. Los clientes acceden de forma remota a los datos que se encuentran almacenados en el servidor.
  • Las estaciones de trabajo locales utilizan menos espacio de disco debido a que los datos se encuentran centralizados en un único lugar pero pueden ser accedidos y modificados por varios usuarios, de tal forma que no es necesario replicar la información.
  • Los usuarios no necesitan disponer de un directorio “home” en cada una de las máquinas de la organización. Los directorios “home” pueden crearse en el servidor de NFS para posteriormente poder acceder a ellos desde cualquier máquina a través de la infraestructura de red.
  • También se pueden compartir a través de la red dispositivos de almacenamiento como disqueteras, CD-ROM y unidades ZIP. Esto puede reducir la inversión en dichos dispositivos y mejorar el aprovechamiento del hardware existente en la organización.

Todas las operaciones sobre ficheros son síncronas. Esto significa que la operación sólo retorna cuando el servidor ha completado todo el trabajo asociado para esa operación. En caso de una solicitud de escritura, el servidor escribirá físicamente los datos en el disco, y si es necesario, actualizará la estructura de directorios, antes de devolver una respuesta al cliente. Esto garantiza la integridad de los ficheros.

Operaciones[editar]

Inicialmente NFS soportaba 18 procedimientos para todas las operaciones básicas de E/S.[1] Los comandos de la versión 2 del protocolo son los siguientes:[2]

  • NULL: no hace nada, pero sirve para hacer ping al server y medir tiempos.
  • CREATE: crea un nuevo archivo.
  • LOOKUP: busca un fichero en el directorio actual y si lo encuentra, devuelve un descriptor a ese fichero más información sobre los atributos del fichero.
  • READ y WRITE: primitivas básicas para acceder el fichero.
  • RENAME: renombra un fichero.
  • REMOVE: borra un fichero.
  • MKDIR y RMDIR: creación/borrado de subdirectorios.
  • READDIR: para leer la lista de directorios.
  • GETATTR y SETATTR: devuelve conjuntos de atributos de ficheros.
  • LINK: crea un archivo, el cual es un enlace a un archivo en un directorio, especificado.
  • SYMLINK y READLINK: para la creación y lectura, respectivamente, de enlaces simbólicos (en un "string") a un archivo en un directorio.
  • STATFS: devuelve información del sistema de archivos.
  • ROOT, para ir a la raíz (obsoleta en la versión 2).
  • WRITECACHE: reservado para un uso futuro.

En la versión 3 del protocolo se eliminan los comandos se STATFS, ROOT y WRITECACHE; y se agregaron los siguientes:[3]

  • ACCESS: Para verificar permisos de acceso.
  • MKNOD: Crea un dispositivo especial.
  • READDIRPLUS: una versión mejorada de READDIR.
  • FSSTAT: devuelve información del sistema de archivos en forma dinámica.
  • FSINFO: devuelve información del sistema de archivos en forma estática.
  • PATHCONF: Recupera información POSIX.
  • COMMIT: Enviar datos de caché sobre un servidor un sistema de almacenamiento estable.

Se corresponden con la mayoría de primitivas de E/S usadas en el sistema operativo local para acceder a ficheros locales. De hecho, una vez que se ha montado el directorio remoto, el sistema operativo local tiene que "reencaminar" las primitivas de E/S al host remoto. Esto hace que todas las operaciones de E/S sobre ficheros tengan el mismo aspecto, independientemente de si el fichero es local o remoto. El usuario puede trabajar con los comandos y programas habituales en ambos tipos de ficheros; en otras palabras, el protocolo NFS es completamente transparente al usuario.

La versión 4 fue publicada en abril de 2003 y no es compatible con las versiones anteriores. Soporta 41 comandos: NULL, COMPOUND, ACCESS, CLOSE, COMMIT, CREATE, DELEGPURGE, DELEGRETURN, GETATTR, GETFH, LINK, LOCK, LOCKT, LOCKU, LOOKUP, LOOKUPP, NVERIFY, OPEN, OPENATTR, OPEN_CONFIRM, OPEN_DOWNGRADE, PUTFH, PUTPUBFH, PUTROOTFH, READ, READDIR, READLINK, REMOVE, RENAME, RENEW, RESTOREFH, SAVEFH, SECINFO, SETATTR, SETCLIENTID, SETCLIENTID_CONFIRM, VERIFY, WRITE, RELEASE_LOCKOWNER, ILLEGAL.[4]

Versiones[editar]

Hay tres versiones de NFS actualmente en uso:

  • La versión 2 de NFS (NFSv2),[2] es la más antigua y está ampliamente soportada por muchos sistemas operativos.
  • La versión 3 de NFS (NFSv3)[3] tiene más características, incluyendo manejo de archivos de tamaño variable y mejores facilidades de informes de errores, pero no es completamente compatible con los clientes NFSv2.
  • NFS versión 4 (NFSv4)[4] incluye seguridad Kerberos, trabaja con cortafuegos, permite ACLs y utiliza operaciones con descripción del estado.

Véase también[editar]

Temas relacionados con NFS:

  • ONC RPC, llamada a procedimiento remoto utilizado con NFS.
  • XDR, protocolo de presentación de datos utilizado por NFS.
  • VFS, sistema de archivos virtual.

Otros sistemas:

Referencias[editar]

  1. a b Sandberg, R. Goldberg, D. Kleiman, S. Walsh D. Lyon, B. (June 1985). «Design and Implementation of the Sun Network File System» (en inglés). Proceedings of the Summer 1985 Usenix Conference.
  2. a b RFC 1094 Especificación del protocolo versión 2. (en inglés)
  3. a b RFC 1813 Especificación del protocolo versión 3. (en inglés)
  4. a b RFC 3530 Especificación del protocolo versión 4. (en inglés)

Enlaces externos[editar]