Das Datenübertragungsprotokoll (auf Englisch File Transfer Protocol oder FTP) ist ein standardisiertes Kommunikationsprotokoll, das zum Übertragen von Computdateien zwischen einem Client und einem Server über ein Netzwerk verwendet wird. Entwickelt in den frühen 1970er Jahren, hat sich FTP als ein Eckpfeilerprotokoll des Internets etabliert. Sein Betriebsrahmen folgt einem Client-Server-Modell, bei dem der Client eine Verbindung zum Server herstellt, um Dateiübertragungen zu erleichtern. Bemerkenswerterweise verwendet FTP separate Steuer- und Datenverbindungen, um den Übertragungsprozess zu optimieren.
FTP arbeitet mit zwei separaten Verbindungen zur Durchführung von Dateiübertragungen zwischen Client und Server: der Steuer- und der Datenverbindung.
FTP arbeitet in zwei Modi für Dateiübertragungen:
Aktiver Modus | Passiver Modus |
---|---|
Der Client gibt die IP-Adresse des Servers und die Portnummer zur Verbindung an | Der Server stellt eine IP-Adresse und eine Portnummer bereit, die es dem Client ermöglichen, eine Verbindung für die Dateiübertragung herzustellen |
Die Entscheidung, ob der aktive oder passive Modus verwendet wird, hängt von der Netzwerkkonfiguration und der Fähigkeit ab, Datenverbindungen über Firewalls und NAT-Geräte herzustellen.
FTP-Verbindungen stoßen häufig auf Hindernisse beim Durchqueren von Netzwerkadressübersetzung (NAT)-Geräten und Firewalls. NAT-Geräte ändern die IP-Adressen und Portnummern von Paketen, wenn sie passieren, was das Herstellen der Datenverbindung in FTP beeinträchtigen kann. Ebenso können Firewalls eingehende Verbindungsaufträge für die Datenverbindung blockieren.
Um diese Herausforderungen zu bewältigen, integriert FTP einen PASV (Passive) -Befehl, der es dem Server ermöglicht, eine IP-Adresse und eine Portnummer für den Client festzulegen, um sich für die Datenübertragung zu verbinden. Dieser Mechanismus hilft dabei, die Einschränkungen von Firewalls und NAT-Geräten zu umgehen. Darüber hinaus unterstützen bestimmte Firewalls Anwendungsebenengateways, die den FTP-Verkehr überprüfen und Ports dynamisch öffnen und schließen können, wie es für die Datenübertragung erforderlich ist.
Im Laufe der Zeit wurden FTP-Dateiübertragungen durch verschiedene Softwareanwendungen vereinfacht. Anfangs waren FTP-Clients hauptsächlich Befehlszeilenschnittstellen. Mit dem Fortschreiten der Technologie sind jedoch benutzerfreundlichere dedizierte FTP-Client-Anwendungen entstanden. Diese Anwendungen bieten Funktionen wie Drag-and-Drop-Unterstützung, die Möglichkeit, unterbrochene Übertragungen fortzusetzen, und grafische Benutzeroberflächen (GUIs) für eine vereinfachte Navigation.
Darüber hinaus haben viele Webbrowser FTP-Client-Funktionen integriert, die es Benutzern ermöglichen, direkt auf FTP-Server zuzugreifen. Aufgrund von Sicherheitsbedenken und dem rückläufigen Verbreitungsgrad des Protokolls haben jedoch führende Browser den FTP-Support schrittweise eingestellt.
Obwohl FTP als praktisches Protokoll für Dateiübertragungen dient, sind seine Sicherheitsanfälligkeiten eine bemerkenswerte Sorge. Dazu gehört insbesondere die Übertragung von Anmeldeinformationen und Dateidaten im Klartext, was sie anfällig für Abhören und unbefugten Zugriff macht.
Um diese Sicherheitslücken zu adressieren, wurden mehrere sichere Alternativen zum traditionellen FTP entwickelt:
Obwohl sowohl FTP als auch HTTP für die Übertragung von Dateien über das Internet verwendet werden, unterscheiden sie sich in mehreren wesentlichen Aspekten.
Eigenschaft | FTP | HTTP |
---|---|---|
Verbindung | Getrennte Steuer- und Datenkanäle | Einzelne Verbindung für Steuerung und Daten |
Zustand | Zustand (speichert Sitzungsinformationen) | Zustandslos (jede Anfrage ist unabhängig) |
Eignung | Große Dateien, fortsetzbare Übertragungen | Kleinere Dateien, Einfachheit und Benutzerfreundlichkeit |
Sicherheit | Weniger sicher (traditionelles FTP) | Kann mit HTTPS gesichert werden |
Zwischenspeicherung | Nein | Ja (verbessert die Leistung bei Wiederholungen) |