SMB vs. NFS-Protokolle: Ein ausführlicher Vergleich

Das Teilen von Dateien zwischen Computern und Benutzern erleichtert die Kommunikation und den Austausch von Daten effizienter und bequemer. Sie können Dateien auf verschiedene Arten über das Netzwerk freigeben, zum Beispiel über das SMB- oder NFS-Protokoll auf Servern und Computern. NAS-Geräte (Network-Attached Storage) werden ebenfalls verwendet, um Dateien über SMB und NFS freizugeben.

Lesen Sie den Vergleich von NFS gegen SMB, um zu verstehen, was in Ihrem Fall verwendet werden soll und welches Protokoll Sie wählen sollen.

Was ist das SMB-Protokoll?

SMB (Server Message Block) ist ein Dateifreigabe-Protokoll, das den Zugriff auf gemeinsame Daten über das Netzwerk ermöglicht. Es wird häufig in Windows-Umgebungen verwendet, um auf Dateien über das lokale Netzwerk (LAN) zuzugreifen. Entwickelt wurde das Protokoll 1983 von IBM, später übernahm Microsoft dieses Protokoll und bietet nun integrierte SMB-Unterstützung in Windows an. Das Protokoll entwickelt sich ständig weiter, und die neueste SMB-Version ist v3.1.1.

Manchmal wird der Begriff CIFS mit SMB verwechselt. CIFS ist ein SMB-Dialekt, das heißt eine Implementierung von SMB v1 durch Microsoft. Lesen Sie diesen Vergleich von CIFS gegen SMB, um mehr zu erfahren.

Was ist das NFS-Protokoll?

NFS (Network File System) ist ein Dateifreigabe-Protokoll für UNIX-basierte und Linux-Betriebssysteme. Trotz des Namens handelt es sich bei NFS nicht um ein Dateisystem. Das NFS-Protokoll wurde ursprünglich 1984 von Sun Microsystems entwickelt.

  • NFS Version 1 wurde von Sun für interne Zwecke verwendet und wurde nie veröffentlicht.
  • NFS v2 bot grundlegende Dateifreigabe-Funktionalität.
  • NFS v3 unterstützt die Behandlung von variabler Größe und verbesserte Fehlerberichterstattung, ist jedoch nicht kompatibel mit NFS v2-Clients.
  • NFS v4 ist die neueste NFS-Version, die mit der Internet Engineering Task Force (IETF) entwickelt wurde. Sie unterstützt parallelen Dateizugriff, und die Sicherheit wurde in dieser Version verbessert. Rückwärtskompatibilität mit NFS v2 und NFS v3 ist vorhanden. NFS v4 unterstützt die Kerberos-Authentifizierung.

NFS gegen Samba – Hauptunterschiede

Samba ist eine freie Softwareimplementierung zur Installation eines SMB-Servers unter Linux. Beachten Sie, dass Samba den SMB-Client nicht enthält. Sie sollten das cifs-utils-Paket installieren, um einen SMB-Client unter Linux zu erhalten.

NFS, ein Netzwerkprotokoll, sollte nicht mit einem Softwarepaket (Samba) verglichen werden. Wenn wir jedoch über die NFS-Implementierung für Windows sprechen, müssen der entsprechende NFS-Server und/oder die NFS-Clientrolle (abhängig von unseren Aufgaben) in Windows installiert sein, um NFS zu verwenden.

NFS gegen SMB – Funktionsübersicht

In diesem Abschnitt vergleichen wir die SMB- und NFS-Funktionen in 7 verschiedenen Kategorien.

1. Netzwerkverbindung/verwendete Ports

  • Sowohl die SMB- als auch die NFS-Freigabeprotokolle arbeiten auf der Anwendungsschicht des OSI-Modells (Schicht 7) und verwenden die Client-Server-Architektur.
  • SMB erfordert das Herstellen von Sitzungen (nicht erforderlich bei NFS).
  • SMB kann auch die Präsentationsschicht für ihren Betrieb verwenden (Schicht 6).
  • Diese beiden Protokolle sind optimiert, um im lokalen Netzwerk (LAN) zu arbeiten, anstatt über das Internet. SMB- und NFS-Freigabeprotokolle sind nicht für die Netzwerkadressübersetzung und -routing geeignet, um über das Internet verwendet zu werden.
  • NFS verwendet die Ports 2049 (TCP und UDP) und Port 111 (TCP und UDP). TCP 111 wird vom Portmapper verwendet. TCP 1110 und UDP 1110 werden für Cluster- und Clientstatus verwendet. Der NFS-Lock-Manager verwendet TCP 4045 und UDP 4045.
  • SMB verwendet den TCP-Port 445 ohne den NetBIOS-Transport, indem es direkt TCP/IP verwendet (so funktioniert SMB ab Windows 2000, einschließlich der neuesten SMB-Versionen, die heutzutage verwendet werden). SMB verwendet die TCP-Ports 139, UDP 137 und UDP 138, um über NetBIOS über TCP/IP zu laufen. NetBIOS ist ein Protokoll der Sitzungsschicht (arbeitet auf Schicht 5 des OSI-Modells), das für ältere SMB-Implementierungen vor Windows 2000 verwendet wurde.

2. Druckerfreigabe

SMB unterstützt die Druckerfreigabe, die es Remote-Benutzern ermöglicht, einen Drucker, der mit einem bestimmten Computer verbunden ist, zum Drucken von Dateien über das Netzwerk zu verwenden. Das NFS-Protokoll bietet nicht die Funktion der Druckerfreigabe – Linux verfügt über andere Mechanismen für das Netzwerkdrucken.

3. Authentifizierung

A major difference between the NFS vs SMB protocols is how they authenticate.

  • SMB verwendet das Konzept der ACL (Zugriffssteuerungsliste) mit Benutzern und Gruppen. SMB ermöglicht ausgewählten Benutzern und Gruppen den Zugriff auf die freigegebenen Dateien (benutzerbasierte Authentifizierung). Sie können Berechtigungen flexibel konfigurieren. Um den Zugriff für die zugelassenen Hosts zu konfigurieren, können Sie die Firewall verwenden.
  • NFS bietet traditionell Zugriff auf zugelassene IP-Adressen. NFS verwendet das hostbasierte Authentifizierungssystem – Sie können die IP-Adressen der Hosts aktivieren, die auf die NFS-Freigabe zugreifen dürfen. In diesem Fall kann jeder Benutzer des zugelassenen Computers auf die NFS-Freigabe zugreifen.

Besitz und Linux-Style-Berechtigungen sind eine Funktion des NFS-Protokolls. Linux arbeitet mit UID (Benutzer-ID) und GID (Gruppen-ID), während Windows mit SID (Sicherheitsidentifikator) arbeitet.

Die Kerberos-Unterstützung in NFS v4 verbessert das Authentifizierungssystem (um die Funktionalität zur Bereitstellung von Zugriff für ausgewählte Benutzer zu verbessern).

4. Zugriff auf Dateifreigaben

Dateisperren sind für SMB obligatorisch und für NFS beratend. Dateisperren werden verwendet, um die Konsistenz von Dateien sicherzustellen, die von einem Benutzer geöffnet sind. Mit einer Sperre können andere Benutzer keine Daten in geöffnete Dateien schreiben, bis sie geschlossen sind.

Sie können auf eine SMB-Dateifreigabe über den UNC-Pfad

in Windows zugreifen:

\\server\share\directory1\directory2

in Linux:

smb://server/share/directory1/directory2

Sie können auf NFS-Freigaben zugreifen, indem Sie den Export File System (EFS)-Pfad und dieses Format verwenden:

server:/directory1/directory2

5. Unterstützung und Integration in Betriebssysteme

Das NFS-Protokoll ist für Linux optimiert. SMB ist für Windows optimiert und ist ein natives Dateifreigabeprotokoll in Windows mit ausgezeichneter Integration.

Beide Protokolle können jedoch auf Windows und Linux verwendet werden. Sie müssen auf Linux einen SMB-Client (cifs-utils) oder SMB-Server (Samba) installieren, um das SMB-Protokoll zu verwenden. Sie müssen auf Windows einen NFS-Client und/oder -Server als zusätzliche Komponenten (Rollen) installieren, um die Windows NFS-Konfiguration zu verwenden.

NFS ist beim Zugriff auf Dateien Groß-/Kleinschreibung beachtend, während SMB dies nicht ist. Dies beeinflusst, wie Sie Dateien suchen und Dateinamen eingeben.

Das NFS-Protokoll ist ein offener Standard und kann von jedem implementiert werden.

6. Sicherheit/Verschlüsselung

  • Kommunikationen von NFS basieren auf dem Anfrage-Antwort-Protokoll (RPC) und sind ohne Firewall riskant. Wenn NFS das zugrunde liegende UDP-Protokoll verwendet, das nicht sicher ist, wird das Gesamtsicherheitsniveau reduziert. NFS unterstützt Verschlüsselung mit TLS (Transport Layer Security-Protokoll auf SSL-Basis).
  • SMB unterstützt Ende-zu-Ende-Verschlüsselung mit AES-256-Kryptostandards, die stärker sind als die Kerberos-Verschlüsselung für NFS. Während SMB 1 als anfälliges Protokoll gilt, sind die neuesten SMB 3-Versionen sicher, was das Sicherheitsniveau bei SMB besser macht als bei NFS.

7. NFS vs SMB Leistung

NFS ist die bessere Wahl für die Übertragung kleiner und mittlerer Dateien über das Netzwerk (zum Beispiel Dateien von etwa 1 MB und weniger). Die Leistung für beide Protokolle ist ähnlich, wenn große Dateien übertragen werden (zum Beispiel 500 MB Dateien).

NFS ist schneller als SMB bei Verwendung von Verschlüsselung. Lesetransaktionen sind in SMB mit der 4-MB-Rate schneller. Hohe Verkehrsbelastungen können den Datentransfer verlangsamen. Wir können feststellen, dass die maximale Bandbreite mit NFS v.4.2 erhöht wurde.

SMB vs NFS: Vergleichstabelle

Wir können die Hauptunterschiede in unserem NFS vs SMB Vergleich in der Tabelle zusammenfassen.

SMB NFS
Umgebung Native Verwendung in Windows Hauptsächlich verwendet in Linux-Systemen
Authentifizierung Bequeme benutzerbasierte Authentifizierung Hostbasierte Authentifizierung ist die Hauptmethode
Verwendete Ports TCP 445; TCP 139, UDP 137, 138 TCP 2049, UDP 2049, TCP 111 und UDP 111; TCP 1110, UDP 1110, TCP 4045, UDP 4045.
Verschlüsselung und Sicherheit Ja – Kerberos, AES-256 Ja – Kerberos und TLS
Plattformübergreifende Umgebung Unterstützt Unterstützt
Dateisperre Zwingend Beratend
Druckerfreigabe Ja Nein
Zugriff auf Ressourcen \\server\verzeichnis1\verzeichnis2 server:/verzeichnis1/verzeichnis2

Abschluss

Wählen zwischen NFS und SMB als Dateifreigabeprotokoll hängt hauptsächlich vom Betriebssystem ab, das in erster Linie auf den Computern im Netzwerk verwendet wird, und anderen Faktoren. Beide Protokolle sind zuverlässig und können in verschiedenen Betriebssystemen und NAS-Geräten verwendet werden. Was auch immer Sie wählen, ist es wichtig, Ihre Daten zu sichern, wenn Sie Dateifreigaben im Netzwerk verwenden. NAKIVO Backup & Replication ist eine All-in-One-Datenschutzlösung, die verwendet werden kann, um SMB- und NFS-Freigabedaten sowie Daten auf virtuellen Maschinen, physischen Servern und in Microsoft 365 zu schützen.

Source:
https://www.nakivo.com/blog/nfs-vs-smb/