Network Working Group A. Bhushan
Request for Comments: 327 MIT-MAC
NIC: 9261 April 27, 1972
DATA AND FILE TRANSFER WORKSHOP NOTES
On April 14 and 15, 1972, a Data and File Transfer Workshop was held
at M.I.T., Cambridge, Mass. A list of attendees of the meeting for
April 14 and 15 is appended to the notes. This note attempts to
summarize most of the topics discussed and all of the decisions
reached at the workshop meeting.
The following is a summary of the talks and discussions on April 14,
1972.
Steve Crooker discussed a general theory for Network protocols.
Protocols transformations should have a unique inverse, and should be
transitive. Transformation to a standard form requires only 2n
transformations (n = number of different types of hosts), as compared
with n(n-1) transformations with no standard form. A standard
approach is preferable for n >= 3.
For file transfer, one could define a Network Virtual File Image.
There was some discussion on whether it was possible to satisfy the
above rules for file structure transformations. No agreement was
reached and the problem was abandoned for the present.
Further discussion lead to the following formulation of the Workshop
goals:
To come up with data and file transfer protocol/strategy that
satisfies the needs of ARPANET users including Maxi-HOSTs, Mini-
HOSTs, TIPs, Datacomputer, RJE, and Mailbox users.
Goals for the protocols/strategy were set as:
1. It should preserve the integrity of data.
2. It should preserve the integrity of character representation
and interpretation.
3. It should preserve the integrity of structural information, to
the extent conveniently possible.
4. It should lead to the development of a Network Virtual File
System.
Bhushan [Page 1]
RFC 327 Data and File Transfer Workshop Notes April 1972
Richard Winter discussed the Datacomputer application. The
Datacomputer though usable from terminals directly will not be
engineered for direct terminal users, but for use by programs. In
Datalanguage a user can define data and file structure, and also how
the file/data is to be transferred. Using the data language it is
possible to transfer entire files, or only the relevant parts of
files. The following is an example of file transfer as currently
envisioned in the Datacomputer.
LOGIN <user> <password>
CREATE <file name> <description>
CREATE <port name> <description>
PORT <port name> <external name>
<file name> = <port name> (for transfer to Datacomputer)
<port name> = <file name> (for transfer from Datacomputer)
LOGOUT
(CREATE statements are needed only when the description(s) required
are not already on file at the Datacomputer. A port description can
specify a standard "external name", thus making a port statement
optional also. "External name" is to be a HOST-socket specification.
The data transfer is to be in accordance with network data transfer
standards. The File and Port descriptions are to be in
Datalanguage.)
Alex McKenzie discussed the TIP user needs, describing the current
capabilities and limitations of TIPs and TIP terminals. TELNET
format is the first choice of TIP users, followed by DTP using the
indefinite bit stream mode. There are two TIPs with magnetic tape
systems which are capable of transferring data between them using the
current DTP (RFC 264) in the descriptor count mode (utilizing
sequence number option).
Bob Braden discussed the RJS protocol and presented some data on RJS
use. NETRJS is 1% of CCN job load representing 2,000 jobs, 10,000
sessions and 1,000 hours connect time in the last 5 months. Average
job input is of the order of 100,000 bits (400 cards), average job
output is 700,000 bits (1,000 lines). Large files have about 10
million bits representing about 8-10 minutes of transmission time.
The RJS protocol will be defined in a forthcoming document.
Ray Tomlinson described the CPYNET system BBN is using to transfer
files among TENEX systems. CPYNET commands are ASCII strings with a
fixed syntax. The original connection is closed after a command is
accepted, and data is transferred on a new connection using previous
socket number, but with possibly a different byte size. The data
transfer rate achieved in CPYNET has been about 10 Kb/s.
Bhushan [Page 2]
RFC 327 Data and File Transfer Workshop Notes April 1972
Abhay Bhushan discussed the evaluation of network protocols and
presented some preliminary measurement results. The evaluation
criteria for protocols should include speed (real time delay and
transmission rate), efficiency (cpu time or cost), reliability (error
rate and failure rate), convenience (ease of use and implementation),
and usage (suitability for various application and user classes).
The parameters that affect speed and efficiency for given system
conditions (fixed load, etc.) are:
1) Byte size used for NCP connection.
2) Average message size used for transmission.
3) Data format conversion (e.g., into Network ASCII, DTP Blocks,
etc.).
4) Buffer size and I/O mode used (unit or block mode, etc.).
5) Other protocol constraints (acknowledge, error checking,
connection procedure, etc.).
There was some discussion as to how data and file transfer protocols
may be altered to make transfer faster and more efficient by using
optimum byte size and minimizing some of the constraints that impose
a large overhead.
The follow up discussions on DTP and FTP lead to a list of discussion
and decision items for the next day. The following is a summary of
decisions reached on Saturday, April 15, 1972.
1. Separate connections are to be used for data and control
information.
2. Control connection is to be a "TELNET" full-duplex connection
(NVT-ASCII), established via the ICP. Data connections are to
be simplex connections established directly.
3. The File Transfer and File System commands and their arguments
shall be printable ASCII strings, instead of numeric codes, so
that they are directly usable by a user at a terminal. The
interaction, however, will be optimized for usage by programs.
(indirect use).
4. The byte size and user socket for data connection, data
representation, and transfer mode to be used in file transfer
may be chosen by a user via one or more commands requiring a
positive or negative acknowledgment.
Bhushan [Page 3]
RFC 327 Data and File Transfer Workshop Notes April 1972
5. The following data representations are to be accepted by all
servers:
1) Network ASCII (7-bit ASCII in 8-bit field with 8th bit
zero).
2) Local Byte (a server option to store data in an efficient
manner, the storage scheme should be well publicized).
3) Image (a sequence of bits which should be stored
contiguously independent of the byte size chosen for
transfer).
4) ASCII Print file (convert ASCII file to a form suitable
for printing).
5) EBCDIC Print file (convert EBCDIC file to a form suitable
for printing).
6. Record structures are allowed but not mandatory. A user with
no record structure in his file should be able to store or
retrieve his file at any host. If a serving host cannot
accept record structure, it must inform the user of the fact.
Any record structure information in the data stream may
subsequently be discarded.
7. The following data transfer modes are defined:
1) Byte-Stream - End of File indicated by closing connection.
No record structure.
2) Block - File is series of blocks preceded by a count
field. Appropriate means provided to indicate end-of-
file, end-of-record, and restart markers.
3) ASCII - The file is network-ASCII, end-of-record, and
end-of-file are indicated by a special "TELNET-control"
character with 8th bit set to "one".
4) File is network-ASCII with an end-of-record defined by CR
LF, and end-of-file by closing connection.
5) Hasp compressed file with end-of-record and end-of-file
information.
Bhushan [Page 4]
RFC 327 Data and File Transfer Workshop Notes April 1972
8. A restart procedure will be provided to protect user from
system failures (either host or process dying). The issue of
bits lost or scrambled is handled best at the NCP level.
Standard error codes and responses will be provided for
storage and I/O channel errors, at the FTP level.
The restart procedure would require that the sender of data
insert a special marker in the data stream (the marker has
meaning only to the sender. It could be bit-count, record
count, or page count, etc.). The receiver of data would mark
the corresponding position of this marker in its own system,
and return this information to the user. In the event of a
system failure, the user can restart the transfer by supplying
this information with a restart command.
9. DTP is no longer a separate protocol but a set of transfer
modes or format procedures whose use is defined by the file
transfer protocol.
10. Abhay Bhushan will write the workshop notes and the draft
specifications for the new file transfer protocol.
LIST OF ATTENDEES, DATA AND FILE TRANSFER WORKSHOP
Abhay Bhushan MIT-MAC April 14,15
Bob Braden UCLA-CCN April 14,15
Arvola Chan MIT-MAC April 14,15
Steve Crocker ARPA April 14
Eric Harslem RAND April 14
John Heafner RAND April 14
Chuck Holland UCSD April 14,15
Alex McKenzie BBN (NET) April 14
Bob Metcalfe MIT-MAC April 14
Hal Murray CCA April 14
Bill Plummer BBN April 14
Jon Postel UCLA April 14
Neal Ryan MIT-MAC April 14,15
Marc Seriff MIT-MAC April 14,15
Bob Thomas BBN April 14
Ray Tomlinson BBN April 14
Dick Watson SRI-ARC April 14,15
Doug Wells MIT-MAC April 14
Jim White SRI-ARC April 14,15
Richard Winter CCA April 14,15
[This RFC was put into machine readable form for entry]
[into the online RFC archives by Hélène Morin, Viagénie 10/99]
Bhushan [Page 5]