Grundlagen
Das Protokoll FTP legt ein Verfahren fest, nach dem Computer im Internet
Dateien austauschen können. Die Abkürzung FTP (File Transfer Protocol)
bezeichnet dabei nicht nur das Protokoll selbst, sondern auch den
Internet-Dienst, der darauf beruht. Neben HTTP (Web) und SMTP (Mail) ist FTP eins der wichtigsten und ältesten
Protokolle im Internet. Es wurde bereits in den frühen 70er Jahren entwickelt.
FTP basiert seinerseits auf dem Protokoll TCP.
Mit "FTP-Server" bezeichnet man einen Computer, der FTP-Anfragen
bearbeitet ebenso wie das FTP-Programm, das auf diesem Computer läuft. Analog
dazu wird als "FTP-Client" sowohl der Rechner bezeichnet, der per FTP Daten mit
einem FTP-Server austauscht, als auch die dazu verwendete Software.
Einsatzgebiete
Die Haupteinsatzgebiete von FTP sind
die Übertragung von Dateien von und zu Server-Rechnern, auf denen man sich mit
User Name und Passwort anmeldet. Da alle Seiten, die im Internet
verfügbar sein sollen, zuerst auf einen Rechner hochgeladen werden müssen, der
rund um die Uhr mit dem Internet verbunden ist, ist FTP eins der wichtigsten
Werkzeuge beim Erstellen und Warten von Webseiten.
Die Verwaltung von Dateien auf einem fremden Rechner. Per FTP lassen sich nicht
nur Dateien übertragen, sondern auch Verzeichnisse und Dateien anlegen, löschen
oder umbenennen.
Der Datei-Download von sogenannten Anonymous-FTP-Servern im Internet. Beim
anonymen FTP genügt die Anmeldung am Server als "anonymous", "Guest" oder
"Gast". Als Passwort genügt meist die E-Mail-Adresse. Viele grosse Unternehmen
oder Organisationen unterhalten solche Anonymous-FTP-Server wie zum Beispiel ftp://ftp.leo.org/.
Häufig wird das Stichwort FTP nur mit dem Download von Musik im MP3-Format oder von Bildern in Verbindung gebracht.
Tatsächlich lässt sich das Protokoll zum Austausch aller möglichen Dateien
einsetzen:
- Shareware- und Freeware- Programme
- Demoversionen kommerzieller Programme
- Updates, Treiber, Korrekturen und Dokumentation von Programmen
- wissenschaftliche Artikel
- Volltexte von Büchern
Wie funktioniert das FTP-Protokoll?
Das Protokoll sieht zwei separate Verbindungen zwischen Sender und Empfänger
vor: über die eine werden die FTP-Kommandos übertragen, über die andere die
Daten. Dieses Verfahren hat den Vorteil, dass nur die Kommando-Leitung, über
die sehr wenige Daten fliessen, über die ganze Dauer der FTP-Verbindung
aufrechterhalten werden muss. Die Datenleitung, über die grosse Datenmengen
übertragen werden, öffnet sich nur bei Bedarf und wird danach wieder
geschlossen.
Der FTP-Client verbindet sich über das Internet mit einem FTP-Server - in
unserem Beispiel mit dem fiktiven Server ftp.nureinbeispiel.de. Ein Dialog
zwischen Client und Server beginnt. Diesen Dialog könnte man auch Zeile für
Zeile von Hand eingeben; in der Regel übernimmt diese Aufgabe aber ein
FTP-Client mit grafischer Benutzeroberfläche, der alle Vorgänge im Hintergrund
abwickelt.
| Server: |
220 ftp.nureinbeispiel.de ready |
Der Server teilt dem Client mit, dass er bereit ist und auf Eingaben
wartet. Die Zahl
"220" ist ebenso wie die folgenden ein im FTP-Protokoll
definierter Code. |
| Client: |
USER hinz |
Der Client stellt sich mit Benutzernamen vor. USER und alle folgenden Kommandos
in Grossbuchstaben sind ebenfalls im FTP-Protokoll fest definierte
Befehle. |
| Server: |
331 Password required for hinz |
Der Server hat nachgesehen, ob er einen User "hinz" kennt und
fordert jetzt
das dazugehörige Passwort an. |
| Client: |
PASS kunz |
hinz gibt sein Passwort an. Dabei handelt es sich übrigens um ein
schlechtes
Passwort, weil es viel zu leicht erraten werden kann - Tipps zur Auswahl
sichererer
Passwörter finden sich im Eintrag "Passwort". |
| Server |
230 User hinz logged in |
Der Server stellt fest, dass Username und Passwort zusammenpassen und
gewährt dem
Benutzer hinz Zugang. |
| Client: |
TYPE A |
hinz möchte eine Liste der vorhandenen Dateien sehen. Er teilt dem
Server als erstes
mit, dass sie im ASCII-Format übertragen werden soll. |
| Server: |
200 Type set to A |
Der Server bestätigt: "Alle folgenden Dateien werden bis auf
weiteres im
ASCII-Format übertragen." |
| Client: |
PORT 192.168.10.1.10.68 |
Der Client teilt dem Server mit, mit welcher IP-Adresse und welchem
Port er
sich verbinden soll. |
| Server: |
200 PORT command successful |
Der Server bestätigt, dass das PORT-Kommando erfolgreich verarbeitet
wurde. |
| Client: |
LIST |
hinz fordert eine Liste der auf dem Server vorhandenen Dateien an. |
| Server: |
150 Opening ASCII mode data connection for
file list |
Eine zweite Verbindung zum Client, die Datenleitung, wird hergestellt
und über diese
Verbindung die angeforderte Liste übertragen. |
| Server |
226 Transfer complete |
Der Server schliesst die Datenleitung und meldet, dass die Übertragung
erfolgreich
abgeschlossen ist. |
| Alle weiteren Vorgänge gekürzt ... |
hinz kann jetzt aus den vorhandenen Dateien auswählen, was er
herunterladen möchte,
oder selbst Dateien zum Server hochladen. |
FTP-Software
Die meisten Browser sind mit eingebauten FTP-Clients versehen und
setzen oft das FTP-Protokoll ein, wenn der Benutzer Dateien herunterladen
möchte. Statt des HTTP-Protokolls wird dabei einfach das FTP-Protokoll in der
Adresse des gewünschten Dokuments angegeben:
ftp://ftp.leo.org/
Ist für den Verbindungsaufbau ein Username und ein Passwort erforderlich,
können beide direkt in der URL angegeben werden:
ftp://sulb97:pwd_6679@subito.sulb.uni-saarland.de/
Der Username ist hier "sulb97", das Passwort "pwd_6679". Mit dem @-Zeichen
werden sie von der restlichen Adresse getrennt.
Allerdings ist es über den Browser nicht möglich, Dateien per FTP zum Server
hochzuladen, und auch der Download mehrerer Dateien gestaltet sich wenig
komfortabel. Für anspruchsvollere Zwecke braucht man einen FTP-Client.
Gebräuchliche Clients sind z.B. "WS_FTP" und "FTP Voyager" für Windows,
"Interarchy" und "Fetch" für den Mac und unter Linux. Einfache FTP-Clients gibt
es häufig kostenlos als Freeware.
Alle FTP-Programme unterscheiden sich in Aussehen und Benutzerfreundlichkeit,
aber das Funktionsprinzip bleibt immer gleich. Nach dem Start benötigen sie als
erstes die Adresse des FTP-Servers, zu dem eine Verbindung hergestellt werden
soll. Als nächstes sind meist der Username und das Passwort erforderlich. Viele
FTP-Clients bieten die Möglichkeit, beides für den nächsten Einsatz zu
speichern, was zwar komfortabel ist, aber nicht ohne Risiko, falls in der
Zwischenzeit jemand anders Zugang zum eigenen Rechner hat. Manche Clients
zeigen während der Arbeit die oben erläuterten FTP-Kommandos und die
Serverantworten an, andere verbergen sie vor dem Benutzer. Steht die Verbindung
zum Server, bekommt der Benutzer in der Regel eine Bildschirmaufteilung ähnlich
der folgenden angezeigt:
http://www.ipswitch.com/Products/WS_FTP/images/interface.html
Bildunterschrift: WS_FTP, ein FTP-Client für Windows
WS-FTP und viele ähnliche Programme zeigen auf der einen Seite des Fensters die
Verzeichnisse und Dateien auf dem Server an, auf der anderen Seite die des
eigenen Rechners. Dateien lassen sich problemlos und fast wie auf der eigenen
Festplatte vom lokalen ins Serververzeichnis und umgekehrt verschieben.
Nützlich ist bei FTP-Clients die Funktion, eine abgebrochene Übertragung am
gleichen Punkt wieder aufzunehmen. Wenn beim Download einer grossen Datei die
Verbindung unterbrochen wird, muss man ansonsten wieder ganz von vorne anfangen.
Ausserdem gibt es unter www2ftp.de/ ein
Web-Interface, mit dessen Hilfe man über den Browser auf den eigenen
FTP-Account zugreifen kann, ohne dass ein FTP-Client erforderlich ist.
Wenn man öfter mit Freunden Dateien (z.B. MP3-Musikdateien) austauschen möchte,
die zu gross sind, um sie als Attachment an eine E-Mail zu hängen, kann es
sinnvoll sein, eigene FTP-Server-Software zu installieren. Natürlich
funktioniert ein Download vom eigenen Rechner nur, solange dieser mit dem
Internet verbunden ist. Bei dynamisch zugeteilten IP-Adressen muss man dem
anderen Benutzer also sowohl mittteilen, wann man online ist, als auch, unter
welcher IP-Adresse man derzeit zu erreichen ist. Dann aber sind die
eigenen Daten auch von aussen zugänglich und können ? entweder nur von
ausgewählten Benutzern oder von jedermann - heruntergeladen werden.