An FTP server is computer software consisting of one or more programs that can execute commands given by remote client(s) such as receiving, sending, deleting files, creating or removing directories, etc. The software may run as a software component of a program, as a standalone program or even as one or more processes (in the background).
An FTP server plays the role of a server in a client–server model using the FTP and/or the FTPS and/or the SFTP network protocol(s).[citation needed]
An FTP server can also be intended as a computer that runs an FTP server program to host collections of files. Big FTP sites can be run by many computers in order to be able to serve the desired maximum number of clients connected to servers.
A client program connects to an FTP server, then, unless anonymous access is enabled, it has to authenticate itself by sending username and password; after that it can retrieve and/or send files to the server along with other operations (depending on user's privileges).[1]