Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция_7.docx
Скачиваний:
5
Добавлен:
19.11.2019
Размер:
349.83 Кб
Скачать

Существуют два варианта использования протокола ftp:

1.Пересылка файлов между двумя компьютерами, к которым у пользователя есть доступ (имя и пароль).

2.Анонимный (или гостевой) вариант использования протоколов FTP, который предусматривает вход на FTP – сервер без пароля и логина.

Протокол FTP относится к протоколам прикладного уровня и для передачи данных использует транспортный протокол TCP. Команды и данные, в отличие от большинства других протоколов передаются по разным портам. Порт 20 используется для передачи данных, порт 21 для передачи команд. В случае, если передача файла была прервана по каким-либо причинам, протокол предусматривает средства для «докачки» файла, что бывает очень удобно при передаче больших файлов.

Алгоритм работы протокола FTP

Работа FTP на пользовательском уровне содержит несколько этапов:

1.

Идентификация (ввод имени-идентификатора и пароля).

2.

Выбор каталога.

3.

Определение режима обмена (поблочный, поточный, ASCII или двоичный).

4.

Выполнение команд обмена (get, mget, dir, mdel, mput или put).

5.

Завершение процедуры (quit или close).

FTP довольно необычная процедура, так как поддерживает две логические связи между ЭВМ (Рис. 1). Одна связь служит для удаленного доступа и использует протокол Telnet. Другая связь предназначена для обмена данными. Сервер производит операцию passive open для порта 21 и ждет соединения с клиентом. Клиент осуществляет операцию active open для порта 21. Канал остается активным до завершения процедуры FTP. TOS (тип IP-сервиса) соответствует минимуму задержки, так как этот канал используется для ручного ввода команд. Канал для передачи данных (TCP) формируется каждый раз для пересылки файлов. Канал открывается перед началом пересылки и закрывается по коду end_of_file (конец файла). IP-тип сервиса (TOS) в этом случае ориентирован на максимальную пропускную способность.

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

Схема взаимодействия различных частей Internet при работе FTP изображена на рис.1.

Сначала по запросу клиента формируется канал управления, который в дальнейшем используется для передачи команд от клиента и откликов от сервера. Информационный канал формируется сервером по команде клиента, он не должен существовать постоянно на протяжении всей FTP-сессии и может формироваться и ликвидироваться по мере необходимости. Канал управления может быть закрыт только после завершения информационного обмена. Для канала управления используется протокол Telnet. После того как управляющий канал сформирован, клиент может посылать по нему команды. Сервер воспринимает, интерпретирует эти команды и передает отклики.

Рис. 1 Схема работы протокола FTP (порт управления – 21, порт передачи данных - 20).

Любая команда обмена выполняется в несколько этапов:

  1. Формирование канала под управлением клиента, так как именно клиент выдал команду get, dir, put и т.д.

  2. Клиент выбирает произвольный номер порта на своей ЭВМ и осуществляет процедуру passive open для этого порта.

  3. Клиент посылает номер порта серверу по каналу управления (порт 21), используя команду PORT. Можно обойтись и без команды PORT (используется тот же порт, что и в командном канале), но это увеличивает задержки и по этой причине не рекомендуется.

  4. Сервер получает номер порта по каналу управления и выдает команду active open в указанный порт ЭВМ-клиента. Сервер для канала данных всегда использует порт с номером 20.

Остановимся только на наиболее общих и полезных, на наш взгляд, для практической работы, командах FTP:

Команда

Описание

! [команда[аргументы]]

Выход в shell - интерпретатор на локальной системе.

dir [удаленная_директория] [локальный_файл] ls [удаленная_директория] [локальный_файл]

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

get [удаленный_файл] [локальный_файл]

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

mget [удаленные_файлы]

Для получения нескольких файлов

hash

Служит переключателем для индикации каждого полученного блока данных в 1024 байта, повышает наглядность процедуры.

cd [удаленная_директория]

Сменить директорию. Существуют также 'cdup' или 'cd' для возврата на один или выше

lcd

Меняет рабочую директорию на локальной машине (без аргумента - переход в домашнюю директорию пользователя)

bin (или binary)

Переключает в режим передачи двоичных файлов

ascii

Переключает в режим передачи текстовых файлов (обычно по умолчанию).

prompt

Переключает интерактивную подсказку. Часто при использовании команды 'mget' желательно предварительно набрать 'prompt', чтобы не давать многократные подтверждения.

pwd

Выводит имя удаленной рабочей директории.

mkdir [имя_директории]

Создает директорию на удаленной машине

open хост [порт]

Устанавливает соединение с заданным FTP сервером

put [локальный_файл] [удаленный_файл]

Пересылает файл на удаленную систему. Если имя удаленного файла не указано, то оно совпадает с именем на локальной системе.

quit

Синоним для 'bye'

recv [удаленный_файл] [локальный_файл]

Синоним для команды 'get'

reget [удаленный_файл] [локальный_файл]

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

delete [удаленный_файл]

Стирает удаленный файл

close

Обрывает FTP сеанс с удаленным сервером и возвращает к командному интерпретатору

bye

Оканчивает работу с FTP сервером и приводит к выходу и из интерпретатора.

"Анонимное FTP" подразумевает следующую процедуру (не требует пароля, допускает ввод вашего почтового адреса вместо пароля):

ftp> login: anonymous

ftp> password: [ваш полный E-mail адрес]

ftp> cd <имя_каталога >

(смена каталога)

ftp> binary

(если текст, например, архивирован, в противном случае команду выдавать не нужно)

ftp> get <имя_файла>

(копирование файла)

ftp> quit

(уход из процедуры)

Пример:

Для запуска FTP клиента в среде Windows необходимо проследовать по пути "Пуск" -> "Выполнить" далее в строке "Открыть" набрать команду "ftp".

C:\Users\Админ>ftp

ftp>

ftp> open ftp.dlink.ru

Связь с ftp.dlink.ru.

220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------

220-You are user number 65 of 200 allowed.

220-Local time is now 23:52. Server port: 21.

220-IPv6 connections are also welcome on this server.

220 You will be disconnected after 15 minutes of inactivity.

Пользователь (ftp.dlink.ru:(none)): anonymous

230 Anonymous user logged in

ftp> cd pub

250 OK. Current directory is /pub

ftp> cd Software

250 OK. Current directory is /pub/Software

ftp> binary

200 TYPE is now 8-bit binary

ftp> get

Удаленный файл DS-510P_Presentation.zip

Локальный файл tva.zip

200 PORT command successful

425 Could not open data connection to port 60867: Connection timed out

ftp>

После этого Win 7 выдал сообщение!

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]