news
Новый дата-центр TOR3 в Канаде
БС
Борислав Сухарев
6 октября 2022
Обновлено 24 октября 2022

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".