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✓