Network File System
# Network File System

In informatica, Network File System (NFS) è un protocollo di rete sviluppato inizialmente da Sun Microsystems nel 1984 e definito dagli RFC 1094, 1813, (3010 e 3530) e 7530. L'NFS è un file system che consente a computer client di utilizzare la rete per accedere a directory condivise da server remoti come fossero disponibili in locale.

## Descrizione

Il NFS permette ai calcolatori che compongono un sistema distribuito di condividere file, directory o un intero file system utilizzando il protocollo client-server. Un calcolatore (client) deve richiedere esplicitamente ad un altro calcolatore (server) del sistema distribuito di condividere una directory o un file, dichiarando un punto di montaggio. Una volta effettuato un montaggio un utente sul calcolatore client accede alla directory montata in modo assolutamente trasparente, ossia accede alla directory remota credendo di accedere ad una directory locale.

NFS è spesso associato a sistemi Unix, sebbene spesso sia utilizzato anche da macchine con sistemi operativi Microsoft Windows. Il server message block (SMB) e protocolli similari sono un'implementazione similare di un file system di rete per computer Microsoft Windows.

Il termine "network file system" oramai viene utilizzato come termine generico per indicare un File System in grado di gestire dispositivi di memorizzazione remoti.

La versione 2 del protocollo originale utilizzava unicamente UDP e prevedeva che i server non dovessero conservare memoria degli accessi degli utenti. In passato quindi eventuali meccanismi di blocco delle risorse (Lock) dovevano essere implementati esternamente al protocollo.

La versione 3 introdusse il supporto per il TCP per il trasporto delle informazioni. Molte società avevano comunque già esteso l'NFSv2 per supportare il TCP in trasmissione. L'utilizzo del TCP consente di utilizzare l'NFS attraverso una WAN sebbene non sia molto semplice né efficiente.

La versione 4 venne influenzata dall'AFS e includeva miglioramenti nelle prestazioni, aggiungeva un supporto migliorato alla sicurezza e introduceva un protocollo che teneva conto dello stato dei client.

