Background File Transfer Program

Protokoll zur Dateiübertragung über TCP/IP-Netze im Hintergrund mittels FTP
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 29. Juni 2009 um 22:03 Uhr durch Cleverboy (Diskussion | Beiträge) (WP:BKL aufgelöst). Sie kann sich erheblich von der aktuellen Version unterscheiden.

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.