Компьютерные сети. Принципы, технологии, протоколы (Олифер, Олифер) - страница 696

FTP-сервер включает два модуля.

□ Server-PI — модуль, который принимает и интерпретирует команды, передаваемые по сети модулем User-PI.

□ Server-DTP — модуль, управляющий передачей данных файла по командам от модуля Server-PI. Взаимодействует с локальной файловой системой сервера.

Управляющий сеанс и сеанс передачи данных

FTP-клиент и FTP-сервер поддерживают параллельно два сеанса — управляющий сеанс и сеанс передачи данных. Управляющий сеанс открывается при установлении первоначального FTP-соединения клиента с сервером, причем в течение одного управляющего сеанса может последовательно выполняться несколько сеансов передачи данных, в рамках которых передаются или принимаются несколько файлов.

Общая схема взаимодействия клиента и сервера выглядит следующим образом.

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

2. После установления управляющего соединения FTP-клиент отправляет на сервер команды, которые уточняют параметры соединения: имя и пароль клиента, роль участников соединения (активная или пассивная), порт передачи данных, тип передачи, тип передаваемых данных (двоичные данные или код ASCII), директивы на выполнение действий (читать файл, писать файл, удалить файл и т. п.).

3. После согласования параметров пассивный участник соединения переходит в режим ожидания открытия соединения на порт передачи данных. Активный участник инициирует это соединение и начинает передачу данных.

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

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

Команды взаимодействия FTP-клиента с FTP-сервером

В протоколе FTP предусмотрены специальные команды для взаимодействия FTP-клиента с FTP-сервером (не следует их путать с командами пользовательского интерфейса клиента, ориентированные на применение человеком). Эти команды делятся на три группы.

□ Команды управления доступом к системе доставляют серверу имя и пароль клиента, изменяют текущий каталог на сервере, повторно инициализируют, а также завершают управляющий сеанс.

□ Команды управления потоком данных устанавливают параметры передачи данных. Служба FTP может применяться для передачи разных типов данных (код ASCII или двоичные данные), работать как со структурированными данными (файл, запись, страница), так и с неструктурированными.