Протокол передачи файлов
До появления службы WWW сетевая файловая служба на основе протокола FTP (File Transfer Protocol — протокол передачи файлов), описанная в спецификации RFC 959, долгое время была самой популярной службой доступа к удаленным данным в Интернете и корпоративных 1Р-сетях. FTP-серверы и FTP-клиенты имеются практически в каждой ОС, кроме того, для доступа ко все еще популярным FTP-архивам используются FTP-клиенты, встроенные в браузеры.
Протокол FTP позволяет целиком переместить файл с удаленного компьютера на локальный, и наоборот. FTP также поддерживает несколько команд просмотра удаленного каталога и перемещения по каталогам удаленной файловой системы. Поэтому FTP особенно удобно использовать для доступа к тем файлам, данные которых нет смысла просматривать удаленно, а гораздо эффективней целиком переместить на клиентский компьютер (например, файлы исполняемых модулей приложений).
В протокол FTP встроены примитивные средства авторизации удаленных пользователей на основе передачи по сети пароля в открытом виде. Кроме того, поддерживается анонимный доступ, не требующий указания имени пользователя и пароля; такой способ доступа часто рассматривается как более безопасный, так как он не подвергает пароли пользователей угрозе перехвата.
Основные модули службы FTP
FTP-клиент состоит из трех основных функциональных модулей.
□ User Interface (аналог агента пользователя) — пользовательский интерфейс, принимающий от пользователя команды и отображающий состояние FTP-сеанса на экране. Пользовательский интерфейс зависит от программной реализации FTP-клиента. Наряду с традиционными клиентами, работающими в символьном режиме, имеются и графические оболочки, не требующие от пользователя знания символьных команд. Символьные клиенты обычно поддерживают следующий основной набор команд:
О open имя_хоста — открытие сеанса с удаленным сервером;
О bye — завершение сеанса с удаленным хостом и завершение работы утилиты ftp; О close — завершение сеанса с удаленным хостом, утилита ftp продолжает работать;
j *'
О Is (dir) — печать содержимого текущего удаленного каталога;
О get имя файла — копирование удаленного файла на локальный хост;
О put имя_файла — копирование удаленного файла на удаленный сервер.
□ User-PI — интерпретатор команд пользователя. Этот модуль взаимодействует с модулем Server-PI FTP-сервера.
□ User-DTP — модуль, осуществляющий передачу данных файла по командам, получаемым от модуля User-PI по протоколу клиент-сервер. Этот модуль взаимодействует с локальной файловой системой клиента.