FTP Protocol
Overview:
FTP is the
abbreviation of The File Transfer Protocol. FTP
is documented in RFC
959. FTP operates over TCP connections, usually to port
20(Data)/21(Control). During an FTP session there will be two
separate network connections: one between the PIs and one between
the DTPs. The connection between the PIs is known as the control
connection. The connection between the DTPs is known as the data
connection.
There are two kinds of FTP, active FTP and passive
FTP. With normal or active FTP, the control
connection is initiated by the client side and the data connection
is initiated by the server side. (Active mode is also sometimes
called port mode). The other option is passive FTP,
in which case the client side establishes the data connection.
As FTP sends the username and password as clear text, it's
insecure. Both SCP and SFTP are similar in function to FTP but use
Secure Shell (SSH) authentication and encryption.
References:
Analysis
of the File Transfer Protocol (FTP)
Briefly describe FTP protocol processes,
detailed steps of active vs. passive FTP.
Active FTP vs. Passive FTP, a Definitive Explanation
The FTP and Your Firewall / NAT / Load-Balancing Router
Describe some problems of FTP, like: why port
poses problems for routing devices, why PASV poses problems for
firewalls, why PASV poses problems for FTP servers on internal
networks, why PASV poses problems for FTP servers behind
load-balancing routers, deadlock - when there are restrictive
firewalls on both sides, problems when the FTP server is listening
on a non-standard port number, problems caused by the firewall
prematurely timing out a valid FTP session.