Wie funktioniert eigentlich die Windows-Dateifreigabe?

Wie funktioniert eigentlich die Windows-Dateifreigabe?

Ich weiß, dass bei der Kommunikation über HTTP die Quelle zuerst heruntergeladen werden muss, um im Browser angezeigt werden zu können. Aber welcher Mechanismus ist eigentlich bei der Verwendung der Windows-Dateifreigabe im Spiel (sowohl bei der Freigabe über einen Netzwerkrouter als auch bei der direkten Freigabe, z. B. über ein LAN-Kabel von PC-1 zu PC-2)?

  1. Wird eine Anfrage an den Server gesendet, der mit der Datenübertragung an einen bestimmten Port beginnt, die vom Client empfangen werden soll?
  2. Greift der Client auf das Laufwerk des Servers wie auf ein herkömmliches Laufwerk zu, liest Daten und kopiert sie auf das eigene Laufwerk?
    1. Kopiert der Server die Datei auf die Festplatte des Clients?

Antwort1

Wie funktioniert eigentlich die Windows-Dateifreigabe?

Microsoft SMB-Protokollauthentifizierung

Das im Microsoft SMB-Protokoll verwendete Sicherheitsmodell ist identisch mit dem anderer SMB-Varianten und besteht aus zwei Sicherheitsebenen: Benutzer und Freigabe. Eine Freigabe ist eine Datei, ein Verzeichnis oder ein Drucker, auf den von Microsoft SMB-Protokoll-Clients zugegriffen werden kann.

Bei der Authentifizierung auf Benutzerebene muss der Client, der auf eine Freigabe auf einem Server zugreifen möchte, einen Benutzernamen und ein Kennwort angeben. Nach der Authentifizierung kann der Benutzer auf alle Freigaben auf einem Server zugreifen, die nicht zusätzlich durch die Sicherheit auf Freigabeebene geschützt sind. Mit dieser Sicherheitsstufe können Systemadministratoren gezielt festlegen, welche Benutzer und Gruppen auf eine Freigabe zugreifen können.

Bei der Authentifizierung auf Freigabeebene wird der Zugriff auf eine Freigabe durch ein nur dieser Freigabe zugewiesenes Kennwort gesteuert. Im Gegensatz zur Sicherheit auf Benutzerebene erfordert diese Sicherheitsstufe keinen Benutzernamen zur Authentifizierung und es wird keine Benutzeridentität festgelegt.

Bei beiden Sicherheitsstufen wird das Kennwort verschlüsselt, bevor es an den Server gesendet wird. NTLM und die ältere LAN Manager (LM)-Verschlüsselung werden vom Microsoft SMB-Protokoll unterstützt. Beide Verschlüsselungsmethoden verwenden eine Challenge-Response-Authentifizierung, bei der der Server dem Client eine zufällige Zeichenfolge sendet und der Client eine berechnete Antwortzeichenfolge zurückgibt, die beweist, dass der Client über ausreichende Anmeldeinformationen für den Zugriff verfügt.

Quelle


Übersicht über das Microsoft SMB-Protokoll und das CIFS-Protokoll

Das Server Message Block (SMB)-Protokoll ist ein Netzwerkdateifreigabeprotokoll und wird in der in Microsoft Windows implementierten Form als Microsoft SMB-Protokoll bezeichnet. Die Menge der Nachrichtenpakete, die eine bestimmte Version des Protokolls definiert, wird als Dialekt bezeichnet. Das Common Internet File System (CIFS)-Protokoll ist ein Dialekt von SMB. Sowohl SMB als auch CIFS sind auch auf VMS, mehreren Unix-Versionen und anderen Betriebssystemen verfügbar.

Die technische Referenz zu CIFS ist bei der Microsoft Corporation erhältlich unterCommon Internet File System (CIFS)-Dateizugriffsprotokoll.

Obwohl der Hauptzweck des Microsoft SMB-Protokolls die gemeinsame Nutzung von Dateien ist, umfasst es Folgendes:

Im OSI-Netzwerkmodell wird das Microsoft SMB-Protokoll am häufigsten als Protokoll der Anwendungsschicht oder der Präsentationsschicht verwendet und stützt sich für den Transport auf Protokolle niedrigerer Ebenen. Das Transportschichtprotokoll, mit dem das Microsoft SMB-Protokoll am häufigsten verwendet wird, ist NetBIOS über TCP/IP (NBT). Das Microsoft SMB-Protokoll kann jedoch auch ohne separates Transportprotokoll verwendet werden. Aus Gründen der Abwärtskompatibilität wird im Allgemeinen die Kombination Microsoft SMB-Protokoll/NBT verwendet.

Das Microsoft SMB-Protokoll ist eine Client-Server-Implementierung und besteht aus einer Reihe von Datenpaketen, die jeweils eine vom Client gesendete Anfrage oder eine vom Server gesendete Antwort enthalten. Diese Pakete können grob wie folgt klassifiziert werden:

  • Sitzungssteuerungspakete: Stellt eine Verbindung zu gemeinsam genutzten Serverressourcen her und trennt sie.
  • Dateizugriffspakete – Greifen auf Dateien und Verzeichnisse auf dem Remote-Server zu und bearbeitet diese.
  • Allgemeine Nachrichtenpakete – Sendet Daten an Druckwarteschlangen, Mailslots und benannte Pipes und stellt Daten zum Status von Druckwarteschlangen bereit.

Einige Nachrichtenpakete können gruppiert und in einer Übertragung gesendet werden, um die Antwortlatenz zu verringern und die Netzwerkbandbreite zu erhöhen. Dies wird als „Batching“ bezeichnet. DieMicrosoft SMB-Protokoll-Paketaustauschszenario Dieser Abschnitt beschreibt ein Beispiel einer Microsoft SMB-Protokollsitzung, die Paket-Batching verwendet.


Thema: Microsoft SMB-Protokolldialekte

  • Beschreibung:Um eine Verbindung zwischen einem Client und einem Server mithilfe des Microsoft SMB-Protokolls herzustellen, müssen Sie zunächst den Dialekt mit dem höchsten Funktionsumfang ermitteln, der sowohl vom Client als auch vom Server unterstützt wird.

Thema: Microsoft SMB-Protokollauthentifizierung

  • Beschreibung:Das im Microsoft SMB-Protokoll verwendete Sicherheitsmodell ist identisch mit dem anderer SMB-Varianten und besteht aus zwei Sicherheitsebenen: Benutzer und Freigabe. Eine Freigabe ist eine Datei, ein Verzeichnis oder ein Drucker, auf den von Microsoft SMB-Protokoll-Clients zugegriffen werden kann.

Thema: Microsoft SMB-Protokoll-Paketaustauschszenario

  • Beschreibung:Beispiel für einen Paketaustausch zwischen einem Client und einem Server mithilfe des Microsoft SMB-Protokolls.

Quelle


Erläuterung des Kommentars

Dateizugriffspakete – Greifen auf Dateien und Verzeichnisse auf dem Remote-Server zu und bearbeiten diese.‘ Wie geschieht dies? Wo ist das Antwortpaket, das dem Client die angeforderten Daten übermittelt? Krake

Jedes Paket ist normalerweise eine grundlegende Anfrage, z. B. Datei öffnen, Datei schließen oder Datei lesen. Der Server empfängt dann das Paket, prüft, ob die Anfrage zulässig ist, überprüft, ob der Client über die entsprechenden Dateiberechtigungen verfügt, führt schließlich die Anfrage aus und gibt ein Antwortpaket an den Client zurück. Der Client analysiert dann das Antwortpaket und kann feststellen, ob die ursprüngliche Anfrage erfolgreich war oder nicht.

Quelle


Weitere Ressourcen

Ein Diagramm und eine Erklärung der Authentifizierungsaspekte, die beim Herstellen einer Client-Server-Sitzung mit dem Protokoll beteiligt sind.

Lesen Sie weiter, um weitere Einzelheiten zu SMB zu erfahren.

verwandte Informationen