Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
SET-Lab-06.doc
Скачиваний:
16
Добавлен:
04.05.2019
Размер:
4.18 Mб
Скачать

4.2.3. Модели работы ftp

Простейшая модель работы протокола FTP представлена на рис.4.1.

Рис.4.1. Простейшая модель работы протокола FTP

В FTP соединение инициируется интерпретатором протокола пользователя. Управление обменом осуществляется по каналу управления в стандарте протокола TELNET. Команды FTP генерируются интерпретатором протокола пользователя и передаются на сервер. Ответы сервера отправляются пользователю также по каналу управления. В общем случае пользователь имеет возможность установить контакт с интерпретатором протокола сервера и отличными от интерпретатора протокола пользователя средствами.

Команды FTP определяют параметры канала передачи данных и самого процесса передачи. Они также определяют и характер работы с удаленной и локальной файловыми системами.

Сессия управления инициализирует канал передачи данных. При организации канала передачи данных последовательность действий другая, отличная от организации канала управления. В этом случае сервер инициирует обмен данными в соответствии с согласованными в сессии управления параметрами.

Канал данных устанавливается для того же хоста, что и канал управления, через который ведется настройка канала данных. Канал данных может быть использован как для приема, так и для передачи данных.

Алгоритм работы протокола FTP состоит в следующем.

  1. Сервер FTP использует в качестве управляющего соединение на TCP порт 21, который всегда находится в состоянии ожидания соединения со стороны пользователя FTP.

  2. После того, как устанавливается управляющее соединение модуля "Интерпретатор протокола пользователя (ИПП)" с модулем сервера "Интерпретатор протокола сервера (ИПС)", пользователь (клиент) может отправлять на сервер команды. FTP-команды определяют параметры соединения передачи данных: роль участников соединения (активный или пассивный), порт соединения (как для модуля "Программа передачи данных пользователя (ППДП)", так и для модуля "Программа передачи данных сервера (ППДС)"), тип передачи, тип передаваемых данных, структуру данных и управляющие директивы, обозначающие действия, которые пользователь хочет совершить (например, сохранить, считать, добавить или удалить данные или файл и другие).

  3. После того, как согласованы все параметры канала передачи данных, один из участников соединения, который является пассивным (например, ППДП), становится в режим ожидания открытия соединения на заданный для передачи данных порт. После этого активный модуль (например, ППДС) открывает соединение и начинает передачу данных.

  4. После окончания передачи данных, соединение между ППДС и ППДП закрывается, но управляющее соединение ИПС и ИПП остается открытым. Пользователь, не закрывая сессии FTP, может еще раз открыть канал передачи данных.

Возможна ситуация, когда данные могут передаваться на третью машину. В этом случае пользователь организует канал управления с двумя серверами и прямой канал данных между ними. Команды управления идут через пользователя, а данные – напрямую между серверами. Канал управления должен быть открыт при передаче данных между компьютерами. Иначе (в случае его закрытия) передача данных прекращается.

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

  1. Модуль ИПП указал модулю сервера 1 ИПС-1  работать в пассивном режиме, после чего модуль ИПС-2  отправил пользователю адрес и номер порта (N), который он будет слушать.

  2. Модуль ИПП назначил модуль сервера 1 ИПС-1  в качестве активного участника соединения и указал ему передавать данные на хост ИПС-2  на порт (N).

  3. ИПП подал команду ИПС-2 "сохранить поступившие данные в таком-то файле", а ИПС-1 - "передать содержимое такого-то файла".

  4. Между модулями ИПС-1 и ИПС-2 образуется поток данных, который управляется клиентским хостом.

На рис.4.2 приведена схема организации передачи данных между двумя FTP-серверами. Здесь использованы следующие обозначения: User PI – ИПП; Server1(2) – ИПС-1 (2).

Рис.4.2. Схема организации передачи данных между двумя FTP-серверами

Описание схемы дано в табл.5 с обозначениями: S – сервер, U – пользователь.

Таблица 5. Описание схемы

<TBODY>User PI (U)  Server1 (S1)

User PI (U)  Server2 (S2)

U  S1: Connect

U  S1: PASV

U  S1: 227 Entering Passive Mode.

A1, A2, A3, A4, a1, a2

U  S2 Connect

U  S2: PORT A1, A2, A3, A4, a1, a2

 

U  S2: 200 Okay

U  S1: STOR ...

U  S2: RETR ...

S1  S2: Connect ...</TBODY>

Основу передачи данных FTP составляет механизм установления соединения между соответствующими портами и выбора параметров передачи. Каждый участник FTP-соединения должен поддерживать порт передачи данных по умолчанию. По умолчанию ППДП использует тот же порт, что и для передачи команд (обозначим его "U"), а ППДС использует порт L-1, где "L" – управляющий порт. Однако, участниками соединения используются порты передачи данных, которые выбрал для них ИПП, поскольку из управляющих процессов участвующих в соединении, только ИПП может изменить порты передачи данных как у ППДП, так и у ППДС.

Пассивная сторона соединения должна до того, как будет подана команда "начать передачу", "слушать" свой порт передачи данных. Активная сторона, подающая команду к началу передачи данных, определяет направление перемещения данных.

После того, как соединение установлено, между ППДС и ППДП начинается передача. Одновременно по каналу ИПС-ИПП передаются уведомления о получении данных. Протокол FTP требует, чтобы управляющее соединение было открыто, пока по каналу обмена данными идет передача. Сессия FTP считается закрытой только после закрытия управляющего соединения.

Как правило, FTP-сервер ответственен за открытие и закрытие канала передачи данных. FTP-cервер должен самостоятельно закрыть канал передачи данных в следующих случаях:

  • сервер закончил передачу данных в формате, который требует закрытия соединения;

  • сервер получил от пользователя команду "Прервать соединение";

  • пользователь изменил параметры порта передачи данных;

  • было закрыто управляющее соединение;

  • возникли ошибки, при которых невозможно возобновить передачу данных.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]