Heim >häufiges Problem >Was ist NFS?

Was ist NFS?

青灯夜游
青灯夜游Original
2022-11-29 11:16:3623092Durchsuche

nfs bezieht sich auf das Netzwerkdateisystem, eines der von FreeBSD unterstützten Dateisysteme. Es ermöglicht Computern im Netzwerk, Ressourcen über das TCP/IP-Netzwerk zu teilen. NFS ist eine Anwendung, die auf dem UDP/IP-Protokoll basiert. Seine Implementierung verwendet hauptsächlich den RPC-Mechanismus für Remote-Prozeduren, der eine Reihe von Operationen für den Zugriff auf Remote-Dateien bereitstellt, die unabhängig von der Maschine, dem Betriebssystem und dem Low-Level-Übertragungsprotokoll sind.

Was ist NFS?

Die Betriebsumgebung dieses Tutorials: Linux7.3-System, Dell G3-Computer.

1. Einführung in nfs

Network File System (NFS) auf Englisch ist ein von SUN entwickeltes UNIX-Präsentationsschichtprotokoll, das es Benutzern ermöglicht, auf Dateien an anderer Stelle im Netzwerk zuzugreifen, genau wie mit ihrem eigenen Computer.

NFS ist eine Anwendung, die auf dem UDP/IP-Protokoll basiert. Ihre Implementierung verwendet hauptsächlich den RPC-Mechanismus für Remoteprozeduren, der eine Reihe von Operationen für den Zugriff auf Remotedateien bereitstellt, die unabhängig von der Maschine, dem Betriebssystem und der Low-Layer-Übertragung sind Protokoll. RPC nutzt XDR-Unterstützung. XDR ist ein maschinenunabhängiges Datenbeschreibungskodierungsprotokoll. Es kodiert und dekodiert Daten, die über das Internet in einem von der Maschinenarchitektur unabhängigen Format übertragen werden, und unterstützt die Übertragung von Daten zwischen heterogenen Systemen.

1.1 NFS-Funktionen

  • NFS (Network File System) ist eines der von FreeBSD unterstützten Dateisysteme. Es ermöglicht Computern im Netzwerk, Ressourcen über das TCP/IP-Netzwerk zu teilen. In NFS-Anwendungen lokaler NFS-Client Anwendungen können Dateien, die sich auf dem Remote-NFS-Server befinden, transparent lesen und schreiben, genau wie der Zugriff auf lokale Dateien.
  • nfs ist für die Dateifreigabe zwischen Linux und Unix geeignet, kann jedoch nicht zwischen Linux und Windows implementiert werden ist ein Protokoll, das auf der Anwendungsebene ausgeführt wird und auf 2049/TCP- und 2049/UDP-Sockets lauscht.
  • NFS-Dienst kann nur basierend auf IP authentifiziert werden Im Folgenden sind einige häufige Szenarien aufgeführt:
  • Mehrere Computer teilen sich eine CD-ROM oder ein anderes Gerät. Dies ist kostengünstiger und praktischer für die Installation von Software auf mehreren Computern. In großen Netzwerken kann es praktisch sein, einen zentralen NFS-Server zum Hosten der Home-Verzeichnisse aller Benutzer zu konfigurieren. Diese Verzeichnisse können in das Netzwerk exportiert werden, sodass Benutzer immer das gleiche Home-Verzeichnis erhalten, unabhängig davon, an welcher Workstation sie sich anmelden. Verschiedene Clients können Film- und Fernsehdateien auf NFS ansehen, wodurch lokaler Speicherplatz gespart wird. Arbeitsdaten, die auf dem Client abgeschlossen wurden. Es kann gesichert und im eigenen Pfad des Benutzers auf dem NFS-Server gespeichert werden Das Architekturdiagramm des Systems sieht wie folgt aus:

Der Client greift über das TCP/IP-Netzwerk remote auf die auf dem NFS-Server gespeicherten Daten zu.Bevor der NFS-Server offiziell aktiviert wird, müssen einige NFS-Parameter entsprechend konfiguriert werden die tatsächliche Umgebung und die tatsächlichen Anforderungen

2 .nfs-Arbeitsmechanismus
  • nfs basiert auf RPC, um die gemeinsame Nutzung von Netzwerkdateisystemen zu realisieren. Sprechen wir also zunächst über RPC.
  • 2.1 RPC
  • RPC (Remote Procedure Call Protocol), Remote Procedure Call Protocol, ist ein Protokoll, das Dienste von einem Remote-Computerprogramm über das Netzwerk anfordert, ohne die zugrunde liegende Netzwerktechnologie zu kennen. Das

RPC-Protokoll setzt die Existenz eines Transportprotokolls wie TCP oder UDP voraus, um Informationsdaten zwischen kommunizierenden Programmen zu übertragen. Im OSI-Netzwerkkommunikationsmodell umfasst RPC die Transportschicht und die Anwendungsschicht. RPC übernimmt den Client/Server-Modus. Der Anforderer ist ein Client und der Dienstanbieter ist ein Server.

  • Der Arbeitsmechanismus von RPC ist im Bild oben dargestellt:
    • Das Client-Programm initiiert einen RPC-Systemaufruf und sendet ihn basierend auf dem TCP-Protokoll an einen anderen Host (Server). Nachdem er die Systemaufrufanforderung des Clients empfangen hat, empfängt er die Anforderung Übergebene Parameter werden über einen lokalen Systemaufruf ausgeführt und die Ergebnisse werden an den lokalen Dienstprozess zurückgegeben. Nach Erhalt der zurückgegebenen Ausführungsergebnisse kapselt der Dienstprozess auf dem Server sie in eine Antwortnachricht und gibt sie dann über das RPC-Protokoll zurück. An den Client
    • Der Client ruft den Prozess auf, um die Antwortinformationen zu empfangen, erhält das Prozessergebnis und ruft dann die Ausführung auf, um fortzufahren
    • 2.2 NFS-Arbeitsmechanismus

    NFS-Server führt vier Prozesse aus:

    nfsd

    • mountd

    • idmapd

    • portmapper

    • idmapd

    ermöglicht die Zuordnung aller Konten zu. NFSN OBODY, aber sie können für lokale Benutzer als NFSNOBODY aufgerufen werden Die Zugriffsidentität

    mountd

    wird verwendet, um zu überprüfen, ob der Client in der Liste der Clients steht, die auf dieses NFS-Dateisystem zugreifen dürfen. Wenn dies der Fall ist, ist der Zugriff zulässig (stellen Sie ein Token aus und halten Sie das Token bereit, um es zu finden). nfsd), andernfalls Zugriff verweigert

    Der Service-Port von mountd ist zufällig und die zufällige Portnummer wird vom RPC-Dienst (Portmapper) bereitgestellt

    nfsd

    nfs-Daemon, der 2049/tcp und 2049/ überwacht udp ports

    ist nicht für die Dateispeicherung verantwortlich (der lokale Kernel des NFS-Servers ist für die Planung der Speicherung verantwortlich) und wird verwendet, um die vom Client initiierte RPC-Anforderung zu verstehen, sie an den lokalen Kernel zu übertragen und dann zu speichern Es befindet sich im angegebenen Dateisystem ist ein Beispiel zur Veranschaulichung des einfachen Arbeitsablaufs von NFS:

    Anforderung:

    Datei-Dateiinformationen anzeigen Diese Datei

    ist auf dem Remote-NFS-Server-Host gespeichert (im lokalen Verzeichnis /shared/nfs gemountet)

    Der Client initiiert einen Befehl zum Anzeigen von Dateiinformationen (LS-Datei) an den Kernel. Über das NFS-Modul erfährt der Kernel, dass es sich bei dieser Datei nicht um eine Datei im lokalen Dateisystem, sondern um eine Datei auf dem Remote-NFS-Host handelt Der Client-Host sendet den Befehl zum Anzeigen der Dateiinformationen über das RPC-Protokoll (Systemaufruf), gekapselt in eine RPC-Anfrage und sendet ihn über TCP-Port 111 an den Portmapper des NFS-Serverhosts

    Der Portmapper (RPC-Dienstprozess) des NFS Der Server-Host teilt dem Client mit, dass sich der Mountd-Dienst des NFS-Servers an einem bestimmten Port befindet. Sie können ihn finden. Da Mountd bei der Bereitstellung von Diensten eine Portnummer registrieren muss, weiß Portmapper, auf welchem ​​Port er funktioniert Erlernt die Portnummer des Mountd-Prozesses auf dem Server und übergibt den bekannten Dienst. Überprüfung der Anforderung der Mountd-Portnummer beenden

    Nach Erhalt der Überprüfungsanforderung überprüft mountd, ob der Client, der die Anforderung initiiert hat, in der Liste der Clients enthalten ist, die darauf zugreifen dürfen NFS-Dateisystem, und wenn ja, ist der Zugriff erlaubt (ein Token ausstellen, das Token halten, um nfsd zu finden), andernfalls wird der Zugriff verweigert

    Nach bestandener Überprüfung verwendet der Client das von mountd ausgegebene Token, um zum nfsd-Prozess zu gelangen Der nfsd-Prozess des Servers initiiert einen lokalen Systemaufruf und fordert den Kernel auf, die Datei anzuzeigen, die der Client anzeigen möchte. Der Kernel des Servers führt den Systemaufruf aus der nfsd-Anfrage und gibt das Ergebnis an den nfsd-Dienst zurück

    Nachdem der nfsd-Prozess das vom Kernel zurückgegebene Ergebnis empfangen hat, kapselt er es in eine RPC-Anfragenachricht und sendet es über das TCP/IP-Protokoll an den Client zurück

    Was ist NFS?

    Weitere Informationen zu diesem Thema finden Sie in der Rubrik „FAQ“!

    Das obige ist der detaillierte Inhalt vonWas ist NFS?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

    Stellungnahme:
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
    Vorheriger Artikel:Was bedeutet HDMI-Kabel?Nächster Artikel:Was bedeutet HDMI-Kabel?