thodonal - stock.adobe.com
So unterscheiden sich die Dateiprotokolle CIFS, NFS und SMB
Um Daten in einem Netzwerk auszutauschen, können Anwender die Protokolle NFS, CIFS und SMB nutzen. Allerdings sollten Admins die Unterschiede und Leistungsmerkmale kennen.
NFS (Network File System) und CIFS (Common Internet File System) sind die beiden dominierenden Protokolle für Dateifreigaben (File Sharing) in NAS-Umgebungen (Network Attached Storage). Diese Protokolle ermöglichen es Benutzern, auf Dateien und Verzeichnisse zuzugreifen, die auf entfernten Servern oder PCs gespeichert sind, als wären sie lokal vorhanden.
Obwohl NFS und CIFS auf ähnlichen Client-Server-Prinzipien basieren, weisen sie einige wichtige Unterschiede auf. NFS wurde ursprünglich für Unix-ähnliche Systeme entwickelt und optimiert, während CIFS primär in Windows-Umgebungen zum Einsatz kommt.
CIFS ist eine spezielle Implementierung des SMB-Protokolls (Server Message Block), die von Microsoft als Open-Source-Variante entwickelt wurde. Während SMB in den meisten modernen Unternehmensspeichersystemen breite Unterstützung findet, werden CIFS-Implementierungen in aktuellen Systemen nur noch selten verwendet. In der Praxis werden die Begriffe CIFS und SMB oft synonym verwendet, obwohl neuere SMB-Versionen deutlich leistungsfähiger sind als das ursprüngliche CIFS.
Es ist wichtig zu beachten, dass moderne Windows-Systeme CIFS standardmäßig deaktiviert haben und stattdessen auf neuere SMB-Versionen setzen, die verbesserte Leistung, Sicherheit und Kompatibilität bieten.
NFS erklärt
NFS ist ein verteiltes Dateisystem, das es den Benutzern erleichtert, auf Dateien auf entfernten Servern zuzugreifen und sie für andere Benutzer freizugeben. Benutzer greifen auf Dateien auf entfernten Client-Rechnern zu und nutzen diese als lokalen Speicher.
Die NFS-Client-Server-Software ruft Daemons auf, um funktionale Aufgaben auszuführen, einschließlich der Überprüfung des Client-Status und der Überprüfung der Benutzerrechte. NFS verwendet ein zentralisiertes Dateisystem, um den System-Overhead zu reduzieren. NFS-Version 4 ist die aktuelle Version (Stand März 2023).
Zu den Vorteilen von NFS gehören folgende:
- Konfiguration und Einrichtung auf der Grundlage einer ausgereiften IP-Infrastruktur
- Zentralisierte Verwaltung
- Leichte Bedienbarkeit
- Kostengünstige Implementierung
- Unterstützung von Linux und Windows
Zu den Nachteilen von NFS gehören folgende:
- Die Netzwerkleistung kann bei hoher Nachfrage nachlassen
- NFS bietet keine Anforderungssitzungen
- Die Einrichtung von NFS-Caching und Dateisperren ist komplex
- File Sharing hängt vom Remote Procedure Call (RPC)-Protokoll ab, das eine bekannte Angriffsfläche für IP-Spoofing bietet.
Nachfolgende Versionen von NFS fügten stärkere Sicherheitsfunktionen hinzu. NFSv4 schreibt das Generic Security Services (GSS)-API vor, um die Sicherheit bei Client-Server-Interaktionen zu regeln. Der GSS-Rahmen unterstützt die Authentifizierung, die Integrität und den Schutz der Privatsphäre als Mandate. Darüber hinaus unterstützt NFSv4 Kerberos, Low Infrastructure Public Key Mechanism und Simple Public Key Mechanism zur Umsetzung der Sicherheit.
CIFS in Kürze
CIFS verbindet Windows-Clients mit Servern, erweitert aber die gemeinsame Nutzung über Dateien hinaus auf Drucker und andere Peripheriegeräte. Das Protokoll bietet Clients einen verwalteten, gleichzeitigen Zugriff auf Dateien und Verzeichnisse, die sich auf Serversystemen befinden. Außerdem erleichtert es den Zugriff auf Druckwarteschlangen und prozessübergreifende Kommunikationsdienste über ein Netzwerk.
Zu den Stärken von CIFS gehören:
- Die große installierte Basis von Microsoft
- Starke native Sicherheitsfunktionen für die gemeinsame Nutzung von Dateien
- Aktualisierungen, wenn Dateien über das Netzwerk geändert werden
Ein großer Nachteil von CIFS ist, dass moderne Speichersysteme es nur selten unterstützen. Microsoft hat den Begriff CIFS zugunsten der SMB-Version 1 aufgegeben, beginnend mit den Implementierungen in Windows 2000.
NFS und CIFS/SMB im Kurzvergleich
Zugriff und gemeinsame Nutzung
Die CIFS-Domäne ermöglicht Client-Rechnern den Zugriff auf Dateien und die gemeinsame Nutzung von Netzwerkperipheriegeräten, wie beispielsweise Druckern. Bei NFS beschränkt sich die Domäne auf die gemeinsame Nutzung von Dateien.
Anwendungsbereitstellung
NFS wird häufig für geschäftskritische Unternehmensanwendungen eingesetzt, zum Beispiel für Oracle-Datenbanken und die virtualisierte Infrastruktur von VMware. NFS ermöglicht es Client-Rechnern, sich nach einem Neustart aufgrund von Serverwartung oder Failover unterbrechungsfrei wieder zu verbinden.
CIFS/SMB konzentrierte sich ursprünglich auf gemeinsam genutzte Datei- und Druckdienste und Anwendungen, die in kleinen LANs verwendet werden. Erst in der dritten Version des SMB-Protokolls fügte Microsoft Unterstützung für transparente Neuverbindungen hinzu.
Konfiguration
Die Benutzer konfigurieren NFS mit einer Reihe von einfachen Befehlen. Die Konfiguration von CIFS kann komplex sein und die Fehlerbehebung erschweren. Ältere Dateinamen, die auf Windows- und Unix-Systemen unterschiedliche Zeichen haben, müssen für den Zugriff durch CIFS-Clients umgewandelt werden.
Betriebsumgebungen
Die NFS- und CIFS/SMB-Protokolle können mit jedem Betriebssystem und jeder Hardware funktionieren. In der Praxis implementieren Unternehmen NFS jedoch üblicherweise als NAS-Implementierung auf dedizierten Linux- und Unix-Systemen, bieten aber auch Unterstützung für Microsoft Windows.
CIFS/SMB ist in der Regel auf Windows-Umgebungen beschränkt, was zum Teil daran liegt, dass die Anwendungen, die für diese Betriebssysteme entwickelt wurden, einen bestimmten Satz vorhersehbarer Dateisystemeigenschaften erwarten.
Die NFS-Client-Software muss auf jedem vernetzten Computer einzeln geladen werden.
CIFS ist ein natives Betriebssystem, das alle Netzwerkressourcen als verfügbare Dienste kapselt.
Skalierbarkeit und Sicherheit
NFS ist ein äußerst zuverlässiges Protokoll, das jedoch ursprünglich nicht mit besonderen Sicherheitsfunktionen ausgestattet war.
CIFS bietet eine geringere Skalierbarkeit als NFS, aber CIFS integriert fortschrittliche Sicherheitsfunktionen, einschließlich Kerberos, Lightweight Directory Access Protocol-Unterstützung (LDAP) und authentifizierte RPC-Dateiübertragung.
Übertragungen
Beide Protokolle sind transportunabhängig. CIFS ist ein zustandsbehaftetes (stateful) Freigabeprotokoll, das am häufigsten bei direktem Hosting und NetBIOS-basierten Transporten, wie NetBIOS über TCP/IP, verwendet wird.
CIFS ist ein redseligeres (chattier) Protokoll als NFS. Es erfordert mehr Berührungspunkte im Netzwerk, wenn es Datenanforderungen weiterleitet.
NFS ist zustandslos (stateless) und verwendet TCP/IP oder das User Datagram Protocol (UDP) für die unabhängige Übertragung.
Eine kurze Historie von NFS
Sun Microsystems – 2010 von Oracle übernommen – entwickelte NFS Mitte der 1980er Jahre, um Dateisystemressourcen über ein Netzwerk mit vergleichbarer Geschwindigkeit wie beim lokalen Dateizugriff gemeinsam zu nutzen. Mit NFS kann ein Benutzer oder ein Systemadministrator das gesamte oder einen Teil eines Dateisystems mounten.
Im Jahr 1989 veröffentlichte Sun die NFS-Protokollspezifikation als offenen Standard, der von der Internet Engineering Task Force (IETF) zur Verfügung gestellt wurde. Sun lizenzierte auch eine Referenzimplementierung des NFS-Quellcodes. Anbieter wie IBM schrieben ihre eigene NFS-basierte Version. NFSv2 war die erste Version, die außerhalb von Sun veröffentlicht wurde. Open-Source-Versionen von NFS erschienen zuerst in FreeBSD und später in Linux, das die vorherrschende NFS-Implementierung ist.
Erst 1998 gab Sun die Kontrolle über die NFS-Wartung an die IETF ab. Technologen, die mit einer Vielzahl von Anbietern verbunden sind, tragen zur laufenden Entwicklung des NFS-Protokolls bei.
Eine kurze Historie von CIFS/SMB
CIFS hat seinen Ursprung im SMB-Protokoll, das in den frühen 1980er Jahren von IBM entwickelt wurde. Dieses Protokoll wurde in DOS, OS/2 und frühen Versionen von Windows verwendet, um die gemeinsame Nutzung von Dateien und Geräten in einem Netzwerk zu ermöglichen. Zu den Anbietern, die an Verbesserungen von SMB arbeiteten, gehörten Intel, 3Com und vor allem Microsoft.
In den 1990er Jahren führte Microsoft CIFS ein, um eine Version des SMB-Protokolls auf der Grundlage des Betriebssystems Windows NT zu beschreiben. Der Begriff CIFS wurde manchmal auch für alle Versionen des SMB-Protokolls und im weiteren Sinne für Windows File Services verwendet.
Veraltete Standards: CIFS/SMBv1 nicht mehr relevant
Der Begriff CIFS ist veraltet, weil er sich auf Betriebssysteme bezieht, die Microsoft nicht mehr unterstützt. SMBv1 wird nicht mehr verwendet, seit Microsoft die Unterstützung für Windows 2000 eingestellt hat. Version 2 von SMB war ein völlig neues Dateifreigabeprotokoll, das Microsoft auf SMB-Konzepten aufbaute, und die nachfolgenden SMB-Updates von Microsoft basierten auf dieser Version.
SMBv2 wurde für einen sichereren Benutzerzugriff auf Dateien und Anwendungen mit größerer Effizienz und Leistung in WANs und großen LANs entwickelt als frühere Versionen. Die neueste Version, SMBv3, unterstützt Workloads für Blockinfrastrukturen in Rechenzentren, die in großem Umfang mit RDMA betrieben werden, sowie hochsichere Dateizugriffsszenarien. End-to-End-Verschlüsselung und transparentes Failover sind nur einige der zahlreichen Funktionen, die Microsoft in SMBv3 eingeführt hat.
Funktionsumfang: Was bieten NFS und SMB?
Microsoft bietet NFSv2- und NFSv3-Clients in allen unterstützten Versionen von Windows und NFSv4.1-Server ab Windows Server 2012. Auch Linux unterstützt einen SMB-Client. Die Open-Source-Software Samba ermöglicht CIFS/SMB unter Linux und Unix. Die Mac-Betriebssysteme von Apple verwenden hauptsächlich SMB, unterstützen aber auch NFS. Unternehmensspeichersysteme unterstützen häufig sowohl NFS als auch SMB für den Dateizugriff.
NFS hat sich im Laufe der Zeit weiterentwickelt und ist SMB in vielerlei Hinsicht ähnlicher geworden, indem Funktionen wie asynchrone Schreibvorgänge auf dem Server zur Verbesserung der Leistung, Zugriffskontrolllisten (ACL) und eine neue Version von Dateisperren hinzugefügt wurden. NFSv4.2 ist vollständig zustandsbehaftet (stateful), im Gegensatz zu früheren NFS-Versionen, die für den Einsatz in Implementierungen konzipiert waren, bei denen der Server den Zustand der Klienten nicht pflegen musste, um zu funktionieren. NFS übernimmt jedoch nach wie vor den Neustart des Servers und die Wiederherstellung des Zustands, damit es auch weiterhin für dauerhafte, datenkritische Anwendungen verwendet werden kann.
Durch die jeweilige Weiterentwicklung der Protokolle sind sich NFSv4 und SMBv3 in ihrer Funktionalität ähnlicher geworden als je zuvor. NFS wird wahrscheinlich weiterhin hauptsächlich in Linux-Umgebungen verwendet werden, während SMB die dominierende Wahl für Windows bleiben wird.