The File Transfer Protocol follows the specifications of the Telnet
protocol for all communications over the control connection. Since
the language used for Telnet communication may be a negotiated
option, all references in the next two sections will be to the
"Telnet language" and the corresponding "Telnet end-of-line code".
Currently, one may take these to mean NVT-ASCII and <CRLF>. No other
specifications of the Telnet protocol will be cited.
FTP commands are "Telnet strings" terminated by the "Telnet end of
line code". The command codes themselves are alphabetic characters
terminated by the character <SP> (Space) if parameters follow and
Telnet-EOL otherwise. The command codes and the semantics of
commands are described in this section; the detailed syntax of
commands is specified in the Section on Commands, the reply sequences
are discussed in the Section on Sequencing of Commands and Replies,
and scenarios illustrating the use of commands are provided in the
Section on Typical FTP Scenarios.
FTP commands may be partitioned as those specifying access-control
identifiers, data transfer parameters, or FTP service requests.
Certain commands (such as ABOR, STAT, QUIT) may be sent over the
control connection while a data transfer is in progress. Some
servers may not be able to monitor the control and data connections
simultaneously, in which case some special action will be necessary
to get the server's attention. The following ordered format is
tentatively recommended:
User system inserts the Telnet "Interrupt Process" (IP) signal
in the Telnet stream.
User system sends the Telnet "Synch" signal.
User system inserts the command (e.g., ABOR) in the Telnet
stream.
Server PI, after receiving "IP", scans the Telnet stream for
EXACTLY ONE FTP command.
(For other servers this may not be necessary but the actions listed
above should have no unusual effect.)