Il protocollo Network File System (NFS) è stato creato da Sun Microsystems nel 1984 come protocollo di condivisione di file con stato per sistemi basati su Unix. Da allora, NFS ha subito diversi aggiornamenti. La più recente è NFS versione 4 (NFSv4), sviluppata da un gruppo di lavoro dell'Internet Engineering Task Force. NFS rimane popolare tra gli utenti Linux.
Ecco come funziona la comunicazione tra un client abilitato per NFS e un server NFS. Innanzitutto, un client richiede un file o una directory dal server utilizzando chiamate di procedura remota (RPC). Il server verifica quindi quanto segue:
Che il file o la directory sia disponibile
Che il client disponga delle autorizzazioni di accesso richieste
Il server monta quindi il file o la directory in remoto sul client e condivide l'accesso tramite una connessione virtuale. Per il client, NFS rende l'utilizzo del file del server remoto simile all'accesso a un file locale durante le operazioni.
Tra le altre funzionalità, i client NFS memorizzano nella cache i file per una maggiore velocità di accesso, bloccano i file in cui più computer stanno tentando di scrivere sullo stesso file contemporaneamente e forniscono aggiornamenti sincronizzati degli attributi dei file.