Лабиринт Internet

Павел Храмцов, Электронинформ, 1996.

Протокол FTPCервер ftpdКлиент ftp

Система файловых архивов FTP


FTP архивы являются одним из основных информационных ресурсов Internet. Фактически это распределенный депозитарий текстов, программ, фильмов, фотографий, аудио записей и прочей информации, хранящейся в виде файлов на различных компьютерах во всем мире. Вся эта информация разделена на три категории: Из выше перечисленных ресурсов наиболее интересными, по понятным причинам, являются две последние категории, которые как правило оформлены в виде FTP архивов.

Технология FTP была разработана в рамках проекта ARPA и была предназначена для обмена большими объемами информации между машинами с различной архитектурой. Главным в проекте было обеспечение надежной передачи, и поэтому с современной точки зрения FTP кажется перегруженным излишними редко используемыми возможностями. Стержень технологии составляет FTP протокол.

Протокол FTP

Наконец настало время расшифровать магическое слово "FTP" -- File Transfer Protocol или просто "Протокол Передачи Файлов". FTP -- один из старейших в Internet и входит в стандарты. Обмен данными в FTP проходит по TCP каналу. Построен обмен по технологии "клиент-сервер".

Модель протокола выглядит следующим образом:


                                +--------------+       +------------+
                                | интерфейс    |-------|пользователь|
                                | пользователя |       +------------+
                                +--------------+
                                       |
          +-------------+       +--------------+
          |интерпретатор| Упр.  | интерпретатор|
          |протокола    |-------| протокола    |
          |сервера      | канал | пользователя |
          +-------------+       +--------------+

          +---------+           +--------------+        +------------+
          |программа|  канал    | программа    |        |            |
     +----|передачи |-----------| передачи     |--------|файловая    |
     |    |данных   |  данных   | данных       |        |система     |
     |    |сервера  |           | пользователя |        |пользователя|
     |    +---------+           +--------------+        +------------+
     |
+---------+
| файловая|
| система |
| сервера |
+---------+
                             Рис.1.

                    Диаграмма протокола FTP.

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

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

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

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

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

Сервер протокола - программа ftpd

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

ftpd [-d] [-1] [-t timeout]

-d -опция отладки.
-1 -опция автоматической идентификации пользователя.
-t -время пассивного ожидания команд пользователя.

Каждый сервер имеет свой help по командам, который можно получить по команде help. Автоматическая идентификация пользователей осуществляется при помощи файла /etc/passwd. Пароль пользователя не должен быть пустым.

Существует специальный файл, в котором содержатся запрещенные пользователи, т.е. те, кому обслуживание по протоколу FTP запрещено. Возможен вход в архив по идентификатору пользователя anonimous или ftp. В этом случае сервер принимает меры по ограничению доступа к ресурсам компьютера со стороны данного пользователя. Обычно для таких пользователей создается специальная директория ftp, в которой размещают каталоги bin,etc и pub. В каталоге bin размещаются команды разрешенные для использования пользователем, а в каталоге pub собственно сами файлы. Каталог etc закрыт для просмотра пользователем, и в нем размещены файлы идентификации пользователей.

Программа обмена файлами -- ftp

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

Команда ftp работает с пользователем и ожидает его команд, то на экране отображается приглашение "ftp>".

Синтаксис команды :

ftp [-v][-d][-i][-n][host]

-v -подавляет ответы сервера и статистику передачи данных.
-n -управляет режимом идентификации пользователя. Если указан этот ключ, то сначала проверяется файл .netrc.
-i -выключает подтверждения передачи файла при массовом копировании файлов.
-d -включает режим отладки.
-g -отключает прозрачность передачи имен.


Вернуться к разделу
"Содержание".