Основные протоколы прикладного уровня стека TCP/IP Дроздов Алексей Владимирович БГТУ 2008.

Презентация:



Advertisements
Похожие презентации
Принцип работы и настройка FTP-клиентов. Принцип работы и настройка FTP-клиентов FTP (File Transfer Protocol) протокол, предназначенный для передачи файлов.
Advertisements

Hypertext Transfer Protocol (HTTP) Протокол передачи гипертекста.
ПРОТОКОЛЫ HTTP. HTTP - HyperText Transfer Protocol Протокол уровня приложений Текущая версия HTTP/1.1.
Компьютерные сети. Клиент-серверная архитектура Локальные компьютерные сети «общая шина»«кольцо» «звезда» «дерево»
Курс МЕТОДИСТ ИНТЕРНЕТ - ОБРАЗОВАНИЯ Основные понятия Мониторинг сети Intranet, WWW-сервер Электронная почта, POP3 и SMTP Файловый сервер (FTP-сервер)
Модем Интернет сервер адрес Модем Интернет Сервер Протокол.
Web-программирование По материалам курса University of Washington
В плане учебного проекта «Интернет и его ресурсы.
Выполнила: Манакова Н. В. гр DNS (Domain Name System система доменных имён) - компьютерная распределённая система для получения информации о доменах.
Протокол передачи данных Демонстрационный материал к уроку информатики и ИКТ в 11 классе Епифанова Т.Н. / 2010.
Компьютерные сети Адресация в Интернете План 1.URL: понятие, типы, структура. 2.Сетевой порт. 3.Практикум.
Протоколы сети Internet TCP/IP, РОР3/SMTP, HTTP, FTP Гр
Электронная почта Самый старый и самый популярный сервис Интернета. Позволяет осуществлять обмен информацией через почтовые серверы, которые сохраняют.
Материалы взяты из википедии. HTTP HTTP (англ. HyperText Transfer Protocol «протокол передачи гипертекста»)англ. гипертекста.
Microsoft TechDays Богомолов Алексей MCP, MCTS.
Интернет - протоколы Выполнила: Семеновых Екатерина Вячеславовна, студентка факультета «Прикладная информатика» группы КО /08-01.
Адресация в сети ИнтернетАдресация в сети Интернет.
каф. Выч. техники, Тихоокеанский государственный университет, г. Хабаровск, вед. преп. Шоберг А.Г. 1 Протокол POP3.
Сервисы Интернет. РЕЗОЛЮЦИЯ: Федеральный сетевой совет признает, что следующие словосочетания отражают наше определение термина "Интернет". Интернет это.
Web-узлы. Разработка и администрирование.. Часть 1. Web-технология.
Транксрипт:

Основные протоколы прикладного уровня стека TCP/IP Дроздов Алексей Владимирович БГТУ 2008

«Ключевые» прикладные протоколы HTTP - гипертекстовый протокол FTP – протокол передачи файлов SMTP – протокол пересылки почтовых сообщений POP3, IMAP – протоколы получения почтовых сообщений DNS - протокол преобразования доменных имен SNMP – протокол управления сетями

Понятие HTTP HTTP – HyperText Transfer Protocol Является протоколом прикладного уровня. Описание HTTP можно найти в RFC 1945 и RFC Протокол HTTP реализуется с помощью двух программ: клиента и сервера, которые, находясь на разных оконечных системах, обмениваются HTTP-сообщениями.

Версии протокола HTTP 1997 г. - практически все web-браузеры и web-серверы стали поддерживать протокол HTTP версии 1.0, описанный в документе RFC г. - переход к версии 1.1, которая была описана в RFC Версия 1.1 имеет обратную совместимость с версией 1.0, т.е. любой сервер и браузер, использующий версию 1.1, может а полной мере взаимодействовать с браузером или сервером, поддерживающий версию 1.0. HTTP использует TCP в качестве протокола транспортного уровня. HTTP-клиент сначала устанавливает TCP-соединение с сервером, а после создания соединения клиент и сервер начинают взаимодействовать с протоколом TCP, например, через механизм сокетов.

Формат строки подключения URL Uniform Resource Locator. Единый указатель ресурсов :// : / Общий формат строки подключения, воспринимаемый практически всеми браузерами выглядит следующим образом:

Протокол HTTP. Запросы/ответы

Постоянные и непостоянные соединения Протокол HTTP поддерживает постоянные и непостоянные соединения (версия 1.0 – только непостоянные). При непостоянном соединении протокол TCP получает только один объект, а при постоянном соединении (для версии 1.1 используется по умолчанию) – все объекты. Клиенты и серверы с поддержкой HTTP 1.1 можно настроить и для непостоянного соединения.

Пример запроса по HTTP произвольного файла

Общий формат HTTP-запроса

Пример запроса к серверу GET / HTTP/1.1 Host: iipo.tu-bryansk.ru User-Agent: Mozilla/5.0 Connection: keep-alive Keep-Alive: 300 Accept-Encoding: gzip,deflate Accept: text/css,*/*;q=0.1 Accept-Language: ru-ru,ru Accept-Charset: windows-1251,utf-8

Формат HTTP-ответа

Пример ответа сервера HTTP/ OK Date: Sun, 18 Nov :45:58 GMT Server: Microsoft-IIS/6.0 X-Powered-By: PHP/5.2.3 Expires: Mon, 26 Jul :00:00 GMT Last-Modified: Sun, 18 Nov :45:58 GMT Content-Encoding: gzip Vary: Accept-Encoding Content-Length: 4657 Content-Type: text/html Connection: keep-alive (data data data …)

HTTP методы HTTP/1.0 GET POST HEAD Запрос только заголовков отклика без возврата объекта HTTP/1.1 GET, POST, HEAD PUT Загрузка объекта на сервер по указанному URL DELETE Удаление объекта на сервере по указанному URL

Коды HTTP-откликов 200 OK: Запрос успешно обработан, объект получен и включен в ответ. 301 Moved Permanetly: Объект перемещен; новый URL-адрес указан в строке ответа Location:. Программа клиента автоматически выполнит запрос по новому адресу. 400 Bad Request: Общая ошибка, вызванная невозможностью интерпретации запроса сервером. 404 Not Found: Запрашиваемый объект не найден на сервере. 505 HTTP Version Not Supported: Указанная в запросе версия HTTP не поддерживается сервером.

Проксирование HTTP-трафика Цель проксирования – предоставление клиенту результата без обращения к оригинальному серверу

Использование прокси серверов

Пример эффективного проксирования

Достоинства HTTP Простота. Протокол настолько прост в реализации, что позволяет с лёгкостью создавать не только клиентские приложения, но и простые сервера. Расширяемость. Вы можете легко расширять возможности протокола благодаря внедрению своих собственных заголовков сохраняя совместимость с другими клиентами и серверами. Они будут игнорировать неизвестные им заголовки, но при этом вы можете получить необходимый вам функционал при решении специфической задачи. Распространённость. При выборе протокола HTTP для решения конкретных задач немаловажным фактором является его распространённость. Как следствие, это обилие различных документаций по, включение удобных в использовании средств разработки в популярные IDE, поддержка протокола в качестве клиента многими программами и обширный выбор среди хостинговых компаний с серверами HTTP.

Недостатки HTTP Большой размер пакетов. Использование текстового формата в протоколе порождает соответствующий недостаток: большой размер сообщений по сравнению с передачей двоичных данных. Из-за этого возрастает нагрузка на оборудование при формировании, обработке и передаче сообщений. Для решения данной проблемы в протокол встроены средства для обеспечения кэширования на стороне клиента. Отсутствие «навигации». Хотя протокол разрабатывался как средство работы с ресурсами сервера, у него отсутствуют в явном виде средства навигации среди этих ресурсов. Например, клиент не может явным образом запросить список доступных файлов как в протоколе FTP. Нет поддержки распределенности. Протокол HTTP разрабатывался для решения типичных бытовых задач где само по себе время обработки запроса должно занимать незначительное время или вообще не приниматься в расчёт.

Понятие FTP File Transfer Protocol («протокол передачи файлов») или просто FTP сетевой протокол, предназначенный для передачи файлов в компьютерных сетях. Протокол FTP позволяет подключаться к серверам FTP, просматривать содержимое каталогов и загружать файлы с сервера или на сервер, кроме того, возможен режим передачи файлов между серверами.

Спецификация FTP Первоначальная спецификация протокола описана в RFC 959. В настоящее время разработаны версии FTP для работы с IPv6 (RFC 2428 – FTP Extensions for IPv6 and NATs).

Протокол файлового обмена

Режимы работы FTP Существуют два возможных режима работы FTP клиента и сервера: активный пассивный

Схема работы протокола ftp в активном режиме

Схема работы протокола ftp в пассивном режиме

FTP-команды и ответы Примеры команд: USER username PASS password LIST возвращает список объектов в текущей директории RETR filename получение файла STOR filename загрузка файла на сервер Примеры кодов возврата: 331 Username OK, password required 125 data connection already open; transfer starting 425 Can t open data connection 452 Error writing file

Формат строки подключения Общий формат строки подключения, воспринимаемый практически всеми выглядит следующим образом: где user – логин пользователя, password – пароль пользователя, host – доменное имя сервера или его IP- адрес, port – номер сетевого порта (в случае, если сервер работает на нестандартном порту), dir – каталог, который должен стать текущим после подключения к FTP-серверу. Логин пользователя и его пароль записываются в открытом виде. Например: ftp:// :21/pub ftp://

Электронная почта – Адрес электронной почты – обозначение, установленное RFC 2822, однозначно идентифицирующее почтовый ящик, в который следует доставить сообщение электронной почты. Адрес состоит из двух частей, разделённых символом Левая часть указывает имя почтового ящика, часто оно совпадает с логином пользователя. Правая часть адреса указывает доменное имя того сервера, на котором расположен почтовый ящик. Например: где admin – имя пользователя; ctam.tu-bryansk.ru – доменное имя сервера, на котором располагается электронный ящик.

Базовые сведения о протоколе SMTP В качестве транспортного средства доставки сообщений в Интернет выступает SMTP (Simple Mail Transfer Protocol, простой протокол передачи почты), который был стандартизован в виде RFC 821.

Упрощенная схема передачи почтовых сообщений

Примерная схема работы web- почты

Этапы передачи почтового сообщения Соединение почтового клиента с SMTP-сервером отправителя; Передача SMTP-серверу информации о том, кому предназначается почта и кто является отправителем; Проверка SMTP-сервером корректности данных об адресате и адресанте и принятие письма (с заголовками и телом письма); Постановка письма в очередь доставки; DNS-запрос о почтовых серверах (MX-записи) для домена адресата; Попытка соединения SMTP-сервера отправителя с почтовыми серверами адресата, имеющими наибольший приоритет. Если попытка неудачна, делаются ещё попытки соединения с резервными почтовыми серверами домена адресата;

Этапы передачи почтового сообщения: 2 Передача письма в случае удачного соединения с почтовым сервером домена адресата, либо постановка в очередь для попытки переслать письмо позже, в случае неудачи; Прием SMTP-сервером домена адресата письма Проверка письма на предмет его похожести на спам (опционально) Передача его модулю, который занимается хранением писем и выдачей их адресатам по протоколу POP3, IMAP или другим; Соединение адресата с POP3 или IMAP сервером, аутентификация и получение письма адресатом.

Пример взаимодействия с SMTP-сервером S: 220 ctam.tu-bryansk.ru C: HELO yandex.ru S: 250 Hello crepes.fr, pleased to meet you C: MAIL FROM: S: 250 Sender ok C: RCPT TO: S: 250 Recipient ok C: DATA S: 354 Enter mail, end with "." on a line by itself C: Do you like ketchup? C: How about pickles? C:. S: 250 Message accepted for delivery C: QUIT S: 221 ctam.tu-bryansk.ru closing connection

Базовые команды SMTP HELO MAIL FROM: RCPT TO: DATA RSET SEND FROM: SOML FROM: SAML FROM: VRFY EXPN HELP NOOP QUIT

Пример заголовков письма Received: from smtp1.yandex.ru (smtp1.yandex.ru [ ]) by tower.tts.debryansk.ru (8.13.8/8.13.8) with ESMTP id kBEMe5U for ; Fri, 15 Dec :40: Received: from [ ] ([ ]:41232 "EHLO [ ]" smtp-auth: "user" TLS-CIPHER: TLS-PEER-CN1: ) by mail.yandex.ru with ESMTP id S AbWLNWj5 (ORCPT ); Fri, 15 Dec :39: X-Comment: RFC 2476 MSA function at smtp1.yandex.ru logged sender identity as: user Date: Fri, 15 Dec :35: From: user X-Mailer: The Bat! (v ) Professional Reply-To: user X-Priority: 3 (Normal) Message-ID: To: Subject: Test mail message MIME-Version: 1.0 Content-Type: multipart/mixed; boundary=" C C8F" X-Virus-Scanned: ClamAV /2334/Thu Dec 14 22:46: on tower.tts.debryansk.ru X-Virus-Status: Clean X-UIDL: 6P4!!RS`"!daU!!dLp!! That all...

MIME расширения MIME: multimedia mail extension, RFC 2045, 2056 additional lines in msg header declare MIME content type From: To: Subject: Picture of yummy crepe. MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Type: image/jpeg base64 encoded data base64 encoded data multimedia data type, subtype, parameter declaration method used to encode data MIME version encoded data

Базовые сведения о протоколе POP3 В некоторых небольших узлах Интернет бывает непрактично поддерживать систему передачи сообщений (MTS – Message Transport System). Но доступ к электронной почте необходим как для таких малых узлов, так и индивидуальных ЭВМ. Для решения этой проблемы разработан протокол POP3 (Post Office Protocol – Version 3, STD: 53. M. Rose, RFC-1939). Этот протокол обеспечивает доступ узла к базовому почтовому серверу. POP3 (порт 110) не ставит целью предоставление широкого списка манипуляций с почтой, он лишь получает и стирает почтовые сообщения. Более продвинутый и сложный протокол IMAP4 обсуждается в RFC-2060 (порт 143). Об аутентификации в POP3 можно прочесть в документе RFC-1734.

POP3 протокол авторизация client commands: user: declare username pass: password server responses +OK -ERR транзакции, client: list: list message numbers retr: retrieve message by number dele: delete quit C: list S: S: S:. C: retr 1 S: S:. C: dele 1 C: retr 2 S: S:. C: dele 2 C: quit S: +OK POP3 server signing off S: +OK POP3 server ready C: user bob S: +OK C: pass hungry S: +OK user successfully logged on

Понятие доменов Домен – область иерархического пространства доменных имён сети Интернет, которая обозначается уникальным доменным именем. Доменное имя – символьное имя домена. Должно быть уникальным в рамках одного домена. Полное имя домена состоит из имён всех доменов, в которые он входит, разделённых точками. Например, полное имя bryansk.ru. обозначает домен третьего уровня www, который входит в домен второго уровня tu-bryansk, который входит в домен.ru, который входит в корневой домен. bryansk.ru Доменное имя служит для адресации узлов сети Интернет и расположенных на них сетевых ресурсов в удобной для человека форме. Доменная зона – совокупность доменных имён определённого уровня, входящих в конкретный домен. Например, зона ctam.tu-bryansk.ru. означает все доменные имена третьего уровня в этом домене.

Система доменных имен DNS - Domain Name System система доменных имён распределённая система (распределённая база данных), способная по запросу, содержащему доменное имя хоста (компьютера или другого сетевого устройства), сообщить IP адрес или (в зависимости от запроса) другую информациюдоменное имяхоста

Иерархия доменных имен

DNS протокол DNS функционирует на принципе делегирования полномочий. Каждая машина либо знает ответ на вопрос, либо знает кого спросить. При правильном функционировании система замкнута, т.е. если запрошенная информация имеется у кого- либо, то она будет найдена и сообщена клиенту, либо, если вопрос не имеет ответа, клиент получит сообщение о невозможности получения ответа на вопрос. В основе работы DNS лежит соответствующий сетевой протокол также с названием DNS. DNS-протокол использует для работы TCP- или UDP-порт 53 для ответов на запросы. Например, браузер перед запросом некоторого ресурса выделяет из URL имя, посылает запрос на преобразование DNS серверу, который в свою очередь в случае успешного преобразования, возвращает пакет с запрошенной клиентом информацией. После чего браузер может выполнять необходимые операции по запросу ресурсов с сервера с заданным IP–адресом.

Дополнительные функции DNS Помимо преобразования имени хостов в IP-адреса, DNS выполняет еще несколько важных функций: Поддержка псевдонимов серверов. Поддержка псевдонимом почтовых серверов. Распределение загрузки. Основные спецификации DNS содержатся в документах RFC 1034 и RFC Кроме того, некоторые дополнения можно найти и в других RFC. В виду достаточно высокой сложности DNS, мы с вами коснемся только базовых ее понятий.

Пример итеративного разрешения DNS имени

Размещение корневых доменных серверов

?