Скачать 1.05 Mb.
|
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ УКРАИНЫ ДОНЕЦКИЙ НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ МЕТОДИЧЕСКИЕ УКАЗАНИЯ И ЗАДАНИЯк лабораторным работам по курсу «Протоколы компьютерных сетей» (для студентов специальности “Программное обеспечение АС”) Донецк -2011МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ УКРАИНЫ ДОНЕЦКИЙ НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ МЕТОДИЧЕСКИЕ УКАЗАНИЯ И ЗАДАНИЯк лабораторным работам по курсу «Протоколы компьютерных сетей» (для студентов специальности “Программное обеспечение АС”) Рассмотрено на заседании кафедры ПМиИ Протокол № 7 от 20.12.2010 Утверждено на заседании учебно-издательского Совета ДонНТУ протокол № от Донецк –2011УДК 681.3 Методические указания и задания к лабораторным работам по курсу «Протоколы компьютерных сетей» для студентов специальности «Программное обеспечение АС»/ Сост.: Чернышова А.В. - Донецк, ДонНТУ, 2011 - 90 стр. Приведены методические указания и задания к выполнению лабораторных работ по курсу «Протоколы компьютерных сетей» для студентов специальности «Программное обеспечение АС». Излагаются вопросы, связанные с принципами работы таких прикладных протоколов, как FTP, TFTP, SMTP, POP3, IMAP, VNC, UDP, TCP а также вопросы, связанные с разработкой клиент-серверных приложений. Методические указания предназначены для усвоения теоретических основ и формирования практических навыков по курсу «Протоколы компьютерных сетей». Составители: ст.преп. кафедры ПМиИ Чернышова А.В. Рецензент: доцент кафедры КСМ Губенко Н.Е. ЛАБОРАТОРНАЯ РАБОТА №1 Тема: Изучение протоколов FTP и TFTP Цель: Теоретическое изучение прикладных протоколов FTP и TFTP, реализация клиента FTP и TFTP Методические указания к выполнению лабораторной работы В сетевой среде естественным является желание копировать файлы между компьютерными системами. Разработчики компьютеров уже создали сотни различных файловых систем, значительно или не очень существенно отличающихся друг от друга. Однако проблема связана не только с продуктами различных компаний. Иногда трудно копировать файлы между различными типами компьютеров одного и того же разработчика. Среди проблем, с которыми обычно приходится сталкиваться при работе в многосистемном сетевом окружении, можно отметить следующие:
Разработчики стека протоколов TCP/IP старались найти не слишком сложное решение этих проблем и создали достаточно общий, но очень элегантный протокол пересылки файлов (File Transfer Protocol — FTP), который легко обслуживается и прост в использовании. Протокол FTP создан для взаимодействия с интерактивным конечным пользователем или прикладной программой. Пользовательский интерфейс разработан для клиента пересылки файлов операционной системы Berkeley Unix (BSD) и далее перенесен на различные типы многопользовательских компьютеров. Основные функции пересылки файлов разрешают пользователю копировать файлы между системами, просматривать списки каталогов и выполнять файловые операции, подобные переименованию или удалению. Все эти функции являются частью стандартного стека протоколов TCP/IP. Далее мы проанализируем простейший протокол пересылки файлов (Trivial File Transfer Protocol — TFTP), использующийся в базовых операциях по переносу файлов в определенных ситуациях, например при загрузке программного обеспечения в маршрутизаторы, мосты или бездисковые рабочие станции. Компьютерные системы обычно требуют от пользователя идентификатор регистрации и пароль до того, как разрешить пользователю просматривать или манипулировать файлами. Однако иногда полезно создать возможность работы с общедоступными файлами. FTP обеспечивает как общедоступное совместное использование информации, так и частный доступ к файлам, предлагая два вида услуг: - Доступ к общедоступным файлам через анонимную регистрацию. - Доступ к личным файлам, разрешенный только для пользователя с системным идентификатором регистрации и паролем. Протокол FTP (File Transfer Protocol). Пример работы ftp-клиента (командная строка. Сегодня многие имеют на своих настольных системах графические пользовательские интерфейсы (GUI) для пересылки файлов. Однако текстовый интерфейс позволяет лучше понять происходящие в процессе пересылки файлов события. Традиционно обращение к общедоступным системам происходило через идентификатор анонимного (anonymous) доступа. В настоящее время больше применяется ftp, который легче напечатать. Общедоступные серверы для пересылки файла предполагают ввод пользователем адреса электронной почты в качестве пароля. Приглашение ftp > выводится всякий раз, когда локальное приложение FTP ожидает ввода данных от пользователя. Строки, начинающиеся с чисел, содержат сообщения от удаленного файлового сервера. Ниже приведен пример подключения к ftp-серверу и передачей файлов. > ftp ftp.internic.net Connected to ftp.ds.internic .net. 220- InterNIC Directory and Database Services 220- . . . 220 ds.internic.net FTP server ready. Name (ftp.internic.net:sfeit) : ftp 331 Guest login ok, send ident as password. Password: 230 Guest login ok, access restrictions apply. Ftp> ftp> cd rfc 250 CWD command successful. ftp> get rfcl842.txt nyrfc 200 PORT command successful. 150 Opening ASCII mode data connection for rfcl842.txt (24143 bytes). 226 Transfer complete. local: newfile remote: rfcl842.txt 24818 bytes received in 0.53 seconds (46 Kbytes/s) ftp> quit 221 Goodbye. Команда ftp запускает пользовательский интерфейс программы-клиента FTP. Пользователь хочет соединиться с удаленным хостом ftp.intemic.net. Локальный клиент FTP отчитывается об успешном соединении. Это сообщение пришло от удаленной системы. Мы опустим приветствие. Локальная клиентская программа FTP запрашивает ввод идентификатора пользователя. Локальная клиентская программа FTP запрашивает пароль. Пользователь переходит в удаленный каталог rfc, в котором и хранятся документы RFC. Команда изменения каталога (cd) пересылается на сервер как CWD (изменить рабочий каталог). Каталог сервера изменяется на rfc, и можно начинать копирование документов RFC. Запрашивается копирование файла rfcl842.txt, для чего будет создано второе соединение. Локальный клиент FTP получил второй порт и послал на сервер команду PORT, указывая серверу на соединение через этот порт. Открытие соединения для пересылки файла. Завершение пересылки файла. • Создан новый локальный файл. Завершение сеанса. Первая команда запрашивала у сервера переход в каталог rfc. Затем проведено копирование удаленного документа rfcl842.txt в локальный файл, названный myrfc. Если не вводить имя файла, локальный файл получит то же имя, что и удаленный файл. FTP позволяет записывать имена удаленных файлов так же, как это делают пользователи удаленного хоста. Копируя файл на локальный компьютер, можно присвоить ему локальное имя файла. Если имя не присваивается, то при необходимости FTP преобразует имя удаленного файла в формат, допустимый для локального хоста. Иногда это приводит к преобразованию, символов из нижнего регистра в верхний и к усечению имен. Протокол FTP имеет характерный стиль операций. Всякий раз, когда должен быть скопирован файл, для пересылки данных открывается и используется второе соединение. После команды get (получить) в приведенном примере диалога локальный клиент FTP получает второй порт и указывает серверу на открытие соединения с этим портом: 200 PORT command successful. 150 Opening ASCII mode data connection for rfcl842.txt (24143 bytes) Модель протокола FTP. Как видно из приведенного выше диалога, пользователь взаимодействует с локальным клиентом FTP (точнее, с соответствующим процессом). Программное обеспечение локального клиента управляет преобразованием данных для удаленного сервера FTP через управляющее соединение. Когда конечный пользователь вводит команду пересылки или работы с файлом, эта команда транслируется в одно из специальных сокращений, используемых для управляющего соединения. В сущности, управляющее соединение — это обычный сеанс telnet в режиме NVT. Клиент отправляет команду на сервер через управляющее соединение, а сервер возвращает ответ по этому же соединению. Когда пользователь запрашивает пересылку файла, открывается отдельное соединение для передачи данных, и по нему пересылается файл. Это соединение используется и для пересылки содержимого каталогов. Модель FTP показана на рисунке 1.1 Обычно сервер использует порт 20 для соединения пересылки данных. Рисунок 1.1 - Управляющее соединение и соединение пересылки данных в FTP Во время вышерассмотренного диалога конечный пользователь вводил запросы на изменение удаленного каталога и пересылку файла. Эти запросы преобразовывались в формат команд FTP и пересылались по управляющему соединению на удаленный сервер FTP. Пересылка файлов производится по отдельному соединению, издаваемому для обмена данными. Команды FTP. Какие, команды можно передавать по управляющему соединению? Существуют команды аутентификации, дающие возможность пользователю указать идентификатор, пароль и регистрационную запись для работы с FTP. Команды пересылки файлов позволяют:
Команды обслуживания файлов разрешают:
Управляющие команды служат для:
Пересылаемые по управляющему соединению команды имеют стандартный формат. Например, команда RETR используется для копирования файла из сервера на сайт клиента. Пользовательский интерфейс обычно имеет дополнительные команды для настройки локального окружения, например:
Использование команд в текстовом диалоге Многие пользователи предпочитают графический интерфейс, доступный на настольных системах, но текстовый интерфейс позволяет лучше понять внутренние процессы протокола FTP. Нижеприведенный текстовый диалог начинается с вывода справки. Существующие команды имеют синонимы, например Is и dir— для запроса сведений о каталоге, put и send — для копирования файла на удаленный хост, get и recv — для получения файла от удаленного хоста или bye и quit — для выхода из FTP. Используя команды mget или mput и глобальные подстановочные символы можно одновременно копировать несколько файлов. Например, mget а* извлечет копии каждого файла с именем, начинающимся на букву а. Такой режим включается параметром glob, который разрешает или запрещает применение глобальных подстановочных символов. В представленный ниже диалог включен вывод отладочной информации, чтобы дать некоторое представление о работе протокола: Строки, начинающиеся на -->, показывают сообщения, посланные локальным хостом по управляющему соединению. Строки, начинающиеся с числа, соответствуют сообщениям, посланным удаленным сервером для отчета о результате выполнения команды. plum-feit > ftp ftp> help Commands may be abbreviated. Commands are:
ftp> debug Debugging on (debug = 1). ftp> open tigger. jvnc.net: Connected to tigger.jvnc.net. 220 tigger.jvnc.net FTP server (Version wu-2.4(l) Fri Apr 15 13:54:36 EDT 1994) ready. Для обращения к личным файлам введены реальные идентификатор пользователя и пароль. Name (tigger.jvnc.net:sfeit): feit . . —> USER feit 331 Password required for feit. Password: —> PASS abcdl234 230 User feit logged in. Команда status (статус) показывает текущие параметры сеанса FTP. Отметим, что тип данных (Туре) указан как ASCII. При пересылке текстовых файлов FTP часто предполагает это значение по умолчанию. ftp> status Connected to tigger.jvnc.net. No proxy connection. Mode: stream; Type: ascii; Form: non-print; Structure: file Verbose: on; Bell: off; Prompting: on; Globbing: on Store unique: off; Receive unique: off Case: off; CR stripping: on • Ntrans: off Nmap: off Hash mark printing: off; Use of PORT cmds: on Затем запрашивается список файлов каталога. Такой список может быть очень большим, поэтому FTP посылает его по соединению для данных: ftp> dir FTP необходим порт для пересылки данных. Клиент посылает команду PORT, которая идентифицирует его IP-адрес (4 байта) и новый порт (2 байта), чтобы использовать эти значения при пересылке данных. Байты преобразуются в десятичный формат и разделяются запятыми. IP-адрес 128.36.4.22 будет записан как 128,36,4,22, а порт 2613 — как 10,53. —> PORT 128,36,4,22,10,53 200 PORT command successful. Сервер откроет соединение по указанному адресу socket. Команда LIST— это формальное сообщение для запроса подробного списка файлов каталога: —> LIST Далее сервер открывает соединение с объявленным клиентом портом: 150 Opening ASCII mode data connection for /bin/Is. total 531 -rw-r-r— 1 feit tigers 0 Oct 24 1994 .addressbook -rw-r-r- 1 feit tigers 2808 Sep 23 1994 .article -rw-r-r- 1 feit tigers 397 Mar 14 1993 . cshrc -rw-r-r- 1 feit tigers 3113 Jul 31 13:29 subnets -rw-r-r- 1 feit tigers 59901 Jun 5 17:48 typescript 226 Transfer complete. 2239 bytes received in 0.31 seconds (7 Kbytes/s) Сразу после пересылки списка файлов соединение данных будет закрыто. Затем мы можем получить файл. ftp> get subnets Клиент указывает новый адрес socket для переноса файла. Отметим, что на сей раз используется клиентский порт 2614 (10,54). —> PORT 128,36,4,22,10,54 200 PORT command successful. —> RETR subnets 150 Opening ASCII mode data connection for subnets (3113 bytes).,226 Transfer complete. По завершении пересылки файла соединение для данных закрывается. local: subnets remote: subnets 3187 bytes received in 0.27 seconds (11 Kbytes/s) ftp> quit —> QUIT 221 Goodbye. plum-feit> Отметим, что сценарий для соединения данных был таким:
Можно применять альтернативный сценарий. Если клиент посылает команду PASV, сервер возвращает номер порта и переходит к прослушиванию установки соединения данных от клиента. Ранее преобладало использование команды PORT. Однако теперь клиент может послать команду PASV для пересылки файлов через простую систему защиты (firewall), которая не разрешает установку соединений из поступающих сообщений. При работе с файлами большого размера иногда обнаруживается, что пересылается не тот файл. Хорошая реализация должна позволять отменить пересылку. Для текстового интерфейса это обычно делается через комбинацию клавиш CONTROL-C, а в графическом интерфейсе — специальной кнопкой Abort (остановить). Типы данных, структуры файлов и методы пересылки На обоих концах соединения необходимо обеспечить единый формат для пересылаемых данных. Этот файл текстовый или двоичный? Он структурирован по записям или по блокам? Для описания формата пересылки используются три атрибута: тип данных (data type), структура файла (file structure) и режим пересылки (transmission mode). Допустимые значения этих атрибутов рассмотрены ниже. В общем случае применяются:
Однако есть и несколько исключений. Некоторые хосты структурируют текстовые файлы как последовательность записей. Хосты IBM используют для текстовых файлов кодирование EBCDIC и проводят обмен файлами как набором структурированных блоков, а не как потоком байт. Типы данных Файл может содержать текст ASCII, EBCDIC или двоичный образ данных (существует еще тип, называемый локальным или логическим байтом и применяемый для компьютеров с размером байта в 11 бит). Текстовый файл может содержать обычный текст или текст, форматированный для вывода на принтер. В последнем случае в нем будут находиться коды вертикального форматирования: - Символы вертикального форматирования Telnet для режима NVT (т.е. , , , , ) - Символы вертикального форматирования ASA (ФОРТРАН) Типом данных по умолчанию является нераспечатываемый текст ASCII (т.е. текст без управляющих символов форматирования). Тип данных может быть изменен стандартной командой TYPE, пересылаемой по управляющему соединению. Пересылка текста ASCII Хотя текст ASCII является стандартным, компьютеры интерпретируют его по-разному из-за различия в кодах конца строки. Системы Unix используют для этого , компьютеры PC — , a Macintosh — . Для устранения этих различий FTP превращает локальный текстовый файл ASCII в формат NVT, а приемник преобразует NVT ASCII в собственный локальный формат. Например, если текстовый файл копируется с системы Unix на PC, все коды концов строк (в Unix — ) при получении файла на PC нужно преобразовать в . Пересылка текста EBCDIC Поддерживающие кодировку EBCDIC хосты обеспечивают весьма полезную команду пользовательского интерфейса, инициирующую пересылку по управляющему соединению команды TYPE E. Текстовые символы EBCDIC пересылаются по соединению в своем обычном 8-разрядном формате. Строки завершаются символом новой строки EBCDIC (). Пересылка двоичных данных С пересылки текстов ASCII легко переключиться на двоичный образ данных. В текстовом пользовательском интерфейсе для этого служит команда binary, а в графическом — командная кнопка binary (двоичные данные). Клиент меняет тип пересылаемых данных командой TYPE I, передаваемой по управляющему соединению. Что произойдет, если пользователь забудет переключить тип данных с ASCII на двоичный при копировании двоичного файла? Хорошие реализации FTP предупредят, что задана ошибочная операция, и позволят до начала пересылки файла изменить тип данных. К сожалению, многие реализации идут еще дальше и "помогают" изменять все двоичные байты, которые выглядят как символы конца строк (исправляя их на специальные заполнители или полностью удаляя их из текста). Некоторые действительно плохие реализации все же начинают пересылку файла и аварийно завершаются в середине выполнения такой операции. Структуры файлов В FTP поддерживаются две структуры (ранее использовалась также страничная структура для файлов DEC TOPS-20, сейчас устаревшая):
Более распространена файловая структура, которая применяется по умолчанию. Перейти на структуру записей можно стандартной командой STRU R, пересылаемой по управляющему соединению. Режимы пересылки Режим пересылки и структура файла определяют, как будут форматированы данные для обмена по соединению. Существуют три режима пересылки: stream (поток), block (блочный режим) и compressed (сжатые данные). В режиме потока и файловой структуры файл передается как поток байт. FТР возлагает на TCP обеспечение целостности данных и не включает в данные никаких заголовков или разделителей. Единственным способом указания на конец файла будет нормальное завершение соединения для данных. Для режима потока и структуры записей каждая запись отделяется 2-байтовым управляющим кодом конца записи (End Of Record — EOR), а конец файла отмечается символами конца файла (End Of File —EOF). EOR кодируется как X'FF 01, a EOF — X'FF 02. Для последней записи файла EOR и EOF записываются как X'FF 03. Если файл содержит байт данных из одних единиц, то такой байт представляется при пересылке как X'FF FF. В блочном режиме файл пересылается как последовательность блоков данных. Каждый блок начинается 3-байтовым заголовком (см. рис. 14.4). Режим сжатия данных используется крайне редко, поскольку обеспечивает очень неудачный метод архивирования, разрушающий последовательность повторяющихся байт. Обычно пользователю проще применить одну из более удачных программ сжатия, широко доступных на современных компьютерах, и далее пересылать полученный архивный файл как двоичные данные. На рисунке 1.2 представлен формат заголовка блочного режима пересылки FTP. 8 бит 16 бит
|
Методические указания и задания к самостоятельной работе студентов... Методические указания предназначены для усвоения теоретических основ и формирования практических навыков по курсу «Протоколы компьютерных... |
Методические указания к лабораторным работам по дисциплине «Компьютерные Технологии» Основы расчётов в системе mathcad: Методические указания к лабораторным работам – Набережные Челны: инэка, 2007, с |
||
Методические указания к лабораторным работам по дисциплине «Охрана труда» Методические указания к лабораторным работам по дисциплине «Охрана труда» для студентов всех специальностей. / Сост. В. И. Коробко.... |
Методические указания и задания к лабораторным работам по курсам “ Дискретные структуры“, “Теория алгоритмов и вычислительных процессов“ (для студентов специальностей 050102 “Программное обеспечение... |
||
Методические указания и контрольные задания для студентов специальности... Методические указания содержат тематический план, программу курса, задания и методические указания к выполнению контрольных работ,... |
Методические указания и контрольные задания к выполнению контрольных... Методические указания содержат программу курса, контрольные вопросы по темам курса, контрольные задания и методические рекомендации... |
||
Методические указания и контрольные задания для студентов специальности... ... |
Сочевко Т. И. Руководство к лабораторным работам по курсу «Товароведение... Для более детального изучения курса и подготовки к зачету, а также решения контрольных работ и успешного прохождения тестирования,... |
||
Методические указания к выполнению контрольных работ по курсу Отечественной... Методические указания утверждены на заседании кафедры государственного управления и истории пгту «13» апреля 2005 г |
Методические указания по выполнению контрольных работ написаны в... А. Г. Колобов, канд физ мат наук, доцент кафедры компьютерных технологий, первый зам директора института математики и компьютерных... |
Поиск на сайте Главная страница Литература Доклады Рефераты Курсовая работа Лекции |