NOTE: Using software to mass-download the site degrades the server and is prohibited.
If you want to read The TCP/IP Guide offline, please consider licensing it. Thank you.

The Book is Here... and Now On Sale!

Read offline with no ads or diagram watermarks!
The TCP/IP Guide

Google
Web TCP/IP Guide






Table Of Contents  The TCP/IP Guide
 9  TCP/IP Application Layer Protocols, Services and Applications (OSI Layers 5, 6 and 7)
      9  TCP/IP Key Applications and Application Protocols
           9  TCP/IP File and Message Transfer Applications and Protocols (FTP, TFTP, Electronic Mail, USENET, HTTP/WWW, Gopher)
                9  TCP/IP General File Transfer Protocols (FTP and TFTP)
                     9  File Transfer Protocol (FTP)
                          9  FTP Concepts and General Operation

Previous Topic/Section
FTP Control Connection Establishment, User Authentication and Anonymous FTP Access
Previous Page
Pages in Current Topic/Section
1
2
34
Next Page
FTP General Data Communication and Transmission Modes
Next Topic/Section

FTP Data Connection Management, Normal (Active) and Passive Data Connections and Port Usage
(Page 2 of 4)

Normal (Active) Data Connections

The first method is sometimes called creating a normal data connection (because it is the default method) and sometimes an active data connection (to contrast it to the passive method we will see in a moment). In this type of connection, the Server-DTP initiates the data channel by opening a TCP connection to the User-DTP. The server uses the special reserved port number 20 (one less than the well-known control FTP port number, 21) for the data connection. On the client machine, the default port number used is the same as the ephemeral port number used for the control connection, but as we’ll see shortly, the client will often choose a different port for each transfer.

Let's take an example to see how this works. Suppose the User-PI established a control connection from its ephemeral port number 1678 to the server's FTP control port of 21. Then, to create a data connection for data transfer, the Server-PI would instruct the Server-DTP to initiate a TCP connection from the server's port 20 to the client's port 1678. The client would acknowledge this and then data could be transferred (in either direction — remember that TCP is bidirectional).

In practice, having the client’s control and data connection on the same port is not a good idea; it complicates the operation of FTP and can lead to some tricky problems. For this reason, it is strongly recommended that the client specify a different port number using the PORT command prior to the data transfer. For example, suppose the client specifies port 1742 using PORT. The Server-DTP would then create a connection from its port 20 to the client's port 1742 instead of 1678. This process is shown in Figure 290.


Figure 290: FTP Active Data Connection

In a conventional, or active, FTP data connection, the server initiates the transfer of data by opening the data connection to the client. In this case, the client first sends a PORT command to tell the server to use port 1742. The server then opens the data connection from its default port number of 20 to client port 1742. Data is then exchanged between the devices using these ports. Contrast to Figure 291.

 


Previous Topic/Section
FTP Control Connection Establishment, User Authentication and Anonymous FTP Access
Previous Page
Pages in Current Topic/Section
1
2
34
Next Page
FTP General Data Communication and Transmission Modes
Next Topic/Section

If you find The TCP/IP Guide useful, please consider making a small Paypal donation to help the site, using one of the buttons below. You can also donate a custom amount using the far right button (not less than $1 please, or PayPal gets most/all of your money!) In lieu of a larger donation, you may wish to consider purchasing a download license of The TCP/IP Guide. Thanks for your support!
Donate $2
Donate $5
Donate $10
Donate $20
Donate $30
Donate: $



Home - Table Of Contents - Contact Us

The TCP/IP Guide (http://www.TCPIPGuide.com)
Version 3.0 - Version Date: September 20, 2005

© Copyright 2001-2005 Charles M. Kozierok. All Rights Reserved.
Not responsible for any loss resulting from the use of this site.