5. Прикладные протоколы и службы

5.1 Сеансовый уровень

Сеансовый уровень обеспечивает поддержание сеанса связи, позволяя приложениям взаимодействовать между собой длительное время.
  • управляет активностью сторон,
  • синхронизацией,
  • позволяет устанавливать контрольные точки в длинные сообщения.
Прикладной
Представительный
Сеансовый
Транспортный
Сетевой
Канальный
Физический
Функции данного уровня часто реализуются протоколами других уровней.
Протоколы: TCP/UPD, NetBIOS, NCP, SAP, Сеансовый протокол OSI

5.2 Представительный уровень

Представительный уровень организует определенную форму представления информации.
  • Производит кодирование и декодирование клиентских данных.
  • Осуществляет шифрование данных.
Прикладной
Представительный
Сеансовый
Транспортный
Сетевой
Канальный
Физический
Функции данного уровня часто реализуются протоколами других уровней.
Протоколы: SSL, Представительный протокол OSI, SMB, NCP, SAP

5.3 Прикладной уровень

Прикладной уровень обеспечивает взаимодействие пользовательских приложений с сетью.
  • Позволяет приложениям использовать сетевые службы
  • Формирует запросы к уровню представления
Прикладной
Представительный
Сеансовый
Транспортный
Сетевой
Канальный
Физический
Единица данных: сообщение (message)
Протоколы: HTTP, FTP, SMTP, POP3, SNMP, DNS, SMB, NCP, SAP, X.400 X.500 FTAM
Прикладной
Сетенезависимые протоколы
Представительный
сеансовый
Транспортный
Промежуточный уровень.
Сетевой
Сетезависимые протоколы – зависят от технической реализации сети и используемого оборудования.
Канальный
Физический
Необходимо реализовать протоколы прикладного уровня для каждого типа прикладных задач.

5.3.1 Символьная адресация

Противоречие. MAC и IP адресации неинформативны и неудобны для использования человеком, необходима символьная адресация.
Использовать механизм соответствия символьного адреса и логического адреса (сетевого уровня, например, IP).

Comp1 = 192.168.1.10

opensee.ru = 83.234.19.3

mail.ngs.ru = 195.93.186.193

Способы описания соответствия

Текстовый файл на локальном компьютере.

Файл: HOSTS

Активное применение до 80-х гг.

Сейчас в целях совместимости и особых ситуаций.

Специальная служба в локальной сети.

Такой принцип в сетях Microsoft и протоколе NetBIOS. За сопоставлении символьного имени NetBIOS и IP-адреса отвечает служба WINS в сети.

Используется для службы «Файлов и принтеров» в сетях Microsoft.

Специальная глобальная служба.

Принцип в службе доменных имен DNS.

За преобразование имен (разрешение имен) отвечают серверы в глобальной сети.

Начиная с 80-х годов.

Наиболее эффективный и популярный подход.

5.3.2 Служба доменных имен DNS

Служба доменных имен (Domain Name System, DNS) — это централизованная служба, основанная на распределенной базе отображений «доменное имя — IP-адрес».
Автор:

Пол Мокапетрис

С 1983 г.,
стандарт с 1987 г.
Порт:

53/UDP

DNS — служба централизованная, т.е. есть некий центр – это корневой сервер с именем «.» (точка, корень).

Управляется организацией InterNIC.

Схема доменых имен
Полное имя записывается с доменов нижнего уровня к верхнему:

mail.ngs.ru

Зона ответственности — поддомен, которому делегированы права за обработку DNS-запросов данного поддомена.

За разрешение символьного имени в IP адрес в каждой зоне отвечает DNS-сервер.

Домены верхнего уровня распределятся по организационной основе или национальной принадлежности.

5.3.3 Протокол системы DNS

При обращении к узлу по доменному имени, это имя следует преобразовать в IP-адрес.
То есть, необходимо послать специальный запрос DNS-серверу.
Следовательно, IP-адрес DNS-сервера должен быть известен заранее.
Поэтому информация о DNS-сервере является отдельной настройкой ПО или ОС.
Клиент формирует запрос в стиле:

«Какой IP у домена name.ru?»

и посылает DNS-серверу.

=>

Если DNS-сервер знает IP-адрес домена, то возвращает ответ с информацией об IP:name.ru = 87.2.5.203

Общая схема разрешения NS-имени и обращения к ресурсу

DNS-запросы и DNS ответы очень короткие.
Следовательно, нерационально использовать установку и разрыв соединения с DNS-сервером.
Поэтому разрешение запросов DNS работает через протокол UDP
Минимальные настройки узлов для взаимодействия их с узлами других сетей по имени: IP-адрес, маска сети, шлюз по умолчанию, DNS-сервер.

5.3.4 DNS-серверы, DNS-записи, DNS-алгоритмы

Как правило, DNS-серверы хранят информацию об IP-адресах своих ближайших дочерних серверах.
Типы DNS-серверов

Первичный (master) – основной сервер. Всегда один для каждой зоны.

Вторичный (slave) – вспомогательный, если выйдет из строя первичный. Обычно несколько для зоны.

Скрытый (stealth) – предназначен для обновления зоны из закрытой сети.

5.3.5 Типы DNS-записей

SOA-запись (Start Of Authority) – имя первичного DNS-сервера (Primary Name Server), адрес для контактов, TTL и т.д.

имя    [TTL]    SOA    Данные

NS-запись (Name Server) – описывают DNS-серверы для данного домена.

домен  [TTL]   NS  имя_хоста

test.ru. 86400   NS ns3.test.ru.

test.ru. 86400   NS ns4.test.ru.

A-запись – устанавливает соответствие между именем хоста в домене и его IP-адресом.

имя_хоста [TTL]  A  IP-адрес

info.test.ru. 1d  A 194.85.61.44

MX-запись (Mail Exchange) – определяет почтовый сервер.

домен [TTL] MX приоритет сервер

test.ru. 1d MX 10 relay2.test.ru.

test.ru. 1d MX 20 relay3.test.ru.

CNAME-запись (Canonical Name) – присваивает хосту псевдоним. На псевдоним нельзя делать записи других типов.

мнемоимя  [TTL] CNAME  имя_хоста

ftp.test.ru. 1d CNAME arh.test.ru.

PTR-запись (Pointer) – для выполнения обратного преобразования IP-адресов в имена хостов

адрес  [TTL]  PTR  имя_хоста

42  PTR  www.my-domain-name.ru.

42.61.85.194.in-addr.arpa.   86400   PTR  www.my-domain-name.ru.

TXT-запись – текстовое описание доменного имени

имя   [TTL]   TXT   текст

test.ru.  TXT «the domain…»

5.3.6 Алгоритмы разрешения DNS-имен

Итеративная схема – клиент делает DNS-запросы, начиная с корневого сервера. Если корневой не знает ответа, то отправляет его на уровень ниже. Так происходит до тех по пока не найдется DNS-сервер, отвечающий за данную зону.

 

Рукурсивная схема – клиент обращается к DNS-серверам своей локальной сети (сети провайдера). Если сервер не знает ответа, то спрашивает сам у другого сервера, при этом клиент ждет ответа. Когда сервер узнает ответ, он перешлет его клиенту.

  • Для клиента схема рекурсивная.
  • Для локального DNS-сервера – итеративная.

5.3.7 Internationalised Domain Names

DNS допускает только ASCII в доменном имени
Национальные языки используют Unicode
Поэтому разработан Punycode (Пюникод)Национальные домены конвертируются в Punycode и разрешаются обычным образом

Регистрация доменов на национальных языках запущена с 2003 г.

Пример конвертации:

пример.испытание à

xn--e1afmkfd.xn--80akhbyknj4f

5.3.8 Безопасный DNS (DNSSEC)

Система DNS не защищена от искажения информации, из-за чего возможны атаки с подменой ответов DNS-серверов.
  • При пересылке копии данных о домене вторичному DNS-серверу
  • При кэшировании записей на DNS-сервере провайдера
  • Искажение информации при обратном DNS-преобразовании
DNSSEC (Domain Name System Security Extensions) — набор спецификаций IETF, обеспечивающих безопасность информации, предоставляемой средствами DNS в IP-сетях.

1. Информация о домене (test.ru) шифруется закрытым ключом.

2. Закрытый ключ используется для подписи зоны (test.ru).

3. Цифровая подпись ключа (DS-запись) передается администратору родительской зоны (.ru)

4. Администратор зоны .ru подписывает своим закрытым ключом подпись ключа test.ru и хранит у себя.

Таким образом образуется цепочка доверия, т.к. зная открытый ключ родительской зоны, можно проверить валидность любой дочерней зоны.

5.3.9 Протокол динамического конфигурирования хостов DHCP

В больших локальных сетях неудобно использовать ручное назначение IP-адресов клиентским узлам. Некоторые узлы работают редко и резервировать для них постоянный IP-адрес не эффективно.
Протокол динамического конфигурирования хостов (Dynamic Host Configuration Protocol, DHCP) — протокол, позволяющий компьютерам автоматически получать IP-адрес и другие параметры, необходимые для работы в сети TCP/IP.
Автор:
IETF
С 1990 г.
Порт:
67/UDP (server), 68/UDP(client)
Преимущества протокола DHCP
Протокол позволяет создавать сети с количеством узлов больших, чем IP-адресов в данной подсети.
При подключении узла в сеть все настройки (IP, Netmask, Gateway, DNS-server и т.д.) выдаются автоматически.
Ни администратор, ни клиент не принимают участия в настройке IP протокола, и получении настроек.
Один и тот же IP-могут использовать разные клиенты в разное время, так как IP-адрес выдается на время (время аренды, lease)
Принципы работы работы DHCP
При запросе IP адреса у DHCP сервера IP-адрес сервера заранее неизвестен.
Поэтому клиент посылает широковещательный запрос (т.е. IP получателя = 255.255.255.255).
При запросе IP адреса у DHCP сервера IP-адрес клиента заранее неизвестен.
Поэтому в качестве обратного адреса клиент указывает адрес 0.0.0.0.
При DHCP запросах используются короткие сообщения от клиентов без IP-адресов.
Поэтому протокол DHCP использует в качестве транспорта протокол UDP.

5.3.10 Алгоритм работы DHCP

1. Клиент посылает широковешательный пакет с обратным адресом 0.0.0.0 с запросом (DHCPDISCOVER) на выделение IP-адреса.

2. DHCP-сервер(ы) получают запрос и высылают широковещательно свои предложения (DHCPOFFER) с IP-адресом.

3. Клиент получает предложения DHCP-серверов, выбирает одну конфигурацию и отправляет пакет (DHCPREQUEST) широковещательно с опцией, включающей IP-адрес, выбранного DHCP-сервера.

4. DHCP-сервер выделяет IP-адрес и другие настройки, подтверждает запрос пакетом (DHCPACK). Клиент, получив квитанцию, настраивает сетевой интерфейс.

Так как в сети могут быть несколько клиентских DHCP-запросов, в пакете клиент указывает опцию xid – уникальный идентификатор транзакции, по которому отличают запросы разных клиентов.

5.3.11 Протокол передачи гипертекста HTTP

HTTP (HyperText Transfer Protocol) — протокол передачи гипертекста
Автор:
Тим Бернерс-Ли
С 1991 г.
Порт:
80/TCP
Структура HTTP-сообщения

Запрос:

Структура

Ответ:

Метод URI HTTP/Версия

Метод указывает на операцию над ресурсом
OPTIONS – определение возможностей web-сервераGET – запрос содержимого ресурса

HEAD – запрос на извлечение метаданных ресурса

POST – передача пользовательских данных ресурсу

PUT – загрузка содержимого запроса на URI

И т.д.

Стартовая строка (Starting line) — определяет тип сообщения

HTTP/Версия КодСостояния Пояснение

Метод указывает на операцию над ресурсом
Пояснение (Reason Phrase) — текстовое короткое пояснение к коду.
1xx – Informational (Информационный)2xx – Success (Успех)

3xx – Redirection (Перенаправление)

4xx – Client Error (Ошибка клиента)

5xx – Server Error (Ошибка сервера)

Host: имя хоста

User-Agent: инфа о браузере и ОС

Accept: тип данных

Connection: состояние соединения

…(Cookies, данные формы, и т.д.)

Заголовки (Headers) — это строки, содержащие разделённую двоеточием пару «параметр:значение»

Server: тип сервера

Last-Modified: дата модификации

Content-Type: тип содержимого

Content-Language: языковые параметры

… (Cookies, данные формы, и т.д.)

…пустая строка…
Тело сообщения (Message Body) — данные сообщения.Если есть, то содержит HTML-код документа или иные кодированные данные

<html>

<head>

<title>Проба</title>

<body>

<h1>Пробная страница</h1>

…..

5.3.12 Структура URI

URI (Uniform Resource Identifier) – это символьная строка, идентифицирующая ресурс.URI = URL + URN

URL (Uniform Resource Locator) – часть URI, которая определяет адрес хоста сетевого ресурса.
URN (Uniform Resource Name) – часть URI, которая определяет имя ресурса на хосте.

http://opensee.ru/test/TEST111/

ftp://ftp.test.ru/path/file.txt

file://C:\Users\Proba\Articles\dat.xml

ldap://[2001:db8::7]/c=GB?objectClass

mailto:proba@example.com

news:comp.infosystems.www.servers.unix

data:text/plain;charset=iso-8859-7,%be%fe%be

tel:+1-816-555-1212

5.3.13 Протокол FTP

FTP (File Transfer Protocol) — протокол передачи файлов в сетях.
Автор:
Джон Постел
С 1971 г.
Порт:
21/TCP (для команд);
20/TCP (для данных)
Типы FTP-режимов работы
Активный режим – сервер сам подключается к клиенту для передачи данных.

Существует проблема в работе, когда клиент находится за NAT
Пассивный режим – сервер передает адрес и порт, к которому клиент должен, чтобы забрать данные.
Запрос клиента состоит из команды и параметров. Основные команды:

USER — Имя пользователя для входа на сервер

PASS – Пароль пользователя для входа

TYPE — Установить тип передачи файла (Бинарный, текстовый)

CWD — Сменить директорию.

MKD — Создать директорию.

PWD — Возвращает текущую директорию.

LIST — Возвращает список файлов директории

PASV — Войти в пассивный режим. Сервер вернет адрес и порт

PORT — Войти в активный режим.

RETR — Скачать файл.

QUIT — Отключиться

Ответ сервера имеет формат: КодСостояния Описание.Код состояния состоит из трех чисел XYZ. Примеры кодов состояния:

1yz – положительный предварительный ответ2yz – успешное завершение операции

3yz – положительный промежуточный ответ

4yz – временно отрицательный ответ

5yz – постоянный отрицательный ответ

x0z – о синтаксисеx1z – информация

x2z – о соединении

x3z – об авторизации и аутентификации

x4z – пока не используется

x5z – о файловой системе

z – разное, зависит от первых двух цифр.
Например:200 — команда ok.

220 — сервис готов

426 — соединение закрыто

500 — ошибка синтаксиса

И др…

5.3.14 Протоколы электронной почты e-mail (SMTP, POP3)

Электронная почта использует для работы два протокола.
SMTP (Simple Mail Transfer Protocol) — простой протокол передачи почты от пользователей к серверам и между серверами к получателю.
POP3 (Post Office Protocol v.3) — протокол почтового отделения, используется для получения почты.
Порт SMTP:
25/TCP
C 1982 г.
Порт POP3:
110/TCP
Упрощенная схема работы почтовых протоколов
1. Клиент по протоколу SMTP подключается к SMTP-серверу (smtp.mail.ru) и отправляет почтовое сообщение.
2. SMTP-сервер анализирует DNS-имя в e-mail адресе получателя. По MX-записи (или А-записи) в DNS находит SMTP-сервер получателя и отправляет ему письмо клиента.
3. Клиент-получатель подключается к своему POP-серверу и авторизуется.
4. POP-сервер передает информацию о состоянии почтового ящика и передает ему почту.

5.3.15 Проксирование запросов. Прокси-сервер (proxy)

Противоречие. В сети необходимо контролировать трафик не только по протоколам и портам, но и по контенту. Например, контролировать загрузку ресурсов по типам (jpg, mp3, zip и т.д.) или по доменному имени и url-адресу.
Противоречие. В сети возможны частые обращения к одним и тем же ресурсам (например, страницы web), поэтому нерационально загружать их повторно, если они еще не устарели.
Прокси-сервер (proxy-server) — служба в сети, позволяющая клиентам выполнять косвенные запросы к другим сетевым службам.
Схема работы прокси

1. Клиент отправляет запрос proxy-серверу.Proxy-сервер проверяет, есть ли в кэше информация и не устарела ли она?

Если нет.2. Proxy-сервер сам запрашивает информацию у других служб.

3. Он получает ее и кэширует

Если да.4. Proxy-сервер отправляет информацию.

Прокси
  • образует два соединения: клиент-прокси и прокси-служба.
  • производит более высокоуровневую обработку данных: по содержимому и по URL адресу.
  • имеет кэш для повышения эффективности.
  • осуществляет доступ через одну точку в сети

5.3.16 Межсетевое взаимодействие в TCP/IP: схема и протоколы

5.3.17 Стандартные протоколы коммуникационных стеков

Модель OSI

IBM/Microsoft

ТСР/IР

Novell

Стек OSI

Прикладной

SMB

Telnet, HTTP, FTP, SMTP, POP3, SNMP / DNS, RIP, OSPF

NCP, SAP

X.400 X.500 FTAM

Представительный

Представительный протокол OSI

Сеансовый

NetBIOS

TCP/UDP

Сеансовый протокол OSI

Транспортный

SPX

Транспортный протокол OSI

Сетевой

IP

IPX, NLSP

ES-ES IS-IS

Канальный

Ethernet (IEEE 802.3), Token Ring (IEEE 802.5), FDDI, Fast Ethernet, SLIP, 100VG-Anyl_AN, X.25, ATM, LAP-B, LAP-D, PPP

Физический

Коаксиал, витая пара, оптоволокно, радиоволны

Стек OSI — международный, независимый от производителей стандарт. Его поддерживает правительство США.
Стек TCP/IP был разработан по инициативе Министерства обороны США в 80-е гг. для связи экспериментальной сети ARPAnet с другими сетями
Стек IPX/SPX – стек является оригинальным стеком протоколов фирмы Novell, разработанным для сетевой операционной системы NetWare еще в начале 80-х годов.
Стек NetBIOS/SMB – стек разработан IBM и Microsoft. Протокол NetBIOS (Network Basic Input/Output System) появился в 1984 году как сетевое расширение стандартных функций базовой системы ввода/вывода (BIOS) IBM PC.

(433 views)