RFC 114 (rfc114) - Page 2 of 17
File Transfer Protocol
Alternative Format: Original Text Document
RFC 114 A FILE TRANSFER PROTOCOL 16 April 1971
systems to determine the requirements and capabilities. This paper
is a "first cut" at a protocol that will allow users at any host on
the network to use the file system of every cooperating host.
II. Discussion
A few definitions are in order before the discussion of the protocol.
A file is an ordered set consisting of computer instructions and/or
data. A file can be of arbitrary length [3]. A named file is
uniquely identified in a system by its file name and directory name.
The directory name may be the name of a physical directory or it may
be the name of a physical device. An example of physical directory
name is owner's project-programmer number and an example of physical
device name is tape number.
A file may or may not have access controls associated with it. The
access controls designate the users' access privileges. In the
absence of access controls, the files cannot be protected from
accidental or unauthorized usage.
A principal objective of the protocol is to promote the indirect use
of computers on the network. Therefore, the user or his program
should have a simple and uniform interface to the file systems on the
network and be shielded from the variations in file and storage
systems of different host computers. This is achieved by the
existence of a standard protocol in each host.
Criteria by which a user-level protocol may be judged were described
by Mealy in RFC 91, as involving the notion of logical records,
ability to access files without program modifications, and
implementability. I would add to these efficiency, extendibility,
adaptability, and provision of error-recovery mechanisms.
The attempt in this specification has been to enable the reliable
transfer of network ASCII (7-bit ASCII in 8-bit field with leftmost
bit zero) as well as "binary" data files with relative ease. The use
of other character codes, such as EBCDIC, and variously formatted
data (decimal, octal, ASCII characters packed differently) is
facilitated by inclusion of data type in descriptor headings. An
alternative mechanism for defining data is also available in the form
of attributes in file headings. The format control characters
reserved for the syntax of this protocol have identical code
representation in ASCII and EBCDIC. (These character are SOH, STX,
ETX, DC1, DC2, DC3, US, RS, GS, and FS.)
Bhushan