Всем привет!
Сегодня поговорим о прикладном уровне компьютерных сетей. Прикладной уровень отвечает за функционирование сетевых приложений. Соответственно, первый вопрос, который рассматривается в этой теме посвящён принципам работы сетевых приложений. Он включает в себя изучение архитектуры сетевых приложений, взаимодействие процессов, запущенных на конечных системах (см.рисунок). Для передачи сообщений между процессами используются транспортные службы, которые характеризуются по четырём критериям:надёжная передача данных, пропускная способность, время доставки и безопасность.
Второй вопрос в данной теме предполагает изучение всемирной паутины и протокола HTTP. Здесь рассматривается обзор протокола HTTP, непостоянные и постоянные соединения, формат HTTP-сообщения, взаимодействие пользователя и сервера с использованием cookie-файла, веб-кэширование и метод GET с условием.
Презентация к лекции Прикладной-уровень.pdf
Обзор по теме можно посмотреть в видео.
Третьим вопросом в теме является передача файлов по протоколу FTP. Здесь мы лишь рассматриваем команды и ответы протокола FTP.
В четвёртом вопросе изучается электронная почта в Интернете. Рассматривается работа протокола SMTP, его сравнение с HTTP, форматы почтового сообщения и протоколы доступа к электронной почте.
В заключительном вопросе речь идёт о службе каталогов Интернета DNS. Речь идёт о службах, предоставляемых DNS, порядке работы протокола DNS, а так же о записях и сообщениях, используемых протоколом DNS.
Все вышеперечисленные вопросы можно изучить во второй главе книги Дж. Куроуза Компьютерные сети, реквизиты которой можно посмотреть в списке литературы.
Попробуйте найти самостоятельно ответы на следующие вопросы:
1.Перечислите четыре широких класса служб, которые может обеспечить протокол транспортного уровня. Для каждого из классов укажите, предоставляет ли UDP или TCP (или оба) такую службу.
2.Напомним, что TCP может быть дополнен использованием протокола SSL для обеспечения безопасности работы служб при взаимодействии процессов, включая шифрование. На транспортном или на прикладном уровне работает SSL? Если разработчик хочет добавить использование SSL вместе с TCP, что он должен предпринять?
3.Что подразумевается под рукопожатием в протоколах?
4. Почему протоколы HTTP, FTP, SMTP и POP3 работают поверх TCP, а не UDP?
5. Рассмотрим сайт электронной торговли, который планирует вести учет покупок каждого из своих клиентов. Опишите, как это можно сделать при помощи механизма cookie.
6. Опишите, каким образом веб-кэширование позволяет сократить задержки получения запрашиваемого объекта. Будет ли веб-кэширование уменьшать задержку для всех объектов, запрашиваемых пользователем или только для некоторых из них? Почему?
7. Подключитесь с помощью Telnet к веб-серверу и отправьте многострочное сообщение с запросом. Включите в него строку заголовка If-Modified-Since, чтобы вызвать ответное сообщение с кодом состояния 304 Not Modified.
8. Почему говорят, что FTP отправляет управляющую информацию «вне полосы»?
9. Предположим, Алиса, используя веб-доступ к электронной почте (например, Hotmail или Gmail), отправляет сообщение Бобу, который получает почту со своего почтового сервера, используя доступ по протоколу POP3. Обсудите, как сообщение передается от хоста Алисы к хосту Боба. Укажите также набор используемых здесь протоколов прикладного уровня.
10. Распечатайте заголовок сообщения электронной почты, недавно полученного вами. Сколько строк в заголовке, содержащих Received:? Проанализируйте каждую из них.
11. С точки зрения пользователя, в чем разница между режимами «загрузить и удалить» и «загрузить и сохранить» протокола POP3?
12. Возможно ли, чтобы веб-сервер организации и ее почтовый сервер имели одинаковые псевдонимы для имени хоста (например, foo.com)? Какой тип имеет ресурсная запись, которая содержит имя хоста почтового сервера?
13. Среди полученных вами писем найдите и изучите заголовок сообщения, отправленного пользователем, имеющим адрес электронной почты, принадлежащий домену .edu. Можно ли определить из заголовка IP-адрес хоста, с которого было отправлено сообщение? Сделайте то же самое для сообщения, отправленного с учетной записи Gmail.
Упражнения
1. Верно или нет?
а. Пользователь запрашивает веб-страницу, которая состоит из некоторого текста и трех изображений. В этом случае клиент отправит одно сообщениезапрос и получит четыре ответных сообщения.
б. Две различные веб-страницы (например, www.mit.edu/research.html и www.mit.edu/students.html) могут быть отправлены через одно и то же постоянное соединение.
в. В случае непостоянного соединения между браузером и сервером один TCPсегмент может нести в себе два разных сообщения-запроса HTTP.
г. Заголовок Date: в ответном сообщении HTTP указывает на дату последнего изменения запрашиваемого объекта, содержащегося в этом ответе.
д. Тело ответного сообщения HTTP никогда не может быть пустым.
2. Прочтите документ RFC 959 с описанием протокола FTP. Перечислите все поддерживаемые в нем клиентские команды.
3. Представьте HTTP клиент, который пытается получить веб-документ по заданному URL-адресу. IP-адрес сервера HTTP изначально неизвестен. Какие транспортные протоколы и протоколы прикладного уровня, кроме HTTP, необходимы в этом случае?
4. Рассмотрим следующую строку символов ASCII, которые были перехвачены программой Wireshark, когда браузер отправил GET-сообщение протокола HTTP (т.е., это фактическое содержание сообщения GET). Символы и – это возврат каретки и перевод строки (которые присутствовали в заголовке HTTP). Ответьте на следующие вопросы с указанием, в каком месте сообщения GET вы нашли ответ.
GET /cs453/index.html HTTP/1.1Host: gai a.cs.umass.eduUser-Agent: Mozilla/5.0 ( Windows;U; Windows NT 5.1; en-US; rv:1.7.2) Gec ko/20040804 Netscape/7.2 (ax) Accept:ex t/xml, application/xml, application/xhtml+xml, text/html;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5 AcceptLanguage: en-us,en;q=0.5Accept- Encoding: zip,deflateAccept-Charset: ISO-8859-1,utf8;q=0.7,*;q=0.7Keep-Alive: 300Connection:keep-alive
а. Каков URL-адрес запрашиваемого браузером документа?
б. Какую версию протокола HTTP использует запущенный браузер?
в. Какое соединение запрашивает браузер: постоянное или непостоянное?
г. Какой IP-адрес у хоста, на котором запущен браузер?
д. Каков тип запрашивающего браузера? Для чего нужен тип браузера в сообщении-запросе?
5. Текст, приведенный ниже, показывает ответ сервера на GET-сообщение HTTP, указанное в предыдущем упражнении. Ответьте на следующие вопросы, указав, в каком месте текста вы нашли ответ.
HTTP/1.1 200 OKDate: Tue, 07 Mar 2008 12:39:45GMTServer: Apache/2.0.52 (Fedora) Last-Modified: Sat, 10 Dec2005 18:27:46 GMTETag: «526c3-f22-a88a4c80»Accept- Ranges: bytesContent-Length: 3874 KeepAlive: timeout=max=100Connection: KeepAliveContent-Type: text/html; charset= ISO-88591<!doctype html public «- //w3c//dtd html 4.0 transitional//en»>CMPSCI 453 / 591 / NTU-ST550A Spring 2005 homepage<здесь содержалось еще много строк текста (они не показаны)>
а. Успешно ли нашел сервер запрашиваемый документ? В какое время сервер предоставил ответ?
б. Каково время последнего изменения документа?
в. Каков размер возвращенного документа?
г. Каковы первые 5 байт документа? Подтвердил ли сервер постоянное соединение?
Литература:
1. Куроуз, Джеймс Компьютерные сети: Нисходящий подход [Текст]: -М: Изд-во «Э», 2016. -912 с.
Кол-во просмотров: 7800