Filetransfer

Aus UUGRN
Version vom 8. Februar 2007, 16:11 Uhr von Rabe (Diskussion | Beiträge) (Netzwerk-Dateisysteme in Filesystem ausgelagert)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Unter einem Filetransfer (Datei-Übertragung) versteht man einen Mechanismus, um eine oder mehrere Dateien über eine Netzwerkverbindung zu übertragen. Je nach Anwendungsfall und vorhandenen Tools sind verschiedene Methoden sinnvoll oder machbar. Dieser Artikel soll gebräuchliche Methoden kurz vorstellen und typische Einsatzgebiete zeigen.

public

Anon-FTP
Das wohl bekannteste und verbreitetste TCP-Protokoll speziell zum Übertragen von Dateien.
Anonym-FTP bedeutet, dass ein FTP-Server Dateien und Verzeichnisse für den öffentlichen
Download anbietet, vereinzelt gibt es auch public-Upload ("incoming").
Wird heute verwendet, um z.B. Softwarearchive nach Verzeichnissen sortiert anzubieten und
wird von nahezu jedem TCP/IP-fähigen System unterstützt.
Login erfolgt idR mit User:ftp und Passwort:ftp (oder einer Mailadresse).
FTP wird leider auch noch ziemlich oft für Benutzer-authentifizierte Verbindungen verwendet.
FTP bietet von sich aus keinen Schutz gegen das Ausspähen und/oder Manipulieren von Passwörtern und Daten.
HTTP
HTTP ist speziell auf die Bedürfnisse von Web-Servern zugeschnitten.
Anders als bei FTP haben Dateien einen content-type, der dem Client sagt,
um welche Art von Datei es sind handelt. Upload (PUT) ist zwar möglich,
spielt aber in der Praxis keine Rolle.
public-rsync
Wird ähnlich wie Anon-FTP für Software-Archive verwendet. rsync bietet die Möglichkeit,
effizient einen sog. Mirror abzugleichen, indem nur die geänderten Dateien übertragen werden müssen.
SAFT / sendfile
Das Simple Asyncronous File Transfer Protokoll dient zum Verschicken von Dateien
ähnlich wie E-Mail an einen bestimmten Empfänger. Als Client kommt hierbei z.B. sendfile
zum Einsatz. Auf beiden Systemen muss hierbei ein entsprechender daemon laufen, der den
Dateitransfer im Hintergrund druchführt bzw. eingehende Dateitransfers annimmt und verarbeitet.
Dieses Protokoll ist leider recht wenig verbreitet.
tftp
Trivial File Transfer Protocol , ein altes und einfaches Filetransfer Protokoll.
im Gegensatz zu FTP / SFTP fehlen hier Authentifizierung ( Username, Passwort ),
Verschlüsselung, Wechsel in andere Verzeichnisse usw. TFTP läuft über UDP.
Übertragen werden Pakete mit 512 Byte Daten, das Ende des Transfers wird einfach durch
ein kürzeres Paket gekennzeichnet.
Wegen seiner Einfachheit wird TFTP oft genommen für Download von Firmware ( Netzwerksboot )
und Up- / Download von Konfigurationsdateien.


OpenSource per P2P
Ideensammlung und Brainstorming für Peer-to-Peer Filetransfer speziell für OpenSource Projekte.

gesichert/privat

scp
Secure Copy ist eine Funktion im SSH-Protokoll und dient zum Kopieren von Dateien von/zu Hosts via SSH.
scp löst das historische rcp ab.
sftp
Secure File Transfer Protocol ist ein Subsystem von SSH und stellt einen FTP-ähnlichen Client dar.
SSH-rsync
rsync ist von sich aus in der Lage, über rsh oder SSH eine Verbindung zu einem
anderen System aufzubauen und Dateien mit dem Remote-System abzugleichen.
Hierzu ist es erforderlich, dass rsync auf dem Zielsystem installiert ist und ausgeführt werden kann.
SSH mit tar/dump+restore/cpio
SSH kann als "Netzwerk-pipe" verwendet werden. Benötigt wird ein Tool, welches Dateien einpackt
und in einen Datenstrom verwandelt und auf stdout ausgeben kann und auf der Gegenstelle das
entsprechende Gegenstück, welches ein Archiv als Datenstrom per stdin empfängt und die Dateien daraus
in das Dateisystem extrahiert. Schematisch sieht das so aus: archiver | ssh user@host "de-archiver"
Vorteil des Methode ist, dass man gleich mehrere Dateien auf einmal übertragen kann.
Siehe dazu:
SSH-dump
dump kann von sich aus Backup-Archive via SSH oder RSH auf ein entferntes System ablegen.
SSSFS
Ermöglicht es dem User ein per SSH zugängliches Filesystem zu mounten. (siehe auch: Dateisysteme)

Netzwerk-Dateisysteme

Ein Netzwerk-Dateisystem ermöglicht eine dauerhafte Verbindung zwischen 2 Systemen. Zum Übertragen von Dateien können dann normale Kopierprogramme verwendet werden, man kann allerdings auch direkt mit Anwendungsprogrammen auf Dateien zugreifen.

siehe auch
Filesystem