FTP means File Transfer Protocol. FTP can be used to transfer files from an FTP client (i.e. the software that runs locally on a computer) and an FTP server. FTP runs exclusively over TCP. FTP servers by default listen on port 21 for incoming connections from FTP clients. A connection to this port from the FTP Client forms the control stream on which commands are passed to the FTP server from the FTP client and on occasion from the FTP server to the FTP client.
FTP servers require clients to authenticate using a simple username and password. However many FTP servers allow what is known as anonymous access, whereby users do not need to identify themselves (and enter "anonymous" as their username). FTP uses out-of-band control, which means it uses a separate connection for control and data.
Almost all operating systems come with at least a simple FTP client. For example: Microsoft Windows provides a command line FTP client, which can be used to transfer files to and from an FTP server. With a traditional FTP client individual commands are issued to list files, upload or download individual files. So we have to develop a GUI application which provide a more intuitive interface and allow files to be copied without knowledge of the individual FTP commands.