File Transfer Protocol
Anwendung | FTP | |||
Transport | TCP | |||
Netzwerk | IP | |||
Netzzugang | Ethernet | Token Ring |
FDDI | ... |
Das File Transfer Protocol (engl. für „Dateiübertragungsverfahren“, kurz FTP), ist ein in RFC 959 spezifiziertes Netzwerkprotokoll zur Dateiübertragung über TCP/IP-Netzwerke. FTP ist in der Anwendungsschicht des TCP/IP Protokollstapels angesiedelt. Es wird benutzt, um Dateien vom Server zum Client (Download), vom Client zum Server (Upload) oder clientgesteuert zwischen zwei Servern zu übertragen. 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 benutzt zur Kommunikation mehr als eine Verbindung: Zunächst wird zum Port 21 des Servers, dem Control Port, eine Verbindung zur Authentifizierung und Befehlsübertragung aufgebaut. Hier reagiert der Server auf jeden Befehl des Clients mit einem Statuscode, oft mit einem angehängten, erklärenden Text. Zur eigentlichen Datenübertragung wird dann im Bedarfsfall eine separate Verbindung initiiert (allgemein gilt: Port 20 – Datenübertragung, Port 21 – Initiierung der Session, Kommandoübertragung). FTP kennt dazu zwei Modi:
- Beim Active Mode baut der Server von seinem Port 20, dem Data Port, eine Datenverbindung zu einem vom Client gewählten Endpunkt auf. Dieser Endpunkt 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 (sogenanntes FXP).
Die Kommunikation mit Befehlen erfolgt auf dem Port 21. 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 zum vom Server gewünschten 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 und Fachhochschulen, 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.
Siehe auch
- ftp (der Terminal-Client)
- Secure FTP
- Secure Copy (SCP)
- SSH File Transfer Protocol (SFTP)
- Background File Transfer Program (BFTP)
- Simple File Transfer Protocol (SFTP) – Veraltetes Protokoll
- Simple Asynchronous File Transfer (SAFT)
- 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)
- ftp4che – Eine Open-Source FTP Library Implementierung in Java
- Ausführliche Erklärung von Aktiv und Passiv FTP (englisch) bzw. dt. Zusammenfassung des Artikels
- Tutorial: Verbinden mit einem FTP-Server
- Anmeldefreier WebFTP Service
- Linkkatalog zum Thema FTP-Server bei curlie.org (ehemals DMOZ)
- Linkkatalog zum Thema FTP-Clients bei curlie.org (ehemals DMOZ)