Zentrales Merkmal von FTP ist die Trennung von Steuer- und Datenverbindung. Bevor nach dem Verbindungsaufbau Kommandos an einen Server gesendet werden können, muss sich ein Benutzer eines FTP-Clients zunächst ausweisen (authentisieren), damit der FTP-Server entscheiden kann, ob es sich um einen berechtigten Zugriff handelt. Die Authentisierung erfolgt über die Angabe eines Benutzername/Passwort-Paares (username/password), das im Klartext übertragen wird.
Anonymous-FTP
FTP-Server können auch die Möglichkeit zum anonymen Zugriff bieten, bei dem sich ein Benutzer nicht authentisieren muss. Diese Variante wird Anonymous-FTP genannt, dabei wird der besondere Benutzername "ftp" (oder "anonymous") verwendet, wobei als Paßwort entweder ebenfalls "ftp" oder die E-Mail-Adresse des Benutzers (für statistische Zwecke) angegeben wird.
Die FTP-Sitzung
Um in einer FTP-Sitzung eine angeforderte Datei zu übertragen, wird diese nicht, wie zum Beispiel bei HTTP, in den Datenstrom derselben TCP-Verbindung eingeflochten, sondern es wird eine neue TCP-Verbindung aufgebaut, in der dann der Inhalt der Datei gesendet wird.
Abb. 1.20 Steuer- und Datenverbindungen in einer FTP-Sitzung
Quelle: Konzepte der Internet Technik, TEIA-Qualifikationseinheit
In der klassischen Variante baut der Server diese Datenverbindung zum Client auf. Dafür kann der Client dem Server im PORT-Kommando mitteilen, zu welchem Port auf dem Client-Rechner die Verbindung aufgebaut werden soll. Die Tatsache, dass bei diesem Modell ein Server eine Verbindung zu einem Client aufbaut, führt u.a. bei Verwendung einer Firewall zu Problemen, denn Firewalls erlauben oft keine einkommenden TCP-Verbindungen.
Eine Alternative zu dieser Verbindungsvariante ist passives FTP: Dabei veranlasst der FTP-Client den FTP-Server dazu, Datenverbindungen auf einem Port anzunehmen, damit der Client die Verbindung aufbauen kann. Dafür schickt er dem Server das sogenannte PASV-Kommando. Der Server teilt dem Client die Portnummer dann in einer Antwort mit. Das sogenannte passive FTP (passive mode) hat den Vorteil, dass es besser mit Firewalls funktioniert.
Übertragungsmodus
FTP unterscheidet zwischen Textdateien (ASCII) und Binärdateien. Letztere werden einfach unverändert übertragen, aber bei Textdateien kann ein Server bestimmte Zeichen, zum Beispiel für das Zeilenende, den Konventionen der Plattform (Betriebssystem) des Clients anpassen, falls sich diese von der Plattform des Serversystems unterscheidet. Die Auswahl eines geeigneten Übertragungsmodus erfolgt allerdings nicht automatisch, vielmehr muss der Server dazu ein entsprechendes Kommando bekommen, dem er entnehmen kann, welches Verfahren für die Übertragung der folgenden Dateien verwendet werden soll. Das voreingestellte Verfahren ist die Übertragung von Textdateien (ASCII), d.h. die Ersetzung bestimmter Zeichen wird vorgenommen. Allerdings setzen viele Client-Programme den Übertragungsmodus nach dem Verbindungsaufbau automatisch auf Binärübertragung.
FTP-Clients
Die meisten Browser können als einfache FTP-Clients genutzt werden. Dazu wird die Adresse des FTP-Servers in die Adresszeile des Browsers eingegeben. Die wichtigsten FTP-Funktionen (Hinauf- und Herunterladen, Umbenennen etc.) werden vom Browser unterstützt.
Wer FTP-Übertragung häufiger nutzt, sollte sich allerdings einen komfortablen FTP-Client zulegen, der Funktionen zur Dateiübertragung, Verwaltung und Automatisierung von Abläufen bietet. Unix- und Windows-Syteme verfügen standardmäßig über einen kommandozeilenorientierten FTP-Client, für MS-DOS und MS-Windows sind zudem diverse Programme verfügbar. Unter Windows-Benutzern sind z. B. die Programme WS-FTP (http://www.ipswitch.com/) und CuteFTP (http://www.cuteftp.com/) weit verbreitet. Sie bieten u.a. eine graphische Benutzungsschnittstelle und die Möglichkeit, Benutzernamen und Passwörter für das Anmelden auf verschiedenen Servern zu verwalten. Eine Übersicht zu FTP-Programmen finden Sie unter: http://www.bbso.njit.edu/Documentations/htmldoc/tbcf.htm.
Tipps für die Praxis
Wenn Sie ein interessantes FTP-Verzeichnis gefunden haben, sollten Sie zunächst nach einer spezifischen Textdatei oder einem HTML-Dokument suchen, das in der Regel "index.txt" oder "index.html" heißt. Viele gut eingerichtete FTP-Server bieten in diesem Dokument eine Textzusammenfassung der Inhalte des Verzeichnisses an. Oft sind dort auch die bereitgestellten Dateien kurz beschrieben.
Aus Platzgründen sind fast alle Dateien auf FTP-Servern komprimiert. Sie erkennen eine solche komprimierte Datei an den Dateierweiterungen wie .ZIP, .GZ, .TGZ, .ARC, .ARJ, .ACE. Wenn Sie eine komprimierte Datei heruntergeladen haben, müssen Sie diese noch "entpacken". Es gibt eine Vielzahl von Programmen, mit denen Sie komprimierte Dateien entpacken können. Unter Windows können Sie z.B das Programm WinZip (http://www.winzip.de) nutzen, das alle gängigen komprimierten Dateien entpackt. Alternative Programme sind WinRAR bzw. RAR (http://www.winrar-rog.de/), von denen letzteres für Linux, MacOS X, OS/2 und DOS verfügbar ist.
