File Transfer Protocol

Übertragungsarten

Für die Übertragung von Dateien sind drei Transferarten vorgesehen: Stream-, Block- und Compressed-Modus. Jeder Datentransfer wird nach der vollständigen Übertragung durch eine End-of-File-Markierung (EOF) abgeschlossen. Bei der Übertragung im Block- oder Compressed-Modus kommt nach jedem Datensatz die End-of-Record-Markierung (EOR) zum Einsatz.

Der Stream-Modus überträgt die Daten wie an einem Strang vom FTP-Server zum Client beziehungsweise in umgekehrter Richtung. In der Praxis ist der Block-Modus weitaus wichtiger. Hierbei teilt der FTP-Server die angeforderte Datei in Datenblöcke ein. Jeder Datenblock ist mit einem Header versehen, der unter anderem Angaben über die Gesamtlänge der Daten enthält. Besondere Bedeutung erhalten die Header-Informationen bei der Resuming-Funktion: Im Header sind die für die Wiederaufnahme der Datenübertragung notwendigen Restart-Markierungen enthalten.

Der Compressed-Modus überträgt Daten in komprimierter Form. Er dient insbesondere der Reduzierung von großen Datenmengen, setzt aber höhere Ansprüche an Client und Server, da die Daten auf beiden Seiten zunächst komprimiert und nach der Übertragung dekomprimiert werden müssen.

Der Compressed-Modus versucht die Informationen in optimierter Form zu übermitteln: Die Kompression besteht im Wesentlichen aus einer Run-Length-Kodierung: Identische, direkt aufeinander folgende Bytes fasst der Algorithmus zu einer zwei-Byte-großen Information zusammen. Sich nicht wiederholende Daten bleiben von diesem Mechanismus unberührt. Eine stärkere Kompression, zum Beispiel nach dem LZW-Verfahren, ist nicht vorgesehen.

Zudem unterscheidet man zwischen drei Transfermodi: ASCII, EBCDIC und Image. Der ASCII-Modus dient insbesondere der Übertragung von Textdateien. Alle FTP-Implementierungen müssen den ASCII-Modus als Standardmodus unterstützen. EBCDIC (Extended Binary Communication Data Interchange Code) verwendet im Unterschied zum ASCII-Modus lediglich einen anderen Zeichensatz. Für den Transfer von Binärdaten ist der Image-Mode vorgesehen. FTP-Implementierungen einigen sich vor der Übertragung auf einen dieser Modi.