Network Working Group D. Piscitello
Request for Comments: 1545 Bellcore
Category: Experimental November 1993
FTP Operation Over Big Address Records (FOOBAR)
1. Background
The PORT command of File Transfer Protocol allows users to specify an address other than the default data port for the transport connection over which data are transferred. The PORT command syntax is:
Piscitello [Page 1]
RFC 1545 FTP Over Big Address November 1993
To accommodate larger network addresses anticipated for all IP "next generation" alternatives, new commands and reply codes are needed for FTP. This memo addresses these needs.
2. The LPRT Command
The LPRT command allows users to specify a "long" address for the transport connection over which data are transferred. The LPRT command syntax is:
Decimal Keyword
------ -------
0 reserved
1-3 unassigned 4 Internet Protocol (IP) 5 ST Datagram Mode 6 SIP 7 TP/IX 8 PIP 9 TUBA 10-14 unassigned 15 reserved The value of each field is broken into 8-bit fields and the value of each field is transmitted as an unsigned decimal number (in character string representation, note that negative numbers are explicitly not permitted). The fields are separated by commas.
Piscitello [Page 2]
RFC 1545 FTP Over Big Address November 1993
A LPRT command is thus of the general form
3. The LPSV Command
The L(ONG) PASSIVE command requests the server-DTP to listen on a data port other than its default data port and to wait for a connection rather than initiate one upon receipt of a transfer command. The response to this command includes the address family, host address length indicator, host address, port address length, and port address this server is listening on. The reply code and text for entering the passive mode using a long address is 228 (Interpretation according to FTP is: positive completion reply 2yz, connections x2z, passive mode entered using long address xy8). The suggested textual message to accompany this reply code is:
4. Permanent Negative Completion Reply Codes
The negative completion reply codes that are associated with syntax errors in the PORT and PASV commands are appropriate for the LPRT and LPSV commands (500, 501). An additional negative completion reply code is needed to distinguish the case where a host supports the LPRT or LPSV command, but does not support the address family specified. Of the FTP function groupings currently defined for reply codes (syntax, information, connections, authentication and accounting, and file system), "connections" seems the most logical choice; thus, an additional negative command completion reply code, 521 is added, with the following suggested textual message:
Piscitello [Page 3]
RFC 1545 FTP Over Big Address November 1993 5. RationaleAn explicit address family argument in the LPRT command and LPSV reply allows the Internet community to experiment with a variety of "next generation IP" alternatives within a common FTP implementation framework. (It also allows the use of a different address family on the command and data connections.) An explicit length indicator for the host address is necessary because some of the IPNG alternatives make use of variable length addresses. An explicit host address is necessary because FTP says it's necessary.
6. Conclusions
The mechanism defined here is simple, extensible, and meets both IPNG and possibly multi-protocol internet needs.
7. References
STD 9, RFC 959 Postel, J., and J. Reynolds, "File Transfer Protocol",
Piscitello [Page 4]
RFC 1545 FTP Over Big Address November 1993 8. Security ConsiderationsSecurity issues are not discussed in this memo.
9. Author's Address
David M. Piscitello Bell Communications Research NVC 1C322 331 Newman Springs Road Red Bank, NJ 07701