FTP сервис Интернет

Сервис FTP (File Transfer Protocol) позволяет пользователям одной машины получать доступ к файловой системе другой и получать (передавать) файл с машины на машину. FTP является внутреннем протоколом передачи файлов операционной системы UNIX.

FTP является интерфейсом пользователя, реализующий ARPANET стандартный (IP) протокол передачи файлов. Эта программа позволяет пользователю передавать файлы между двумя компьютерами, связанными между собой локальной или глобальной сетью. При этом компьютерные платформы могут быть различных типов, что составляет главную особенность сервиса FTP в Internet.

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

Авторизованный доступ

На конкретной удаленной системе использовать авторизованный доступ имеют право только пользователи этой удаленной системы, после подтверждения своего пользовательского имени (login или user name) и пароля (passwd), то есть после входа в систему (см. Вход в систему). После входа в систему пользователь, как правило, получает доступ к своему домашнему каталогу и ко всем другим файловым ресурсам удаленной системы, к которым он имеет права на доступ.

 В оглавление документа

Анонимный доступ

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

С момента организации анонимного FTP доступа на многих машинах в сети Internet созданы такого типа каталоги (анонимного FTP сервера), которые накопили огромные коллекции (терабайты информации) архивов программных средств, всевозможной документации, художественной литературы, компьютерных фильмов, музыки и дp. Как правило, эта служба на большинстве FTP серверах работает бесплатно, хотя существуют сервера (например, в сети RELCOM), которые предоставляют информацию только своим пользователем.

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

Доступ к FTP серверу, в большинстве операционных систем, как правило, организован через вызов специальной утилиты ftp. Хотя существуют различные программные оболочки, как под UNIX (например, ncftp2), так и под MS Windows (например, Norton Navigator), реализующие протокол FTP и облегчающие работу с этой службой Интернет.

Таким образом, если вы имеете IP-соединение и выход в глобальный Интернет, то вызвав утилиту ftp, набрав соответствующий адрес (или имя FTP-сервера), назвавшись "anonymous" и послав в качестве пароля свой E-mail адрес вы получите доступ к выбранному вами файловому архиву.

Например:

>ftp ftp.ict.nsc.ru
ftp>login: anonymous
ftp>passwd: ваш@email.адрес

Анонимный доступ к FTP серверу можно получить также, используя программу просмотрщик WWW страниц (MS Internet Explorer или Netscape Navigator). К тому же большинство FTP серверов позволяют получать файлы и по электронной почте (см. шлюз FTP/e-mail).

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

Несколько рекомендаций:

  1. Протокол FTP, наряду с протоколом NNTP (Network News Tranafer Protocol), серьезно загружает каналы, соединяющие вас с другими сетями, в связи с этим не злоупотребляйте работой в конце дня, когда траффик в сети максимален.
  2. Используйте инфраструктурные сервисы Internet программы, работающие под UNIX, DOS, MS-Windows и помогающие выбрать лучшим образом FTP сервер, прежде всего, с точки зрения пропускной способности сети. Эти программы - ping, traceroute. Используйте ближайший с точки зрения маршрутизации сервер.
  3. Совершенствуйте свои навыки работы с FTP, так, получив некоторый первоначальный опыт, вы сможете ускорить передачу файлов, например, пользуясь приемами - сжатием "на лету", получение больших объемов в нерабочее время - поздней ночью и/или ранним утром с помощью программы at и/или соответствующих sсript'ов, запуская задачу в фоновом режиме.

 В оглавление документа

Основные термины в протоколе FTP

FTP (File Transfer Protocol - протокол передачи файлов) -
протокол семейства TCP/IP, обеспечивающий возможность найти, получить и переслать нужные файлы через Internet с одного компьютера на другой.
FTP site (ftp-страница) -
компьютер в сети Internet, на котором ведется файловый архив, доступный для удаленных пользователей.
FTP-сервер -
программа, работающая на таком компьютере и обеспечивающая обработку запросов к архиву.
anonymous FTP server -
FTP-сервер, допускающий использование своего файлового архива без паролей доступа.
FTP-клиенты -
программы, используемые для доступа к архивам on-line.

 В оглавление документа

Использование FTP

Для соединение с удаленной FTP-site в ответ на системное приглашение (>) введите:

> ftp [address]|[name]
или
> ftp
ftp> open [address]|[name]
где [address] - адрес, [name] доменное имя удаленной FTP-site, например:
> ftp
ftp> open ftp.ict.ncs.ru

Если удаленная FTP-site не отвергла посланный запрос на соединение, например, по причине перегруженности, она запросит входное имя (login). Как правило, можно ввести ftp или anonymous. Если дополнительно запрашивается пароль (Passwd), обычно нужно ввести свой адрес в Сети (таким образом, термин anonymous не понимается в буквальном смысле, так как для подключения к серверу может быть проведена проверка указанного и реального обратного адреса, а те, у кого anonymous ошибочно ассоциируется с анонимностью, могут всегда пользоваться вместо anonymous именем ftp). Если на данной FTP-site нет запрета доступа для сторонних абонентов, можно обратиться к его архиву.

 В оглавление документа

Основные команды FTP

Некоторые FTP команды могут отличаться в зависимости от типа компьютерной платформы и используемой операционной системы, но в целом это обычные UNIX команды. Вы всегда можете проверить их список набрав 'help' или '?'. Кроме того, если вы работаете в UNIX системе, то как правило, справочная информация о FTP доступна по команде man - наберите 'man ftp' или 'man ftpd'. В manual pages OS UNIX содержатся исчерпывающие данные о командах, и о их синтаксисе.

open -
устанавливает связь с FTP-site. Эта команда нужна, если при вызове программы ftp связь с требуемой FTP-site не была установлена, например, из-за ошибки в названии удаленной машины. Она применяется также при обращении к разным FTP-site во время сеанса работы с ftp. При этом нужно сначала закрыть связь с одной ftp-площадкой с помощью команды close, а затем вызвать другую машину.

Пример:

ftp> open ftp.ict.nsc.ru

user -
позволяет повторно ввести входное имя и пароль. Полезна, скажем, если удаленная машина не допускает пользователей с именем ftp, но может допустить с именем anonymous.

Пример:

ftp> user anonymous
close -
закрывает связь с данной FTP-site

bye или quit.
Закрывает все связи и прекращает выполнение программы ftp.

help или ? -
запрашивает помощь по командам ftp, поддерживаемых на вашей локальной машине. Может иметь параметр - имя интересующей команды. Если параметр не задан, выводит список команд ftp, аналогичный данному описанию, на английском языке.

remotehelp -
запрашивает справку, какие команды ftp поддерживает удаленный FTP сервер.

! [команда[аргументы]]
Выход в shell - интерпретатор на вашей локальной системе.

 В оглавление документа

Просмотр содержимого архива

Как правило удаленный FTP-сервер размещают на компьютере, работающим под какой-либо разновидность ОС Unix. Файловая система Unix по сравнению с MS DOS имеет некоторые особенности. Хотя она организована иерархически, подобно MS-DOS, имена каталогов в ней разделяются символом "/", а не "\". Корневой каталог обозначается просто как "/" (в том числе и корневой каталог FTP сервера).

Имя файла может иметь произвольную (Unix этих ограничений на формат имени файла и, более того, у файла может быть несколько префиксов (расширений), начинающихся с точки, например, file.my.love. И самое главное, в отличие от MS DOS и MS Windows, строчные и прописные буквы в именах файлов считаются различными .

Установив соединение с файловой системой удаленного компьютера, ориентироваться и перемещаться в ней можно, используя стандартные команды с параметрами (ключами) или без параметров операционной системы Unix:

pwd -
Определить текущий каталог на удаленном компьютере.

ls -
Просмотреть краткий список файлов и подкаталогов. В качестве параметра можно задать имя интересующего вас каталога или способ выдачи информации о файлах из каталого. Если параметр каталога не задан, подразумевается текущий каталог. Команда ls с ключом -l дает более подробную информацию, включая размер файлов, их принадлежность и дату создания. У команды ls очень много ключей, но используются довольно часто ключи -l (или -al - выдать полную информацию о файлах).

dir -
Просмотреть детальный список файлов и подкаталогов, т.е. информацию не только об именах, но и размерах, датах и правах доступа. Аналогично команде ls можно задать параметр с именем каталога.

mls -
Поместить краткий список файлов и подкаталогов каталога на удаленной машине в файл на локальном устройстве.

mdir -
Поместить детальный список файлов и подкаталогов каталога на удаленной машине в файл на локальном компьютере.

mkdir -
ftp>mkdir [имя_каталога]
Создать каталог на удаленной машине.

cd -
Перейти в другой каталог на удаленном компьютере.

lcd -
Перейти в другой каталог на локальном компьютере.

Примечание: некоторые программные оболочки, поддерживающие протокол FTP, команды, относящиеся к локальному компьютеру, начинают с символа "!" (! - выход в shell интерпретатор локальной машины), т.е. предыдущая команда lcd может быть эквивалентна команде !cd.

Примеры:

ftp> lcd /pub/doc
ftp> dir internet/example
ftp> mdir /doc/ftp/news_ftp.txt

 В оглавление документа

Установка режимов передачи файлов (все команды без параметров)

ascii -
Устанавливает текстовый режим передачи файлов.

binary или bin -
Устанавливает бинарный режим, необходимый например, для передачи исполняемых файлов.

verbose -
Включает/выключает вывод протокольных и статусных сообщений удаленной машины.

prompt -
Включает/выключает запросы на переход к передаче очередного файла в макрокомандах типа mget *.

 В оглавление документа

Команды передачи файлов

При работе с файлами вы можете, либо указать его полное имя в текущем каталоге (или вместе с путем от корня или от текущего каталога), либо использовать групповую операцию UNIX'а (маску). При задании маски используются правила, принятые в OS UNIX: символ "*" обозначает любое количество символов, стоящих на его месте; символ "?" обозначает один символ, стоящий на его месте (см. форматы файлов в FTP архивах).

get или recv -
ftp>get [удаленный_файл] [локальный_файл]
Получить файл с удаленного компьютера. В качестве обязательного параметра требуется указать имя этого файла на удаленной машине. Допускает второй параметр - новое имя файла на локальном компьютере.
Пример:
ftp> get /pub/winsite/news/win.zip
mget -
ftp>mget [список удаленных_файлов]
Получить несколько файлов по списку или в соответствии с маской. Пример. Получить файл news.txt и все файлы с расширением tex:
ftp> mget news.txt *.tex

put или s -
Переслать файл с локальной машины на удаленную. По аналогии с командой get указывается имя файла на локальном компьютере в качестве параметра. Вторым параметром может быть указано новое имя файла на удаленной машине (по умолчанию сохраняется имя локального файла). Пересылать файлы можно только при авторизованном доступе к FTP архиву или в специально выделенный для этого каталог, как правило, имеющий имя incoming.
Пример:
ftp> put myfile newmyfile.

mput -
Переслать несколько файлов по списку или маске. Пример. Переслать файл myfile.txt и все файлы с расширением doc:
ftp> mput myfile.txt *.doc
delete [имя_файла] -
Стереть файл на удаленной машине (требует авторизованного доступа).

Замечание: Многие UNIX системы позволяют организовать режим "докачки" файлов (reget) после прерванного соединения. К сожалению этот режим не работает под операционными системами MS Windows.

Важный момент: обрыв передачи файлов. Для этого используется команда: Ctrl-C (^C). Команда Ctrl-D (^D) обычно закрывает соединение с удаленным компьютером. Таким же образом следует действовать при получении сообщения о запуске команды shutdown на системе, с которой вы работаете (перезагрузка или выключение компьютера). Однако при этом локальный процесс FTP может остаться на удаленной системе и администратор вынужден "убивать" его вручную, это считается "дурным тоном" в поведении пользователя.

Некоторые серверы допускают выполнение команды 'ls-lR' (рекурсивный вывод всех файлов), либо уже содержат индексные файлы, хотя они могут иметь порой очень большой размер - порядка нескольких МБ. В этих файлах FTP сервера представляют информацию о своем содержании под кодовыми названиями index, fullindex или readme (и т.п.), как в корневом каталоге так и в других. В этих файлах, как правило, содержится каталог (список с краткой аннотацией) файлах из данном каталога или FTP сервера в целом. Прочитав эти файлы, вы сэкономите свое время, требуемое для поиска нужной вам информации и время загрузки сети.

Обычно файлы на серверах хранятся, в архивированном виде (см. форматы архивных файлов) в каталоге /pub.

 В оглавление документа


ИВТ Федотов А.М. Введение в Internet
Документация по Интернет технологиям

Начало создания курса: Mondy, 19-Aug-1996 10:12:15 NOVST
Дата последней модификации: Tuesday, 09-May-2000 16:00:49 NOVST
© 1996 - 2003, А.М.Федотов
© 1996 - 2003, Институт вычислительных технологий СО РАН, Новосибирск