PC school Informations RFC    1  2  3  4  5  6  7  8  9  10  11  12  13
 
Page 2
 
RFC 959 File Transfer Protocol
 
       record
         A sequential file may be structured as a number of contiguous  parts called records.  Record structures are supported by FTP but a file need not have record structure.
      reply
        A reply is an acknowledgment (positive or negative) sent from server to user via the control connection in response to FTPcommands.  The general form of a reply is a completion code (including error codes) followed by a text string.  The codes
         are for use by programs and the text is usually intended for human users.
       server-DTP
          The data transfer process, in its normal "active" state,establishes the data connection with the "listening" data port.
         It sets up parameters for transfer and storage, and transfers data on command from its PI.  The DTP can be placed in a
         "passive" state to listen for, rather than initiate a connection on the data port.
       server-FTP process
       A process or set of processes which perform the function of file transfer in cooperation with a user-FTP process and,
         possibly, another server.  The functions consist of a protocol interpreter (PI) and a data transfer process (DTP).
       server-PI
          The server protocol interpreter "listens" on Port L for a connection from a user-PI and establishes a control
         communication connection.  It receives standard FTP commands from the user-PI, sends replies, and governs the server-DTP.
       type
          The data representation type used for data transfer and storage.  Type implies certain transformations between the time
         of data storage and data transfer.  The representation types defined in FTP are described in the Section on Establishing
         Data Connections.
RFC 959 File Transfer Protocol
      user
        A person or a process on behalf of a person wishing to obtain file transfer service.  The human user may interact directly
         with a server-FTP process, but use of a user-FTP process is preferred since the protocol design is weighted towards
         automata.
       user-DTP
   The data transfer process "listens" on the data port for a connection from a server-FTP process.  If two servers are
         transferring data between them, the user-DTP is inactive.
       user-FTP process
 A set of functions including a protocol interpreter, a data transfer process and a user interface which together perform
         the function of file transfer in cooperation with one or more server-FTP processes.  The user interface allows a local
         language to be used in the command-reply dialogue with the user.
       user-PI
 The user protocol interpreter initiates the control connection from its port U to the server-FTP process, initiates FTP
         commands, and governs the user-DTP if that process is part of the file transfer.
 
RFC 959   File Transfer Protocol
    2.3.  THE FTP MODEL
      With the above definitions in mind, the following model  may be diagrammed for an FTP service.
                                            -------------
                                            |/---------\|
                                            ||   User  ||    --------
                                            ||Interface|<--->| User |
                                            |\----^----/|    --------
                  ----------                |     |     |
                  |/------\|  FTP Commands  |/----V----\|
                  ||Server|<---------------->|   User  ||
                  ||  PI  ||   FTP Replies  ||    PI   ||
                  |\--^---/|                |\----^----/|
                  |   |    |                |     |     |
      --------    |/--V---\|      Data      |/----V----\|    --------
      | File |<--->|Server|<---------------->|  User   |<--->| File |
      |System|    || DTP  ||   Connection   ||   DTP   ||    |System|
      --------    |\------/|                |\---------/|    --------
                  ----------                -------------
                   Server-FTP                   USER-FTP
       NOTES: 1. The data connection may be used in either direction.
             2. The data connection need not exist all of the time.
                       Figure 1  Model for FTP Use
       In the model described in Figure 1, the user-protocol interpreter initiates the control connection.  The control connection follows the Telnet protocol.  At the initiation of the user, standard FTP commands are generated by the user-PI and transmitted to the server process via the control connection.  (The user may establish a direct control connection to the server-FTP, from a
      TAC terminal for example, and generate standard FTP commands independently, bypassing the user-FTP process.) Standard replies are sent from the server-PI to the user-PI over the control connection in response to the commands.
       The FTP commands specify the parameters for the data connection (data port, transfer mode, representation type, and structure) and the nature of file system operation (store, retrieve, append, delete, etc.).  The user-DTP or its designate should "listen" on the specified data port, and the server initiate the data connection and data transfer in accordance with the specified  parameters. 
 
 

RFC 959 File Transfer Protocol

       the same host that initiates the FTP commands via the control connection, but the user or the user-FTP process must ensure a "listen" on the specified data port.  It ought to also be noted that the data connection may be used for simultaneous sending and receiving.

     In another situation a user might wish to transfer files between  two hosts, neither of which is a local host. The user sets up

      control connections to the two servers and then arranges for a data connection between them.  In this manner, control information is passed to the user-PI but data is transferred between the server data transfer processes.  Following is a model of this server-server interaction.

                    Control     ------------   Control

                    ---------->| User-FTP |<-----------

                    |          | User-PI  |           |

                    |          |   "C"    |           |

                    V          ------------           V

            --------------                        --------------

            | Server-FTP |   Data Connection      | Server-FTP |

            |    "A"     |<---------------------->|    "B"     |

            -------------- Port (A)      Port (B) --------------

                                      Figure 2

       The protocol requires that the control connections be open while data transfer is in progress.  It is the responsibility of the

      user to request the closing of the control connections when finished using the FTP service, while it is the server who takes

      the action.  The server may abort data transfer if the control  connections are closed without command.

      The Relationship between FTP and Telnet:

        The FTP uses the Telnet protocol on the control connection. This can be achieved in two ways: first, the user-PI or the

         server-PI may implement the rules of the Telnet Protocol directly in their own procedures; or, second, the user-PI or

         the server-PI may make use of the existing Telnet module in the system.

 Ease of implementaion, sharing code, and modular programming argue for the second approach.  Efficiency and independence.

 

RFC 959    File Transfer Protocol

         argue for the first approach.  In practice, FTP relies on very little of the Telnet Protocol, so the first approach does not

         necessarily involve a large amount of code.

 3.  DATA TRANSFER FUNCTIONS

    Files are transferred only via the data connection.  The control connection is used for the transfer of commands, which describe the functions to be performed, and the replies to these commands (see the Section on FTP Replies).  Several commands are concerned with the transfer of data between hosts.  These data transfer commands include the MODE command which specify how the bits of the data are to be transmitted, and the STRUcture and TYPE commands, which are used to define the way in which the data are to be represented.  The transmission and representation are basically independent but the "Stream" transmission mode is dependent on the file structure attribute and if "Compressed" transmission mode is used, the nature of the filler byte depends on the representation type.

   3.1.  DATA REPRESENTATION AND STORAGE

       Data is transferred from a storage device in the sending host to a storage device in the receiving host.  Often it is necessary to perform certain transformations on the data because data storage representations in the two systems are different.  For example, NVT-ASCII has different data storage representations in different systems.  DEC TOPS-20s's generally store NVT-ASCII as five 7-bit ASCII characters, left-justified in a 36-bit word. IBM Mainframe's

      store NVT-ASCII as 8-bit EBCDIC codes.  Multics stores NVT-ASCII  as four 9-bit characters in a 36-bit word.  It is desirable to  convert characters into the standard NVT-ASCII representation when  transmitting text between dissimilar systems.  The sending and receiving sites would have to perform the necessary transformations between the standard representation and their internal representations. 

      A different problem in representation arises when transmitting  binary data (not character codes) between host systems with

      different word lengths.  It is not always clear how the sender should send data, and the receiver store it.  For example, when transmitting 32-bit bytes from a 32-bit word-length system to a 36-bit word-length system, it may be desirable (for reasons of efficiency and usefulness) to store the 32-bit bytes  right-justified in a 36-bit word in the latter system.  In any      case, the user should have the option of specifying data  representation and transformation functions. 

 

RFC 959  File Transfer Protocol
 
       that FTP provides for very limited data type representations.Transformations desired beyond this limited capability should be performed by the user directly.
 
       3.1.1.  DATA TYPES
 Data representations are handled in FTP by a user specifying a representation type.  This type may implicitly (as in ASCII or  EBCDIC) or explicitly (as in Local byte) define a byte size for interpretation which is referred to as the "logical byte size."
         Note that this has nothing to do with the byte size used for  transmission over the data connection, called the "transfer byte size", and the two should not be confused.  For example,NVT-ASCII has a logical byte size of 8 bits.  If the type is Local byte, then the TYPE command has an obligatory second parameter specifying the logical byte size.  The transfer byte size is always 8 bits.
 
          3.1.1.1.  ASCII TYPE
             This is the default type and must be accepted by all FTP implementations.  It is intended primarily for the transfer of text files, except when both hosts would find the EBCDIC type more convenient. 
            The sender converts the data from an internal character representation to the standard 8-bit NVT-ASCII representation (see the Telnet specification).  The receiver will convert the data from the standard form to his own  internal form.
 In accordance with the NVT standard, the <CRLF> sequence should be used where necessary to denote the end of a line  of text.  (See the discussion of file structure at the end of the Section on Data Representation and Storage.)
             Using the standard NVT-ASCII representation means that data  must be interpreted as 8-bit bytes. The Format parameter for ASCII and EBCDIC types is discussed below.
 
RFC    1  2  3  4  5  6  7  8  9  10  11  12  13
العودة إلى  مدرسة الكمبيوتر   قسم المعلومات    الصفحة الأولى
 
Syria
سورية
Amrit
عمريت
أرواد
طرطوس
صور من طرطوس
صور من سورية
للسيدات فقط
معجم الكمبيوتر
أدب وفكر
المجلة الطبية
المعلومات العامة
لمحة عن طرطوس
الموضة النسائية
مدرسة الكمبيوتر
 © 2002-2012 LBCInformation Corporation. All rights reserved م حنا عطا لحود.