File Transfer Protocol
RFC 354

Document Type RFC - Unknown (July 1972; No errata)
Obsoleted by RFC 542
Updated by RFC 385, RFC 683, RFC 454
Obsoletes RFC 265, RFC 264
Last updated 2013-03-02
Stream Legacy
Formats plain text pdf html bibtex
Stream Legacy state (None)
Consensus Boilerplate Unknown
RFC Editor Note (None)
IESG IESG state RFC 354 (Unknown)
Telechat date
Responsible AD (None)
Send notices to (None)
Network Working Group                                     Abhay Bhushan
Request for Comments: 354                                       MIT-MAC
NIC: 10596                                                 July 8, 1972
Categories D.4, D.5, D.7
Obsoletes: RFC 264 and 265

                       THE FILE TRANSFER PROTOCOL

I. INTRODUCTION

    The File Transfer Protocol (FTP) is a protocol for file
transfer betweet HOSTs (including terminal IMPs), on the ARPA
Computer Network (ARPANET). The primary function of FTP is to
transfer files efficiently and reliably among HOSTs and to allow
the convenient use of remote file storage capabilities.

    The objectives of FTP are 1) to promote sharing of files
(computer programs and/or data), 2) fo encourage indirect or
implicit (via programs) use of remote computers, 3) to shield a
user from variations in file storage systems among HOSTs, and
4) to transfer data reliably and efficiently. FTP, though usable
directly by user at a terminal, is designed mainly for use by
programs.

    The attempt in this specification is to satisfy the diverse
needs of users of maxi-HOSTs, mini-HOSTs, TIPs, and the
Datacomputer, with a simple, elegant, and easily implemented
protocol design.

    This paper assumes knowledge of the following protocols:

         1) The HOST-HOST Protocol (NIC #8246)

         2) The initial Connection Protocol (NIC #7101)

         3) The TELNET Protocol (NWG/RFC #318, NIC #9348)

II. DISCUSSION

    In this section, the terminology and the FTP model are
discussed. The terms defined in this section are only those that
have special significance in FTP.

                                                                [Page 1]
The File Transfer Protocol                                  July 8, 1972

11.A. Terminology

ASCII               The USASCII character set as defined in NIC
                    #7104. In FTP, ASCII characters are defined
                    to be the lower half of an eight bit code set
                    (i.e., the most significant bit es zero).

access controls     Access controls define users' access
                    privileges to the use of a system, and to the
                    files in that system. Access controls are
                    necessary to prevent unauthorized or
                    accidental use of files. It is the
                    prerogative of a user-FTP process to provide
                    access controls.

byte size           The byte size specified for the transfer of
                    data. The data connection is opened with
                    this byte size. Data connection byte size is
                    not necessarily the byte size in which data
                    is to be stored in a system, and may not be
                    related to the structure of data.

data connection     A simplex connection over which data is
                    transferred, in a specified byte size, mode
                    and type. The data transferred may be a part
                    of a file, an entire file or a number of
                    files. The data connection may be in either
                    direction (server-to-user or user-to server).

data socket         The socket on which a User-FTP process
                    "listens" for a data connection.

EOF                 The end-of-file conidition that defines the
                    end of a file being transferred.

EOR                 The end-of-record condition that defines the
                    end of a record being transferred.

error recovery      A procedure that allows a user to recover
                    form certain errors such as failure of either
                    Host system or transfer process In FTP,
                    error recovery may involve restarting a file
                    transfer at a given checkpoint

FTP commands        A set of commands that comprise the control
                    information flowing from the user-FTP to the
                    server-FTP process.

                                                                [Page 2]
The File Transfer Protocol                                  July 8, 1972

file                An ordered set of computer data (including
                    programs) of arbitrary length uniquely
                    identified by a pathname.

mode                The mode in which data is to be transferred
                    via the data connection. The mode defines
                    the data format including EOR and EOF. The
                    transfer modes defined in FTP are described
                    in Section III.A.

NVT                 The Network Virtual Terminal as defined in
                    the ARPANET TELNET Protocol.

NVFS                The Network Virtual File System. A concept
                    which defines a standard network file system
                    with standard commands and pathname
                    conventions. FTP only partially embraces the
Show full document text