FTP Protocol Related Documents

[ Search | What's New | Comments | Help ]

RFC Title Date
The assignment of version numbers and brief comments for each are intended to assist the reader; the FTP does not use version numbers in the actual specifications.  View the version numbers as indications of compatibility; a change in the major version number indicates the protocol was changed significantly enough that newer servers and clients would, most likely, be unable to communicate with older ones.

At times, discussion was about future work rather than the existing specification.  Scribe lines separate comments about the existing specification (which appears above the comment) and discussions about future work (which appears below).

Boldface indicates current RFCs which describe the current protocol specification.

Note the RFCs are ordered by date, not number.  This was a result of the RFC Editor assigning numbers to un-published documents; a practice which has since ceased.

Version 1

This was not so much a specification as a proposal that some form of File Transfer Protocol be developed.  As follow-up comments show, while there was some discussion about how the protocol would work, and it was viewed more as an example than an actual specification.

0114 File Transfer Protocol Apr-10-1971
0133 File Transfer and Recovery Apr-27-1971
0141 Comments on RFC 114: A File Transfer Protocol Apr-29-1971


Data transfer protocols May-19-1971
Version 2
This represents the first actual attempt to specify a fully working File Transfer Protocol.  The separation into two protocols can be viewed as an early recognition that some form of generalized, reliable data transfer was needed.  This could be viewed as an early attempt at what will eventually become TCP.
0171 The Data Transfer Protocol Jun-01-1971
0172 The File Transfer Protocol Jun-23-1971
0238 Comments on DTP and FTP proposals Sep-29-1971
0250 Some thoughts on file transfer Oct-07-1971
0269 Some Experience with File Transfer Dec-06-1971

0281 Suggested addition to File Transfer Protocol Dec-08-1971
Version 2.1
As work on the protocol progressed, the earlier specification was re-written to include the experiences and observations, and to clarify or correct errors.
0264 The Data Transfer Protocol Jan-04-1972
0294 The Use of "Set Data Type" Transaction in File Transfer Protocol Jan-25-1972

0309 Data and File Transfer Workshop Announcement Mar-17-1972
0310 Another Look at Data and File Transfer Protocols Apr-03-1972
0327 Data and File Transfer workshop notes Apr-27-1972
Version 3
The major changes here were to eliminate DTP in favor of the TELNET protocol, and to begin using human-readable ASCII commands over a TELNET control connection.
0354 File Transfer Protocol Jul-08-1972
0385 Comments on the File Transfer Protocol Aug-18-1972
0418 (not online) Server file transfer under TSS/360 at NASA Ames Nov-27-1972
0414 File Transfer Protocol (FTP) status and further comments Dec-29-1972
0438 FTP server-server interaction Jan-15-1973

0430 Comments on File Transfer Protocol Feb-07-1973
Version 3.1
RFC 454 was never adopted as an "official" release.  Most of the discussion which follows was spurred by the impending change of the TELNET specification; which was probably also the reason RFC 454 was never adopted.
0454 File Transfer Protocol - meeting announcement and a new proposed document Feb-16-1973
0458 Mail retrieval via FTP Feb-20-1973
0463 FTP comments and response to RFC 430 Feb-21-1973
0448 Print files in FTP Feb-27-1973
0475 (not online) FTP and network mail system Mar-06-1973
0468 FTP data compression Mar-08-1973
0480 Host-dependent FTP parameters Mar-08-1973
0486 Data transfer revisited Mar-20-1973
0478 FTP server-server interaction - II Mar-26-1973
0487 Free file transfer Apr-06-1973
0501 Un-muddling "free file transfer" May-11-1973
0505 Two solutions to a file transfer access problem Jun-25-1973
0520 Memo to FTP group: Proposal for File Access Protocol Jun-25-1973
0506 FTP command naming problem Jun-26-1973
0532 UCSD-CC Server-FTP facility Jul-12-1973
Version 4
The main reason for this rewrite was a major change of the TELNET protocol.  Some RFCs refer to older specifications as "FTP-1" and to this and later ones as "FTP-2".  This also marks the point at which the FTP listening socket was placed on port 21.  (FTP was originally on port 3.)  The move to port 21 was considered temporary, while the change-over to the new TELNET was rolled out; but, as we've seen the move became permanent.
0542 File Transfer Protocol Jul-12-1973
0535 (not online) Comments on File Access Protocol Jul-25-1973
0573 (not online) Data and file transfer: Some measurement results Sep-14-1973
0571 (not online) Tenex FTP problem Nov-15-1973
0593 Telnet and FTP implementation schedule change Nov-29-1973
0607 Comments on the File Transfer Protocol Jan-07-1974
0614 Response to RFC 607: "Comments on the File Transfer Protocol" Jan-28-1974
0624 Comments on the File Transfer Protocol Feb-28-1974
0630 FTP error code usage for more reliable mail service Apr-10-1974
0640 Revised FTP reply codes Jun-05-1974
0662 Performance improvement in ARPANET file transfers from Multics Nov-26-1974
0683 FTPSRV - Tenex extension for paged files Apr-03-1975
0686 Leaving well enough alone May-10-1975
0691 One more try on the FTP May-28-1975
0697 CWD command of FTP Jul-14-1975
0737 FTP extension: XSEN Oct-31-1977
0743 FTP extension: XRSQ/XRCP Dec-30-1977
0751 Survey of FTP mail and MLFL Dec-10-1978
Version 5
The major changes in this rewrite were the switch to using TCP/IP instead of ICP and NCP, and the addition of mail-oriented commands.
0765 File Transfer Protocol specification Jun-01-1980
0775 Directory oriented FTP commands Dec-01-1980

0949 FTP unique-named store command Jul-01-1985
Version 5.1
This revision adds several commands having to do with directory structure on the server, and eliminates the mail-related commands.
0959 File Transfer Protocol Oct-01-1985
1122 Requirements for Internet hosts - communication layers Oct-01-1989
1123 Requirements for Internet hosts - application and support Oct-01-1989
1127 Perspective on the Host Requirements RFCs Oct-01-1989
1545 FTP Operation Over Big Address Records (FOOBAR) Nov-1989
1579 Firewall-Friendly FTP Feb-1994
1639 FTP Operation Over Big Address Records (FOOBAR) Jun-1994
2228 FTP Security Extensions Oct-1997
2389 Feature negotiation mechanism for the File Transfer Protocol Aug-1998
2428 FTP Extensions for IPv6 and NATs Sep-1998
2640 Internationalization of the File Transfer Protocol Jul-1999
2773 Encryption using KEA and SKIPJACK Feb-2000
IETF FTP Working Group Draft Specifications
These are not RFCs; they are works-in-process which represent new features being considered.

Boldface indicates drafts which can be expected to proceed to RFC "PROPOSED STANDARD" status.

mlst Extensions to FTP

In order to overcome the problems caused by the undefined format of the current FTP LIST command output, a new command is needed to transfer standardized listing information from Server-FTP to User- FTP. Commands to enable this are defined in this document.

In order to allow consenting clients and servers to interact more freely, a quite basic, and optional, virtual file store structure is defined.

This proposal also extends the FTP protocol to allow character sets other than US-ASCII[1] by allowing the transmission of 8-bit characters and the recommended use of UTF-8[2] encoding.

Much implemented, but long undocumented, mechanisms to permit restarts of interrupted data transfers in STREAM mode, are also included here.

ftp-ssl Securing FTP with TLS

This document describes a mechanism that can be used by FTP clients and servers to implement security and authentication using the TLS protocol defined by [RFC-2246] and the extensions to the FTP protocol defined by [RFC-2228]. It describes the subset of the extensions that are required and the parameters to be used; discusses some of the policy issues that clients and servers will need to take; considers some of the implications of those policies and discusses some expected behaviours of implementations to allow interoperation. This document is intended to provide TLS support for FTP in a similar way to that provided for SMTP in [RFC-2487].

ftpext-utf-8 UTF-8 Option for FTP

This document specifies an extension to the File Transfer Protocol(FTP) which provides for inter-operation between existingimplementations and those supporting the exchange of UTF-8 encodedpathnames, and clarifies certain issues involved with UTF-8 encoding.It introduces a new option, UTF-8, negotiated by use of the OPTScommand. Through use of this option, the user informs the server ofits willingness to accept UTF-8 encoded pathnames. The proposedextension requires that neither party transmit UTF-8 encodedpathnames without having first successfully negotiated this option.

conn-assure FTP Data Connection Assurance

This document specifies an extension to the File Transfer Protocol(FTP) by which a user and server can exchange data port connectioninformation which may then be used to provide connection assurance.Two new commands are introduced. Through use of these commands andtheir replies, the user and server exchange information allowingverification of the socket addresses for a data connection prior toactual data transmission over the connection.Implementation of this extension is RECOMMENDED.

TLS-FIREWALL TP/TLS Friendly Firewalls

This document discusses some of the issues with running FTP, secured with TLS as defined in [FTP-TLS], through firewalls. FTP is known to be a bit of a problem for firewalls (see [RFC-1579] for a discussion of normal FTP and firewalls). Some of the problems have been fixed by adding intelligence into the firewall. With secured FTP, where the control connection is encrypted, some of these techniques fail. Whilst this document confines itself to issues of FTP over TLS, the issues will probably be relevant for most secured FTP protocols that conform to [RFC-2228]. Some of the discussions will also be relevant to any protocol that firewalls do clever things with.

ftpmd5 The 'MD5' and 'MMD5' FTP Command Extensions

This document specifies two additions to the File Transfer Protocol(FTP). These additions (new Server commands) would give FTP Servers the ability to generate (or otherwise obtain) and return MD5 checksums for the files it has available for transfer.It is the author's belief that this would provide a great benefitto the Internet community, because it would allow automatedtransfer agents, as well as Web Browsers and other'click-to-download' applications to be able to automatically verifythe data of a downloaded file, and hence be able to detect any datatampering and/or corruption that may occurred while 'on the wire',or possibly while the file was on the Server (a virus infection).

These RFCs do not pertain directly to the evolution of the FTP.  They do, however, contain information which may be of interest to users and developers.
0412 User FTP Documentation Nov-27-1972
0479 Use of FTP by the NIC Journal Mar-08-1973
0913 Simple File Transfer Protocol Sep-01-1984
1068 Background File Transfer Program (BFTP) Aug-1998
1635 How to Use Anonymous FTP May-1994
2415 Simulation Studies of Increased Initial TCP Window Size Sep-1998
2577 FTP Security Considerations May-1999

These are the URL specifications.  They do not effect FTP server implementations, but those working on clients or proxies should consider them.
1630 Universal Resource Identifiers in WWW Jun-1994
1737 Functional Requirements for Uniform Resource Names Dec-1994
1738 Uniform Resource Locators (URL) Dec-1994
1736 Functional Recommendations for Internet Resource Locators Feb-1995
1808 Relative Uniform Resource Locators Jun-1995
2141 URN Syntax May-1997
2368 The mailto URL scheme Jul-1998
2396 Uniform Resource Identifiers (URI): Generic Syntax Aug-1998

These are other FTP related informational resources. Those working on ftp related software review them.
FTPEXT Working Group Charter
FTPEXT Working Group Hope Page
FTP: File Transfer Protocol (Dan Bernstein)

Many older RFCs are not available on-line.  If you would like to assist in the effort to place historical RFCs on-line, contact the RFC Editor concerning joining the RFC Online project.

Keeping up with the RFCs is a never-ending process.  If you find an FTP-related RFC, Internet-draft or other useful FTP related reference which is not listed above, please let us know.

This page was initially created by Gregory A Lundberg.

[ Search | What's New | Comments | Help ]

Last updated: Mon Aug 12 19:42:40 CDT 2002