1. Introduction
The TCP/IP and OSI protocol suites will coexist in the Internet community for several years to come. As more and more OSI hosts are fielded on the Internet, the requirement for gateways between the two protocol suites becomes more pressing. This specification describes an application layer gateway providing interoperability between the TCP/IP File Transfer Protocol (FTP) and the OSI File Transfer, Access, and Management (FTAM) protocol. The proposed application layer gateway is based on a bi-directional set of mappings between the FTP and FTAM protocols. Since the protocols have quite different command structures, the mappings between them are not one-to-one. This paper assumes knowledge of the File Transfer Protocol (FTP) [RFC959] and the File Transfer, Access, and Management Protocol (FTAM) [ISO8571-1 - ISO8571-5]. Two important goals of the mappings are to: Provide FTP users with as much emulated FTP capability on an FTAM Responder as possible, and Provide FTAM users with as much emulated FTAM capability on an FTP Server as possible. Though it is anticipated that the application layer gateway will be implemented on full protocol suites of both TCP/IP and OSI, at least one implementation of such a gateway (included in the ISO Development Environment) can be configured to operate FTAM over either OSI or TCP/IP lower-layer services.
1.1. Relationship to Other Work
Ideas presented in this specification are based on lessons learned in fielding the gateway on the MILNET, operational at NCTS Washington D.C. since 1989, and on the efforts of M. A. Wallace et al. of the National Institute of Standards and Technology (NIST) [NIST86]. In 1986, NIST published a design document for an FTP-FTAM gateway. Since that time, at least one implementation (for a subset of the FTP and FTAM protocols) of the gateway has been developed [MITRE87] and is included with the ISODE. This implementation is based on the NIST protocol translator gateway design [NIST86]. This document's contribution to the advancement of the FTP-FTAM gateway concept is to: * Enhance the user interaction capability provided by the ISODE implementation of the FTP-FTAM application layer gateway. * Clarify and enhance the mappings (FTP to FTAM, FTAM to FTP) documented by NIST. * Provide guidelines for fielding the FTP-FTAM application layer gateway on the Internet so that it is useful as an Internet resource. * Produce a formal specification for the FTP-FTAM gateway suitable for implementors to use in building additional FTP-FTAM gateways. * Provide a formal specification for organizations wishing to procure FTP-FTAM gateways.
1.2. Overview of Gateway Operation
The gateway provides a virtual end-to-end application file transfer service. As data is sent via FTP, the gateway immediately maps the requested function to FTAM and passes it to the FTAM host. In a similar fashion, but using a different set of mappings, an FTAM request is sent to the gateway, immediately mapped to an FTP function, and passed along to the FTP host. In FTP, the two parties involved in a file transfer are the Client and Server. The Client is responsible for initiating a connection to the Server. Once the connection is established, all service requests originate from the Client. The FTP-FTAM gateway does not support the FTP three node model. In FTAM, the two parties involved in a file transfer are the Initiator and Responder. The Initiator is responsible for initiating a connection to the Responder. Once the connection is established, either the Initiator or Responder may issue service requests to the other. The FTP-FTAM gateway provides two sets of services: 1. FTP-Initiated Gateway Services Utilized when an FTP Client contacts the FTP-FTAM gateway to instigate a file transfer with an FTAM Responder. 2. FTAM-Initiated Gateway Services Utilized when an FTAM Initiator contacts the FTP-FTAM gateway to instigate a file transfer with an FTP Server. The gateway services' names were selected to identify the roles that the FTP-FTAM gateway plays when performing file transfers. For example, when a file transfer is instigated by an FTP Client, it contacts the FTP Server portion of the gateway, which maps protocol information to the FTAM Initiator portion of the gateway, which in turn contacts the remote FTAM Responder. This example scenario uses the FTP-Initiated Gateway Services. Figure 1 illustrates the perspective of the application process in the FTP-Initiated service. Figure 2 illustrates that of the FTAM- Initiated service. TCP Host OSI Host +--------------+ +------------------+ | FTP Client | | FTAM Responder | +--------------+ +------------------+ | | | | | | | FTP-FTAM Gateway | | +--------------------------------+ | +-- | FTP Server FTAM Initiator | --+ +--------------------------------+ Figure 1 - FTP-Initiated Gateway Service TCP Host OSI Host +--------------+ +------------------+ | FTP Server | | FTAM Initiator | +--------------+ +------------------+ | | | | | | | | | FTP-FTAM Gateway | | +--------------------------------+ | +-- | FTP Client FTAM Responder | --+ +--------------------------------+ Figure 2 - FTAM-Initiated Gateway Service
