Network Working Group R. Braden
Request for Comments: 430 CCN/UCLA
NIC: 13299 7 February 1973
COMMENTS ON FILE TRANSFER PROTOCOL
Braden [Page 1]
RFC 430 COMMENTS ON FILE TRANSFER PROTOCOL FEBRUARY 1973
(c) Why does the restart marker have to be greater than 8 bits?
Braden [Page 2]
RFC 430 COMMENTS ON FILE TRANSFER PROTOCOL FEBRUARY 1973 B. FTP Parameter EncodingRFC 448, which discusses print files, points out that the print file attribute is logically independent of the character code attribute (ASCII vs. EBCDIC) in the type dimension; the set of allowable types in FTP is the outer product of the individual attributes. Thus FTP has (at least) four character types, summarized by the following two x two matrix:
| ASCII | EBCDIC
---------------+---------+------------
Not Print File | |
---------------+---------+------------
Print File | |
---------------+---------+------------
I propose that the encoding in the TYPE command model this interdependence of the types. Instead of using a distinct singleASCII character for each type, we should use multiple ASCII characters---qualifiers, if you wish. For example:A represents ASCII code E represents EBCDIC code P represents print file I represents image L represents local byte
Braden [Page 3]
RFC 430 COMMENTS ON FILE TRANSFER PROTOCOL FEBRUARY 1973 C. Server-Server InteractionThe FTP changes proposed by Thomas and Clements in RFC 438 are a particular solution to a general problem inherent in the current host-host protocol and higher-level protocols like FTP. There seems to be a need for a secure and simple way for two (server) processes in different hosts to exchange socket names (i.e., 40-bit numbers) so they can subsequently exchange RFC's and establish a connection. Current second-level (host-host) protocol provides exactly one (secure) mechanism by which one host can learn a socket name of a process at another host in order to establish a connection: ICP. The ICP mechanism by itself is not adequate for server-server connection in FTP. Therefore, Thomas and Clements have proposed an extension to the FTP protocol, roughly as follows:
Braden [Page 4]
RFC 430 COMMENTS ON FILE TRANSFER PROTOCOL FEBRUARY 1973
In any case, for the present we would endorse the general third-level model of RFC 438. However, we would propose a slightly different, and more symmetrical, approach.
D. Site-Dependent FTP Parameters
Some hosts will have a problem with the current FTP because their file system needs additional host-specific parameters in certain cases. As an example, the IBM operating systems tend to give the programmer a number of options on the logical and physical mapping of a file onto the disk.
Braden [Page 5]
RFC 430 COMMENTS ON FILE TRANSFER PROTOCOL FEBRUARY 1973
In designing an FTP server implementation for CCN, for example, we first tried to handle the mapping problem by choosing a (possibly different) default mapping for each combination of FTP parameters-- type, mode, and structure. We hoped that if a user chose "reasonable" or "suitable" FTP parameters for a particular case (e.g., "ASCII, stream, record" for source programs, and "image, block, record" for load modules), then the right OS/360 file mapping would result. We were forced to abandon this approach, however, because of the following arguments:
Braden [Page 6]
RFC 430 COMMENTS ON FILE TRANSFER PROTOCOL FEBRUARY 1973
2. We will provide some mnmonic keywords associated with STOR commands to choose the proper disk mapping. For example, if he wants to STORe a Fortran source file for compilation at CCN, the user will need only to specify "SOURCE" or "FORT" to get reasonable and workable OS/360 file system parameters. In addition, we will provide fairly complete "DD" parameters for the sophisticated user. The syntax and semantics of these keywords and parameters will be as close as possible to the corresponding TSO commands. Full details will be published as soon as the implementation is working.
Braden [Page 7]
RFC 430 COMMENTS ON FILE TRANSFER PROTOCOL FEBRUARY 1973
KEY: +---+ |///| Excluded +---+ case