- FTP-Client
-
FTP (File Transfer Protocol) Familie: Internetprotokollfamilie Einsatzgebiet: Datenübertragung,
DateiverwaltungPort: 20/TCP DATA Port,
21/TCP Control PortFTP im TCP/IP‑Protokollstapel: Anwendung FTP Transport TCP Internet IP (IPv4, IPv6) Netzzugang Ethernet Token
BusToken
RingFDDI … 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 Übertragung von Dateien über TCP/IP-Netzwerke. FTP ist in der Anwendungsschicht (Schicht 7) des OSI-Schichtenmodells angesiedelt. Es wird benutzt, um Dateien vom Server zum Client (Herunterladen), vom Client zum Server (Hochladen) oder clientgesteuert zwischen zwei Endgeräten zu übertragen. Außerdem können mit FTP Verzeichnisse angelegt und ausgelesen, sowie Verzeichnisse und Dateien umbenannt oder gelöscht werden.
Das 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.
Inhaltsverzeichnis
Verbindungsarten
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:
Aktives FTP
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 von 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 Datenübertragung auf der Server-Seite erfolgt dabei über Port 20.
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.Passives FTP
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 der Client-Seite ein Port jenseits 1023 verwendet und auf der Server-Seite der vorher an den Client übermittelte Port.
Diese Technik wird eingesetzt, wenn der Server keine Verbindung zum Client aufbauen kann. 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.Öffentliche FTP-Server
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. Viele Webbrowser machen dies allerdings durch das automatisierte Senden von anonymen Zugangsdaten unmöglich.
FTP-Software
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. Als Beispiel für die Syntax einer ftp-Adressierung im Browser: ftp://ftp_username:ftp_PWD@Servername
Sicherheit
Um Verschlüsselung und Authentifizierung zu nutzen, wird Transport Layer Security benutzt (FTP über SSL). Nach der Authentifizierung des Hosts und der Verschlüsselung durch TLS, kann FTP die Authentifizierung des Client mittels Benutzername und Kennwort durchführen, wenn der Client sich nicht bereits mit einem Zertifikat über TLS authentifiziert hat. Eine Alternative ist auch FTP über SSH zu tunneln (Secure File Transfer Protocol). Mit SSH File Transfer Protocol bietet SSH allerdings auch ein eigenes Protokoll für Dateiverwaltung und -übertragung.
Siehe auch
- Background File Transfer Program (BFTP)
- File Service Protocol (FSP)
- Multi-purpose Business Security over IP (MBS/IP)
- Port (Protokoll) Auflistung der Ports und der zugehörigen Protokolle (unter anderem auch FTP)
- Secure File Transfer Protocol
- Simple Asynchronous File Transfer (SAFT)
- Simple File Transfer Protocol (SFTP) – veraltetes Protokoll
- Trivial File Transfer Protocol (TFTP)
- Kategorie:FTP-Server und Kategorie:FTP-Client
Weblinks
- RFC 959 - File Transfer Protocol
- RFC 1579 - Firewall Friendly FTP
- RFC 2228 – FTP Security Extensions
- RFC 2428 – FTP Extensions for IPv6 and NATs
- RFC 2640 – Internationalization of the File Transfer Protocol*
- Eigenen Heim-FTP-Server einrichten
- Ausführliche Erklärung von Aktiv und Passiv FTP (englisch) bzw. deutsche Zusammenfassung des Artikels
- Links zum Thema FTP-Server im Open Directory Project
- Links zum Thema FTP-Clients im Open Directory Project
Wikimedia Foundation.