FTP

From ICANNWiki
Jump to navigation Jump to search

FTP is an acronym for File Transfer Protocol, which is a TCP/IP based network protocol just like the HTTP used to transmit files from one computer to another through the internet. FTP is designed to transfer small multiple files such as images on a web page instead of transferring a single large file. This standard protocol supports pausing, scheduling and restarting of file downloads.

Background

File Transfer Protocol was first introduced by Abhay Bhustan from the Massachusetts Institute of Technology (MIT) Project MAC on April 16, 1971 through RFC 114, which provides the standard definition and the basic commands of the protocol enabling devices specifically computers to communicate or transfer files or messages with each other. The main objective of FTP is to promote the indirect use of computers.[1] [2]

RFC 114 was updated by several RFCs to improve the specifications of FTP such ad RFC 172, RFC 265. On July 8, 1972, Bhustan introduced a major revision of the FTC specifications through RFC 354. Based on the RFC, FTP aims to allow the efficient and reliable transfer of files among HOSTs as well as the convenient use of remote file storage capabilities. [3] Subsequent RFCs were further released providing more improvements on the protocol including RFC 542 in 1973.

In 1974, RFCs 607, 614 and 624 proposed changes in the design of the FTP. These RFCs were followed by RFCs 686 and RFC 691, which provided additional information regarding the printing of files.

Standard FTP Specifications

The first FTP standard protocol was RFC 765, which was published by Jon Postel in June 1980. This specification described the transition of using TCP instead of NCP as the fundamental protocol for FTP. [4] The latest FTP standard specification implemented by the Internet Engineering Task Force (IETF) was RFC 959 which was published by Jon Postel and Joyce Reynolds on October 1985. The current RFC included new commands such as CDUP (Change to Parent Directory), SMNT (Structure Mount), STOU (Store Unique), RMD (Remove Directory), MKD (Make Directory), PWD (Print Directory) and SYST (System).[5]

FTP Commands

Access Control Commands

  • USER NAME (USER)
  • PASSWORD (PASS)
  • ACCOUNT (ACCT)
  • CHANGE WORKING DIRECTORY (CWD)
  • CHANGE TO PARENT DIRECTORY (CDUP)
  • STRUCTURE MOUNT (SMNT)
  • REINITIALIZE (REIN)
  • LOGOUT (QUIT)

Transfer Parameter Commands

  • DATA PORT (PORT)
  • PASSIVE (PASV)
  • REPRESENTATION TYPE (TYPE)
  • FILE STRUCTURE (STRU)
  • TRANSFER MODE (MODE)

FTP Service Commands

  • RETRIEVE (RETR)
  • STORE (STOR)
  • STORE UNIQUE (STOU)
  • APPEND (with create) (APPE)
  • ALLOCATE (ALLO)
  • RESTART (REST)
  • RENAME FROM (RNFR)
  • RENAME TO (RNTO)
  • ABORT (ABOR)
  • DELETE (DELE)
  • REMOVE DIRECTORY (RMD)
  • MAKE DIRECTORY (MKD)
  • PRINT WORKING DIRECTORY (PWD)
  • LIST (LIST)
  • NAME LIST (NLST)
  • SITE PARAMETERS (SITE)
  • SYSTEM (SYST)
  • HELP (HELP)
  • NOOP (NOOP)

References