Some thoughts on file transfer
Implementation feedback on the proposed Data and File Transfer Protocols
Brodie, H., "Some thoughts on file transfer", RFC 250, DOI 10.17487/RFC0250, October 1971, <https://www.rfc-editor.org/info/rfc250>.
@misc{rfc250,
series = {Request for Comments},
number = 250,
howpublished = {RFC 250},
publisher = {RFC Editor},
doi = {10.17487/RFC0250},
url = {https://www.rfc-editor.org/info/rfc250},
author = {H. Brodie},
title = {{Some thoughts on file transfer}},
pagetotal = 1,
year = 1971,
month = oct,
} RFC text
Network Working Group H. Brodie
Request for Comments #250 UCLA-NMC
NIC #7691 Computer Science
Categories: D5, D7 7 October 71
Updates: None
Obsoletes: None
Some Thoughts on File Transfer
There are several aspects of the proposed Data Transfer Protocol (RFC
#171) and File Transfer Protocol (RFC #172) which we believe could
use further clarification and perhaps revision. Interest in
transferring larger amounts of data than is typically sent via the
usual TELNET connection is increasing, and at least at UCLA-NMC
implementation attempts have pointed out several difficulties with
the proposed protocols.
First, and probably most easily decided, is the ambiguity in RFC #171
with regards to the sequence number field of the descriptor and count
transaction. The description provided for the transaction header
provides for 16 bit sequence number. However, the sequence number
field in the error codes transaction only provides for 8 bits. We
are of the opinion that 8 bits is sufficient for a sequence number
field. If the sequence number is reduced to 8 bits, and the two NUL
bytes are deleted from the descriptor and count header, then its size
is reduced to 48 bits, which would seem to be as convenient to handle
as the proposed 72 bit transaction header.
Another source of difficulty lies in the implementation of the (the
SEX time-sharing system) the 'end' of a file (which presumably would
be the begin point of an Append transaction) is almost com- pletely
context-defined--i.e., the program reading the file determines when
it has reached the end of the file. Therefore, the meaning of
'Append' is somewhat hazy, and since the proposed Mail Box Protocol
uses the Append feature, not implementing this command in a File
Transfer service is costly in terms of lost useability.
We believe that resolution of these ambiguities will lead to a
greatly accelerated implementation schedule, at least here at UCLA-
NMC.
[ This RFC was put into machine readable form for entry ]
[ into the online RFC archives by BBN Corp. under the ]
[ direction of Alex McKenzie. 12/96 ]
AI ELI5
On this page
§1Introduction
RFC 250 offers feedback from UCLA-NMC on the proposed Data Transfer Protocol (RFC 171) and File Transfer Protocol (RFC 172). As interest in moving larger amounts of data than typical TELNET transfers grows, implementation attempts have revealed several difficulties with the proposed designs.
People at UCLA tried to build the file-sending system and found problems with the design.
§2The Sequence Number Field Problem
RFC 171 specifies a 16-bit sequence number field in the descriptor and count transaction header, but uses an 8-bit field in the error codes transaction. This inconsistency is confusing. UCLA-NMC believes 8 bits is sufficient for a sequence number and proposes reducing it to 8 bits. Removing the two null bytes from the descriptor header would also shrink its total size from 72 bits to 48 bits, matching the size of a typical 50-bit transaction header and making implementation more convenient.
One part of the message uses a 16-bit counter but another part uses 8 bits. Making them match would make the code simpler.
§3The Append Transaction Ambiguity
Implementation in time-sharing systems like SEX reveals that determining the end of a file is almost entirely context-dependent: the program reading the file decides when it reaches the end. This makes the meaning of an Append transaction hazy. Since the proposed Mail Box Protocol relies on the Append feature, not properly defining this command significantly reduces the file transfer service's usefulness.
Different programs decide when a file ends in different ways. The Append command doesn't explain what that means clearly enough.
§4Path Forward
Resolving these ambiguities would greatly accelerate the implementation schedule, at least at UCLA-NMC, and would lead to better protocol definitions that work across different types of computer systems.
Clearing up these issues would help teams build the system faster and better.