Network File System (NFS): Unterschied zwischen den Versionen

Aus dev.kaibel.net
Zur Navigation springen Zur Suche springen
 
Zeile 54: Zeile 54:
4. Daten werden über das Netzwerk zurück an den Client gesendet.
4. Daten werden über das Netzwerk zurück an den Client gesendet.
5. Anwendung erhält die Datei, als wäre sie lokal.
5. Anwendung erhält die Datei, als wäre sie lokal.
{| class="float-right" style="margin-top:0; text-align:center;" cellspacing="3"
|+ '''NFS im [[OSI-Schichtenmodell]]'''
|-
|style="background:#FFCC99"| '''Anwendung'''
|colspan="4" style="background:#9999FF"| '''NFS'''
|-
|style="background:#FFCC99"| ''Darstellung''
|colspan="4" style="background:#EEEEFF"| '''[[External Data Representation|XDR]]'''
|-
|style="background:#FFCC99"| ''Sitzung''
|colspan="4" style="background:#EEEEFF"| ''(Sun-)'' '''[[Remote Procedure Call|RPC]]'''
|-
|style="background:#FFCC99"| ''Transport''
|colspan="2" style="background:#EEEEFF"| '''([[User Datagram Protocol|UDP]])'''
|colspan="2" style="background:#EEEEFF"| '''[[Transmission Control Protocol|TCP]]'''
|-
|style="background:#FFCC99"| ''Netzwerk''
|colspan="4" style="background:#EEEEFF"| '''[[Internet Protocol|IP]] ([[IPv4]], [[IPv6]])'''
|-
|style="background:#FFEEBB"| ''Netzzugang''
|style="background:#EEEEEE"| [[Ethernet]]
|style="background:#EEEEEE"| [[Token Ring|Token<br />Ring]]
|style="background:#EEEEEE"| [[Fiber Distributed Data Interface|FDDI]]
|style="background:#EEEEEE"| …
|}


== Sicherheit ==
== Sicherheit ==

Aktuelle Version vom 4. Oktober 2025, 11:34 Uhr

Vorlage:Infobox Software

Einführung

Das Network File System (NFS) ist ein verteiltes Dateisystemprotokoll, das es Computern ermöglicht, Dateien über ein Netzwerk so zu nutzen, als ob sie lokal gespeichert wären. Es wurde 1984 von Sun Microsystems entwickelt und ist vor allem in UNIX- und Linux-Umgebungen weit verbreitet.

NFS erlaubt Benutzern und Anwendungen den Zugriff auf entfernte Dateien, ohne dass die Speicherortdetails sichtbar sind. Es spielt eine zentrale Rolle in verteilten Systemen und Unternehmensnetzwerken.

Hauptmerkmale

  • Transparenter Zugriff auf entfernte Dateien
  • Unterstützung für mehrere Clients gleichzeitig
  • Integration mit lokalen Dateisystem-Berechtigungen
  • Netzwerkunabhängig – arbeitet über TCP/IP oder UDP
  • Versionierung und Rückwärtskompatibilität (NFSv2, NFSv3, NFSv4)

NFS-Versionen

NFSv2

  • Erste stabile Version (1984)
  • Unterstützt nur 32-Bit Dateigrößen (max. 2 GB)
  • Arbeitet meist über UDP

NFSv3

  • Erweiterte Funktionen, u. a. 64-Bit Dateigrößen
  • Unterstützt asynchrones Schreiben für bessere Performance
  • Fehlerbehandlung verbessert
  • Sowohl TCP als auch UDP

NFSv4

  • Vereinfacht Firewalls und NAT-Unterstützung
  • Integrierte Sicherheitsmechanismen (Kerberos, ACLs)
  • Locking und State-Management serverseitig
  • Nur TCP für bessere Zuverlässigkeit
  • Verbessertes Caching und Performance-Optimierungen

Architektur und Funktionsweise

NFS basiert auf einem Client-Server-Modell:

  • Server – stellt Dateisysteme über das Netzwerk zur Verfügung. Verwendet einen Mount-Dienst, um Dateisysteme für Clients freizugeben.
  • Client – mountet das entfernte Dateisystem und verwendet Standard-Dateisystemaufrufe (open, read, write, close), die über das Netzwerk an den Server weitergeleitet werden.

Die Kommunikation erfolgt über Remote Procedure Call (RPC), wodurch NFS-Dateizugriffe transparent für Anwendungen erscheinen.

Beispiel: Datei lesen über NFS

1. Anwendung auf Client öffnet eine Datei (`open("/mnt/nfs/file.txt")`). 2. Der NFS-Client stub ruft den entfernten NFS-Server über RPC auf. 3. NFS-Server liest die Datei vom lokalen Dateisystem. 4. Daten werden über das Netzwerk zurück an den Client gesendet. 5. Anwendung erhält die Datei, als wäre sie lokal.


NFS im OSI-Schichtenmodell
Anwendung NFS
Darstellung XDR
Sitzung (Sun-) RPC
Transport (UDP) TCP
Netzwerk IP (IPv4, IPv6)
Netzzugang Ethernet Token
Ring
FDDI

Sicherheit

  • Frühe Versionen von NFS (v2, v3) hatten kaum integrierte Sicherheitsmechanismen und verließen sich auf IP-basierte Authentifizierung.
  • NFSv4 integriert Sicherheitsmechanismen:
    • Kerberos-Authentifizierung
    • Access Control Lists (ACLs)
    • Verschlüsselung über RPCSEC_GSS

Vorteile

  • Transparenter Zugriff auf entfernte Dateien
  • Plattformübergreifend (UNIX/Linux)
  • Integration mit bestehenden Dateisystemaufrufen
  • Skalierbar für viele Clients
  • Unterstützt große Dateisysteme (v3/v4)

Nachteile / Herausforderungen

  • Netzwerkabhängig – Performance kann bei hoher Latenz sinken
  • Frühe Versionen unsicher ohne zusätzliche Maßnahmen
  • Komplexität bei Locking und konsistenter Datenhaltung
  • Abhängigkeit vom Server für Verfügbarkeit

Vergleich zu anderen verteilten Dateisystemen

  • SMB/CIFS – Windows-Äquivalent, stärker in Windows-Netzwerken integriert
  • AFS – fortgeschrittene Caching-Strategien und Authentifizierung
  • CephFS – moderne verteilte Dateisystemlösung mit hoher Skalierbarkeit

Literatur und Standards

  • RFC 1094 – NFS Version 2 Specification
  • RFC 1813 – NFS Version 3 Specification
  • RFC 3530 – NFS Version 4 Specification
  • W. Richard Stevens: UNIX Network Programming

Siehe auch