FTP расшифровывается, как File Transfer Protocol (протокол передачи файлов). Он позволяет вам отсылать и принимать файлы между двумя компьютерами. Один из них FTP сервер, а другой - FTP клиент.
Работает на TCP/IP. Пользователь FTP может вызывать несколько команд, которые позволяют ему посмотреть каталог удаленной машины, перейти из одного каталога в другой, а также скопировать один или несколько файлов.
Для конфигурации запуска по требованию надо в файле /etc/services указать название потока и соответствующий ему номер порта
ftp-data 20/tcp
ftp 21/tcp
А в файле inetd.conf надо указать сетевую службу, ее протокол и вызываемую серверную программу.
# <service> <Sock_type> <proto> <flags> <user> <server_path> <args>
ftp stream tcp nowait root /usr/sbin/ftpd ftpd
Основные компоненты:
Сервер-FTP состоит из интерпретатора команд, процесса передачи данных.
Клиент-FTP состоит из пользовательского интерфейса, интерпретатора команд и процесса передачи данных.
Управляющее соединение: TCP-соединение между интерпретаторами команд сервера и клиента на базе протокола Telnet. Клиент посылает по нему команды; сервер - ответы. Сервер слушает на порту 21 (по умолчанию); клиент инициирует соединение – порт 20. Закрывается сервером по команде клиента.
Кроме протокола ftp, есть протокол tftp (trivial ftp), основанный на UDP.