IT-Academy Logo
Sign Up Login Help
Home - Netzwerke - Protokolle - Das FTP-Protokoll



Das FTP-Protokoll

Die einfachste Art, Daten in Netzwerken zu übertragen ist mit dem File Transfer Protocol. Es hilft Rechnern ihre Daten abzugleichen, dient aber auch "normalen" Usern, deren Homepage auf die entsprechenden Server zu laden, damit die Seiten dann Online verfügbar sind. Was hinter diesem Dienst und seiner Technik steht, erfahren Sie in folgendem Bericht.


Autor: Martin Puaschitz (onestone)
Datum: 23-01-2002, 19:31:19
Referenzen: RFC 959
Schwierigkeit: Profis
Ansichten: 8763x
Rating: 3.78 (9x bewertet)

Hinweis:

Für den hier dargestellte Inhalt ist nicht der Betreiber der Plattform, sondern der jeweilige Autor verantwortlich.
Falls Sie Missbrauch vermuten, bitten wir Sie, uns unter missbrauch@it-academy.cc zu kontaktieren.

[Druckansicht] [Als E-Mail senden] [Kommentar verfassen]



1. Einführung

Die wichtigesten Punkte des FTP-Dienstes sind:

a) Dass verschiedene User auf dieselben Daten zugreifen können.

b) Uneingeschränktes sowie indirektes Steuern des Serversystems durch die User.

c) User sollen sich nicht mit dem Dateisystem des jeweiligen Server auseinander setzten müssen - der Server muss dem User sein Verzeichnis korrekt zuteilen.

d) Daten müssen zuverlässig und effizient übertragen werden.

Im großen und ganzen wird der FTP-Dienst meist über verschiedene Programme gesteuert, wenn auch bei vielen Anwendungen Benutzer diese Programme bedienen. Der Sinn dieses Dienstes ist es, allen Arten von Benutzern und Geräten (Serverfarm, Stand-Alone-Server, Workstation, TAC) die Möglichkeit zu bieten, ein simples und einfach implimentiertes Protokoll zu benutzen womit es möglich ist, Daten von Standort A nach B zu übertragen.

2. Geschichtlicher Überblick

FTP hat eine besonders lange Entwicklung hinter sich. Es wurden über diesen Dienst sehr viele verschiedene RFCs geschrieben. In jedem dieser RFCs wird FTP in der damals gerade aktuellen Version der Entwicklung beschrieben. Eine vollständige Liste aller dieser Dokumente finden Sie am Ende dieses Berichtes.

FTP existiert schon seit 1971, damals auf den Servern des M.I.T. implementiert, um eben Dantenübertragung leichter zu gestalten. Diese Spezifikationen wurden im RFC 114 sowie im RCF 141 beschrieben.

Eine benutzerfreundlichere Version wurde mit RFC 172 veröffentlicht. Es wurde dann aber durch RFC 264 und 265 verbessert, sowie in 281 bereits weitere Vorschläge zur Verbesserung des Dienstes gefordert. In weiterer Folge wurde die Verwendung von "Set Data Type" Übertragungen in RFC 294 im Jänner 1982 publiziert.

Es dauerte nicht lange und die RCFs 264 und 265 wurden durch RFC 354 abgelöst. Nun war FTP als Protokoll für den Datenaustausch zwischen Servern definiert. Damals war der Dienst allerdings nur auf den Geräten des ARPANET implementiert.
Die Primäre Funktion war es - damals wie heute - Daten effizient und zuverlässig zwischen den verschiedenen Geräten zu übertragen.

Um Juli 1973 wurden wichtige Änderungen der letzten FTP-Versionen durchgeführt - nur die Kernstruktur des Dienstes blieb gleich. RFC 542 wurde als "offizielle" Spezifikation veröffentlicht.

1974 beinhalteten die RFCs 607 sowie 614 weitere Diskussionnen. RFC 624 brachte einige kleinere Änderungen mit sich. In weiterer Folge wurde FTP dann unter TCP in RFC 765 definiert. Die derzeit aktuellste Version ist RFC 959 worauf auch diese Arbeit basiert.

3. Das FTP-Modell


Server-FTP USER-FTP

HINWEIS: 1. Die Datenverbindung kann in beide Richtungen verwendet werden.
2. Die Datenverbindung muss nicht ständig bestehen.

Das obgige Modell zeigt eine FTP-Verbindung von einem User zu einem FTP-Server. Der "User"
startet ein "User Interface" - das kann eine grafische Benutzeroberfläche, aber auch ein
Befehlszeileninterpreter sein. Dieses startet dann den "User PI" der nun eine Verbindung
zu dem gewünschten "Server PI" aufbaut. Der "User PI" ist in jedem Fall aktiv - da er immer
dafür zuständig ist, dass eine Verbindung aufgebaut wird. Der "Server PI" ist hingegen passiv - wartet ständig auf neue eingehende Verbindung eines "User PI".

Die Verbindung zwischen "User-PI" und "Server-PI" ist eine reine Kontrollverbindung. Hier werden noch keine Daten übertragen sondern lediglich Informationen über Datentyp sowie Transfermodus ausgehandelt. Der User schickt Anforderungen, der Server antwortet mit positiven oder negativen Rückmeldungen. Hier kann der "User-PI" auch einen Datentransfer beantragen welcher in beide Richtungen vonstatten gehen kann.

Sobald der "User-PI" eine Datenübertragung anfordert, startet er den "User-DTP" welcher nun
passiv auf eingehende Verbindungen wartet. Der "Server-PI" startet auf seiner Seite den
etsprechenden "Server-DTP" und baut aktiv eine Verbindung zu dem "User-DTP" auf. An dieser
muss allerdings darauf hingewiesen werden, dass der "Server-DTP" nicht unbedingt auf dem
gleichen Gerät wie der "Server-PI" sein muss - der Datentransfer also auch zu anderen Geräten über den gleichen "Server-PI" möglich wäre.

Eine andere Situation wäre es, wenn ein Andwender zwischen zwei verschiedenen Servern Daten
austauschen möchte. Der User baut eine Kontrollverbindung zu den beiden Geräten auf und
überträgt die notwendigen Befehle für eine Datenverbindung. Hier ist es so, dass die
Kontrollinformationen über den "User-PI" zu den beiden "Server-PI's" übertragen werden, Daten allerdings nur zwischen den beiden "Server-DTP's". Folgende Grafik zeigt das beschriebene Szenario:


Figure 2

Hier ist es für das Protokol wichtig, dass die Kontrollverbindungen während der Datenübertragung geöffnet bleibt. Es liegt in der Verantwortung des Users die Kontrollverbindung zu beenden sobald er das FTP service nicht mehr verwenden will. Auf der Gegenseite liegt es in der Verantwortung der Server, die Daten korrekt zu übertragen.

4. Das Zusammenspiel von FTP und Telnet

Das FTP-Protokoll verwendet das Telnet-Protokoll vor allem bei seiner Kontrollverbindung. Dies kann auf zwei Unterschiedliche Weisen geschehen. Entweder werden die Telnetprozeduren direkt in den "User-PI" bzw. den "Server-PI" implementiert oder die beiden Prozesse verwenden jeweils das ins Betriebssystem implementierte Telnet-Modul. Punkte wie Leichtere Programmierung, Platzersparniss sind Vorteile der zweiten Version. Effizienz und Unabhängigkeit sind die Vorteile der ersten Variante - was besser ist, muss jeder für sich entscheiden.



[back to top]



Userdaten
User nicht eingeloggt

Gesamtranking
Werbung
Datenbankstand
Autoren:04508
Artikel:00815
Glossar:04116
News:13565
Userbeiträge:16552
Queueeinträge:06245
News Umfrage
Ihre Anforderungen an ein Online-Zeiterfassungs-Produkt?
Mobile Nutzung möglich (Ipone, Android)
Externe API Schnittstelle/Plugins dritter
Zeiterfassung meiner Mitarbeiter
Exportieren in CSV/XLS
Siehe Kommentar



[Results] | [Archiv] Votes: 1150
Comments: 0