Протоколы прикладного уровня TCP/IP

Содержание

Слайд 2

SNMP-протокол выполняет функции диагностики сети аналогом SNMP (Simple Network Management Protocol

SNMP-протокол

выполняет функции диагностики сети
аналогом SNMP (Simple Network Management Protocol – RFC

1157 ) выступает CMOT (Common Management Information Services and Protocol over TCP/IP – RFC 1095)
Слайд 3

SNMP-протокол Общая информация SNMP – это протокол из семейства TCP/IP, позволяющий

SNMP-протокол Общая информация

SNMP – это протокол из семейства TCP/IP, позволяющий наблюдать

и передавать информацию о состоянии
компьютеров, на которых работает сервис SNMP;
маршрутизаторов и шлюзов
мини-компьютеров или мэйнфреймов;
терминальных серверов;
управляемых свитчей
компьютер может выдавать отчет о своем состоянии системе управления SNMP в сети
сервис SNMP посылает информацию о состоянии одному или нескольким компьютерам по запросу или когда происходит важное событие
Слайд 4

SNMP-протокол Общая информация управляющая прикладная программа воздействует на сеть по цепочке

SNMP-протокол Общая информация

управляющая прикладная программа воздействует на сеть по цепочке SNMP-UDP-IP

– физическая сеть
важным объектом управления обычно является внешний порт сети или маршрутизатор
каждому управляемому объекту присваивается уникальный идентификатор
Слайд 5

SNMP-протокол Общая информация SNMP позволяет одновременно наблюдать за различными компьютерами с помощью систем управления и агентов

SNMP-протокол Общая информация

SNMP позволяет одновременно наблюдать за различными компьютерами с помощью систем

управления и агентов
Слайд 6

SNMP-протокол Система управления SNMP основная функция системы управления – запрос информации

SNMP-протокол Система управления SNMP

основная функция системы управления – запрос информации от агентов


система управления – это любой компьютер на котором работает программное обеспечение управления SNMP
система управления может выполнять операции get, get_next и set
Слайд 7

SNMP-протокол Агент SNMP Агент – это любой компьютер, на котором работает

SNMP-протокол Агент SNMP

Агент – это любой компьютер, на котором работает соответствующее

SNMP ПО, как правило, это сервер или маршрутизатор.
Единственная операция, которая может быть инициирована агентом – trap.
Слайд 8

SNMP-протокол SNMP-сообщения не имеют фиксированного формата и фиксированных полей при работе

SNMP-протокол

SNMP-сообщения не имеют фиксированного формата и фиксированных полей
при работе протокол SNMP

использует управляющую базу данных MIB — Management Information Base
описание алгоритмов управления - ASN.1 (Abstract Syntax Notation)
RFC 1213, 1212
Слайд 9

SNMP-протокол Описание протокола все объекты в Интернете разделены на 10 групп

SNMP-протокол Описание протокола

все объекты в Интернете разделены на 10 групп и описаны

в MIB:
система,
интерфейсы,
обмены,
трансляция адресов,
IP,
ICMP,
TCP,
UDP,
EGP,
SNMP.
Слайд 10

SNMP-протокол Группы Интернета "система" - содержит название и версию оборудования, операционной

SNMP-протокол Группы Интернета

"система" - содержит название и версию оборудования, операционной системы, сетевого

программного обеспечения и пр.
в "интерфейсы" входит число поддерживаемых интерфейсов, тип интерфейса, работающего под управлением IP (Ethernet, LAPB и т.д.), размер дейтаграмм, скорость обмена, адрес интерфейса.
"IP" -группа включает время жизни дейтаграмм, информацию о фрагментации, маски субсетей и т.д.
в "TCP" -группу входит алгоритм повторной пересылки, максимальное число повторных пересылок и пр
Слайд 11

SNMP-протокол команды

SNMP-протокол команды

Слайд 12

SNMP-протокол схема запросов - откликов запросу get (get_next) SNMP менеджера соответствует

SNMP-протокол схема запросов - откликов

запросу get (get_next) SNMP менеджера соответствует отклик get

объекта управления
запросу set SNMP менеджера соответствуют 2 отклика объекта управления: get или trap
Слайд 13

SNMP-протокол формат сообщений Поле «Версия» содержит значение, равное номеру версии SNMP

SNMP-протокол формат сообщений

Поле «Версия» содержит значение, равное номеру версии SNMP минус один.


Поле «Пароль» (community - определяет группу доступа) содержит 6-байтовую строку public.
«Идентификатора запроса» устанавливается менеджером и возвращается объектом управления в отклике get
Поле «Статус ошибки» характеризуется целым числом, присланным объектом управления.
Слайд 14

SNMP-протокол формат сообщений, статус ошибки

SNMP-протокол формат сообщений, статус ошибки

Слайд 15

SNMP-протокол SNMP-DPI идеология распределенного протокольного интерфейса DPI (Distributed Protocol Interface) DPI

SNMP-протокол SNMP-DPI

идеология распределенного протокольного интерфейса DPI (Distributed Protocol Interface)
DPI дает возможность применять

SNMP-протокол не только в локальных сетях
Форматы SNMP-DPI-запросов (версия 2.0) описаны в документе RFC-1592.
Слайд 16

SNMP-протокол формат SNMP-заголовка «Флаг» = 0х30 является признаком ASN.1-заголовка. Коды «Ln»

SNMP-протокол формат SNMP-заголовка

«Флаг» = 0х30 является признаком ASN.1-заголовка.
Коды «Ln» представляют собой

длины полей, начинающиеся с байта, который следует за кодом длины, вплоть до конца сообщения-запроса
«Tn» — поля типа следующего за ними субполя запроса. Так, «Т1»=2 означает, что поле характеризуется целым числом, а «Т2»=4 указывает на то, что далее следует пароль (поле «community», в приведенном примере «Public»)
«Идентификатор запроса» определяет пары запрос-отклик
«CO» — статус ошибки
«ТМ» — тип «MIB»-переменной
«ИО» — индекс ошибки
«Цифровой код MIB-переменной» отображается последовательностью цифровых субполей, характеризующих переменную
Слайд 17

SNMP-протокол Цифровой код MIB-переменной Пространство имен MIB-объектов имеет иерархическую структуру.

SNMP-протокол Цифровой код MIB-переменной

Пространство имен MIB-объектов имеет иерархическую структуру.

Слайд 18

SNMP-протокол формат SNMP-заголовка «Индекс ошибки»является указателем на переменную и устанавливается объектом

SNMP-протокол формат SNMP-заголовка

«Индекс ошибки»является указателем на переменную и устанавливается объектом управления не

равным нулю для ошибок «badValue»
Для команды «trap» (тип PDU-4) формат сообщения изменяется
Слайд 19

SNMP-протокол поле “Тип trap”

SNMP-протокол поле “Тип trap”

Слайд 20

SNMP-протокол формат SNMP-заголовка «Индекс ошибки»является указателем на переменную и устанавливается объектом

SNMP-протокол формат SNMP-заголовка

«Индекс ошибки»является указателем на переменную и устанавливается объектом управления не

равным нулю для ошибок «badValue»
Для команды «trap» (тип PDU-4) формат сообщения изменяется
Слайд 21

SNMP-протокол Управляющая база данных MIB информация, которую система управления запрашивает от

SNMP-протокол Управляющая база данных MIB

информация, которую система управления запрашивает от агентов, хранится

в специальной информационной базе данных MIB (Management Information Base, RFC-1213).
MIB – это набор контролируемых объектов, представляющих информацию об устройствах сети, например о количестве активных сеансов или версиях сетевой операционной системы, работающей на компьютере
агент SNMP и база данных MIB одинаково интерпретируют контролируемые объекты
Слайд 22

SNMP-протокол Управляющая база данных MIB сервис SNMP поддерживает Internet MIB II,

SNMP-протокол Управляющая база данных MIB

сервис SNMP поддерживает Internet MIB II, LAN MIB

II
Internet MIB II - это расширение стандарта Internet MIB I. Оно определяет 171 объект, необходимый для поиска неисправностей и анализа конфигурации. Полая информация содержится в RFC 1212, 1213
LAN Manager MIB II определяет около 90 объектов, которые содержат статистическую, сеансовую, пользовательскую, регистрационную информацию и данные о совместно используемых ресурсах.
Используется доступ только на чтение
Слайд 23

SNMP-протокол Заключение протокол SNMP (RFC 1157) служит примером системы управления, в

SNMP-протокол Заключение

протокол SNMP (RFC 1157) служит примером системы управления, в которой для

достижения нужного результата не выдается команда, а осуществляется обмен информацией, решение принимается "на месте" в соответствии с полученными данными
вся управляющая информация для контроля ЭВМ и маршрутизаторов Интернета концентрируются в базе данных MIB (Management Information Base, RFC-1213)
Слайд 24

HTTP-протокол это протокол прикладного уровня, применяемый в распределенных информационных системах гипермедиа.

HTTP-протокол

это протокол прикладного уровня, применяемый в распределенных информационных системах гипермедиа. HTTP

используется проектом World Wide Web с 1990 года
предоставляет открытое множество методов, которые могут быть использованы для указания целей запроса
для указания ресурса, к которому должен быть применен данный метод, используется Универсальный Идентификатор Ресурсов (Universal Resource Identifier - URI), в виде местонахождения (URL) или имени (URN)
Слайд 25

HTTP-протокол парадигма запросов/ответов клиент посылает запрос серверу в следующей форме: метод

HTTP-протокол

парадигма запросов/ответов
клиент посылает запрос серверу в следующей форме: метод запроса, URI,

версия протокола, за которой следует MIME-подобное (Multipurpose Internet Mail Extensions - Многоцелевое Расширение Почты Интернет ) сообщение (информация о клиенте, тело сообщения).
сервер отвечает сообщением, содержащим строку статуса (версия протокола и код статуса - успех или ошибка), за которой следует MIME-подобное сообщение (информация о сервере, метаинформация о содержании ответа и само тело ответа)
Слайд 26

HTTP-протокол сеанс связи открывается клиентом для каждого запроса и закрывается сервером

HTTP-протокол

сеанс связи открывается клиентом для каждого запроса и закрывается сервером после

окончания ответа на запрос
клиент, и сервер должны иметь возможность закрывать сеанс связи в результате какого-нибудь действия пользователя
разрыв связи прерывает текущий запрос, независимо от его статуса
Слайд 27

HTTP-протокол Содержание запроса и ответа Запрос ::= Простой-Запрос | Полный-Запрос Простой-Запрос

HTTP-протокол Содержание запроса и ответа

Запрос ::= Простой-Запрос | Полный-Запрос 
Простой-Запрос ::= "GET" SP

Запрашиваемый-URI CRLF 
Полный-Запрос ::= Строка-Статус *(Общий-Заголовок | Заголовок-Запроса | Заголовок-Содержания ) CRLF| [ Содержание-Запроса ]
Строка-Статус начинается со строки с названием метода, за которым следует URI-Запроса и использующаяся версия протокола, заканчивается CRLF.
Слайд 28

HTTP-протокол Содержание запроса и ответа Строка-Статус ::= Метод SP URI-Запроса SP

HTTP-протокол Содержание запроса и ответа

Строка-Статус ::= Метод SP URI-Запроса SP Версия-HTTP CRLF


отличие Строки-Статус Полного-Запроса от Строки Статус Простого- Запроса заключается в присутствии поля Версия-HTTP
Поля Заголовок-Запроса позволяют клиенту передавать серверу дополнительную информацию о запросе и о самом клиенте.
Слайд 29

HTTP-протокол Содержание запроса и ответа Заголовок-Запроса :: = Accept | Accept-Charset

HTTP-протокол Содержание запроса и ответа

Заголовок-Запроса :: = Accept | Accept-Charset | Accept-Encoding

| Accept-Language | Authorization | From | If-Modified-Since | Pragma | Referer | User-Agent | extension-header
через механизм расширения могут быть определены дополнительные заголовки; приложения, которые их не распознают, должны трактовать эти заголовки, как Заголовок-Содержание .
Слайд 30

HTTP-протокол Содержание запроса и ответа метод должен быть применен к ресурсу,

HTTP-протокол Содержание запроса и ответа

метод должен быть применен к ресурсу, идентифицируемому URI-Запроса
Метод

::= "GET" | "HEAD" | "PUT" | "POST" | "DELETE" | "LINK" | "UNLINK" | дополнительный-метод
клиент всегда оповещается сервером через код статуса ответа, допускается ли применение данного метода
допустимость применения методов может динамически меняться
Слайд 31

HTTP-протокол Методы метод GET и условные GET служат для получения любой

HTTP-протокол Методы

метод GET и условные GET служат для получения любой информации, идентифицированной

URI-Запроса.
метод HEAD аналогичен методу GET, за исключением того, что в ответе сервер не возвращает Тело-Ответа.
метод POST - информация в запросе расценивается как субординантную для ресурса, указанного в Строке-Статус в поле URI-Запроса. Метод POST был разработан, чтобы была возможность использовать один общий метод для следующих функций:
аннотация существующих ресурсов
добавление сообщений в группы новостей, почтовые списки или подобные группы статей
доставка блоков данных процессам, обрабатывающим данные
расширение баз данных через операцию добавления
Слайд 32

HTTP-протокол Методы метод PUT запрашивает сервер о сохранении Тело-Запроса под URI,

HTTP-протокол Методы

метод PUT запрашивает сервер о сохранении Тело-Запроса под URI, равным URI-Запроса.


метод DELETE используется для удаления ресурсов, идентифицированных с помощью URI-Запроса.
метод LINK устанавливает взаимосвязи между существующим ресурсом, указанным в URI-Запроса. В результате работы данного метода не создаются новые ресурсы.
метод UNLINK удаляет одну или более ссылочных взаимосвязей для ресурса, указанного в URI- Запроса
Слайд 33

HTTP-протокол Структура ответа Ответ ::= Простой-Ответ | Полный-Ответ Простой-Ответ ::= [

HTTP-протокол Структура ответа

 Ответ ::= Простой-Ответ | Полный-Ответ  Простой-Ответ ::= [ Содержание-Ответа]  Полный-Ответ ::= Строка-Статус  *(

Общий-Заголовок | Заголовок-Ответа | Заголовок-Содержания) CRLF [Содержание-Ответа]
первая строка Полного-Запроса является Строкой-Статус, состоящей из версии протокола, за которой следует цифровой код статуса и ассоциированное с ним текстовое предложение.
Слайд 34

HTTP-протокол Структура ответа Строка-Статус ::= Версия-HTTP SP Статус-Код SP Фраза-Объяснение. 1xx:

HTTP-протокол Структура ответа

 Строка-Статус ::= Версия-HTTP SP Статус-Код SP Фраза-Объяснение.
1xx: Информационный - Не

используется, но зарезервирован для использования в будущем
2xх: Успех - Запрос был полностью получен, понят, и принят к обработке.
3xx: Перенаправление - Клиенту следует предпринять дальнейшие действия для успешного выполнения запроса.
4xx: Ошибка клиента - Запрос, содержащий неправильные синтаксические конструкции, не может быть успешно выполнен
5xx: Ошибка Сервера - Сервер не смог дать ответ на корректно поставленный запрос. В этих случаях сервер либо знает, что он допустил ошибку, либо не способен обработать запрос.
Слайд 35

HTTP-протокол Структура ответа Код-Расширения ::= 3ЦИФРА Фраза-Объяснение ::=строка*( SP строка) Заголовок-Ответа::=

HTTP-протокол Структура ответа

Код-Расширения ::= 3ЦИФРА   Фраза-Объяснение ::=строка*( SP строка)
Заголовок-Ответа::= Public | Retry-After |

Server | WWW-Authenticate | extension-header
поля позволяют серверу передать дополнительную информацию об ответе, которая не может быть внесена в Строку-Статус, могут содержать информацию о сервере
приложения, которые не распознают эти поля, должны обрабатывать их как поля Заголовок-Содержание. Полное описание этих полей можно получить в спецификации протокола HTTP в CERN (http://www.w3.org/default.htm)
Для более подробной информации см. RFC 1945, 2616, 2965
Слайд 36

FTP-протокол технология FTP была разработана в рамках проекта ARPA и предназначена

FTP-протокол

технология FTP была разработана в рамках проекта ARPA и предназначена для

обмена большими объемами информации между машинами с различной архитектурой.
главным в проекте было обеспечение надежной передачи, поэтому с современной точки зрения FTP кажется перегруженным излишними редко используемыми возможностями.
стержень технологии составляет FTP-протокол
Слайд 37

FTP-протокол FTP предназначен для решения задач разделения доступа к файлам на

FTP-протокол

FTP предназначен для
решения задач разделения доступа к файлам на удаленных

хостах,
прямого или косвенного использования ресурсов удаленных компьютеров,
обеспечения независимости клиента от файловых систем удаленных хостов,
эффективной и надежной передачи данных
Слайд 38

FTP-протокол обмен данными в FTP происходит по TCP-каналу. обмен построен на

FTP-протокол

обмен данными в FTP происходит по TCP-каналу.
обмен построен на технологии

“клиент-сервер”.
FTP обеспечивает механизм аутентификации
Слайд 39

FTP-протокол модель работы

FTP-протокол модель работы

Слайд 40

FTP-протокол команды управления контролем передачи данных, которыми обмениваются “Интерпретатор протокола сервера”

FTP-протокол

команды управления контролем передачи данных, которыми обмениваются “Интерпретатор протокола сервера” и

“Интерпретатор протокола пользователя”, можно разделить на три большие группы:
Команды управления доступом к системе.
Команды управления потоком данных.
Команды FTP-сервиса.
для более подробной информации см. RFC 959, 454, 1579
Слайд 41

TFTP-протокол TFTP работает поверх транспортного протокола UDP обеспечивает выполнение записи файлов

TFTP-протокол

TFTP работает поверх транспортного протокола UDP
обеспечивает выполнение
записи файлов
чтения файлов


передачи 8-битной информации в соответствии со всеми стандартами Интернета
гарантии доставки пакетов
не позволяет
вызвать список каталога и
совершать аутентификацию
Слайд 42

TFTP-протокол TFTP работает лишь пятью командами: Read request (RRQ) - запрос

TFTP-протокол

TFTP работает лишь пятью командами:
Read request (RRQ) - запрос на чтение
Write

request (WRQ) - запрос на запись
Data (DATA) - пакет данных
Acknowledgment (ACK) - подтверждение
Error (ERROR) - ошибка
для более подробной информации см. RFC 783, 1350
Слайд 43

SFTP-протокол SFTP работает поверх транспортного протокола TCP (порт 115), чуть более

SFTP-протокол

SFTP работает поверх транспортного протокола TCP (порт 115), чуть более гибкий

и надежный протокол, чем TFTP
обеспечивает выполнение
записи файлов
чтения файлов
передачи 8-битной информации в соответствии со всеми стандартами Интернета
гарантии доставки пакетов
работу с каталогами
аутентификацию
переименование файлов
удаление файлов
Слайд 44

SFTP-протокол команды SFTP отправляются поочередно, после получения ответа обработки предшествующей команды.

SFTP-протокол

команды SFTP отправляются поочередно, после получения ответа обработки предшествующей команды.
все

команды состоят из четырех ASCII-символов и символа пробела, который отделяет команду от аргументов.
ответ сервера состоит из кода ответа и текстового сообщения.
для более подробной информации см. RFC 913, 924
Слайд 45

POP3-протокол Post Office Protocol v3 доставляет почту только от сервера клиенту

POP3-протокол

Post Office Protocol v3 доставляет почту только от сервера клиенту и

не более того
клиент устанавливает TCP соединение с сервером. Когда соединение установлено, сервер отправляет приглашение.
затем клиент и POP3 сервер обмениваются информацией пока соединение не будет закрыто или прервано
Слайд 46

POP3-протокол Запросы и ответы команды POP3 состоят из ключевых слов, за

POP3-протокол Запросы и ответы

команды POP3 состоят из ключевых слов, за некоторыми следуют

аргументы. Все команды заканчиваются парой CRLF
ответы в POP3 состоят из индикатора состояния и ключевого слова, за которым может следовать дополнительная информация. Ответ заканчивается парой CRLF.
существует только два индикатора состояния: "+OK" - положительный и "-ERR" - отрицательный.
Слайд 47

POP3-протокол Сеанс связи как только соединение с сервером было установлено, и

POP3-протокол Сеанс связи

как только соединение с сервером было установлено, и сервер отправил

приглашение, то сессия переходит в режим AUTHORIZATION (Авторизация).
после успешной идентификации сессия переходит в режим TRANSACTION (Передача). В этом режиме клиент запрашивает сервер выполнить определённые команды.
когда клиент отправляет команду QUIT, сессия переходит в режим UPDATE. В этом режиме POP3 сервер освобождает все занятые ресурсы и завершает работу. После этого TCP соединение закрывается.
у POP3 сервера может быть INACTIVITY AUTOLOGOUT таймер.
Слайд 48

POP3-протокол Авторизация как только будет установлено TCP соединение с POP3 сервером,

POP3-протокол Авторизация

как только будет установлено TCP соединение с POP3 сервером, он отправляет

приглашение, заканчивающееся парой CRLF, например: S: +OK POP3 server ready
затем клиент должен идентифицировать себя на сервере, используя команды USER и PASS
если сервер отвечает негативно, то можно попробовать авторизироваться снова или выйти из сессии с помощью команды QUIT
в ответе на команду PASS сервер сообщает сколько сообщений находится в почтовом ящике и передаёт их общий размер
во время передачи почтовый ящик блокируется
Слайд 49

POP3-протокол Передача обновление и завершение в этом режиме клиент может передавать

POP3-протокол Передача обновление и завершение

в этом режиме клиент может передавать серверу различные

команды. Когда клиент передаёт команду QUIT в режиме TRANSACTION, то сессия переходит в режим UPDATE.
в этом режиме сервер удаляет все сообщения, помеченные для удаления. После этого TCP соединение закрывается.
для более подробной информации см. RFC 1939.
Слайд 50

SMTP-протокол основная задача протокола SMTP (Simple Mail Transfer Protocol) заключается в

SMTP-протокол

основная задача протокола SMTP (Simple Mail Transfer Protocol) заключается в том,

чтобы обеспечивать передачу электронных сообщений (почту).
для работы через протокол SMTP клиент создаёт TCP соединение с сервером через порт 25.
затем клиент и SMTP сервер обмениваются информацией пока соединение не будет закрыто или прервано.
Слайд 51

SMTP-протокол основной процедурой в SMTP является передача почты (Mail Procedure). далее

SMTP-протокол

основной процедурой в SMTP является передача почты (Mail Procedure).
далее идут

процедуры форвардинга почты (Mail Forwarding), проверка имён почтового ящика и вывод списков почтовых групп.
самой первой процедурой является открытие канала передачи, а последней - его закрытие
Слайд 52

SMTP-протокол команды SMTP указывают серверу, какую операцию хочет произвести клиент. Команды

SMTP-протокол

команды SMTP указывают серверу, какую операцию хочет произвести клиент. Команды состоят

из ключевых слов, за которыми следует один или более параметров.
обычный ответ SMTP сервера состоит из номера ответа, за которым через пробел следует дополнительный текст. Номер ответа служит индикатором состояния сервера.
Слайд 53

SMTP-протокол C: HELO 195.161.101.33S: 250 smtp.mail.ru is ready C: MAIL FROM:

SMTP-протокол

C: HELO 195.161.101.33S: 250 smtp.mail.ru is ready
C: MAIL FROM:
S:

250 OK
C: RCPT TO:
S: 250 OK
C: DATA S: 354 Start mail input; end with .
S: 250 OK
C: From: Drozd
C: To: Drol
C: Subject: Hello
C: Hello Drol!
C: How is life going?
S: 250 OK
S: QUIT
C: 221 smtp.mail.ru is closing transmission channel
для более подробной информации см. RFC 821,822.
Слайд 54

Дополнительные протоколы TELNET – порт 23, RFC 854 RDP – MS

Дополнительные протоколы

TELNET – порт 23, RFC 854
RDP – MS protocol, http://www.microsoft.com
SSH

– порт 22, RFC 2504 http://www.iana.org/assignments/ssh-parameters
JABBER – порт 5222, RFC 3920-3923
IMAP – порт 143, RFC 2060
CUPS – порт 631 http://www.cups.org/documentation.php
DNS – порт 53, RFC 830