📄 rfc1415.txt
字号:
not support these additional capabilities. FTP uses TELNET services to set up a connection between the FTP Client and FTP Server. A three-digit reply code followed by explanatory text indicates the status of the preceding request and provides diagnostic information explaining each transaction. FTAM relies on the Association Control Service Element (ACSE) to start and stop the network for network file interaction. Generally, the ASCE establishes the application association and related application context needed to support the FTAM protocol. The FTAM protocol is modularized so as to keep the allowable number of actions in any particular state relatively small. There are many more possible sequences of FTP operations than possible sequences of FTAM operations [NIST86]. Because FTAM is more robust than FTP, FTAM allows greater flexibility for conveying information about files. FTAM deals only with aspects of application processes, and leaves data representation and data management facilities to other OSI service elements. In contrast to the Client/Server model present in the FTP scheme, FTAM is based on the Initiator/Responder model. The key distinctionMindel & Slaski [Page 19]RFC 1415 FTP-FTAM Gateway Specification January 1993 is that once the FTAM Initiator has established a connection with a remote host, either the Initiator or Responder can request services of the other. In the FTP realm, the Client both initiates a connection and requests all services. The FTP Client knows the real properties of the remote host filesystem. FTAM, in contrast, embraces a conceptual model of a filesystem, labeled a virtual filestore model. The virtual filestore is a collection of files, each of which has a name that uniquely identifies it. Each file has a set of attributes, such as ownership information and contents, which is the data associated with the file. One file attribute is the <Contents Type> of the file, typically of value "FTAM-1", "FTAM-3", or "NBS-9". The FTAM Initiator only knows the properties of the corresponding Responder and virtual filestore, not the real properties of the filesystem on the remote host.7.1. Loss of Functionality As happens whenever two dissimilar protocols, or languages for that matter, are translated, some loss of functionality is inevitable. With reference to the FTP-FTAM gateway, several of the most blatant losses of functionality are: 1. Diagnostics passed between protocols may not be precisely translated. 2. The FTAM partial file (record) transfer may not be supported. 3. Some FTAM attributes are not supported by FTP. The primary goal of the gateway protocol mappings are to minimize this loss of functionality. As this gateway specification and subsequent implementations evolve, means to partially overcome loss of functionality may become more obvious. For example, the gateway may be able to emulate file record transfers between FTAM Initiators and FTP Servers.8. Mapping of Protocol Functions and Representations The mappings presented are based upon the FTAM protocol implementation as defined in Stable Implementation Agreements for Open Systems Interconnection Protocols: Part 9 - FTAM Phase 2, produced by the March 1992 Open Systems Environment Implementors' Workshop [NIST92], and in [ISO8571-1], [ISO8571-2],[ISO8571- 3],[ISO8571-4], and [ISO8571-5]. The FTP protocol as defined in Request for Comments [RFC959]. The mappings are strongly influenced by the work of M. A. Wallace et. al. at NIST [NIST86] and John ScottMindel & Slaski [Page 20]RFC 1415 FTP-FTAM Gateway Specification January 1993 at MITRE [MITRE87]. A key goal of the mappings presented in this document is to minimize the loss of functionality between the two protocols. The specific approach taken to implement the mappings is left to the discretion of the gateway implementor. The focus of the protocol function and representation mappings is on non-error encumbered processing. The mapping of diagnostic and error messages is treated separately in section 9. At a minimum, the FTAM implementation in the FTP-FTAM gateway support for Implementation Profiles T1 (Simple File Transfer) and M1 (Management), as defined in [NIST92], is required. These Implementation Profiles correspond to the A/111 and A/13 Profiles of Standards Promotion and Application Group in Europe, respectively [NIST92]. At a minimum, the gateway support for the following is required: ASCII and 8 bit binary file types. It should also support FTP File Stream Mode. The following FTAM document types: FTAM-1 (unstructured text file), FTAM-3 (unstructured binary file), and NBS-9 (set of directory entries). POSIX file naming and organization conventions are assumed in these mappings; i.e., files in the systems are assumed to be organized in a hierarchical structure in which all of the non-terminal nodes are directories and all of the terminal nodes are any other type of file. The following terminology is used in the mapping specifications: argument .......FTP Service Command argument, as used in [RFC959]. parameter ......FTAM Service Primitive parameters and attributes, as enumerated in Tables 6, 50, and 51 of [ISO8571- 3]. The following notation is used in the mapping specifications: Arguments and parameters are enclosed in angle brackets; e.g., <Action Result> Values of arguments and parameters are enclosed in quotation marks; e.g., "Success"Mindel & Slaski [Page 21]RFC 1415 FTP-FTAM Gateway Specification January 1993 FTP Service Commands and FTAM Primitives are in uppercase; e.g., F- INITIALIZE8.1. FTP-Initiated Gateway Service The protocol mapping between FTP and FTAM may be one-to-zero (i.e., not mappable), one-to-one, or one-to-many. The general steps taken by the FTP-FTAM gateway to provide the FTP- Initiated service are: 1. Accept an FTP Client request at the FTP Server side of the gateway service. 2. Map the request to the (set of) corresponding FTAM Initiator function(s). 3. Acting as an FTAM Initiator, send the FTAM Initiator function(s) to the FTAM Responder. 4. Accept information returned to the FTAM Initiator side of the gateway. This information originated at the FTAM Responder. 5. Map this returned information to the protocol form understood by the FTP Server side of the gateway. 6. Send this returned information from the FTP Server side of the gateway to the FTP Client. For each FTP protocol function, the FTAM protocol functions required to map it are identified: FTP FTAM ------------------------------------------------------------------ ABOR F-BEGIN-GROUP, F-CANCEL, F-CLOSE, F-DESELECT, F-END-GROUP ACCT F-INITIALIZE, ALLO none APPE F-BEGIN-GROUP, F-CLOSE, F-CREATE, F-DATA, F-DATA-END, F- DESELECT, F-END-GROUP, F-OPEN, F-READ-ATTRIBUTES, F-SELECT, F-TRANSFER-END, F-WRITE CDUP F-BEGIN-GROUP, F-DESELECT, F-END-GROUP, F-SELECTMindel & Slaski [Page 22]RFC 1415 FTP-FTAM Gateway Specification January 1993 CWD F-BEGIN-GROUP, F-END-GROUP, F-DESELECT, F-SELECT DELE F-BEGIN-GROUP, F-DELETE, F-END-GROUP, F-SELECT HELP none LIST F-BEGIN-GROUP, F-CLOSE, F-DATA, F-DATA-END, F-DESELECT, F- END-GROUP, F-OPEN, F-READ, F-READ-ATTRIBUTES, F-SELECT, F- TRANSFER-END MKD none MODE none NLST F-BEGIN-GROUP, F-CLOSE, F-DATA, F-DATA-END, F-DESELECT, F- END-GROUP, F-OPEN, F-READ, F-SELECT, F-TRANSFER-END NOOP none PASS F-INITIALIZE PASV none PORT none PWD F-BEGIN-GROUP, F-DESELECT, F-END-GROUP, F-READ-ATTRIBUTES, F-SELECT QUIT F-P-ABORT or F-U-ABORT, F-TERMINATE REIN F-BEGIN-GROUP, F-CANCEL, F-CLOSE, F-DESELECT, F-END-GROUP REST F-CHECK, F-RESTART RETR F-BEGIN-GROUP, F-CLOSE, F-DATA, F-DATA-END, F-DESELECT, F- END-GROUP, F-OPEN, F-READ, F-SELECT, F-TRANSFER-END RMD none RNFR F-BEGIN-GROUP, F-DESELECT, F-END-GROUP, F-SELECT RNTO F-BEGIN-GROUP, F-CHANGE-ATTRIBUTES, F-DESELECT, F-END- GROUP, F-SELECT SITE F-INITIALIZE SMNT noneMindel & Slaski [Page 23]RFC 1415 FTP-FTAM Gateway Specification January 1993 STAT none STOR F-BEGIN-GROUP,F-CLOSE, F-CREATE, F-DATA, F-DATA-END, F- DESELECT, F-END-GROUP, F-OPEN, F-READ-ATTRIBUTES, F-SELECT, F-TRANSFER-END, F-WRITE STOU F-BEGIN-GROUP, F-CLOSE, F-CREATE, F-DATA, F-DATA-END, F- DESELECT, F-END-GROUP, F-OPEN, F-READ-ATTRIBUTES, F-SELECT, F-TRANSFER-END, F-WRITE STRU none TYPE none USER F-INITIALIZE The remainder of this section presents detailed mapping procedures for each of the FTP protocol functions. Gateway support for these mappings is required.8.1.1. ABOR 1. Send F-CANCEL to FTAM Responder. 2. Send the following grouped request to the FTAM Responder. F-BEGIN-GROUP F-CLOSE F-DESELECT F-END-GROUP 3. Translate FTAM Responder <Action Result> and <Diagnostic> parameters to equivalent FTP reply code(s) and send reply codes to FTP Client. 4. Translate FTP Client reply codes to equivalent FTAM <Action Result> and <Diagnostic> parameters and send parameters to FTAM Responder.8.1.2. ACCT 1. Set <Account> parameter value for issuing F-INITIALIZE to FTAM Responder. 2. If <Called Presentation Address>, <Initiator Identity>, and <Filestore Password> parameters are available, attempt connection with FTAM Responder; Otherwise wait for additional ACCT commands. 3. Translate FTAM Responder <Action Result> and <Diagnostic> parameters to equivalent FTP reply code(s) and send reply codes to FTP Client. 4. Translate FTP Client reply codes to equivalent FTAM <Action Result> and <Diagnostic> parameters and send parameters toMindel & Slaski [Page 24]RFC 1415 FTP-FTAM Gateway Specification January 1993 FTAM Responder. Note: a. The ACCT command will be effective with the next PASS command.8.1.3. ALLO 1. Return a 200 reply code to FTP Client.8.1.4. APPE 1. Save current pathname by appending saved CWD string with <pathname> argument. If no saved CWD string, proceed to step 12. 2. Send the following grouped request to FTAM Responder. F-BEGIN-GROUP F-SELECT F-READ-ATTRIBUTES Save <Contents Type> parameter value F-DESELECT F-END-GROUP 3. If the <Contents Type> parameter value returned with the F-READ-ATTRIBUTES has a value of "NBS-9", proceed to step 12. 4. Send the following grouped request to the FTAM responder. F-BEGIN-GROUP F-CREATE Set the <Override> parameter in the F-CREATE to "Select Old File". F-OPEN F-END-GROUP 5. If the file existed, set the <Contents Type> parameter in the F-CREATE to match that returned by the
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -