Лабораторная работа №2 - Изучение протокола передачи файлов FTP с помощью средств ОС Solaris и протокола Telnet - файл n1.doc
Лабораторная работа №2 - Изучение протокола передачи файлов FTP с помощью средств ОС Solaris и протокола Telnetскачать (159 kb.)
Доступные файлы (1):
n1.doc
Пермский государственный технический университет
Кафедра АТ
Лабораторная работа №2
«Изучение протокола передачи файлов FTP с помощью средств ОС Solaris и протокола Telnet»
Выполнила:
Проверил:.
Пермь 2006
Цель работы: изучить протокол для передачи файлов FTP, посредством изучения модели взаимодействия между клиентом и сервером FTP с помощью средств Telnet, а также получение практических навыков работы с FTP-клиентом ОС Solaris.
FTP Сервис FTP (File Transfer Protocol) позволяет пользователям локального хоста получать доступ к файловой системе удаленного хоста.
Обеспечение взаимодействия двух удаленных систем по протоколу FTP реализуется в рамках архитектуры «клиент-сервер». Для передачи файлов по протоколу FTP необходимо наличие сервера, предоставляющего доступ к локальным ресурсам для удаленных клиентов. Клиенты обращаются к серверу с запросом на получение ресурсов файловой системы сервера.
Процесс установления соединения с FTP-сервером инициирует клиент. После аутентификации клиента на сервере, устанавливается сеанс связи, и, в зависимости от поступающих к серверу команд клиента, происходит передача данных. Завершение сеанса связи инициируется клиентом или при наличии большого количества ошибок, возникающих при передаче данных. За время одного сеанса связи возможно неоднократное обращение клиента к ресурсам файловой системы сервера.
В качестве транспортного протокола для FTP используется протокол TCP из стека протоколов TCP/IP.

Рис. 1. Модель взаимодействия клиента и сервера FTP
Для организации работы протокола FTP используется два канала связи. Когда клиент FTP соединяется с FTP-сервером, создается так называемый управляющий канал (CMD), по которому происходит передача команд. Обычно для организации управляющего канала на сервере используется порт TCP с номером 21. Все управляющие команды протокола FTP передаются в кодах ASCII. Поэтому, для интеграции протокола FTP с ресурсами операционных систем, в их составе должен быть реализован протокол PI (Protocol Interpretator), позволяющий преобразовывать команды FTP в формат команд интерпретатора ОС для работы с локальной файловой системой (FS) сервера или клиента. Для взаимодействия клиента FTP непосредственно с пользователем, на клиенте должен быть реализован интерфейс взаимодействия с пользователем (UI), представляющий собой набор команд локальной операционной системы (ЛОС) для обеспечения взаимодействия с PI в рамках единой системы команд ЛОС.
Для передачи файлов, под управлением управляющего канала, открывается отдельный канал для передачи данных (DATA). Файлы для передачи по протоколу FTP могут быть различных типов, но при передаче все данные преобразуются в коды ASCII, а на приемной стороне восстанавливаются и сохраняются в файл исходного формата. Для осуществления преобразований над данными передаваемых файлов, как на клиенте, так и на сервере FTP реализуется протокол преобразования данных DTP.
После завершения передачи данных, канал связи для передачи данных немедленно закрывается.
Модель взаимодействия клиента и сервера FTP приведена на рис. 1.
Выполнение работы1. Изучение модели FTPИзучение модели FTP, приведенной на рис. 1, при работе с сетевыми ОС (например, ОС Solaris), возможно с помощью средств поддержки протокола Telnet. Данная возможность реализуется ввиду того, что протокол Telent осуществляет передачу данных в ASCII кодах с помощью соединения TCP на указанный порт. Задавая в качестве параметра порт для сервера FTP, возможно отражение трафика обмена между клиентом и сервером FTP на мониторе пользователя.
Работа с FTP средствами Telnet предполагает знание механизмов взаимодействия клиента и сервера FTP, а также синтаксис команд FTP.
Первым этапом передачи файлов с помощью FTP, является создание канала передачи команд (CMD). Для этого клиенту необходимо установить соединение TCP с сервером FTP. Для этих целей необходимо запустить клиента Telnet, указав в качестве параметра IP адрес сервера FTP (удаленного компьютера) и TCP порт подключения
C1 (по умолчанию сервер FTP использует для создания управляющего канала TCP порт 21). Формат команды для запуска Telnet из командной строки (Command Tool) OC Solaris следующий:
telnet [
адрес_IP] [
порт_TCP]
# telnet 192.168.0.1 21TCP порт клиента FTP (C
2 на рис. 1) назначается локальной ОС при установлении соединения автоматически из числа свободных портов TCP.
После успешного создания канала связи TCP с сервером FTP, появится соответствующее сообщение в окне Command Tool OC Solaris. Далее возможен ввод команд протокола FTP для управления работой сервера FTP.
В табл. 1 приведен список основных команд протокола FTP.
Таблица 1
Список основных команд протокола FTP
Команды FTP | Параметры | Описание |
USER | Имя пользователя | Инициализация пользователя |
PASS | Пароль | Пердача пароля |
CWD | Директория | Выбор директории на сервере |
STOR | Имя файла | Передача локального файла на сервер |
RETR | Имя файла | Чтение файла с сервера |
DELE | Имя файла | Удаление файла на сервере |
PASV |
| Запрос на инициализацию канала передачи данных |
LIST |
| Выводит подробный список файлов в текущей директории |
NLST |
| Выводит сокращенный список файлов в текущей директории |
Для доступа к ресурсам сервера FTP, необходимо с помощью команд USER и PASS указать имя пользователя и пароль для аутентификации на сервере. Формат команд:
USER [
имя_пользователя]
PASS [
пароль]
Имя пользователя и пароль необходимо вводить с учетом регистра символов. Например:
telnet> user user6 telnet> pass user6После успешной аутентификации, сервер информирует об этом с помощью соответствующего сообщения, что означает предоставление возможности клиенту доступа к файловой системе сервера.
Перед вводом команд FTP, инициализирующих передачу данных между клиентом и сервером (например, команд записи или чтения файлов STOR и RETR, получения списка директорий и файлов в текущей директории и т.п), необходимо организовать канал передачи данных.
Запрос на организацию канала передачи данных осуществляется с помощью команды PASV. В ответ сервер сообщает свой IP адрес и номер порта TCP, открытого им для организации канала передачи данных.
telnet> PASV ...................192.168.0.1.4.41Последние два числа в ответной посылке показывают номер предоставляемого порта TCP. Порт TCP представляет собой 16-битное значение. В ответе сервера это значение разбивается на два 8-битных числа, первое из которых соответствует старшим 8 битам 16-битного значения порта TCP, а второе – младшим 8 битам. Потому, чтобы найти номер порта TCP сервера для передачи данных, нужно первое число умножить на 256 и к полученному результату прибавить второе число. Т.е. из приведенного выше:
номер порта TCP = 4*256+41 = 1065.Для создания второго соединения TCP, необходимо открыть еще одно окно для ввода команд OC Solaris, и в нем осуществить подключение через Telnet по указанному в ответ на команду PASV адресу IP и порту TCP с найденным номером. Следуя рассматриваемому примеру:
# telnet 192.168.0.1 1065После ввода этой команды, установится второе соединение TCP по которому будут передаваться данные протокола FTP (канал DATA рис. 1). Далее можно осуществлять различные операции с файлами удаленного компьютера для передачи данных (табл. 1).
Например, передачу в текущий каталог сервера FTP текстового файла myfile.txt.
Для этого в первом окне вводится команда STOR с параметром, указывающим имя создаваемого файла. Например,
telnet> STOR myfile.txtПосле этого в окне передачи данных вводится произвольный текст, который будет содержаться в файле. По окончании ввода текста вводится команда Ctrl-], которая указывает на завершение передачи данных. После чего сервер автоматически завершит это соединение и сохранит передаваемые данные в указанном файле (для рассматриваемого примера – myfile.txt) .
Для проверки, убедиться в наличие и просмотреть содержимое переданного файла можно с помощью протокола Telnet.
# telnet 192.168.0.1 telnet>ls …
myfle.txt …. telnet> cat myfile.txt telnet>quit #Для передачи другого файла, необходимо снова вводить команду PASV и организовывать новый канал передачи данных, через порт TCP, номер которого будет другим.
Эти недостатки отсутствуют при работе с FTP-клиентом в котором автоматизировано создание необходимых соединений и есть возможность работать как с удаленными так и с локальными директориями.