Методические указания и задания к лабораторным работам по курсу «Протоколы компьютерных сетей»




Скачать 1.05 Mb.
Название Методические указания и задания к лабораторным работам по курсу «Протоколы компьютерных сетей»
страница 1/6
Дата публикации 12.05.2014
Размер 1.05 Mb.
Тип Методические указания
literature-edu.ru > Информатика > Методические указания
  1   2   3   4   5   6
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ УКРАИНЫ

ДОНЕЦКИЙ НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

МЕТОДИЧЕСКИЕ УКАЗАНИЯ И ЗАДАНИЯ


к лабораторным работам по курсу

«Протоколы компьютерных сетей»

(для студентов специальности “Программное обеспечение АС”)


Донецк -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.

Команды пересылки файлов позволяют:

  • Копировать одиночный файл между хостами

  • Копировать несколько файлов между хостами

  • Добавлять содержимое локального файла к удаленному файлу

  • Копировать файл и добавлять к его имени номер для формирования уникального имени (например, файлы ежедневной регистрации получат имена log.l, log.2 и т.д.)

Команды обслуживания файлов разрешают:

  • Просмотреть список файлов каталога

  • Узнать текущий каталог и изменить его на другой

  • Создавать и удалять каталоги

  • Переименовывать или удалять файлы

Управляющие команды служат для:

  • Идентификации пересылки файлов ASCII, EBCDIC или двоичных файлов

  • Проверки структурирования файла (как последовательность байт или как последовательность записей)

  • Указания способа пересылки файла (например, как поток октетов)

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

Пользовательский интерфейс обычно имеет дополнительные команды для настройки локального окружения, например:

  • Запросить FTP о выводе звукового сигнала при завершении пересылки файла

  • Для текстового интерфейса запросить вывод символа диез (#) при пересылке каждого блока данных

  • Установить автоматическое преобразование регистра символов в имени файла или таблицу трансляции символов


Использование команд в текстовом диалоге

Многие пользователи предпочитают графический интерфейс, доступный на настольных системах, но текстовый интерфейс позволяет лучше понять внутренние процессы протокола 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:

1

cr

macdef

proxy

send

$

delete

mdelete

sendport

status

Account

debug

mdir

put

struct

Append

dir

mget

pwd

sunique

Ascii

disconnect

mkdir

quit

tenex

Bell

form

mis

quote t

trace

Binary

get

mode

recv

type

Bye

glob

raput

remotehelp

user

Case

hash

rmap

rename

verbose

Cd

help

ntrans

reset




Cdup

led

open

rrodir




Close

Is

prompt

runique




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>
Отметим, что сценарий для соединения данных был таким:

  • Локальный клиент получил новый порт и использовал управляющее соединение, чтобы сообщить серверу FTP номер своего порта.

  • FTP-сервер связался с новым портом данных клиента.

  • Данные были переданы.

  • Соединение было закрыто.

Можно применять альтернативный сценарий. Если клиент посылает команду PASV, сервер возвращает номер порта и переходит к прослушиванию установки соединения данных от клиента. Ранее преобла­дало использование команды PORT. Однако теперь клиент может послать команду PASV для пересыл­ки файлов через простую систему защиты (firewall), которая не разрешает установку соединений из поступающих сообщений.

При работе с файлами большого размера иногда обнаруживается, что пересылается не тот файл. Хорошая реализация должна позволять отменить пересылку. Для текстового интерфейса это обычно делается через комбинацию клавиш CONTROL-C, а в графическом интерфейсе — специальной кноп­кой Abort (остановить).
Типы данных, структуры файлов и методы пересылки

На обоих концах соединения необходимо обеспечить единый формат для пересылаемых данных. Этот файл текстовый или двоичный? Он структурирован по записям или по блокам?

Для описания формата пересылки используются три атрибута: тип данных (data type), структура файла (file structure) и режим пересылки (transmission mode). Допустимые значения этих атрибутов рас­смотрены ниже. В общем случае применяются:

  • Пересылка текста ASCII или двоичных данных.

  • Неструктурированный файл, который рассматривается как последовательность байт.

  • Режим пересылки рассматривает файл как поток байт.

Однако есть и несколько исключений. Некоторые хосты структурируют текстовые файлы как последо­вательность записей. Хосты 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 бит

Дескрипторные флаги

Счетчик байт

Конец блока — EOR

Конец блока — EOF

Restart Marker

Количество следующих далее байт
  1   2   3   4   5   6

Добавить документ в свой блог или на сайт

Похожие:

Методические указания и задания к лабораторным работам по курсу «Протоколы компьютерных сетей» icon Методические указания и задания к самостоятельной работе студентов...
Методические указания предназначены для усвоения теоретических основ и формирования практических навыков по курсу «Протоколы компьютерных...
Методические указания и задания к лабораторным работам по курсу «Протоколы компьютерных сетей» icon Методические указания к лабораторным работам по дисциплине «Компьютерные Технологии»
Основы расчётов в системе mathcad: Методические указания к лабораторным работам – Набережные Челны: инэка, 2007, с
Методические указания и задания к лабораторным работам по курсу «Протоколы компьютерных сетей» icon Методические указания к лабораторным работам по дисциплине «Охрана труда»
Методические указания к лабораторным работам по дисциплине «Охрана труда» для студентов всех специальностей. / Сост. В. И. Коробко....
Методические указания и задания к лабораторным работам по курсу «Протоколы компьютерных сетей» icon Методические указания и задания к лабораторным работам по курсам “
Дискретные структуры“, “Теория алгоритмов и вычислительных процессов“ (для студентов специальностей 050102 “Программное обеспечение...
Методические указания и задания к лабораторным работам по курсу «Протоколы компьютерных сетей» icon Методические указания и контрольные задания для студентов специальности...
Методические указания содержат тематический план, программу курса, задания и методические указания к выполнению контрольных работ,...
Методические указания и задания к лабораторным работам по курсу «Протоколы компьютерных сетей» icon Методические указания и контрольные задания к выполнению контрольных...
Методические указания содержат программу курса, контрольные вопросы по темам курса, контрольные задания и методические рекомендации...
Методические указания и задания к лабораторным работам по курсу «Протоколы компьютерных сетей» icon Методические указания и контрольные задания для студентов специальности...
...
Методические указания и задания к лабораторным работам по курсу «Протоколы компьютерных сетей» icon Сочевко Т. И. Руководство к лабораторным работам по курсу «Товароведение...
Для более детального изучения курса и подготовки к зачету, а также решения контрольных работ и успешного прохождения тестирования,...
Методические указания и задания к лабораторным работам по курсу «Протоколы компьютерных сетей» icon Методические указания к выполнению контрольных работ по курсу Отечественной...
Методические указания утверждены на заседании кафедры государственного управления и истории пгту «13» апреля 2005 г
Методические указания и задания к лабораторным работам по курсу «Протоколы компьютерных сетей» icon Методические указания по выполнению контрольных работ написаны в...
А. Г. Колобов, канд физ мат наук, доцент кафедры компьютерных технологий, первый зам директора института математики и компьютерных...
Литература


При копировании материала укажите ссылку © 2015
контакты
literature-edu.ru
Поиск на сайте

Главная страница  Литература  Доклады  Рефераты  Курсовая работа  Лекции