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

📄 rfc959.txt

📁 RFC 相关的技术文档
💻 TXT
📖 第 1 页 / 共 5 页
字号:
                        This type is used to transmit the descriptive                        information for the file as a whole.                     3 = Access Controlled Page                        This type includes an additional header field                        for paged files with page level access control                        information.  The header length must be 5.               Optional Fields                  Further header fields may be used to supply per page                  control information, for example, per page access                  control.            All fields are one logical byte in length.  The logical byte            size is specified by the TYPE command.  See Appendix I for            further details and a specific case at the page structure.      A note of caution about parameters:  a file must be stored and      retrieved with the same parameters if the retrieved version is toPostel & Reynolds                                              [Page 17]                                                                        RFC 959                                                     October 1985File Transfer Protocol      be identical to the version originally transmitted.  Conversely,      FTP implementations must return a file identical to the original      if the parameters used to store and retrieve a file are the same.   3.2.  ESTABLISHING DATA CONNECTIONS      The mechanics of transferring data consists of setting up the data      connection to the appropriate ports and choosing the parameters      for transfer.  Both the user and the server-DTPs have a default      data port.  The user-process default data port is the same as the      control connection port (i.e., U).  The server-process default      data port is the port adjacent to the control connection port      (i.e., L-1).      The transfer byte size is 8-bit bytes.  This byte size is relevant      only for the actual transfer of the data; it has no bearing on      representation of the data within a host's file system.      The passive data transfer process (this may be a user-DTP or a      second server-DTP) shall "listen" on the data port prior to      sending a transfer request command.  The FTP request command      determines the direction of the data transfer.  The server, upon      receiving the transfer request, will initiate the data connection      to the port.  When the connection is established, the data      transfer begins between DTP's, and the server-PI sends a      confirming reply to the user-PI.      Every FTP implementation must support the use of the default data      ports, and only the USER-PI can initiate a change to non-default      ports.      It is possible for the user to specify an alternate data port by      use of the PORT command.  The user may want a file dumped on a TAC      line printer or retrieved from a third party host.  In the latter      case, the user-PI sets up control connections with both      server-PI's.  One server is then told (by an FTP command) to      "listen" for a connection which the other will initiate.  The      user-PI sends one server-PI a PORT command indicating the data      port of the other.  Finally, both are sent the appropriate      transfer commands.  The exact sequence of commands and replies      sent between the user-controller and the servers is defined in the      Section on FTP Replies.      In general, it is the server's responsibility to maintain the data      connection--to initiate it and to close it.  The exception to thisPostel & Reynolds                                              [Page 18]                                                                        RFC 959                                                     October 1985File Transfer Protocol      is when the user-DTP is sending the data in a transfer mode that      requires the connection to be closed to indicate EOF.  The server      MUST close the data connection under the following conditions:         1. The server has completed sending data in a transfer mode            that requires a close to indicate EOF.         2. The server receives an ABORT command from the user.         3. The port specification is changed by a command from the            user.         4. The control connection is closed legally or otherwise.         5. An irrecoverable error condition occurs.      Otherwise the close is a server option, the exercise of which the      server must indicate to the user-process by either a 250 or 226      reply only.   3.3.  DATA CONNECTION MANAGEMENT      Default Data Connection Ports:  All FTP implementations must      support use of the default data connection ports, and only the      User-PI may initiate the use of non-default ports.      Negotiating Non-Default Data Ports:   The User-PI may specify a      non-default user side data port with the PORT command.  The      User-PI may request the server side to identify a non-default      server side data port with the PASV command.  Since a connection      is defined by the pair of addresses, either of these actions is      enough to get a different data connection, still it is permitted      to do both commands to use new ports on both ends of the data      connection.      Reuse of the Data Connection:  When using the stream mode of data      transfer the end of the file must be indicated by closing the      connection.  This causes a problem if multiple files are to be      transfered in the session, due to need for TCP to hold the      connection record for a time out period to guarantee the reliable      communication.  Thus the connection can not be reopened at once.         There are two solutions to this problem.  The first is to         negotiate a non-default port.  The second is to use another         transfer mode.         A comment on transfer modes.  The stream transfer mode isPostel & Reynolds                                              [Page 19]                                                                        RFC 959                                                     October 1985File Transfer Protocol         inherently unreliable, since one can not determine if the         connection closed prematurely or not.  The other transfer modes         (Block, Compressed) do not close the connection to indicate the         end of file.  They have enough FTP encoding that the data         connection can be parsed to determine the end of the file.         Thus using these modes one can leave the data connection open         for multiple file transfers.   3.4.  TRANSMISSION MODES      The next consideration in transferring data is choosing the      appropriate transmission mode.  There are three modes: one which      formats the data and allows for restart procedures; one which also      compresses the data for efficient transfer; and one which passes      the data with little or no processing.  In this last case the mode      interacts with the structure attribute to determine the type of      processing.  In the compressed mode, the representation type      determines the filler byte.      All data transfers must be completed with an end-of-file (EOF)      which may be explicitly stated or implied by the closing of the      data connection.  For files with record structure, all the      end-of-record markers (EOR) are explicit, including the final one.      For files transmitted in page structure a "last-page" page type is      used.      NOTE:  In the rest of this section, byte means "transfer byte"      except where explicitly stated otherwise.      For the purpose of standardized transfer, the sending host will      translate its internal end of line or end of record denotation      into the representation prescribed by the transfer mode and file      structure, and the receiving host will perform the inverse      translation to its internal denotation.  An IBM Mainframe record      count field may not be recognized at another host, so the      end-of-record information may be transferred as a two byte control      code in Stream mode or as a flagged bit in a Block or Compressed      mode descriptor.  End-of-line in an ASCII or EBCDIC file with no      record structure should be indicated by <CRLF> or <NL>,      respectively.  Since these transformations imply extra work for      some systems, identical systems transferring non-record structured      text files might wish to use a binary representation and stream      mode for the transfer.Postel & Reynolds                                              [Page 20]                                                                        RFC 959                                                     October 1985File Transfer Protocol      The following transmission modes are defined in FTP:      3.4.1.  STREAM MODE         The data is transmitted as a stream of bytes.  There is no         restriction on the representation type used; record structures         are allowed.         In a record structured file EOR and EOF will each be indicated         by a two-byte control code.  The first byte of the control code         will be all ones, the escape character.  The second byte will         have the low order bit on and zeros elsewhere for EOR and the         second low order bit on for EOF; that is, the byte will have         value 1 for EOR and value 2 for EOF.  EOR and EOF may be         indicated together on the last byte transmitted by turning both         low order bits on (i.e., the value 3).  If a byte of all ones         was intended to be sent as data, it should be repeated in the         second byte of the control code.         If the structure is a file structure, the EOF is indicated by         the sending host closing the data connection and all bytes are         data bytes.      3.4.2.  BLOCK MODE         The file is transmitted as a series of data blocks preceded by         one or more header bytes.  The header bytes contain a count         field, and descriptor code.  The count field indicates the         total length of the data block in bytes, thus marking the         beginning of the next data block (there are no filler bits).         The descriptor code defines:  last block in the file (EOF) last         block in the record (EOR), restart marker (see the Section on         Error Recovery and Restart) or suspect data (i.e., the data         being transferred is suspected of errors and is not reliable).         This last code is NOT intended for error control within FTP.         It is motivated by the desire of sites exchanging certain types         of data (e.g., seismic or weather data) to send and receive all         the data despite local errors (such as "magnetic tape read         errors"), but to indicate in the transmission that certain         portions are suspect).  Record structures are allowed in this         mode, and any representation type may be used.         The header consists of the three bytes.  Of the 24 bits of         header information, the 16 low order bits shall represent byte         count, and the 8 high order bits shall represent descriptor         codes as shown below.Postel & Reynolds                                              [Page 21]                                                                        RFC 959                                                     October 1985File Transfer Protocol         Block Header            +----------------+----------------+----------------+            | Descriptor     |    Byte Count                   |            |         8 bits |                      16 bits    |            +----------------+----------------+----------------+                     The descriptor codes are indicated by bit flags in the         descriptor byte.  Four codes have been assigned, where each         code number is the decimal value of the corresponding bit in         the byte.            Code     Meaning                         128     End of data block is EOR              64     End of data block is EOF              32     Suspected errors in data block              16     Data block is a restart marker         With this encoding, more than one descriptor coded condition         may exist for a particular block.  As many bits as necessary         may be flagged.         The restart marker is embedded in the data stream as an         integral number of 8-bit bytes representing printable         characters in the language being used over the control         connection (e.g., default--NVT-ASCII).  <SP> (Space, in the         appropriate language) must not be used WITHIN a restart marker.         For example, to transmit a six-character marker, the following         would be sent:            +--------+--------+--------+            |Descrptr|  Byte count     |            |code= 16|             = 6 |            +--------+--------+--------+            +--------+--------+--------+            | Marker | Marker | Marker |            | 8 bits | 8 bits | 8 bits |            +--------+--------+--------+            +--------+--------+--------+            | Marker | Marker | Marker |            | 8 bits | 8 bits | 8 bits |            +--------+--------+--------+Postel & Reynolds                                              [Page 22]                                                                        

⌨️ 快捷键说明

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