File Transfer Protocol
FTP (File Transfer Protocol) | |||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Familie: | Internetprotokollfamilie | ||||||||||||||||||||||||
Einsatzgebiet: | Datenübertragung, Dateiverwaltung | ||||||||||||||||||||||||
Port: | 20/TCP DATA Port, 21/TCP Control Port | ||||||||||||||||||||||||
| |||||||||||||||||||||||||
Standards: |
Das File Transfer Protocol (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 Nr. 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 Active Mode baut der Server eine Verbindung zu einem vom Client gewählten beliebigen Port auf. 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.

- Beim Passive Mode baut der Client eine Datenverbindung zu einem vom Server gewählten Port auf. Hier wird typischerweise von beiden Seiten ein Port jenseits 1023 benutzt.
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.
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.
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 u. a. Secure File Transfer Protocol (Secure FTP), Secure Copy (SCP) und SSH File Transfer Protocol (SFTP).
Siehe auch
- Background File Transfer Program (BFTP)
- Simple File Transfer Protocol (SFTP) – Veraltetes Protokoll
- Simple Asynchronous File Transfer (SAFT)
- Trivial File Transfer Protocol (TFTP)
- File Service Protocol (FSP)
- rsync
- Multi-purpose Business Security over IP (MBS/IP)
- Kategorie:FTP-Server und Kategorie:FTP-Client
Weblinks
- RFC 959 – File Transfer Protocol
- RFC 2228 – FTP Security Extensions
- RFC 2640 – Internationalization of the File Transfer Protocol
- Über das File Transfer Protocol (englisch)
- Ausführliche Erklärung von Aktiv und Passiv FTP (englisch) bzw. dt. Zusammenfassung des Artikels
- Linkkatalog zum Thema FTP-Server bei curlie.org (ehemals DMOZ)
- Linkkatalog zum Thema FTP-Clients bei curlie.org (ehemals DMOZ)