Zum Hauptinhalt springen

4. FILE TRANSFER (Dateiübertragung)

Dieser Abschnitt diskutiert zwei Dateiübertragungsprotokolle: das File Transfer Protocol (FTP) und das Trivial File Transfer Protocol (TFTP).

4.1 FILE TRANSFER PROTOCOL -- FTP (Dateiübertragungsprotokoll)

4.1.1 Introduction (Einführung)

Das File Transfer Protocol (FTP) ist ein Protokoll für die Dateiübertragung zwischen Hosts. FTP verwendet zwei parallele TCP-Verbindungen: eine Steuerverbindung für Befehle und Antworten und eine Datenverbindung für die Dateiübertragung.

Jeder Internet-Host, der Dateiübertragung unterstützt, MUSS FTP implementieren (MUST). Die FTP-Client-Fähigkeit KANN jedoch (MAY) in Hosts implementiert werden, die keine allgemeinen Dateiübertragungsdienste benötigen.

4.1.2 Protocol Walk-Through (Protokolldurchlauf)

Steuerverbindung (Control Connection)

Die FTP-Steuerverbindung ist eine Telnet-Verbindung, die zum Senden von FTP-Befehlen vom Client (USER-PI) zum Server (SERVER-PI) und zum Zurücksenden von Antworten vom Server zum Client verwendet wird.

FTP-Befehle umfassen:

  • USER: Benutzername
  • PASS: Passwort
  • ACCT: Konto
  • CWD: Arbeitsverzeichnis wechseln
  • CDUP: Zum übergeordneten Verzeichnis wechseln
  • SMNT: Strukturmontage
  • QUIT: Abmeldung
  • RETR: Datei abrufen
  • STOR: Datei speichern
  • STOU: Eindeutig speichern
  • APPE: Anhängen
  • ALLO: Zuweisen
  • REST: Neustart
  • RNFR: Umbenennen von
  • RNTO: Umbenennen zu
  • ABOR: Abbrechen
  • DELE: Löschen
  • RMD: Verzeichnis löschen
  • MKD: Verzeichnis erstellen
  • PWD: Arbeitsverzeichnis anzeigen
  • LIST: Dateien auflisten
  • NLST: Namensliste
  • SITE: Site-Parameter
  • SYST: System
  • STAT: Status
  • HELP: Hilfe
  • NOOP: Keine Operation

Datenverbindung (Data Connection)

Die FTP-Datenverbindung wird für die Dateiübertragung und Verzeichnisauflistungen verwendet. FTP unterstützt sowohl aktive (PORT) als auch passive (PASV) Modi zur Herstellung von Datenverbindungen.

4.1.3 Specific Issues (Spezifische Probleme)

4.1.3.1 FTP Restart Mechanism (FTP-Neustartmechanismus)

Der FTP-REST-Befehl ermöglicht es, die Dateiübertragung an einem angegebenen Kontrollpunkt neu zu starten. Ein FTP-Server SOLLTE den REST-Befehl für RETR implementieren (SHOULD).

4.1.3.2 FTP TYPE Command (FTP-TYPE-Befehl)

Der TYPE-Befehl gibt den Darstellungstyp an (ASCII, EBCDIC, Image/Binär, Local). Eine FTP-Implementierung MUSS mindestens die folgenden TYPE-Befehle unterstützen (MUST):

  • ASCII Non-print (TYPE A N)
  • Image (TYPE I)

4.1.3.3 FTP PASV Command (FTP-PASV-Befehl)

Der PASV-Befehl fordert den Server auf, auf einem Datenport zu lauschen und auf eine Verbindung zu warten. Ein FTP-Server SOLLTE PASV implementieren (SHOULD).

4.1.3.4 FTP PORT Command (FTP-PORT-Befehl)

Der PORT-Befehl gibt den Datenport an, mit dem sich der Server verbinden soll. Ein FTP-Server MUSS PORT implementieren (MUST).

4.1.4 FTP Requirements Summary (Zusammenfassung der FTP-Anforderungen)

FunktionalitätAbschnittMUSTSHOULDMAYAnmerkung
FTP implementieren4.1.1
TYPE A N unterstützen4.1.3.2
TYPE I unterstützen4.1.3.2
PORT implementieren4.1.3.4
PASV implementieren4.1.3.3
REST für RETR implementieren4.1.3.1

4.2 TRIVIAL FILE TRANSFER PROTOCOL -- TFTP (Einfaches Dateiübertragungsprotokoll)

4.2.1 Introduction (Einführung)

Das Trivial File Transfer Protocol (TFTP) ist ein einfaches Dateiübertragungsprotokoll, das auf UDP aufbaut. TFTP ist für Anwendungen konzipiert, die nicht die Ausgereiftheit von FTP benötigen.

Ein allgemeiner Internet-Host SOLLTE die TFTP-Client-Fähigkeit implementieren (SHOULD). Ein allgemeiner Internet-Host KANN die TFTP-Server-Fähigkeit implementieren (MAY).

4.2.2 Protocol Walk-Through (Protokolldurchlauf)

TFTP verwendet fünf Pakettypen:

  1. Read Request (RRQ): Anforderung zum Lesen einer Datei
  2. Write Request (WRQ): Anforderung zum Schreiben einer Datei
  3. Data (DATA): Dateidatenpaket
  4. Acknowledgment (ACK): Empfangsbestätigung der Daten
  5. Error (ERROR): Fehlerzustand

4.2.3 Specific Issues (Spezifische Probleme)

4.2.3.1 TFTP Timeout (TFTP-Zeitüberschreitung)

TFTP verwendet ein einfaches Stop-and-Wait-Protokoll mit Zeitüberschreitung und Neuübertragung. Eine TFTP-Implementierung MUSS eine adaptive Zeitüberschreitung verwenden (MUST).

4.2.3.2 TFTP Options (TFTP-Optionen)

TFTP unterstützt optionale Erweiterungen einschließlich Blockgrößen-Aushandlung und Zeitüberschreitungs-Aushandlung. Diese Optionen KÖNNEN implementiert werden (MAY).

4.2.4 TFTP Requirements Summary (Zusammenfassung der TFTP-Anforderungen)

FunktionalitätAbschnittMUSTSHOULDMAYAnmerkung
TFTP-Client implementieren4.2.1
TFTP-Server implementieren4.2.1
Adaptive Zeitüberschreitung verwenden4.2.3.1
TFTP-Optionen unterstützen4.2.3.2