Background File Transfer Program
Das Background File Transfer Program (BFTP) ist ein Protokoll zur Dateiübertragung über TCP/IP-Netze im Hintergrund mittels FTP. BFTP ist in der Anwendungsschicht des TCP/IP Protokollstapels angesiedelt. Es wird benutzt, um Dateien vom Server zum Client (Herunterladen), vom Client zum Server (Hochladen) oder zwischen zwei Servern im Hintergrund zu übertragen.
Es ist definiert in RFC 1068. Wie dort weiter erläutert wird, dient dieses Protokoll dazu, die Diskussion über weitere Übertragungswege für Dateien über das Internet anzuregen. Die damals üblichen Standards HTTP und FTP bedurften der ständigen Interaktion mit dem Nutzer. Durch die steigende Belastung des Netzes (Congestion) in der Mitte der 1980er Jahre konnte es aber passieren, dass Dateiübertragungen abbrachen. Mittels BFTP konnte ein Benutzer aber große Transfers anordnen, deren Durchführung automatisch sichergestellt wurde, und keine ständigen Eingriffe erforderte.
Das BFTP-Protokoll ist scheinbar (Quelle: Google-Suche) nicht mehr verbreitet, einige der Ideen werden jedoch vom FXP-Protokoll implementiert.
Auszug Kommandos
- clear
- ddir <Verzeichnis Name>
- dfile <Datei Name>
- dhost <host Name/Nummer> <login> <password>
- explain
- find
- RequestID (optional): <bftp-request-id>
- RequestKeyword: <keyword>
- help
- help <Kommando>
- quit
- prompt
- request delete <Name>
- request list
- request load <Name>
- request store <Name>
- set account [Quelle | Ziel] <account string>
- set append [true | false]
- set copy
- set delete
- set mailbox <mailbox string>
- set mode [stream | block | compress]
- set move
- set multiple [true | false]
- set port [Quelle | Ziel] <Port Nummer>
- set structure [file | record | page]
- set unique [true | false]
- set verbose [true | false]
- sdir <Verzeichnis Name>
- sfile <Datei Name>
- shost <host Name/Nummer> <login> <password>
- status
- submit
- time <date and/or time> <minutes between tries> <maximum number of tries>
- transfer
- verify
Beispiel einer BFTP Sitzung
Received-Date: Tue, 6 Oct 87 10:15:52 PDT
Date: Tue, 6 Oct 87 10:15:47 PDT
From: root (Operator)
Posted-Date: Tue, 6 Oct 87 10:15:47 PDT
To: deschon
Subject: BFTP Results: bftp560538880
Request bftp560538880 submitted to run at 10:14 Oct 6.
Tue Oct 6 10:15:22 1987: starting…
Request type: COPY
Source: deschon.isi.edu-deschon-XXX--21-./-foo*
Destination: venera.isi.edu-deschon-XXX--21-./temp/-
Stru: F, Mode: S, Type: A N, Creation: STOR
Multiple matching: TRUE
Return mailbox: 'deschon@isi.edu', Password: SET
Remaining tries: 5, Retry interval: 60 minutes
Connect to: deschon.isi.edu, 21
deschon.isi.edu ==> 220 deschon.isi.edu FTP server (Version 4.7
Sun Sep 14 12:44:57 PDT 1986) ready.
Connect to: venera.isi.edu, 21
venera.isi.edu ==> 220 venera.isi.edu FTP server (Version 4.107
Thu Mar 19 20:54:37 PST 1987) ready.
deschon.isi.edu <== USER deschon
deschon.isi.edu ==> 331 Password required for deschon.
deschon.isi.edu <== PASS XXX
deschon.isi.edu ==> 230 User deschon logged in.
venera.isi.edu <== USER deschon
venera.isi.edu ==> 331 Password required for deschon.
venera.isi.edu <== PASS XXX
venera.isi.edu ==> 230 User deschon logged in.
deschon.isi.edu <== CWD ./
deschon.isi.edu ==> 200 CWD command okay.
venera.isi.edu <== CWD ./temp/
venera.isi.edu ==> 250 CWD command successful.
deschon.isi.edu <== PORT 128,9,1,56,4,106
deschon.isi.edu ==> 200 PORT command okay.
deschon.isi.edu <== NLST foo*
deschon.isi.edu ==> 150 Opening data connection for /bin/ls
(128.9.1.56,1130) (0 bytes).
deschon.isi.edu ==> 226 Transfer complete.
deschon.isi.edu <== PASV
deschon.isi.edu ==> 502 PASV command not implemented.
venera.isi.edu <== PASV
venera.isi.edu ==> 227 Entering Passive Mode (128,9,0,32,6,200)
deschon.isi.edu <== PORT 128,9,0,32,6,200
deschon.isi.edu ==> 200 PORT command okay.
deschon.isi.edu <== RETR foo
venera.isi.edu <== STOR foo
deschon.isi.edu ==> 150 Opening data connection for foo
(128.9.0.32,1736) (0 bytes).
deschon.isi.edu ==> 226 Transfer complete.
venera.isi.edu ==> 150 Opening data connection for foo
(128.9.1.56,20).
venera.isi.edu ==> 226 Transfer complete.
venera.isi.edu <== PASV
venera.isi.edu ==> 227 Entering Passive Mode (128,9,0,32,6,201)
deschon.isi.edu <== PORT 128,9,0,32,6,201
deschon.isi.edu ==> 200 PORT command okay.
deschon.isi.edu <== RETR foo1
venera.isi.edu <== STOR foo1
deschon.isi.edu ==> 150 Opening data connection for foo1
(128.9.0.32,1737) (4 bytes).
deschon.isi.edu ==> 226 Transfer complete.
venera.isi.edu ==> 150 Opening data connection for foo1
(128.9.1.56,20).
venera.isi.edu ==> 226 Transfer complete.
deschon.isi.edu <== QUIT
venera.isi.edu <== QUIT
Tue Oct 6 10:15:39 1987: completed successfully.