Das Netzwerk-Dateisystem NFSv4

Seite 3: Was bisher geschah

Inhaltsverzeichnis

NFSv3 besteht aus mehreren Einzelprotokollen, die jeweils Teile der Kommunikation zwischen Server und Client regeln: Das Mount-Protokoll steuert den Zugriff auf die Freigaben, Lockd setzt Dateisperren, die Statd beim Server und anderen Clients registriert. Die Teilprotokolle benötigen für ihre Remote Procedure Calls zudem einen Portmapper-Dienst (portmap), der den RPC-Diensten Portnummern dynamisch zuteilt. Will oder muss man NFSv3 durch eine Firewall oder einen SSH-Tunnel nutzen, muss man neben dem eigentlichen NFS-Port 2049 auch den Portmapper-Port (111) und die Ports für mountd, lockd und statd weiterleiten, die man in diesem Falle per Hand vorgibt. Sonst wechseln sie bei jedem Start.

Unter NFSv3 teilt der Portmapper den Teilprotokollen Ports dynamisch zu.

Die aktuelle NFS-Version kombiniert die bisher eigenständigen Teilprotokolle für das Einhängen und die Dateisperren (mount, lock) im NFSv4-Protokoll, sodass sämtliche Daten über einen einzigen Port laufen. NFSv4 antwortet per Vorgabe auf dem TCP-Port 2049. Ältere NFS-Versionen nutzen noch ausschließlich das verbindungslose Transportprotokoll UDP. Das verbindungsorientierte TCP setzt NFSv3 nur auf ausdrücklichen Wunsch ein – erst mit NFSv4 ist es die Vorgabe.

Unter den alten NFS-Versionen exportiert der Server immer Verzeichnisse, die tatsächlich im Dateisystem vorhanden sind. NFSv4 gibt Ressourcen über ein Pseudodateisystem frei, sodass sich beliebige Freigabepfade ohne Umwege definieren lassen und Clients alle Freigaben mit einem einzigen Mount-Befehl einhängen können.

Seit 2003 hat das NFSv4-Protokoll Einzug in aktuelle Betriebssysteme gehalten, die allerdings das Dateisystem und die neuen Sicherheitsfunktionen unterschiedlich gut unterstützen. NFSv4-Clients und -Server stehen mittlerweile auf fast allen Betriebssystemen bereit.

Die vielen Sicherheitsprobleme führten dazu, dass NFSv3 nicht als Netzwerkdateisystem für unsichere Netze wie das Internet in Frage kommt. Dort nutzen beispielsweise viele Universitäten das Andrew File System, das sichere Authentifizierung, verschlüsselten Datentransport, Benutzerverwaltung und kryptografische Funktionen an Bord hat.

In lokalen Netzen muss NFS sich mit dem aus der Windows-Welt stammenden Netzwerkdateisystem SMB/CIFS messen, das unter Unixen und Linux in Form des SMB/CIFS-Servers Samba bereitsteht. Es lässt sich vergleichsweise einfach und schnell einrichten, authentifiziert sicher Benutzer und Arbeitsstationen, lässt sich an Verzeichnisdienste wie Active Directory anbinden und besteht nur aus wenigen Programmen. Ab der Version 3.2 verschlüsselt Samba die Verbindungen zwischen Unix-Systemen und verbindet mehrere Einzelserver zu Clustern. Im Vergleich zu NFS bleibt SMB/CIFS jedoch bei der Geschwindigkeit zurück.

Samba steht mittlerweile für viele Betriebssysteme (Mac OS X, Solaris, BSD und Linux) bereit. Microsoft hatte den Samba-Entwicklern Ende 2007 Zugang zu seinen Serverprotokollen gewährt und Anfang 2008 rund 45 000 Seiten Dokumentation zu SMB/CIFS veröffentlicht.