POR: ISRAEL CUEVA HIDALGO
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 las distribuciones Linux.
Características
* 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
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.