Some Experience with File Transfer
What UCLA learned writing a program to store files at UCSB, and what they want in the network-wide file transfer protocol.
Brodie, H., "Some Experience with File Transfer", RFC 269, DOI 10.17487/RFC0269, December 1971, <https://www.rfc-editor.org/info/rfc269>.
@misc{rfc269,
series = {Request for Comments},
number = 269,
howpublished = {RFC 269},
publisher = {RFC Editor},
doi = {10.17487/RFC0269},
url = {https://www.rfc-editor.org/info/rfc269},
author = {H. Brodie},
title = {{Some Experience with File Transfer}},
pagetotal = 3,
year = 1971,
month = dec,
} RFC text
Network Working Group H. Brodie
Request for Comments #269 UCLA-NMC
NIC # 7817 6 December 71
Categories: File Transfer
Updates: 122, 238, 172
Obsoletes: None
Some Experience with File Transfer
At UCLA-NMC we have recently completed implementation of a program which
utilizes UCSB's storage capability via their Simple Minded File System
(See RFC #122 by Jim White for a description of SMFS). The use of the
program is detailed in Appendix A.
We learned a number of things in the implementation effort and
subsequent usage. We think a number of these apply towards the
development of a net- word-wide File Transfer Protocol, and we hope to
stimulate further dis- cussion of these issues. We discovered some
things in the UCSB protocol that we would like to see included in the
network-wide protocol, and we see some things that are in the currently
proposed net protocol and are unfortunately absent from the UCSB
protocol.
In the first category, is the UCSB file retrieval procedure. The user
specifies among other things, a bit count of the number of bits to be
retrieved in the current request.
Successive RTF commands yield successive pieces of the file. Portions
of the file can be spaced over by use of the SPF command. We think that
the ability of the user to specify the size of the "chunks" of the file
he is about to receive, along with the ability to access any part of the
file without having to get the entire file, is definitely an advantage.
It makes the user programs easier to write since the problem of parsing
the input stream virtually disappears, as the user program knows exactly
what to expect at all times. In addition, the one request, one response
nature of the protocol avoids the problem of sending a request and then
receiving pieces of data of unpredictable size at unknown intervals.
The response to each RTF gives the comforting knowledge that "they're
still listening". This leads us to believe that there is much to be
gained by the adoption of a one request, one response type of protocol.
We might point out that for any significant file transfer, this does not
seriously cut down on the overall data transfer rate, since a
"defaulting" type of approach, as SMFS uses can be used to keep the
request messages very small. We also have found the mandatory password
scheme of UCSB quite easily used, and any server site, (i.e. a site
specifically advertising file storage) can reasonably be expected, in
our opinion, to require passwords (see also RFC #238 by R. Braden).
Network Working Group H. Brodie
Request for Comments #269 UCLA-NMC
NIC #7817 6 December 71
Almost immediately after starting to use SMFS we found a serious lack in
one area. There is no way for a user to ask "what files do I have
there?" As a matter of fact, the author suspects that there are already
several files there which he has "forgotten" about! It is reasonable,
perhaps even necessary, for any server to supply a nicely formatted
character string describing the files stored there for this password, or
user, or whatever division is used. The listing should also contain
other pertinent information, such as date created, size etc.
In the meantime, UCSB is providing the SEX system with valuable "out-of-
line on-line" storage, and we look forward to the development of a
widely accepted file transfer protocol, implemented on a large number of
server sites, hopefully equipped with low cost bulk storage.
SEX Notebook Appendix A H. Brodie
Section 23.29 3 December 71
FXFER
FXFER is a re-entrant program written in Symbol which is used to send a
receive file from UCSB, using their Simple Minded File System. For the
description of the Network interface to SMFS, see RFC #122 by Jim White.
Files are stored there in a paged format identical to the paged format
that the tape process uses: <header><data page><data page>... Thus a
file which Master lists as having n pages will take 2048 n bytes of
storage at UCSB. The user's sign-on initials are used as both the
access and modification passwords, so that if a file is sent under on
user's sign-on, they can only be retrieved or deleted by him.
Commands
PA - Increments "print All" counter. Different settings of this
counter yield different levels of program trace output on
the console.
NP - No print. This sets the "Print All" counter to zero.
DF FOO - This deletes the file "FOO" located at UCSB.
PF FOO - This sends the file "FOO", pointed to by the user's root
directory, to UCSB. Only read access is needed to "FOO".
GF FOO - The file "FOO" located at UCSB is retrieved and put in the
user's root (with write access). Note that it must have been
sent by the user to have the right password.
RN FOO BAR - Rename the file "FOO" at UCSB to "BAR". The same password
restrictions as with PF and GF apply. (Not yet implemented)
ST - Status. Tells what program is doing and how much its done.
X - Exit Program.
If the system and/or UCSB is particularly slow, then UCSBFIL may type a
time-out message. At this point the user has the option of continuing,
or exiting the program. The message is self-explanatory, as are most of
the program's messages.
[ This RFC was put into machine readable form for entry ]
[ into the online RFC archives by Nick Christenson 10/97]
AI ELI5
On this page
§1Background and Motivation
UCLA-NMC finished a program that uses UCSB's storage capability through their Simple Minded File System (SMFS), described in RFC 122. The authors say they learned several things that apply to a network-wide File Transfer Protocol, and they want to stimulate further discussion.
They found things in the UCSB protocol that they would like in the network-wide protocol, and things in the proposed network protocol that the UCSB protocol lacks.
The writers tried a real file-storing service, so now they can say from experience what a good sharing system should copy.
§2What UCSB Got Right
In UCSB's retrieval procedure the user gives a bit count of how much to fetch in the current request. Successive RTF commands return successive pieces of the file, and the SPF command skips over portions. The authors like being able to size the "chunks" and reach any part of a file without fetching all of it. Their user programs become easier to write because the program always knows what to expect.
They also favour a one request, one response protocol. Each reply to an RTF shows the server is still listening, and defaulting keeps requests small, so overall transfer rate does not suffer much on significant transfers. They found UCSB's mandatory password scheme easy to use and expect any server site advertising file storage to require passwords (see RFC 238).
Asking for a file one bite at a time, and getting an answer after every ask, means you always know what is coming and that someone is listening.
§3What Was Missing
Soon after starting to use SMFS the authors found a serious gap: there is no way to ask "what files do I have there?" The author suspects some files are already stored there that were forgotten.
They argue a server should supply a nicely formatted character string describing the files stored for a given password or user, including details such as date created and size. They end by noting UCSB is providing the SEX system with useful out-of-line on-line storage, and hope for a widely accepted file transfer protocol implemented at many server sites.
The one big missing piece was a way to ask the storage shelf for a list of everything you put there.
§4Appendix: The FXFER Program
Appendix A describes FXFER, a re-entrant program written in Symbol that sends and receives files at UCSB using SMFS. Files are kept in a paged format, so a file Master lists as n pages takes 2048 n bytes at UCSB. The user's sign-on initials serve as both the access and modification passwords.
Commands include PF (send a file to UCSB), GF (retrieve one), DF (delete one), RN (rename, not yet implemented), ST (status) and X (exit). PA and NP raise and reset the level of trace output.
The appendix is the instruction card for the program: one short command to put a file away, one to get it back, one to delete it.