Программирования сетевых взаимодействий в Java. Сухов С.А. - 17 стр.

UptoLike

Составители: 

17
управления передачей –«User-PI» и модуля, осуществляющего передачу
«User-DTP».
Как видно из рисунка, FTP поддерживает сразу два канала соединения
канал передачи команд (и статусов их обработки) и канал передачи данных.
Канал передачи данных может использоваться для передачи как в одном, так и
в другом направлениях, кроме того, он может закрываться и открываться по
командам управляющих модулей в процессе работы. Канал передачи команд
открывается с установлением соединения и используется только для передачи
команд и ответов их обработки.
Алгоритм работы протокола FTP
Алгоритм работы протокола FTP (рис. 2.1) состоит в следующем:
1. Сервер FTP использует в качестве управляющего соединение на TCP
порт 21, который всегда находится в состоянии ожидания соединения со стороны
FTP-клиента.
2. После того как устанавливается соединение модуля «User-PI» с модулем
сервера – «Server-PI», клиент может отправлять на сервер команды
. FTP-команды
определяют параметры соединения передачи данных: роль участников
соединения (активный или пассивный), порт соединения (как для User-DTP, так и
для Server-DTP), тип передачи, тип передаваемых данных, структуру данных и
управляющие директивы, обозначающие действия, которые пользователь хочет
совершить, например, сохранить, считать, добавить или удалить данные или файл
и др.
3. После того как
согласованы все параметры канала передачи данных, один
из участников соединения, который является пассивным (например, клиентский
модуль User-DTP), становится в режим ожидания открытия соединения на
заданный для передачи данных порт. После этого активный модуль (например,
Server-DTP) открывает соединение и начинает передачу данных.
4. После окончания передачи данных, соединение между «Server-DTP» и
«User-DTP» закрывается, но управляющее
соединение «Server-PI» – «User-PI»
остается открытым. Пользователь, не закрывая сессии FTP, может еще раз
открыть канал передачи данных, передать необходимую информацию и т. д.
2.1.2. Сложная модель работы FTP
FTP может использоваться не только при передаче файлов между
клиентом и сервером, но и между двумя FTP-серверами, ни один из которых не
расположен на локальном хосте пользователя (рис. 2.2).
Для этого пользователь сначала устанавливает управляющие соединения
с двумя FTP-серверами, а затем устанавливает между ними канал передачи дан-
ных. В этом случае управляющая информация передается через модуль «User-
PI», но данные транслируются через канал «Server1-DTP» – «Server2-DTP».