Изучение-протоколов-прикладного-уровня (1). Изучение протоколов прикладного уровня
Скачать 45.91 Kb.
|
Тема: Изучение протоколов прикладного уровня. ( ПЗ№25, 26,27) Цель работы: получение практических навыков в использовании протоколов прикладного уровня. Лабораторная работа рассчитана на 6 часов работы. и включает в себя изучение кратких теореческих сведений, выполнение задания к лабораторной работе, оформление отчета и ответы на контрольные вопросы. Задание к работе: Используя программы-клиенты Windows (ftp и telnet) и программы-броузеры (Microsoft Internet Explorer и тд.) выполнить следующие операции с Интернет-сервером: - создать каталог на сервере; - получить файл с сервера; - передать файл на сервер; - открыть страницу WWW; Содержание отчета: 1. цель и задание к лабораторной работе. 2. распечатки протоколов выполнения задания. 3. описание последовательности выполнения задания. Контрольные вопросы. 1. Назовите известные вам протоколы прикладного уровня. Их назначение 2. Назначение протокола TELNET 3. Назначение протокола FTP 4. Порт ТСР, гнездо и их назначение 5. FTP-команды 6. Типы соединений FTP 7. Назначение протокола SMTP 8. Назначение протокола POP3 9. Назначение протокола NNTP 10. Назначение протокола HTTP 11. Алгоритм работы НТТР 12. НТТР-запросы и ответы Выполненную работу прислать на почту! Адрес электронной почты : alexb0nd007@yandex.ru Краткие теоретические сведения Основой функционирования любых компьютерных сетей является сетевая модель OSI (Open Systems Interconnection).Протоколы трех верхних уровней OSI называются прикладными. Самые распространненные из них: Протокол TELNET Протокол TELNET позволяет обслуживающей машине рассматривать все удаленные терминалы как стандартные "сетевые виртуальные терминалы" строчного типа (как будто компьютер и клавиатура клиента подключены непосредственно к серверу), работающие в коде ASCII, а также обеспечивает возможность согласования более сложных функций (например, локальный или удаленный эхо-контроль, страничный режим, высота и ширина экрана и т.д.) TELNET работает на базе протокола TCP. На прикладном уровне над TELNET находится либо программа поддержки реального терминала (на стороне пользователя), либо прикладной процесс в обсуживающей машине, к которому осуществляется доступ с терминала. Работа с TELNET походит на набор телефонного номера. Пользователь набирает на клавиатуре что-то вроде telnet delta и получает на экране приглашение на вход в машину delta. Протокол TELNET существует уже давно. Он хорошо опробован и широко распространен. Создано множество реализаций для самых разных операционных систем. Вполне допустимо, чтобы процесс-клиент работал, скажем, под управлением ОС VAX/VMS, а процесс-сервер под ОС UNIX System V. Протокол FTP Протокол FTP (File Transfer Protocol - протокол передачи файлов является одним из старейших протоколов семейства TCP/IP, он пользуется транспортными услугами TCP. Этот протокол делает доступным большую часть программного фонда Internet. Главное назначение FTP - это пересылать (копировать, передавать) файлы. FTP можно использовать самостоятельно, а также через другие системы, например, WWW имеет FTP как часть своего протокола. Каждому приложению или процессу, использующему в качестве транспорта протокол ТСР, соответствует уникальный идентификационный номер - порт ТСР (ТСР-порт). При использовании ТСР связь между клиентским и серверным приложением происходит через порт ТСР. Нумерация портов начинается с нуля. Номера портов для клиентских приложений динамически присваиваются операционной системой при обращении клиента, начиная с номера 1024. Номера портов для серверных приложений назначаются специальной организацией - Internet Assigned Numbers Authority (IANA) - они не могут быть произвольно изменены. IANA - распределяет номера портов от 0 до 1023. Этот диапазон портов зарезервирован за серверными службами. Серверное приложение или процесс, использующий для транспортных целей протокол ТСР, имеет как минимум один предопределенный номер порта. Например, для сервера FTP предопределены порты 20 (данные) и 21 (управление). Такие номера называются стандартными номерами портов. Ниже приведен список некоторых из них.
Номера портов и IP-адрес образуют гнездо (socket). Гнезда всегда имеют ассоциированный с ними номер или адрес, указывающий на конечную точку.
FTP серверы разбросаны по всему миру, но для соединения с ними не требуется знания их физического расположения. В Internet к компьютеру обращаются по уникальному IP-адресу. Он состоит из четырех наборов цифр, разделенных точками: 198. 46. 8. 34. Поскольку эти числа трудно запомнить и набрать без ошибок, была создана доменная система именования (Domain Name System, DNS). Она позволяет присваивать IP-адресам короткие понятные имена для определения местонахождения компьютера. В примере с http://www. microsoft. com имя домена — microsoft. com. Последние три буквы DNS или UNC-адреса указывают тип домена. Здесь представлены некоторые типы доменов, которые Вы можете встретить в адресахСША: corn Коммерческие организации edu Образовательные учреждения gov Правительственные организации (кроме военных) mil Военные организации net Поставщики сетевых услуг org Организации (все прочие) Например, FTP сервер фирмы Borland имеет адрес ftp.borland.com Если вам известен адрес нужного FTP сервера, тогда соединиться с ним можно с помощью специальной программы, которая называется FTP клиент. Раньше, когда выход в Internet имели только UNIX-компьютеры, все FTP клиенты были одинаковы: командная строчка со стандартным набором команд и все. Сейчас же, во времена оконных систем, появилось много программ, при использовании которых не требуется запоминать синтаксис команд, а файлы просто-напросто перетаскиваются мышкой. Однако и в их основе лежит стандартная система команд FTP, где на каждое действие мышью FTP клиент генерирует последовательность FTP-команд. Для того, чтобы начать сеанс обмена с сервером, необходимо сначала открыть соединение. Для этого существует команда open имя_сервера Слово open можно сократить до одной буквы o. Итак, попробуем: ftp> o ftp.kgtu.kz Подождите несколько секунд пока компьютеры совершат соединение. Теперь надо зарегистрироваться. Увидев приглашение login:, наберите слово anonymous. Нажмите Enter и введите свое имя, затем символ @ (без пробелов) и адрес вашей локальной машины. Если все сделано правильно, то появится сообщение о том, что вы вошли в систему. Теперь вы можете копировать себе те файлы, доступ к которым вам определен как анонимному пользователю. Советуем начать исследование сервера с каталога /pub, так как обычно все полезные файлы помещаются именно сюда. Сейчас же вы находитесь в самом верхнем, так называемом root-каталоге. Для того, чтобы перейти в нужный каталог существует команда cd . Например, в каталог pub текущего каталога можно перейти: ftp> cd pub Получить список файлов в текущем каталоге можно командой dir:ftp> dir Если в появившемся списке первым символом в строке является 'd', то в строке имя каталога, если '-' - имя файла. Предположим, что Вы нашли файл, который хотите переписать себе. Прежде, чем сделать это, надо установить двоичный режим передачи файлов binary: ftp> binary Возьмите себе за правило: как только соединитесь с сервером, сразу вводить эту команду. Если этого не сделать, то файл будет перекодирован и непригоден для использования (если только это не текст на английском языке). При появлении во время копирования файла сообщения 'Opening ASCII mode to transfer file' немедленно прервите передачу файла и запустите binary. Многие современные FTP-клиенты автоматически посылают эту команду. Выполняет ли это программа, с которой работаете вы, придется исследовать самостоятельно. Пересылает файл на локальный компьютер команда get: ftp> get the_file_i_like.zip Если Вы сразу захотите положить файл в определенное место на локальном компьютере, то укажите путь как второй аргумент команды: ftp> get the_file_i_like.zip /usr/skyer/my_new_file.zip По умолчанию FTP-клиент кладет файл в текущую директорию на локальном диске. Для FTP-клиента под Windows этой директорией будет каталог Windows. Для UNIX систем это будет тот каталог, откуда вы запустили клиента. ( Не забудьте перед загрузкой клиента проверить, достаточно ли у Вас прав для записи в этот каталог. В противном случае придется явно указывать путь в каждой команде get ). Можно переписать содержимое сразу всего каталога, для этого надо указать его имя в команде get. Зачастую требуемая информация расположена не в одном, а в нескольких файлах. Для их пересылки можно использовать команду mget, которая понимает шаблоны групповых операций. В некоторых реализациях FTP-клиентов шаблоны групповых операций можно использовать и в команде get. Время ожидания копирования файла зависит от размера файла и возможностей Вашего подключения к Internet. Когда пересылка файлов будет закончена, FTP-клиент сообщит Вам об этом. Теперь можно выходить из FTP-клиента (при выходе он автоматически закроет соединение с сервером) и пользоваться этими файлами, так сказать, в домашних условиях. Существует система шаблонов, которую лучше всего изучать на примерах. Перед этим объяснение специальных знаков: Символ '*' обозначает любой набор символов. Символ '?' обозначает один любой символ. Примеры:
Учтите, что большие и маленькие буквы РаЗлИчАюТсЯ. По команде get имя_файла, компьютер ищет файл в текущем каталоге. Для навигации по серверу Вам надо знать имя текущего каталога и способы передвижения по ним. Так как традиционной операционной системой для многопользовательских систем является UNIX, то везде Вам придется использовать имена каталогов в стиле UNIX. Общий вид пути в файлу выглядит так: /имя_каталога/имя_подкаталога/имя_файла где имя_подкаталога может повторяться сколь угодно раз или его может не быть вовсе. Наверное, Вы уже заметили, что имена каталогов разделяются знаком '/'. Пользователям MS DOS придется привыкнуть: используется не обратный слэш('\'), а прямой. Слэш в самом начале пути означает, что отсчет начинается с самого верхнего - root каталога. Если слэша в начале нет, то компьютер интерпретирует путь, начиная от текущего каталога, как бы склеивая имя текущего каталога с указанным. Например: Текущий каталог: /pub/3d. Вы указываете каталог: programming/cpp Результат: /pub/3d/programming/cpp Такой сокращенной записью пути (начиная от текущего каталога) пользуются очень часто. Конечно удобнее указать каталог, который находится в текущем каталоге, чем писать весь путь. Переход между каталогами производится с помощью команды cd- Change Directory. Ее синтаксис: cd имя_директории Наиболее часто применяемый способ навигации в каталогах - узнать список файлов и каталогов в текущем каталоге командой dir и перейти в требуемый подкаталог командой cd, не думая ни о каких правилах составления путей при помощи слэшей. На этапе исследования сервера вы, очевидно, будете заходить во все каталоги и просматривать их содержимое. Поэтому удобно знать команду перехода в предыдущий каталог. cd .. '..' - это псевдоним родительского каталога. Вы можете использовать его в формировании путей. cd ../newsoft переход в newsoft, который находится в родительском каталоге. Учтите, что маленькие и большие буквы различаются. Операционную систему удаленного компьютера можно узнать, введя system. Список файлов в текущем каталоге можно узнать с помощью команды dir. На первый взгляд в списке мало понятного. Сначала идут 10 символов. Это биты доступа. Для Вас представляет интерес только первый символ. Если это '-', то он обозначает файл, если 'd' - то директорию. Следующие два столбика - имя владельца и имя группы, это относится к системе защиты UNIX и для пользователя FTP не представляет интереса. Затем идет число - размер файла. Самый правый столбик - имя файла или директории. Краткий перечень команд, необходимых для того, чтобы переписать требуемый файл или файлы при использовании FTP-клиента с командной строкой. Если необходимо узнать остальные команды, которые нужны для работы с FTP, то введите help в Вашем FTP-клиенте. При работе с графическим клиентом, поддерживающим современный интерфейс, Вам, скорее всего, все будет понятно без объяснений. Учтите, что в именах файлов большие и маленькие буквы различаются. open имя_сервера - открыть соединение - открывает соединение с сервером. Это имя можно указать сразу при вводе команды, загружающей клиента: ftp ftp.karelia.ru. cd имя_директории - сменить каталог - осуществляет переход в другой рабочий каталог на FTP-сервере. dir [имя_файла] - выдать список файлов - выдает список файлов в текущей директории. Если Вам интересен формат списка каталога, нажмите здесь. Не забывайте, что можно использовать шаблоны групповых операций. get имя_файла [имя_локального_файла] - переписать файл - переписывает файл с удаленного компьютера на локальный. Если указано имя локального файла, то записывает его под этим именем, иначе - в каталог по умолчанию. mget [имя_файла] - переписать группу файлов - то же самое, что и get, но разрешается использовать шаблоны. Перед копированием каждого файла будет запрашиваться подтверждение. Для отмены подтверждений введите prompt. prompt - отменяет подтверждение в командах mget и mput. put имя_файла [имя_удаленного_файла] - записать файл на сервер -переписывает файл с локального компьютера на удаленный под именем имя_удаленного_файла. Если оно не указано, то файл записывается в текущий каталог с именем локального файла. Команда запрещена для анонимных пользователей mput [имя_файла] - записать группу файлов - то же самое, что и put, но разрешается использовать шаблоны. Перед записью каждого файла будет запрашиваться подтверждение. Для отмены подтверждений введите prompt. ascii - устанавливает ascii-способ передачи файлов. Используется для пересылки файлов-текстов на английском языке. Однако для надежности лучше использовать binary. Binary - устанавливает двоичный способ пересылки файлов. При этом файл при передаче не перекодируется и записывается в неизмененном виде. Это наиболее надежный способ передачи файлов. close - закрывает соединение с данным сервером и производит возврат в командный режим. Эта команда автоматически выполняется при выходе из FTP-клиента. quit - выход из FTP-клиента. User - регистрирует на текущем сервере с новым именем. Используйте эту команду, если Вы первый раз по ошибке неправильно ввели имя анонимного пользователя и не хотите снова перенабирать команду open. lcd [имя_директории] - осуществляет переход на локальном компьютере в указанный каталог. pwd - выводит на экран текущий каталог на удаленном компьютере. system - выводит на экран тип операционной системы на удаленном компьютере. help [FTP-команда] - помощь - выдает краткую информацию о командах FTP-клиента или о конкретной указанной команде. FTP является ресурсом Internet. URL для ftp выглядит так: ftp:// @ / где user - имя пользователя, password - его пароль, host - доменное имя или IP адрес сервера, url-path - путь к файлу. На практике наиболее часто используемым вариантом ftp является анонимный. Как уже было сказано выше, анонимный ftp ничем не отличается от "остального". Просто в качестве имени пользователя достаточно указать anonymous, а в качестве своего пароля - свой почтовый адрес. Для анонимного ftp в url сделан упрощенный синтаксис: ftp:// Примеры адресов ftp в форме url: ftp://ftp.cdrom.com/pub/music/songs/1996 ftp://ds.internic.net/rfc/rfc1738.txt В качестве host можно указывать и IP адрес. (118.24.64.24) Основное применение url нашли в WWW броузерах. Cамые популярные программы в Internet : Netscape Navigator, Internet Explorer, Mosaic, Lynx. Если Вы используете их, имеет смысл использовать их и как ftp клиент. Ниже приведен небольшой глоссарий FTP-server - содержит общедоступные файлы и настроен на поддержку протокола FTP. FTP соединение - это соединение с удаленным компьютером при помощи FTP протокола anonymous - это имя анонимного пользователя. Анонимность пользователя заключается в том, что он имеет право только копировать (download) общедоступные файлы и не может записывать на сервер новые (upload). upload - процесс записи файлов с локального компьютера на удаленный. download - процесс записи файла с удаленного компьютера на локальный. login - операция, с помощью которой входящий пользователь регистрируется на сервере. Эта операция применяется не только в FTP, но м в других системах, например telnet. В принципе, для обычного пользователя все это заключается в простом правиле - после того, как на экране появится слово login:, нужно ввести имя для входа в систему. Например: login: anonymous password - требуется ввести пароль, который известен только Вам или определенному кругу лиц. В системе FTP для анонимного пользователя паролем служит Ваш адрес на локальном компьютере в формате e-mail адреса Internet'а. Если Вы его не знаете, справьтесь у своего администратора. Общий вид: имя@домен.домен где домен - это имя домена. Когда набирается пароль - буквы не появляются на экране. В принципе, для анонимного пользователя пароль вроде бы как и не нужен, но он все-таки введен для того, что бы быть уверенным, что человек осознает, что он делает. И еще: многие FTP клиенты вводят пароль анонимного пользователя автоматически, если Вы нажмете Enter после приглашения. Remote computer - удаленный компьютер с которым инициируется соединение. Local computer - локальный компьютер, с которого мы в данный момент работаем и совершаем соединение. Для связи между сервером и клиентом FTP использует два различных соединения TCP. Эти соединения называются управляющим и информационным. Последнее называют также соединением передачи данных. Соединения могут находиться в одном из двух состояний готовности : пассивное открытое (ожидание передачи) или активное открытое (инициализация передачи). Управляющее соединение устанавливает связь между клиентом и сервером FTP и остается открытым в течение всего сеанса. Управляющее соединение использует порт 21 сервера и открытый порт клиента с номером, превышающим 1023. Управляющее соединение контролируется специальным набором процедур - интерпретатором протокола сервера и пользовательским интерпретатором протокола. Информационное соединение сущесьвует только во время передачи данных между клиентом и сервером - каждый раз после выполнения передачи данных оно закрывается, тогда как управляющее соединение остается открытым. Информационное соединение контролируется серверным процессом передачи данных и пользовательским процессом передачи данных. Каждый раз когда начинается новая передача данных, должен быть открыт новый порт данных клиента. На сервере порт данных всегда имеет номер 20. Протокол SMTP Протокол SMTP (Simple Mail Transfer Protocol - простой протокол передачи почты) поддерживает передачу сообщений (электронной почты) между произвольными узлами сети internet. Имея механизмы промежуточного хранения почты и механизмы повышения надежности доставки, протокол SMTP допускает использование различных транспортных служб. Он может работать даже в сетях, не использующих протоколы семейства TCP/IP. Протокол SMTP обеспечивает как группирование сообщений в адрес одного получателя, так и размножение нескольких копий сообщения для передачи в разные адреса. Над модулем SMTP располагается почтовая служба конкретных вычислительных систем. Протокол POP3. Протокол POP3 (Post Office Protocol) . Почтовые сообщения накапливаются на специальных почтовых серверах Интернета, откуда их и считывают пользователи. На РОР3-серверах скапливается входящая корреспонденция для пользователей E-mail, SMTP-серверы осуществляют передачу исходящих сообщений. Пользователи электронной почты работают с клиентскими программами, которые умеют загружать входящую почту с РОР3-серверов и передавать исходящие сообщения на SMTPсерверы, которые в свою очередь передают их по дальнейшему маршруту. Наиболее часто используемые программы электронной почты - Microsoft Outlook Express или Netscape Messenger. Протокол NNTP. Протокол NNTP (NetWork News Transfer Protocol). В отличие от электронной почты служба новостей Интернета, состоящая более чем из десяти тысяч постоянно работающих телеконференций, предназначена для открытого диалога, в котором может участвовать любой пользователь сети. Серверы телеконференций работают по протоколу NNTP, и для чтения новостей, необходима программа, "понимающая" NNTP, такая какMicrosoft Outlook Express или Netscape Messenger. Протокол HTTP. Протокол HTTP (HyperText Transfer Protocol). Ключевой службой Интернета считается World Wide Web (WWW). На Web-страницах размещают гипертекстовые документы, подготовленные на языке HTML (HyherText Markup Language). HTML- документы выглядят наподобие книжных страниц или журнальных полос и могут содержать текстовую, графическую, звуковую и видеоинформацию. Доступ к Web-страницам основан на протоколе HTTP. Механизм гипертекстовых связей позволяет переходить от одной страницы к другой и от одного сервера к другому в поисках информации. Для просмотра Web-серверов нужна специальна программа - обозреватель или браузер (browser). Такими программами являются, например, Microsoft Internet Explorer и Netscape Communicator. НТТР - клиент-серверный протокол. Это означает, что клиент и сервер взаимодействуют для выполнения указанной клиентом задачи. Представьте: пользователь щелкнул ссылку на гипертекстовой странице. При этом, с точки зрения пользователя, текущая страница просто заменяется на новую. Но в это время клиент-серверный протокол выполяет следующие действия: 1. Клиентская программа просмотра с помощью команд протокола НТТР связывается с НТТР-сервером. 2. Через стандартный порт ТСР (порт 80) устанавливается соединение между клиентом и сервером. 3. Как только соединение достигнуто, серверу передается сообщение-запрос, Обычно запрос файла ресурса, содержащего изображение, аудиозапись, видеоролик или другой гипертекстовый документ. 4. Сервер отвечает клиенту сообщением, которое содержит запрашиваемые данные 5. Если клиентская программа просмотра не использует режим сохранения соединения, сервер закрывает соединение. НТТР-запросы. Сообщение "простой запрос" посылается серверу в форме строки, состоящей из метода запроса, универсального указателя ресурса (Universal Resourse Locator URL) и версии протокола. Вот пример НТТР-запроса: Get http://www.w3.org/hypertext/www/theproject.html HTTP/1.0 В примере использованы следующие элементы запроса: · Get - метод · http - схема · www.w3.org/hypertext/www/theproject.html - URL требуемого объекта · 1.0 - версия протокола HTTP Cообщение "полный запрос" отличается от простого запроса тем, что за заголовком следует сообщение в формате многоцелевого расширения почты Интернета (Multipurpose Internet Mail Extensions MIME). Оно состоит из модификаторов-запроса, информации о клиенте и при необходимости - из содержимого тела запроса.и Ниже приведены некоторые виды сообщений · connection - между двумя приложениями установлен виртуальный канал транспортного уровня · program - предназначено для коммуникационных целей · message - основной элемент связи с использованием HTTP, состоит из структурированной последовательности октетов и передается через соединение · request - сообщение-запрос НТТР · response - сообщение-ответ НТТР · resourse - объект данных (или служба в сети), который идентифицируется указателем URL Ответы сервера НТТР. Получив запрос, сервер НТТР отвечает сообщением о статусе. Оно состоит из версии протокола сообщения и кода успеха или ошибки. Затем следует сообщение в формате MIME с информацией о сервере и объекте. Иногда в сообщение входит и содержимое тела запроса. Основные типы сообщений о статусе запроса перечислены в следующей таблице.
Если на вашем узле нахолятся файлы разных форматов, то на компьютере-сервере должно быть установлено соответствие между форматами файлов и типами MIME. Если для какого-либо типа файла соответствующий тип MIME не указан, программа просмотра скорее всего не загрузит этот файл. Для доступа к ресурсу Интернета по протоколу НТТР пользователь должен задать указатель ресурса (URL). Подобно всем указателям URL, указатель НТТР-ресурса состоит из трех основных частей · Как - определяет способ выполнения запроса. В НТТР этот компонент называют схемой. Для поиска ресурса в сети средствами протокола НТТР используется схема "http" · Где - указывает узел сети · Что - описывает полный путь к запрошенному объекту и его имя Указатель ресурса НТТР иммет следующий синтаксис http: "// узел [ ":" порт ] абсолютный_путь где · Узел - корректное имя домена узла Интернета или IP-адрес в формате ххх.ххх.ххх.ххх · Порт - номера нужного порта (необязательный параметр) по умолчанию порт 80 · Абсолютный путь - полный путь к файлу и его имя |