⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rfc172.txt

📁 著名的RFC文档,其中有一些文档是已经翻译成中文的的.
💻 TXT
📖 第 1 页 / 共 2 页
字号:
Network Working Group                           23 June 1971Request for Comments #172                       Abhay Bhushan, MITNIC 6794                                        Bob Braden, UCLACategories: D.4, D.5, and D.7                   Will Crowther, BBNUpdates: 114                                    Eric Harslem, RandObsolete: None                                  John Heafner, Rand                                                Alex McKenzie, BBN                                                John Melvin, SRI                                                Bob Sundberg, Harvard                                                Dick Watson, SRI                                                Jim White, UCSB                    THE FILE TRANSFER PROTOCOL                                                                [Page 1]NWG/RFC 172I. INTRODUCTION      The file transfer protocol (FTP) is a user-level protocol for filetransfer between host computers (including terminal IMP's), on the ARPAcomputer network. The primary function of FTP is to facilitate transferof files between hosts, and to allow convenient use of storage and filehandling capabilities of other hosts. FTP uses the data transferprotocol described in RFC 171 to achieve transfer of data. This paperassumes knowledge of RFC 171.      The objectives of FTP are to promote sharing of files (computerprograms and/or data), encourage indirect use (without login orimplicit) of computers, and shield the user from variations in file andstorage systems of different hosts, to the extent it is practical.These objectives are achieved by specifying a standard file transfersocket and initial connection protocol for indirect use, and usingstandard conventions for file transfer and related operations.II. DISCUSSION      A file is considered here to be an ordered set of arbitrarylength, consisting of computer (including instructions) data. Files areuniquely identified in a system by their pathnames. A pathname is(loosely) defined to be the data string which must be input to the filesystem by a network user in order to identify a file. Pathname usuallycontains device and/or directory names, and file names in case of namedfiles. FTP specifications provide standard file system commands, but donot provide standard naming convention at this time.  Each user mustfollow the naming convention of the file system he wishes to use. FTPmay be extended later to include standard conventions for pathnamestructures.[1]      A file may or may not have access controls associated with it.The access controls designate the users' access privilege. In theabsence of access controls, the files cannot be protected fromaccidental or unauthorized usage. It is the prerogative of a residentfile system to provide protection, and selective access. FTP onlyprovides identifier and password mechanisms for exchange of accesscontrol information. It should however be noted, that for file sharing,it is necessary that a user be allowed (subject to access controls) toaccess files not created by him.      FTP does not restrict the nature of information in the file. Forexample, a file could contain ASCII text, binary data computer program,or any other information. A provision for indicating data structure(type and byte size) exists in FTP to aid in parsing, interpretation,reconfiguration, and storage of data. To facilitate indirect usage, thecooperating file transfer processes may be disowned "daemon" processes                                                                [Page 2]NWG/RFC 172which "listen" to agreed-upon sockets, and follow the standard initialconnection protocol for establishing a full-duplex connection. It shouldbe noted that FTP could also used directly by logging into a remotehost, and arranging for file transfer over specific sockets.      FTP is readily extensible, in that additional commands and datatypes may be defined by those agreeing to implement them.Implementation of a subset of commands is specifically permitted, and aninitial subset for implementation is recommended.[2] The protocol mayalso be extended to enable remote execution of programs, but no standardprocedure is suggested.      For transferring data, FTP uses the data transfer protocolspecified in RFC 171. As the data transfer protocol does not specify themanner in which it is to be used by FTP, implementation may vary atdifferent host sites. Hosts not wishing to separate the data transferand file transfer functions, should take particular care in conformingto the data transfer protocol specifications of RFC 171.      It should be noted, that FTP specifications do not requireknowledge of transfer modes used by data transfer protocol. However, asfile transfer protocol requires the transfer of more than a singlecontrol transaction over the same connection, it is essential that hostsbe able to send control transactions in either 'transparent block' (typeB9) of 'descriptor and counts' (type BA) modes. (Type BB, the indefinitebit stream mode is not suitable as it limits transfer to singlestransactions.).      The use of data transfer aborts (type B6) is neither required, nordefined in FTP. FTP has its own error terminate which may be used toabort a file transfer request. FTP also does not define the structure offiles, and there are no conventions on the use of group, record and unitseparators.[3] A file separator is, however, used to indicate the end offile. It is strongly recommended that default options be provided inimplementation to facilitate use of file transfer service. For example,the main file directory on disk, a pool directory, user directory ordirectory last accessed could serve as standard pathname defaults.Default mechanisms are convenient, as the user doesn't have to specifythe complete pathname each time he wishes to use the file transferservice.III. SPECIFICATIONS1.  Data Transfer   FTP uses the data transfer protocol described in RFC 171, for   transferring data and/or control transaction. Both data and control   transactions are communicated over the same connection.                                                                [Page 3]NWG/RFC 1722.  Data Transactions   Data transactions represent the data contained in a file. There is no   data type or byte size information contained in data transactions.   The structure of data is instead communicated via control   transactions. A file may be transferred as one or more data   transactions. The protocol neither specifies nor imposes any   limitations on the structure (record, group, etc) or length of file.   Such limitations may however be imposed by a serving host. The end of   a file may be indicated either by a file separator (as defined in   data transfer protocol), or by closing connection (in type B0). In   particular a serving or using host should not send the ETX, or other   end of file character, unless such a character is part of the data in   file (i.e., not provided by system).3.  Control Transactions   The control transactions may be typified as requests, identifiers,   and terminates.  A request fulfillment sequence begins with a request   and ends with receipt of data (followed by End-of-File) or a   terminate.3A. Op Codes   Control transactions are distinguished by their first byte referred   as op code. A standard set of opcodes is defined below.   Implementation of a workable[4] subset of opcodes is specifically   permitted. Additional standard opcodes may be assigned later. Opcodes   hex 5A (octal 100) through hex FF (octal 377) are for experimental   use.                                                                [Page 4]NWG/RFC 172       Op Code                   Operation     Hex    Octal      00     000         Change data type identifier      01     001         Retrieve Request      02     002         Store request (replaced if file already                         exists)      03     003         Delete request      04     004         Rename_from request      05     005         Rename_to request      06     006         List_file_directory request      07     007         Username identifier      08     010         Password identifier      09     011         Error or unsuccessful terminate      04     012         Acknowledge or successful terminate      0B     013         Append request (add to existing file)      0C     014   through through       Reserved for standard assignment      4F     077      5A     100   through through       Reserved for experimental use      FF     377                                                                [Page 5]NWG/RFC 1723B. Syntax and Semantics3B.1 Data Types   The 'change data type' control transactions identifies the structure   of data (data type and byte size) in succeeding data transactions.   This transaction shall contain two more bytes in addition to the   opcode byte. The first of these bytes shall convey a data type or   code information and the second byte may convey the data byte size,   where applicable. This information may be used to define the manner   in which data is to be parsed, interpreted, reconfigured or stored.   Change data type need be sent only when structure of data is changed   from the preceding.   Although, a number of data types are defined, specific   implementations may handle only limited data types or completely   ignore the data type and byte size descriptors. Even if a host   process does not "recognize" a data type, it must accept data (i.e.,   there is no such thing as a data type error.) These descriptors are   provided only for convenience, and it is not essential that they be   used. The standard default is to assume nothing about the information   and treat it as a bit stream (binary data, byte size 1)[5] whose   interpretation is left to a higher level process, or the user.   _________________________   * It is, however, possible that this bit stream is treated like   ASCII characters in specific instances such as transmitting a file   to a line printer.                                                                [Page 6]

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -