Протокол FTP

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

Первый стандарт – RFC-114 (File Transfer Protocol A.K. Bhushan Apr-10-1971).

Последняя версия – RFC-959 (File Transfer Protocol J. Postel, J.K. Reynolds Oct-01-1985).

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

1. Управляющее соединение – соединение для посылки команд серверу и получения ответов от него.

Для организации такого соединения используется протокол Telnet. Telnet-соединение устанавливается в один шаг – посылка запроса и ожидание ответа, получение которого свидетельствует о возможности передачи команд FTP.

Канал управления существует на протяжении всей FTP-сессии и закрывается после завершения информационного обмена.

2. Соединение данных – соединение для передачи файлов.

Передача файлов после установленного Telnet-соединения осуществляется через логическое соединение, организуемое протоколом TCP, который проверяет доступность портов, закрепленных за FTP.

Канал данных формируется и ликвидируется по мере необходимости.

Протокол FTP предусматривает два возможных режима установления связи для обмена файлами:

o активный режим;

o пассивный режим.

Активный режим

Действия клиента и сервера:

1. Клиент устанавливает связь и посылает с нестандартного порта N (N>1024) запрос на 21 порт сервера;

2. Сервер посылает ответ на порт N клиента;

3. Сервер устанавливает связь для передачи данных по порту 20 на порт клиента N+1.


Рис. 1.2. Пример установления связи для обмена файлами в активном режиме

Активный режим выгоден для FTP-сервера, но вреден для клиента. Так как FTP сервер пытается соединиться со случайным высоким (по номеру) портом на клиенте, то такое соединение может быть блокировано брандмауэром на стороне клиента.

Пассивный режим

Действия клиента и сервера:

1. Клиент устанавливает связь и посылает запрос (сообщает, что надо работать в пассивном режиме) на 21 порт сервера с нестандартного порта N (N>1024);

2. Сервер назначает нестандартный порт P для канала данных (P>1024) и посылает на порт N клиента ответ, в котором сообщает номер порта P;

3. Клиент устанавливает связь для передачи данных по порту N+1 на порт сервера P.


Рис. 1.3. Пример установления связи для обмена файлами в пассивном режиме

Пассивный режим выгоден для клиента, но вреден для FTP-сервера. Клиент будет делать два соединения к серверу, при этом второе будет к случайному высокому порту. Такое соединение может быть блокировано брандмауэром на стороне сервера.

Рис. 1.4. Схема соединения по протоколу FTP в активном режиме

Работа FTP на пользовательском уровне при передаче файлов содержит несколько этапов:

1. Идентификация (ввод имени-идентификатора и пароля);

2. Выбор каталога;

3. Определение режима обмена:

o передача файлов в текстовом виде;

o передача файлов в бинарном виде;

4. Выполнение команд обмена;

5. Завершение работы.

Протокол FTP определяет запрос-ответный способ взаимодействия между программой-клиентом и программой-сервером.

Примеры команд и сеансов работы с FTP-сервером: прил. 1.1, прил. 1.2, прил. 1.3, прил. 1.4, прил. 1.5, прил. 1.6.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: