SMB- vs. NFS-Protokolle: Ein ausführlicher Vergleich
Die gemeinsame Nutzung von Dateien zwischen Computern und Benutzern trägt zu einer effizienteren und bequemeren Kommunikation und Datenaustausch bei. Sie können Dateien auf verschiedene Weise über das Netzwerk teilen, beispielsweise mithilfe des SMB- oder NFS-Protokolls auf Servern und Computern. NAS-Geräte (Network-Attached Storage) werden ebenfalls zum Teilen von Dateien über SMB und NFS verwendet.
Lesen Sie den Vergleich zwischen NFS und SMB, um zu verstehen, was Sie in Ihrem Verwendungsfall verwenden sollten und welches Protokoll Sie wählen sollten.
Was ist das SMB-Protokoll?
SMB (Server Message Block) ist ein Dateifreigabeprotokoll, das den Zugriff auf freigegebene Daten über das Netzwerk ermöglicht. Es wird häufig in Windows-Umgebungen verwendet, um über das lokale Netzwerk (LAN) auf Dateien zuzugreifen. Es wurde 1983 von IBM entwickelt und später von Microsoft übernommen, das nun eine integrierte SMB-Unterstützung in Windows anbietet. Das Protokoll wird ständig weiterentwickelt, die aktuelle SMB-Version ist v.3.1.1.
Manchmal wird der Begriff CIFS mit SMB verwechselt. CIFS ist ein SMP-Dialekt, d. h. eine Implementierung von SMB v1 durch Microsoft. Lesen Sie diesen CIFS vs SMB Vergleich, um mehr zu erfahren.
Was ist das NFS-Protokoll?
NFS (Network File System) ist ein Dateifreigabeprotokoll für UNIX-basierte und Linux-Betriebssysteme. Trotz seines Namens ist NFS kein Dateisystem. Das NFS-Protokoll wurde ursprünglich 1984 von Sun Microsystems entwickelt.
- NFS Version 1 wurde von Sun für interne Zwecke verwendet und nie veröffentlicht.
- NFS v2 bot grundlegende Funktionalitäten für die Dateifreigabe.
- NFS v3 unterstützt die Verarbeitung variabler Größen und eine verbesserte Fehlerberichterstattung, ist jedoch nicht mit NFS v2-Clients kompatibel.
- NFS v4 ist die neueste NFS-Version, die in Zusammenarbeit mit der Internet Engineering Task Force (IETF) entwickelt wurde. Sie unterstützt den parallelen Dateizugriff und bietet verbesserte Funktionen für die Sicherheit. Rückwärtskompatibilität mit NFS v2 und NFS v3 ist gegeben. NFS v4 unterstützt die Kerberos-Authentifizierung.
NFS vs. Samba – Wesentliche Unterschiede
Samba ist eine freie Software-Implementierung zur Installation eines SMB-Servers unter Linux. Beachten Sie, dass Samba keinen SMB-Client enthält. Sie sollten das Paket cifs-utils 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-Client-Rolle (je nach unseren Aufgaben) in Windows installiert werden, um NFS nutzen zu können.
NFS vs. SMB – Funktionsübersicht
In diesem Abschnitt vergleichen wir die SMB- und NFS-Funktionen in 7 verschiedenen Kategorien.
1. Netzwerkverbindung/verwendete Ports
- Sowohl das SMB- als auch das NFS-Freigabeprotokoll arbeiten auf der Anwendungsschicht des OSI-Modells (Schicht 7) und verwenden die Client-Server-Architektur.
- SMB erfordert die Einrichtung von Sitzungen (bei NFS nicht erforderlich).
- SMB kann für seinen Betrieb auch die Präsentationsschicht (Schicht 6) nutzen.
- Diese beiden Protokolle arbeiten im lokalen Netzwerk (LAN) und nicht im Internet. Die SMB- und NFS-Freigabeprotokolle eignen sich nicht für die Netzwerkadressübersetzung und das Routing über das Internet.
- NFS verwendet die Ports 2049 (TCP und UDP) und 111 (TCP und UDP). TCP 111 wird vom Port-Mapper verwendet. TCP 1110 und UDP 1110 werden für den Cluster- und Client-Status verwendet. Der NFS-Lock-Manager verwendet TCP 4045 und UDP 4045.
- SMB verwendet den TCP-Port 445 ohne NetBIOS-Transport, indem es direkt TCP/IP nutzt (so funktioniert SMB seit Windows 2000, einschließlich der neuesten SMB-Versionen, die heute verwendet werden). SMB verwendet die Ports TCP 139, UDP 137 und UDP 138 für die Ausführung über NetBIOS über TCP/IP. 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. Freigabe von Druckern
SMB unterstützt die Druckerfreigabe, wodurch Remote-Benutzer einen an einen bestimmten Computer angeschlossenen Drucker verwenden können, um Dateien über das Netzwerk zu drucken. Das NFS-Protokoll bietet keine Funktion für die Druckerfreigabe – Linux verfügt über andere Mechanismen für das Drucken im Netzwerk.
3. Authentifizierung
Ein wesentlicher Unterschied zwischen den Protokollen NFS und SMB besteht in der Art der Authentifizierung.
- SMB verwendet das ACL-Konzept (Access Control List) mit Benutzern und Gruppen. SMB gewährt ausgewählten Benutzern und Gruppen Zugriff auf die freigegebenen Dateien (benutzerbasierte Authentifizierung). Sie können die Berechtigungen flexibel konfigurieren. Um den Zugriff für die zulässigen Hosts zu konfigurieren, können Sie die Firewall verwenden.
- NFS gewährt traditionell Zugriff auf zulässige IP-Adressen. NFS verwendet das hostbasierte Authentifizierungssystem – Sie können die IP-Adressen von Hosts aktivieren, die auf die NFS-Freigabe zugreifen dürfen. In diesem Fall kann jeder Benutzer des zugelassenen Rechners auf die NFS-Freigabe zugreifen.
Eigentumsrechte und Linux-ähnliche Berechtigungen sind eine Funktion des NFS-Protokolls. Linux arbeitet mit UID (Benutzer-ID) und GID (Gruppen-ID), während Windows mit SID (Sicherheitskennung) arbeitet.
Die Kerberos-Unterstützung in NFS v4 verbessert das Authentifizierungssystem (um die Funktionalität für die Bereitstellung des Zugriffs für ausgewählte Benutzer zu verbessern).
4. Zugriff auf Dateifreigaben
Dateisperren sind für SMB obligatorisch und für NFS empfohlen. Dateisperrmechanismen werden verwendet, um die Konsistenz der von einem Benutzer geöffneten Dateien sicherzustellen. Mit einer Sperre können andere Benutzer keine Daten in geöffnete Dateien schreiben, bis diese geschlossen werden.
Sie können auf eine SMB-Dateifreigabe zugreifen, indem Sie den UNC-Pfad
in Windows verwenden:
serversharedirectory1directory2
in Linux:
smb://server/share/directory1/directory2
Sie können auf NFS-Freigaben zugreifen, indem Sie den EFS-Pfad (Export File System) 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 ein natives Dateifreigabeprotokoll in Windows mit hervorragender Integration.
Beide Protokolle können jedoch unter Windows und Linux verwendet werden. Um das SMB-Protokoll zu verwenden, müssen Sie einen SMB-Client (cifs-utils) oder SMB-Server (Samba) unter Linux installieren. Um die Windows-NFS-Konfiguration zu verwenden, müssen Sie einen NFS-Client und/oder -Server als zusätzliche Komponenten (Rollen) unter Windows installieren.
NFS unterscheidet beim Zugriff auf Dateien zwischen Groß- und Kleinschreibung, während SMB dies nicht tut. Dies wirkt sich darauf aus, wie Sie nach Dateien suchen und wie Sie Dateinamen eingeben.
Das NFS-Protokoll ist ein offener Standard und kann von jedem implementiert werden.
6. Sicherheit/Verschlüsselung
- NFS-Kommunikationen, die auf dem Request-Response-Protokoll (RPC) basieren, sind ohne Firewall riskant. Die Verschlüsselung ist deaktiviert. Wenn NFS mit dem zugrunde liegenden UDP-Protokoll arbeitet, das nicht sicher ist, wird das allgemeine Sicherheitsniveau verringert. NFS unterstützt die Verschlüsselung mit TLS (dem auf SSL basierenden Transport Layer Security-Protokoll).
- SMB unterstützt eine End-to-End-Verschlüsselung mit AES-256-Kryptografie-Standards, die stärker ist als die Kerberos-Verschlüsselung für NFS. Während SMB 1 als anfälliges Protokoll gilt, sind die neuesten SMB 3-Versionen sicher, sodass die Sicherheit mit SMB besser ist als mit NFS.
7. NFS vs. SMB-Leistung
NFS ist die bessere Wahl für die Übertragung kleiner und mittlerer Dateien über das Netzwerk (z. B. Dateien mit einer Größe von etwa 1 MB und weniger). Bei der Übertragung großer Dateien (z. B. Dateien mit einer Größe von 500 MB) ist die Leistung beider Protokolle ähnlich.
Bei Verwendung von Verschlüsselung deaktiviert ist NFS schneller als SMB. Lesetransaktionen sind in SMB mit einer Rate von 4 MB schneller. Hohe Datenverkehrsauslastungen können den Datenübertragungsvorgang verlangsamen. Es ist anzumerken, dass die maximale Bandbreite mit NFS v.4.2 erhöht wurde.
SMB vs. NFS: Vergleichstabelle
Die wichtigsten Unterschiede zwischen NFS und SMB lassen sich in der folgenden Tabelle zusammenfassen.
| SMB | NFS | |
| Umgebung | Nativ in Windows verwendet | Meistens in Linux-Systemen verwendet |
| Authentifizierung | Bequeme benutzerbasierte Authentifizierung | Die hostbasierte Authentifizierung ist die wichtigste Methode |
| 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 deaktiviert | Ja – Kerberos, AES-256 | Ja – Kerberos und TLS |
| Plattformübergreifende Umgebung | Unterstützt | Unterstützt |
| Dateisperrung | Obligatorisch | Empfehlung |
| Druckerfreigabe | Ja | Nein |
| Zugriff auf Ressourcen | serverdirectory1directory2 | server:/directory1/directory2 |
Fazit
Die Wahl zwischen NFS und SMB als Dateifreigabeprotokoll hängt in erster Linie vom Betriebssystem der Computer im Netzwerk und anderen Faktoren ab. Beide Protokolle sind zuverlässig und können in verschiedenen Betriebssystemen und NAS-Geräten verwendet werden. Unabhängig davon, für welches Protokoll Sie sich entscheiden, ist es wichtig, Ihre Daten zu sichern, wenn Sie Dateifreigaben im Netzwerk verwenden. NAKIVO Backup & Replication ist eine All-in-One-Lösung für die Datensicherheit, mit der Sie SMB- und NFS-Freigabedaten sowie Daten auf Virtuellen Maschinen, Physischen Servern und in Microsoft 365-Abonnement-Lizenzierungen schützen können.