Das Network File System (NFS)-Protokoll wurde 1984 von Sun Microsystems als ein Stateful-Filesharing-Protokoll für Unix-basierte Systeme entwickelt. Seitdem wurde NFS mehrfach aktualisiert. Die neueste Version ist NFS Version 4 (NFSv4), die von einer Arbeitsgruppe der Internet Engineering Task Force entwickelt wurde. NFS ist bei Linux-Benutzern nach wie vor beliebt.
So funktioniert die Kommunikation zwischen einem NFS-fähigen Client und einem NFS-Server. Zunächst fordert ein Client mithilfe von Remote Procedure Calls (RPC) eine Datei oder ein Verzeichnis vom Server an. Der Server überprüft dann Folgendes:
Die Datei oder das Verzeichnis ist verfügbar
Der Client hat die erforderlichen Zugriffsberechtigungen
Der Server mountet die Datei oder das Verzeichnis dann remote auf dem Client und teilt den Zugriff über eine virtuelle Verbindung. Für den Client macht NFS die Verwendung der Remote-Serverdatei ähnlich wie den Zugriff auf eine lokale Datei während des Betriebs.
Neben anderen Features speichern NFS-Clients Dateien im Cache, um die Zugriffsgeschwindigkeit zu verbessern, sperren Dateien, wenn mehrere Computer gleichzeitig versuchen, in dieselbe Datei zu schreiben, und stellen synchronisierte Dateiattributaktualisierungen bereit.