70789

FTP – протокол передачи файлов

Лабораторная работа

Информатика, кибернетика и программирование

Управляющее соединение устанавливается клиентом. Сервер ждет входящих соединений от клиентов на TCP-порте. По этому соединению передаются команды клиента, которые задают действия, которые должен выполнить сервер, и ответы сервера на эти команды.

Русский

2014-10-27

172.61 KB

1 чел.

Тема 7: FTP –протокол передачи файлов

Общие сведения

Протокол FTP (RFC-959) обеспечивает файловый обмен между различными сетевыми хостами. FTP формировался многие годы. Первые реализации относятся к 1971 г. (RFC-114 и 141). RFC-172 рассматривает протокол, ориентированный на пользователя, и предназначенный для передачи файлов между ЭВМ. Позднее в документах RFC-265 и RFC-281 протокол был усовершенствован. Заметной переделке протокол подвергся в 1973 г., окончательный вид он обрел в 1985 году. Таким образом, данный протокол является одним из старейших.

Цели FTP:

  1.  Обеспечение обмена файлами (компьютерными программами или данными) между компьютерами.
  2.  Косвенное использование (посредством программ) удаленных ЭВМ.
  3.  Пользователь должен быть огражден от различий в формате хранения файлов на различных ЭВМ и в различных операционных системах.
  4.  FTP должен передавать данные надежно и эффективно.

Работа по протоколу FTP состоит из следующих этапов:

  1.  Идентификация (ввод имени-идентификатора и пароля).
  2.  Выбор каталога.
  3.  Определение режима передачи.
  4.  Выполнение команд передачи.
  5.  Завершение сеанса связи.

Для взаимодействия между клиентом и сервером используется не одно соединение, как в большинстве классических прикладных протоколов в Internet, а два: управляющее соединение (controlconnection) и соединение для передачи данных (dataconnection”).

Управляющее соединение устанавливается клиентом. Сервер ждет входящих соединений от клиентов на TCP-порте . По этому соединению передаются команды клиента, которые задают действия, которые должен выполнить сервер, и ответы сервера на эти команды.

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

FTP может работать в двух различных режимах: в активном (activemode) и пассивном (passivemode). Эти два режима отличаются направлением открытия соединения для передачи данных. В активном режиме клиент информирует сервер, что он ждет от него входящего соединения на указанном порте, по которому клиент будет отправлять или принимать файлы, и соединение инициируется сервером. В пассивном режиме клиент отправляет запрос серверу, чтобы тот ждал от него входящее соединение; сервер сообщает клиенту адрес и номер порта, после чего клиент инициирует соединение, по которому он будет отправлять и принимать файлы.

Файлы могут передаваться в трех различных режимах (transfermodes): поточный режим (Sstream), блочный режим (Bblock), режим со сжатием (Ccompressed). Последние два формата в настоящее время практически не применяются.

Файлы могут быть представлены в различных форматах (representationtypes): двоичный режим (Iimage), текстовый режим (AASCII), EBCDIC  (E- ExtendedBinaryCodedDecimalInterchangeCode). Последний режим в настоящее время практически не используется.

Команды FTP состоят из ключевых слов длиной 3 или 4 символа, за которыми могут следовать аргументы. Каждая команда завершается парой символов CR и LF. Список основных команд протокола FTP приведен в таблице.

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

Коман-да

Название

Описание

USER

User name

Передача имени пользователя

PASS

Password

Передача пароля пользователя

ACCT

Account

Передача счета пользователя

CWD

Change working directory

Переход в указанный каталог

CDUP

Change to parent directory

Переход в вышестоящий каталог

REIN

Reinitialize

Отмена регистрации текущего пользователя, возможность передать серверу новое имя пользователя и пароль

QUIT

Logout

Команда QUIT завершает сеанс связи клиента с сервером

PORT

Data port

Переход в активный режим, сообщение серверу адреса и номера порта

PASV

Passive

Переход в пассивный режим

TYPE

Representation type

Выбор формата пересылаемых файлов (representation type – Image, ASCII, EBCDIC)

MODE

Transfer mode

Выбор режима передачи (transfer mode –Stream, Block, Compressed)

RETR

Retrieve

Запрос на получение файла с указанным именем

STOR

Store

Запрос на отправку файла с указанным именем

STOU

Store unique

Запрос на отправку файла с уникальным именем

APPE

Append with create

Отправка файла с дозаписью его к существующему файлу

ALLO

Allocate

Резервирование места на диске

REST

Restart

Восстановление передачи с указанной позиции

RNFR

Rename from

Переименование файла –указание старого имени

RNTO

Rename to

Переименование файла –указание нового имени

ABOR

Abort

Отмена передачи файла

DELE

Delete

Удаление файла

RMD

Remove directory

Удаление каталога

MKD

Make directory

Создание каталога

PWD

Print working directory

Сообщение имени текущего каталога

LIST

List

Передача информации о содержании каталога

NLST

Name list

Передача списка файлов в каталоге

SITE

Site parameters

Передача дополнительных параметров, характерных для данного сервера

SYST

System

Запрос названия операционной системы на сервере

STAT

Status

Запрос информации о сервере

HELP

Help

В ответ на эту команду сервер может сообщить клиенту справочную информацию, например, список поддерживаемых команд или информацию по указанной команде.

NOOP

No operation

NOOP не оказывает влияния на какие-либо параметры или результаты предшествующих команд, эта команда только вынуждает получателя послать положительный ответ. Может использоваться, например, для проверки работоспособности TCP-соединения.

Классификация кодов ответов на FTP-команды

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

Ответ сервера может состоять из нескольких строк. В этом случае в первой строке ответа после трехзначного числа следует не пробел, а минус (“-“). Все следующие строки –это простые текстовые строки без числового префикса (еще одно отличие от SMTP), а последняя строка ответа должна опять начинаться на тот же самый трехзначный числовой код, после которого (через пробел) следует текстовый комментарий.

Каждая из трех цифр в ответе сервера имеет свое собственное значение. Первая цифра (X) указывает на результат выполнения команды: была ли команда выполнена или не выполнена или же требуются дополнительные данные. Вторая цифра (Y) указывает категорию ответа сервера. Третья цифра (Z) конкретизирует ответ сервера, указывая на конкретный результат выполнения команды.

По результату выполнения команды ответы сервера можно классифицировать следующим образом:

Код

Название

Комментарии

1YZ

Положительный предварительный ответ (Positive Preliminary reply)

Команда была принята, выполнение запрошенного действия было начато, но не завершено. Клиент не должен посылать другие команды до завершения выполнения запрошенного действия, пока сервер не сообщит ему об этом другим кодом ответа. Сервер может отправлять не более одного ответа с кодом 1YZ в ответ на каждую команду клиента.

2YZ

Положительный окончательный ответ (Positive Completion reply)

Запрошенное действие было успешно выполнено. Клиент может отправлять новый запрос серверу.

3YZ

Положительный промежуточный ответ (Positive Intermediate reply)

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

4YZ

Временный ответ об отказе (Transient Negative Completion reply)

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

5YZ

Финальный ответ об отказе (Permanent Negative Completion reply)

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

Категории ответов сервера, определяемые по второй цифре кода ответа сервера:

Код

Название

Комментарии

X0Z

Синтаксис (Syntax)

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

X1Z

Информация (Information)

В эту категорию входят информационные сообщения (например, информация о статусе сервера или ответ на команду HELP).

X2Z

Соединение (Connections)

Сообщения, относящиеся к управляющему соединению или к соединению передачи данных.

X3Z

Authentication and accounting

Ответы на команды процедуры логина.

X4Z

Эта категория в FTP не используется

X5Z

Файловая система (File system)

В эту категорию включены ответы сервера, относящиеся непосредственно к файловой системе и передаче файлов.

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

Код

Значение

200

Command okay.

500

Syntax error, command unrecognized.

501

Syntax error in parameters or arguments.

202

Command not implemented, superfluous at this site.

502

Command not implemented.

503

Bad sequence of commands.

504

Command not implemented for that parameter.

110

Restart marker reply.

211

System status, or system help reply.

212

Directory status.

213

File status.

214

Help message.

215

NAME system type. Where NAME is an official system name from the list in the Assigned Numbers document.

120

Service ready in nnn minutes.

220

Service ready for new user.

221

Service closing control connection. Logged out if appropriate.

421

Service not available, closing control connection.

125

Data connection already open; transfer starting.

225

Data connection open; no transfer in progress.

425

Can't open data connection.

226

Closing data connection. Requested file action successful

426

Connection closed; transfer aborted.

227

Entering Passive Mode (h1,h2,h3,h4,p1,p2).

230

User logged in, proceed.

530

Not logged in.

331

User name okay, need password.

332

Need account for login.

532

Need account for storing files.

150

File status okay; about to open data connection.

250

Requested file action okay, completed.

257

"PATHNAME" created.

350

Requested file action pending further information.

450

Requested file action not taken. File unavailable (e.g., file busy).

550

Requested action not taken. File unavailable (e.g., file not found, no access).

451

Requested action aborted. Local error in processing.

551

Requested action aborted. Page type unknown.

452

Requested action not taken. Insufficient storage space in system.

552

Requested file action aborted. Exceeded storage allocation

553

Requested action not taken. File name not allowed.


 

А также другие работы, которые могут Вас заинтересовать

19704. «Братья Карамазовы»: проблема замысла, место глав «Бунт» и «Великий Инквизитор» в романе 33 KB
  Братья Карамазовы: проблема замысла место глав Бунт и Великий Инквизитор в романе. В романе мы видим целую галерею образов. Отец и сыновьяэто разные стороны русского характера. Фёдор Павлович отец братьев Карамазовых. Это человек прошлого бывший крепостник о
19705. Творческий путь Толстого 40 KB
  Творческий путь Толстого Толстой происходил из знатной дворянской семьи. Толстой родился в родовом имении Ясная Поляна в Тульской губернии. в 1844 г. поступил в Казанский университет где учился сначала на восточном факультете затем на юридическом. В студенческие годы
19706. Поэтика ранних произведений Толстого 33.5 KB
  Поэтика ранних произведений Толстого. Как и все произведения Л.Н.Толстого трилогия €œДетство. Отрочество. Юность€ явилась по сути воплощением большого количества замыслов и начинаний. В ходе работы над произведением писатель тщательно оттачивал каждую фразу каждую ...
19707. «Анна Каренина»: источники замысла, поэтика, проблематика. Новые черты в художественном мире Толстого 39 KB
  Анна Каренина: источники замысла поэтика проблематика. Новые черты в художественном мире Толстого. После окончания работы над романом Война и мир Лев Николаевич увлекся проблемами семьи и брака. Окружающая его действительность давала много материала о семейно...
19708. Толстовство 30 KB
  Толстовство Толстовство группа синкретических сект христианского происхождения. Зародилась в конце 80х годов XIX в. в русской крестьянской среде под влиянием идей духоборчества и учений Л. Н. Толстого. Окончательно сформировалась в начале XX в. Толстовство возникло в Р
19709. Позднее творчество Толстого 49 KB
  Позднее творчество Толстого. К концу 70х началу 80х годов XIX века в мировоззрении Толстого наступил перелом подготовленный всем ходом исторического развития пореформенной России. В это время Толстой окончательно порывает со своим классом и переходит на позиции патри
19710. Роман «Воскресенье»: проблематика, поэтика 38.5 KB
  Роман Воскресенье: проблематика поэтика. Роман Воскресение сюжет которого Толстому был подсказан известным адвокатом А. Ф. Кони создавался в течение десяти лет. За это время Толстым был накоплен огромный материал связанный с деятельностью революционеров. В эти го
19711. Творческий путь Чехова 26 KB
  Творческий путь Чехова. Став студентом медицинского факультета Московского университета Чехов выступал под различными псевдонимами. Чехов уже с 1880 г. начал помещать рассказы фельетоны юморески мелочишки под псевдонимом Антоша Чехонте или его вариантами или сов...
19712. Жанр рассказа в творчестве Чехова 30.5 KB
  Жанр рассказа в творчестве Чехова. Чехов создал рассказ как самостоятельный и полноценный жанр и доказал что прозаический микромир может вместить в себя беспредельность. Тот или иной рассказ Чехова нетрудно превратить в роман ибо в нем достаточно материала для романа....