RFC 238 UNKNOWN PROTOCOLS · FILE TRANSFER

Comments on DTP and FTP proposals

Comments on design issues in proposed Data Transfer and File Transfer Protocols.

On rfc-editor.org ↗
PUBLISHED
September 1971
AUTHORS
R.T. Braden
STREAM
Legacy
BUILDS ON
RFC 171 — The Data Transfer Protocol, RFC 172 — FTP
DOI
10.17487/RFC0238

RFC text

Original text · RFC Editor View on rfc-editor.org ↗
Network Working Group                                        R. T. Braden
Request for Comments #238                                    UCLA-CCN
NIC #7663                                                    September 29, 1971
Category:
Updates: RFC #171, RFC #172

                   COMMENTS ON DTP AND FTP PROPOSALS

   Data Transfer Protocol
   ----------------------

   1. In the Descriptor/Count mode, the Information Separators should
   have a transaction sequence number field.  Otherwise, the receiver
   cannot be sure he received all transactions before the separation.
   This requires that there be two forms of information separators, one
   for Descriptor/Count mode, the other for the DLE mode.

   2. The modes-available handshake should not be mandatory, as it makes
   no sense in the simplex case.  The receiver doesn't care what modes
   the transmitter _might_ use; he only cares what mode _is_ used, which
   he discovers when the first data or control transaction arrives.  Even
   in the duplex case, it is not clear what use the receiver should make
   of the modes-available information from the transmitter.

   File Transfer Protocol
   ----------------------

   1. The protocol allows an end-of-file to be indicated by closing the
   connection.  This is the same mistake which we made in an early
   version of NETRJS.  Closing the connection without a File Separator
   transaction should only be used to indicate an error, i.e., to abort
   the transmission; it should never be used to indicate normal
   completion of file transfer.  The reason is obvious: there is no way
   for the receiver to tell whether CLS indicates normal completion or an
   abnormal condition in the other host (e.g. the file transfer program
   died).

   2. There should be two forms of the _store_ request, one which fails
   if a file of the same name already exists, and one which replaces an
   existing file of the same name (as now).

   3. A service center host may be expected to require username and
   password transactions before any others are accepted.

   4. There are no error transactions defined for lost data or lost
   synch.  It is assumed there are handled at the DTP level?

   5. All of the defined error codes should be allowed (and encouraged)
   to have explanatory text following them.

RTB:gjm
       [ 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   ]

ISO Plain Language

On this page
PROBLEMThe proposals for DTP and FTP left questions about restart markers, mode negotiation, end-of-file signals, and file storage commands.
MECHANISMR. T. Braden lists specific changes, including sequence numbers for information separators, an optional modes-available exchange, and a separate file separator for normal completion.
THE FEEDBACKRFC 238 updates RFCs 171 and 172 with comments for the protocol designers; it does not specify a final replacement.

§1Reviewing DTP and FTP

R. T. Braden of UCLA-CCN comments on proposals for the Data Transfer Protocol and File Transfer Protocol. The note updates RFCs 171 and 172 by identifying issues for the protocol designers to consider.

The comments cover both the transfer of data and the commands used to store and retrieve files.

The author reads draft rules for moving data and files. He lists details that could lead to uncertainty during a transfer.

§2Separators and Mode Negotiation

For Descriptor/Count mode, Braden recommends adding a transaction sequence number to Information Separators so the receiver can tell whether all transactions before the separator arrived. He says separate separator forms are needed for Descriptor/Count and DLE modes.

He also argues that the modes-available handshake should not be mandatory. A receiver can learn which mode the transmitter uses from the first data or control transaction.

A separator should carry enough information to show where it belongs in the transfer. The author also questions making both sides list possible modes before sending begins.

§3File Completion and Requests

The RFC says closing a connection without a File Separator should mean an error or aborted transfer, not normal end-of-file. Otherwise, the receiver cannot tell a completed transfer from a sender that failed.

Other suggestions include separate store requests for creating or replacing a file, allowing service hosts to require user names and passwords, and including explanatory text with error codes.

A normal file ending needs an explicit signal. A connection that simply closes should warn the receiver that something may have gone wrong.