FTP

Материал из Викиреальностя
Перейти к: навигация, поиск

()

Как создать FTP-сервер

FTP (File Transfer Protocol) — сетевой протокол, предназначен для передачи файлов в компьютерных сетях. Протокол FTP позволяет подключаться к серверам FTP, просматривать содержимое каталогов и загружать файлы с сервера или на сервер.

Содержание

[править] Описание работы протокола

FTP-протокол реализует два соединения между клиентом и FTP-сервером, которые несут на себе различную нагрузку. Первое соединение называется управляющим (control connection) и предназначено для процедуры аутентификации клиента на FTP-сервере, перемещения в дереве каталогов FTP-сервера и т. п. Второе соединение, предназначено для передачи данных (data connection) и используется для получения списка, передачи или приема файлов сервера.

Существует два режима работы протокола FTP — активный и пассивный. Управляющее соединение одинаково для обоих режимов. Главное отличие между активным и пассивным режимами — это сторона, которая открывает соединение для передачи данных. В активном режиме, клиент должен принять соединение от FTP-сервера, в пассивном же — клиент всегда инициирует соединение.[1]

FTP отличается от других приложений тем, что он использует два TCP соединения для передачи файла:[2]

  • Управляющее соединение устанавливается как обычное соединение клиент-сервер. Сервер осуществляет пассивное открытие на заранее известный порт FTP и ожидает запроса на соединение от клиента. Клиент осуществляет активное открытие на TCP порт 21, чтобы установить управляющее соединение.
  • Управляющее соединение существует все время, пока клиент общается с сервером. Это соединение используется для передачи команд от клиента к серверу и для передачи откликов от сервера. Тип IP сервиса для управляющего соединения устанавливается для получения «минимальной задержки», так как команды обычно вводятся пользователем.

Соединение данных открывается каждый раз, когда осуществляется передача файла между клиентом и сервером. Тип сервиса IP для соединения данных должен быть «максимальная пропускная способность», так как это соединение используется для передачи файлов.

В общем случае формат адреса FTP-ресурса имеет вид ftp://<user>:<password>@<host>:<port>/<url-path> Для обращения к серверам общего доступа в качестве имени пользователя достаточно указать anonymous, а в качестве пароля — свой почтовый адрес или не указывать его вовсе. Для анонимного FTP в url принят упрощенный синтаксис: ftp://<host>/<url-path>[3]

В FTP, как и в HTTP, существуют коды ответов, сигнализирующие об ошибках или об успешном выполнении команды.

[править] Безопасность

FTP передаёт пароли в открытом виде, поэтому этот протокол нельзя назвать безопасным.[4] Поэтому часто применяется SFTP — отдельный протокол, основанный на SSH. Его преимуществом является способность использовать защищенное соединение для передачи файлов и навигации по файловой системе на обеих системах — локальной и удаленной.[5]

Для использования данного метода передачи данных требуется SSH-логин, который хостинг-компании предоставляют с неохотой, особенно если используется виртуальный хостинг.[6]

[править] FTP-клиенты и серверы

[править] Примечания

FTP относится к теме «Интернет»   ±