FTP
FTP (File Transfer Protocol) — это протокол передачи файлов по сети, созданный еще в 1971 году.
Работает данный протокол в режиме "Клиент — Сервер" и он является прикладным, на ряду с такими протоколами как : HTTP; SMTP; DNS.
На сервере имеется файловая система, являющаяся структурой каталогов, в которой находятся файлы.
Принцип работы FTP
FTP для адресации файлов использует URL (uniform resource locator), разберем как он это делает:
К примеру, у нас есть URL ссылка, которая позволяет скачать документ с нашего файлового сервера (пример ftp://serverspace.ru/host/doc/readme.txt). URL состоит из 3 частей.
- Первая часть - идентификатор протокола ftp — [ftp://serverspace.ru/host/doc/readme.txt] .
- Вторая часть - наименование нашего сервера используя DNS имя, или его ip адрес — [ftp://serverspace.ru/host/doc/readme.txt].
- Третья часть - это путь к файлу в файловой системе сервера — [ftp://serverspace.ru/host/doc/readme.txt]
В отличии от других протоколов прикладного уровня, FTP использует два соединения:
- Управляющее соединение, работающее по порту 21
- Соединение для передачи данных, работающее по протоколу 20 в активном режиме.
В активном режиме FTP инициатором установки соединения для передачи данных является сервер, в этом случае будет использован порт 20 на сервере, а со стороны клиента используются порты от 1024.
В пассивном режиме FTP инициатором установки соединения для передачи данных выступает клиент, в этом режиме используются порты от 1024.
Клиент, подключаясь к серверу, получает возможность взаимодействовать с файловой системой, переходить по каталогам, копировать данные и выполнять другие операции файловой системы.
Аутентификация
Протокол FTP требует от пользователя пройти аутентификацию. Необходимо ввести имя пользователя и пароль, после чего пользователь получит доступ к тем каталогам, которые приписаны к пользователю аутентификации.
Еще один способ аутентификации к серверу выступает анонимный пользователь. Для его авторизации требуется ввести имя пользователя "ftp ; anonymous" и пароль (паролем может выступать как логин, так и ваша почта). У анонимных пользователей много ограничений, и доступ разрешен исходя из настроек анонимного пользователя.
FTP в наше время
Сейчас данный протокол используется реже, из-за проблемы безопасности. Идентификатор пользователя и пароль передаются по сети в открытом виде, в том числе и данные. Многие компании перешли с FTP на другие протоколы, основанные на SSH (SFTP, SCP), он подойдет для локальной сети, к примеру для передачи фильмов с компьютера на телевизор внутри сети, где компьютер будет выступать сервером.
Для создания собственного сервера FTP, вам потребуется любой персональный компьютер с установленной операционной системой Windows, Linux, MacOS.
MacOS и Windows поддерживают возможность выступать в роли сервера FTP, но для этого необходимо в настройках системы включить параметры FTP/SFTP.
На операционной системе Linux потребуется установить и настроить пакет "vsFTPd".