FTP Extensions for IPv6 and NATs
RFC 2428

Document Type RFC - Proposed Standard (September 1998; No errata)
Authors Mark Allman  , Craig Metz  , Shawn Ostermann 
Last updated 2020-07-29
Stream IETF
Formats plain text html pdf htmlized bibtex
Stream WG state (None)
Document shepherd No shepherd assigned
IESG IESG state RFC 2428 (Proposed Standard)
Consensus Boilerplate Unknown
Telechat date
Responsible AD (None)
Send notices to (None)
Network Working Group                                          M. Allman
Request for Comments: 2428                  NASA Lewis/Sterling Software
Category: Standards Track                                   S. Ostermann
                                                         Ohio University
                                                                 C. Metz
                                                           The Inner Net
                                                          September 1998

                    FTP Extensions for IPv6 and NATs

Status of this Memo

   This document specifies an Internet standards track protocol for the
   Internet community, and requests discussion and suggestions for
   improvements.  Please refer to the current edition of the "Internet
   Official Protocol Standards" (STD 1) for the standardization state
   and status of this protocol.  Distribution of this memo is unlimited.

Copyright Notice

   Copyright (C) The Internet Society (1998).  All Rights Reserved.


   The specification for the File Transfer Protocol assumes that the
   underlying network protocol uses a 32-bit network address
   (specifically IP version 4).  With the deployment of version 6 of the
   Internet Protocol, network addresses will no longer be 32-bits.  This
   paper specifies extensions to FTP that will allow the protocol to
   work over IPv4 and IPv6.  In addition, the framework defined can
   support additional network protocols in the future.

1.  Introduction

   The keywords, such as MUST and SHOULD, found in this document are
   used as defined in RFC 2119 [Bra97].

   The File Transfer Protocol [PR85] only provides the ability to
   communicate information about IPv4 data connections.  FTP assumes
   network addresses will be 32 bits in length.  However, with the
   deployment of version 6 of the Internet Protocol [DH96] addresses
   will no longer be 32 bits long.  RFC 1639 [Pis94] specifies
   extensions to FTP to enable its use over various network protocols.
   Unfortunately, the mechanism can fail in a multi-protocol
   environment.  During the transition between IPv4 and IPv6, FTP needs
   the ability to negotiate the network protocol that will be used for
   data transfer.

Allman, et. al.             Standards Track                     [Page 1]
RFC 2428            FTP Extensions for IPv6 and NATs      September 1998

   This document provides a specification for a way that FTP can
   communicate data connection endpoint information for network
   protocols other than IPv4.  In this specification, the FTP commands
   PORT and PASV are replaced with EPRT and EPSV, respectively.  This
   document is organized as follows.  Section 2 outlines the EPRT
   command and Section 3 outlines the EPSV command.  Section 4 defines
   the utilization of these two new FTP commands.  Section 5 briefly
   presents security considerations.  Finally, Section 6 provides

2.  The EPRT Command

   The EPRT command allows for the specification of an extended address
   for the data connection.  The extended address MUST consist of the
   network protocol as well as the network and transport addresses.  The
   format of EPRT is:


   The EPRT command keyword MUST be followed by a single space (ASCII
   32).  Following the space, a delimiter character (<d>) MUST be
   specified.  The delimiter character MUST be one of the ASCII
   characters in range 33-126 inclusive.  The character "|" (ASCII 124)
   is recommended unless it coincides with a character needed to encode
   the network address.

   The <net-prt> argument MUST be an address family number defined by
   IANA in the latest Assigned Numbers RFC (RFC 1700 [RP94] as of the
   writing of this document).  This number indicates the protocol to be
   used (and, implicitly, the address length).  This document will use
   two of address family numbers from [RP94] as examples, according to
   the following table:

        AF Number   Protocol
        ---------   --------
        1           Internet Protocol, Version 4 [Pos81a]
        2           Internet Protocol, Version 6 [DH96]

   The <net-addr> is a protocol specific string representation of the
   network address.  For the two address families specified above (AF
   Number 1 and 2), addresses MUST be in the following format:

        AF Number   Address Format      Example
        ---------   --------------      -------
        1           dotted decimal
        2           IPv6 string         1080::8:800:200C:417A
                    defined in [HD96]

Allman, et. al.             Standards Track                     [Page 2]
RFC 2428            FTP Extensions for IPv6 and NATs      September 1998

   The <tcp-port> argument must be the string representation of the
   number of the TCP port on which the host is listening for the data
Show full document text