BBftpPRO
BBftpPRO is a firewall and NAT friendly enhancement of the bbftp program
optimized for high
speed transfers between distant sites that have a large network latency
between them. A BBftpPRO client is compatible with a bbftp server and
vice versa.
The main upgrades to bbftp
are:
- the firewall and NAT friendly access (one multi-purpose port)
- transparent RFIO interface (for Castor files)
- authentication a la SSH (no more password typing in) -
allows invoking from batch scripts
- optional encryption of transferred files (switch -h)
- application of the multiple streams concept to multiple
files (in case of mget/mput of numerous small
files)
- recursive mget/mput/mdelete of whole directory trees
- exclusion of already transferred files
- on-the-fly tar and untar of groups of files selected by regular
expressions (i.e. like ls)
Note that this version is not supported
by the bbftp group at IN2P3. Please contact Dan Schrager danschrager@gmail.com
for all support of bbftpPRO.
The command line to invoke a permanent bbftpd server that uses the
default bbftp port (5021) for both control and data would be:
- bbftpd -b -e -l information
Symmetrically, at the client site, a unique data port (ex. 4321) could
be set by including the -D4321:4321 switch in the bbftp command line:
From a user point of view, the transparent RFIO interface means
that a file is just a file and that the rfio options are obsolete
(and kept only for backward compatibility).
The SSH-like authentication uses a pair of public/private keys of type
RSA (ssh-keygen -t rsa) and works in relation with a permanent server.
The public part of the key generated at the client site should be
included into the ~/.ssh/authorized_keys file at the server side. (see
man ssh)
A remote (via ssh) invocation of the server is done with a command line like these:
- bbftp -s ...
- bbftp -s"bin/bbftpd -s -e -l information" ...
By default, all control exchanges are encrypted (ex. file names,
directory lists, etc.). To cipher (RC4) the files being transferred,
add the -h switch (standing for hidden) to the client bbftp command
line (or use "setoption encrypt"):
The number of files transferred simultaneously is up to the client and
depends upon two numbers: by default, the server won't accept more than
25 streams/file and the client could set a global number of streams per
session up to 255 (using switch -p). Therefore, anything between 10 big
files and 255 small ones (less or equal to 1 MB) may be transferred at
once.
To activate a recursive directory transfer, use "setoption recursive".
To activate exclusion of already transfered files, use "setoption
exclude".
On-the-fly tar transfers are far faster than file-by-file mode
transfers. Use get/put together with "setoption (no)unix" to
control this powerful new feature. A RFIO-enabled tar is also required
for CASTOR users. It should be
renamed "rftar" after being built from this source.
Note: the meaning of the -g bbftp command line switch has been slightly changed - its argument has become optional. This way its (simple) presence triggers the GSI authentication instead of the (default) RSA one.
Tip: for bbftp clients behind a (hopefully not too dynamic) NAT router invoking the server remotely via ssh, the command line switch -a lets them specify their public name or IP address.
To download BBftpPRO click here.
Another bbftpPRO mirror site »
Last update: 17 February 2008