File Transfer Protocol

FTP (File Transfer Protocol)
Familie: Internetprotokollfamilie
Einsatzgebiet: Datenübertragung,
Dateiverwaltung
Port: 20/TCP DATA Port,
21/TCP Control Port
FTP im TCP/IP-Protokollstapel:
Anwendung FTP
Transport TCP
Internet IP (IPv4, IPv6)
Netz-Zugang Ethernet Token
Bus
Token
Ring
FDDI ...
Standards:

RFC 959 (1985)

Das File Transfer Protocol [fʌɪl trɑːnsˌfəˌprəʊtəkɒl](engl. für „Dateiübertragungsverfahren“, kurz FTP), ist ein im RFC 959 von 1985 spezifiziertes Netzwerkprotokoll zur Dateiübertragung über TCP/IP-Netzwerke. FTP ist in der Anwendungsschicht (Schicht 7) des OSI-Schichtenmodells angesiedelt. Es wird benutzt, um Dateien vom Server zum Client (Download), vom Client zum Server (Upload) oder clientgesteuert zwischen zwei Servern zu übertragen. Außerdem können mit FTP Verzeichnisse angelegt und ausgelesen, sowie Verzeichnisse und Dateien umbenannt oder gelöscht werden. Neben dem File Transfer Protocol (FTP) gibt es auch noch das IBM Transfer Protocol, welches die Verbindung von PC zu Mainframe-Umgebungen ermöglicht.

FTP verwendet für die Steuerung und Datenübertragung jeweils separate Verbindungen: Eine FTP-Sitzung beginnt, indem vom Client zum Control Port des Servers (der Standard-Port dafür ist Port 21) eine TCP-Verbindung aufgebaut wird. Über diese Verbindung werden Befehle zum Server gesendet. Der Server antwortet auf jeden Befehl mit einem Statuscode, oft mit einem angehängten, erklärenden Text. Die meisten Befehle sind allerdings erst nach einer erfolgreichen Authentifizierung zulässig.
Zum Senden und Empfangen von Dateien sowie zur Übertragung von Verzeichnislisten (der Standard-Port dafür ist Port 20) wird pro Vorgang jeweils eine separate TCP-Verbindung verwendet. FTP kennt für den Aufbau solcher Verbindungen zwei Modi:

  • Beim aktiven FTP' (auch "Active Mode") öffnet der Client einen zufälligen Port und teilt dem Server diesen sowie die eigene IP-Adresse mittels des PORT-Kommandos mit. Dies ist typischerweise ein Port des Clients, der jenseits 1023 liegt, kann aber auch ein anderer Server sein, der seinerseits in den 'Passive Mode' geschaltet wurde, also auf eine Verbindung wartet (so genanntes FXP).

Die Kommunikation mit Befehlen erfolgt ausschließlich auf dem Control Port. Man spricht auch von der Steuerung „Out of Band“. Somit bleibt es möglich, dass während der Datenübertragung die Partner noch immer miteinander kommunizieren können.

Active Mode (Aktives FTP): Der Client sendet zunächst eine Anfrage auf Port 21, welche der Server bestätigt. Anschließend erfolgt die Datenübertragung über Port 20
Active Mode (Aktives FTP): Der Client sendet zunächst eine Anfrage auf Port 21, welche der Server bestätigt. Anschließend erfolgt die Datenübertragung über Port 20
  • Beim passiven FTP (auch "Passive Mode") sendet der Client ein PASV-Kommando, der Server öffnet einen Port und übermittelt diesen mitsamt IP-Adresse an den Client. Hier wird auf Client Seite ein Port jenseits 1023 verwendet und auf Server Seite FTP-Port -1, d.h. im Normalfall 20.

Diese Technik wird eingesetzt, wenn der Client für den Server nicht erreichbar ist. Dies ist beispielsweise der Fall, wenn der Client sich hinter einem Router befindet, der die Adresse des Clients mittels NAT umschreibt, oder wenn eine Firewall das Netzwerk des Clients vor Zugriffen von außen abschirmt.

  • Adressformatierung beim Passive Mode (Beispiel, möglicherweise nicht allgemeingültig)

Am Ende des Antwortstrings, den der Client nach PASV erhält, stehen 6 max. dreistellige Zahlen in runder Klammer. Die ersten 4 Zahlen stellen die angebotene IP dar wobei nur die Kommata durch Punkte ersetzt werden müssen. Die (5. Zahl * 256) plus der 6. Zahl ergibt die Portnummer.

Viele FTP-Server, vor allem Server von Universitäten, Fachhochschulen und Mirrors, bieten so genanntes Anonymous FTP an. Hier ist zum Einloggen neben den realen Benutzerkonten ein spezielles Benutzerkonto, typischerweise „anonymous“ und/oder „ftp“, vorgesehen, für das kein (oder ein beliebiges) Passwort angegeben werden muss. Zum „guten Ton“ gehört jedoch, bei anonymem FTP seine eigene, gültige E-Mail-Adresse als Passwort anzugeben.

Für das Datenübertragungsverfahren wird ein FTP-Client benötigt, den man auch in vielen Browsern finden kann. Dieser sendet FTP-Kommandos an den Server, die durch die RFCs, die das FTP-Protokoll ausmachen, definiert werden. Davon zu unterscheiden sind die Kommandos für den zum Betriebssystem gehörenden Terminal-Client „ftp“, siehe auch FTP-Terminal-Client. WebFTP ist ein von Webservern angebotener Dienst, der den Zugriff auf FTP-Server auch über HTTP ermöglicht.

Da FTP ein textbasiertes Protokoll ist, werden sowohl die Daten als auch die Authentifizierungsinformationen im Klartext übertragen. Daher sollte FTP nicht für Datentransfers jenseits von Anonymous FTP eingesetzt werden. Alternativen, die dieses Problem lösen, sind unter anderem Secure File Transfer Protocol (Secure FTP), Secure Copy (SCP) und SSH File Transfer Protocol (SFTP). Es ist ebenso möglich, die FTP-Verbindung mittels SSL bzw. TLS zu verschlüsseln.

Server Antwort Codes

(nach RFC 959 Seite 40 Abschnitt 4.2.2, frei übersetzt aus dem Englischen Original)

Num-Code Beschreibung

110 Neustart Marker Antwort.

In diesem Fall ist der Text exakt und nicht bei der jeweiligen Implementierung gehalten; er muss wie folgt gelesen werden:
MARK yyyy = mmmm
Wobei yyyy der Benutzer-Prozess Daten Strom Marker ist, und mmmm der gleichwertige Marker des Servers ist (Beachte die Leerzeichen zwischen MARK und "=").

120 Service bereit in nnn Minuten.

125 Daten Verbindung bereits geöffnet; Übertragung startet.

150 Datei Status okay; Bereit Datenverbindung zu öffnen.


200 Befehl okay.

202 Befehl nicht implementiert, an dieser Stelle überflüssig.

211 System Status, oder System Hilfe Antwort.

212 Verzeichnis Status.

213 Datei Status.

214 Hilfe Nachricht.

Darüber wie man den Server benutzt oder über die Bedeutung eines besonderen nicht-standarisierten Befehls. Diese Antwort ist nur bei einem menschlichen Benutzer nützlich.

215 NAME System Typ.

Wobei NAME ein offizieller System Name von der Liste in dem zugewiesenen Zahlen Dokument ist.

220 Service bereit für neuen Benutzer.

221 Service schließt Kontrol Verbindung.

Ausgeloggt falls verwendet.

225 Daten Verbindung offen; kein Transfer im Verlauf.

226 Schließe Daten Verbindung.

Angeforderte Datei Action erfolgreich (zum Beispiel, Datei Übertragung oder Datei Abbruch).

227 Activiere Passiv Modus (h1,h2,h3,h4,p1,p2).

230 Benutzer eingeloggt, fortfahren.

250 Angeforderte Datei Action okay, abgeschlossen.

257 "VERZEICHNISNAME" erstellt.


331 Benutzername okay, benötige Passwort.

332 Benötige Account zum einloggen.

350 Angeforderte Datei Action abhängig von weiteren Informationen.


421 Service nicht verfügbar, schließe Kontrol Verbindung.

Dies ist möglicherweise eine Antwort auf jeden Befehl bei dem der Dienst weiss das er herunterfahren muss.

425 Kann keine Daten Verbindung öffnen.

426 Verbindung geschlossen; Übertragung abgebrochen.

450 Angeforderte Datei Action nicht angenommen.

Datei nicht verfügbar (z.B., Datei anderweitig verwendet).

451 Angeforderete Action abgebrochen: Lokaler Error im Verlauf.

452 Angeforederte Action nicht angenommen.

Nicht genügend Speicherplatz im System.


500 Syntax Error, Befehl nicht erkannt.

Dies schließt möglicherweise Fehler ein, wie z.B. eine zu lange Kommandozeile.

501 Syntax Error in den Parametern oder Argumenten.

502 Befehl nicht implementiert.

503 Schlechte Befehlsfolge.

504 Befehl nicht implementiert für diese Parameter.

530 Nicht eingeloggt.

532 Brauche Account um Dateien zu speichern.

550 Angeforderte Action nicht angenommen.

Datei nicht verfügbar (z.B., Datei nicht gefunden, kein Zugriff).

551 Angeforderete Action abgebrochen: Seiten Typ unbekannt.

552 Angeforderte Datei Action abgebrochen.

Speicherzuweisungsüberschreitung (für aktuelles Verzeichnis oder Datensatz).

553 Angeforderte Action nicht angenommen.

Dateiname nicht erlaubt.

Siehe auch

Weblinks

Quelle:
Artikel File Transfer Protocol aus der freien Enzyklopädie Wikipedia mit dieser Versionsgeschichte
Lizenz:
Kategorien:
Ähnliche Einträge in anderen Lexika
Bookmarks
delicious wong linkarena google
Sponsoren