FTP

Aus TBZ_-_Wiki
Wechseln zu:Navigation, Suche
FTP (File Transfer Protocol)
Familie: Internetprotokollfamilie
Einsatzgebiet: Datenübertragung,
Dateiverwaltung
Port: 20/TCP DATA Port,
21/TCP Control Port
Standards: RFC 959 (1985)

FTP (File Transfer Protocol, eng. für Dateiübertragungsverfahren) ist ein Netzwerkprotokoll, welches der Übertragung von Dateien über IP-Netzwerke dient. FTP ist in der siebten Schicht des OSI-Schichtenmodells (Anwendungsschicht) angesiedelt und ist im RFC 959 von 1985 spezifiziert.

FTP wird benutzt, um Dateien zwischen Client und Server bzw. zwischen zwei Servern zu übertagen. Ausserdem bietet FTP die Möglichkeit Verzeichnisse zu erstellen und diese, wie auch Dateien, zu umbenennen und zu löschen.

Für die Steuerung verwendet das FTP jeweils eine separate Verbindung als für die Datenübertragung: Eine FTP-Sitzung beginnt, indem vom Client zum Control Port des Servers eine TCP-Verbindung aufgebaut wird. Es werden über diese Verbindung die Befehle zum Server gesendet. Mit einem Statuscode antwortet der Server dem Client, wobei die meisten Befehle erst nach einer erfolgreichen Authentifizierung zulässig sind.

Verbindungsmodi

Beim Senden und Empfangen von Dateien sowie bei der Übertragung von Verzeichnislisten wird pro Vorgang jeweils eine separate TCP-Verbindung verwendet. FTP kennt für den Aufbau solcher Verbindungen folgende zwei Modi:

Active Mode

Im „Active Mode“ öffnet der Client einen zufälligen Port und teilt dem Server diesen, sowie die eigene IP-Adresse mittels des PORT- oder des EPRT-Kommandos mit. Die Kommunikation mit Befehlen erfolgt ausschliesslich auf dem Control Port. Man spricht auch von der Steuerung „Out of Band“. Dies ermöglicht es, dass die Partner während der Datenübertragung noch immer miteinander kommunizieren können.

Passive Mode

Das „Passive Mode“ ist im Grunde genommen die Inversion des aktiven FTPs. Hier sendet der Client ein PASV- oder ein EPSV-Kommando. Darauf öffnet der Server einen Port und übermittelt diesen mitsamt IP-Adresse an den Client. Diese Technik wird als Alternativ eingesetzt, falls der Server keine Verbindung zum Client aufbauen kann. Beispiele dafür sind, wenn sich der Client hinter einem Router befindet und die Adresse mittels NAT umschrieben wird, oder wenn der Zugriff aufs Netz durch eine Firewall abgeschirmt wird.

FTP-Clients

Die Datenübertragung erfordert einen FTP-Client. In den meisten aktuellen Browsern ist ein FTP-Client bereits integriert. Der Client baut eine TCP-Verbindung zum Server auf, über welche die FTP-Kommandos für den Datenaustausch zwischen Client und Server übermittelt werden. Es gibt allerdings auf WebFTP, ein von Webservern angebotener Dienst, der den Zugriff auf FTP-Server auch mittels http ermöglicht. Die Darstellung erfolgt innerhalb des Webbrowsers. Somit entfällt die Installation eines FTP-Clients.

Sicherheit

Transport Layer Security (FTP über SSL) kann genutzt werden um Verschlüsselungen und Authentifizierungen zu ermöglichen. Nach der Authentifizierung des Hosts und der Verschlüsselung durch TLS kann FTP die Authentifizierung des Clients mittel Benutzername und Kennwort-Abfrage durchführen. Eine Alternative ist auch FTP über SSH zu tunneln.

Quelle

http://en.wikipedia.org/wiki/File_Transfer_Protocol