File Transfer Protocol (FTP)

Was ist FTP?

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.

Eine Illustration, wie FTP funktioniert, zeigt, wie ein FTP-Client Dateien durch einen zentralen FTP-Server sendet und ein anderer FTP-Client sie empfängt
Diagramm: Die Rolle von FTP bei der Erleichterung des Dateitransfers zwischen Clients und einem Server, das den Upload- und Download-Prozess in einem vereinfachten Format darstellt

Protokollübersicht

FTP arbeitet mit zwei separaten Verbindungen zur Durchführung von Dateiübertragungen zwischen Client und Server: der Steuer- und der Datenverbindung.

  • Steuerverbindung: Diese Verbindung wird zunächst hergestellt und handhabt den Austausch von Befehlen und Antworten zwischen Client und Server. Normalerweise erfolgt dies über den Port 21.
  • Datenverbindung: Im Gegensatz zur Steuerverbindung wird die Datenverbindung dynamisch hergestellt, um die tatsächlichen Dateidaten zu übertragen.

FTP arbeitet in zwei Modi für Dateiübertragungen:

Aktiver ModusPassiver Modus
Der Client gibt die IP-Adresse des Servers und die Portnummer zur Verbindung anDer 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.

NAT- und Firewall-Überwindung

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.

Softwareunterstützung für FTP

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.

Sicherheitsüberlegungen

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:

  • FTPS (FTP über SSL/TLS): Diese Lösung verbessert das FTP-Protokoll, indem sie eine zusätzliche Verschlüsselungsschicht einbezieht. Durch die Verwendung von SSL/TLS-Zertifikaten authentifiziert FTPS den Server und verschlüsselt die Datenübertragung, was die Sicherheit im Vergleich zum einfachen FTP erheblich erhöht.
  • SFTP (SSH File Transfer Protocol): SFTP nutzt SSH (Secure Shell) für sichere Dateiübertragungen. Durch die Einrichtung einer verschlüsselten Verbindung zwischen Client und Server gewährleistet SFTP die Integrität und Vertraulichkeit der übertragenen Daten. Im Gegensatz zu FTPS vereinfacht SFTP die Konfiguration, da separate Portnummern für Steuer- und Datenverbindungen nicht erforderlich sind.

FTP vs. HTTP: Hauptunterschiede

Obwohl sowohl FTP als auch HTTP für die Übertragung von Dateien über das Internet verwendet werden, unterscheiden sie sich in mehreren wesentlichen Aspekten.

EigenschaftFTPHTTP
VerbindungGetrennte Steuer- und DatenkanäleEinzelne Verbindung für Steuerung und Daten
ZustandZustand (speichert Sitzungsinformationen)Zustandslos (jede Anfrage ist unabhängig)
EignungGroße Dateien, fortsetzbare ÜbertragungenKleinere Dateien, Einfachheit und Benutzerfreundlichkeit
SicherheitWeniger sicher (traditionelles FTP)Kann mit HTTPS gesichert werden
ZwischenspeicherungNeinJa (verbessert die Leistung bei Wiederholungen)

Referenzen

  1. Active FTP vs. Passive FTP, a Definitive Explanation”. Slacksite.com.
  2. RFC 959 (Standard) File Transfer Protocol (FTP). Postel, J. & Reynolds, J. (October 1985).
  3. FTP”. docs.kde.org.
  4. File Transfer Protocol – Wikipedia
  5. What is File Transfer Protocol (FTP) meaning | Fortinet
  6. What Is File Transfer Protocol (FTP) and What Is It Used for?
  7. What is FTP: File Transfer Protocol Explained for Beginners

Additional Resources