учебная лекция · компьютерные сети

ПРОТО
КОЛЫ И
МОДЕЛИ

Глава 3 · как устройства договариваются, чтобы понять друг друга
Ананко · Качур  —  VK · TG
о чём эта глава

ТРИ ВОПРОСА ЭТОЙ ГЛАВЫ

  • Какие правила обмена сообщениями нужны устройствам
  • Какими бывают способы рассылки — одному, группе, всем
  • Как устроены сетевые модели и протоколы — OSI и TCP/IP
1
раздел 1

ЗАЧЕМ НУЖНЫ
ПРАВИЛА

Сеть существует ради обмена данными — а обмен держится на договорённостях.
1.1 · зачем правила

МАЛО ОБЩЕГО ЯЗЫКА —
НУЖНЫ ПРАВИЛА РАЗГОВОРА

Сети придуманы ради одной вещи — обмена данными. Чтобы разговор состоялся, двум собеседникам мало общего языка. Нужны негласные правила:

  • кто начинает разговор
  • как понять, что тебя услышали
  • что делать, если фразу заглушил шум
АналогияОдин говорит по-русски, другой отвечает азбукой Морзе — обмена не выйдет, даже если оба очень хотят пообщаться.
1.1 · определение
Протокол
это и «общий язык», и «правила приличия» для устройств одновременно: он задаёт и что передавать, и как себя при этом вести.

Протоколов великое множество, и они очень разные по охвату: одни решают крайне узкую задачу, другие применяются глобально.

1.1 · стандарты

ПОЧЕМУ ПОБЕДИЛИ СТАНДАРТЫ

Сеть по определению соединяет устройства разных производителей. Если бы каждый производитель говорил на своём диалекте, единого интернета не было бы. Стандарт — решение проблемы «вавилонского смешения»: договорились один раз и глобально.

Производитель A Производитель B стандартный протокол СВЯЗЬ УСТАНОВЛЕНА свой язык свой язык СВЯЗИ НЕТ
1.1 · условия доставки · 1 из 2

ПЯТЬ УСЛОВИЙ, ЧТОБЫ СООБЩЕНИЕ ДОШЛО

Симметрия: 1–2 — про отправителя, 3 — про путь, 4–5 — про получателя.

Отправитель
  • Знает, кому отправляет — может однозначно опознать получателя
  • Имеет возможность отправить: превратит сообщение в сигналы, при нужде разобьёт на части
Путь
  • Сеть отправителя принимает сигналы и передаёт дальше — к получателю или в соседнюю сеть по направлению к нему
1.1 · условия доставки · 2 из 2

…И НА СТОРОНЕ ПОЛУЧАТЕЛЯ

Сеть получателя
  • Превращает сообщение в понятные устройству сигналы — если работает на тех же протоколах
Устройство получателя
  • Принимает сигналы, расшифровывает, при нужде собирает из частей и показывает в приложении

отправитель → сеть → получатель — эту тройку встретим снова и снова

2
раздел 2

ЧЕТЫРЕ ЗАДАЧИ
ПРОТОКОЛОВ

Кодирование, форматирование, размер и параметры доставки.
2.0 · задачи протоколов

ЧТО ДЕЛАЮТ ПРОТОКОЛЫ

Прото​колы Кодированиесообщения Форматированиеи инкапсуляция Размерсообщения Параметрыдоставки
2.1 · кодирование

ТЕКСТ → КОД → ИМПУЛЬСЫ

Устройствам удобнее всего двоичный код: в основе электроники — «есть напряжение / нет», «есть свет / нет». Два состояния идеально ложатся на 0 и 1.

Но одного двоичного мало: под каждую среду нули и единицы перекодируют заново. Кодирование — это цепочка:

текст → двоичный код → импульсы
АналогияПереводчик-многостаночник: сначала переводит смысл в буквы, потом буквы — в азбуку Морзе, а если связь по свету — в световые вспышки. Каждый «перевод» — под свою среду.
2.1 · модуляция
Модуляция
изменение одного или нескольких параметров высокочастотного несущего сигнала в соответствии с низкочастотным информационным сигналом.

Несущая сама по себе ничего не сообщает. Модуляция «накладывает» на неё биты так, чтобы сигнал уже нёс информацию и мог пройти через среду.

АналогияНесущая — как ровно едущий по трассе грузовик: сам по себе он ничего не сообщает. Модуляция — это когда мы грузим в него ящики-биты по правилу. Теперь по одному взгляду на груз можно прочитать сообщение.
2.1 · три ручки несущей

У ВОЛНЫ ТРИ ПАРАМЕТРА —
ТРИ ВИДА МОДУЛЯЦИИ

У любой синусоидальной несущей можно «крутить» ровно три «ручки». Отсюда и три базовых вида модуляции. Каждый разберём по принципу что меняем → как читается → чем платим.

Амплитуда

высота волны → амплитудная модуляция (АМ)

Частота

как часто колеблется → частотная (ЧМ)

Фаза

сдвиг во времени → фазовая (ФМ)

2.1 · АМ · амплитуда · интерактив

АМ: МЕНЯЕМ ВЫСОТУ ВОЛНЫ

Единице — «громкая» волна, нулю — «тихая». Частота и фаза неизменны. Самый простой, но и самый уязвимый к шуму способ.

АналогияКак фонарик, которым сигналят яркостью: ярко/тускло. Читать просто, но чужой прожектор во дворе (помеха) может «перекричать» ваш сигнал.

кликай биты 0 ⇄ 1 · крути «глубина» — волна меняется вживую

2.1 · ЧМ · частота · интерактив

ЧМ: МЕНЯЕМ ЧАСТОТУ

Амплитуда постоянна, меняется частота: единице — сигнал повыше (частые колебания), нулю — пониже. Приёмник смотрит на «высоту тона», а не на громкость.

АналогияКак высота свистка — тонкий против низкого. Даже если свистеть то громче, то тише, тон никуда не денется. За это FM-радио звучит чище, чем AM.

кликай биты 0 ⇄ 1 · крути «разброс частот» — волна меняется вживую

2.1 · ФМ · фаза · интерактив

ФМ: СДВИГАЕМ ФАЗУ

Амплитуда и частота постоянны — мы «переворачиваем» волну. «Фаза как была» — 0, «фаза перевёрнута» — 1. На глаз незаметно, зато техника ловит очень точно.

АналогияХор поёт одну ноту одинаково громко. Договорились: «в такт» с дирижёром — 0, «в противофазе» — 1. Информация — в моменте вступления. Тонко и помехоустойчиво.

кликай биты 0 ⇄ 1 · крути «сдвиг фазы» — волна меняется вживую

2.1 · сравнение · интерактив

ОДНИ БИТЫ — ТРИ СПОСОБА

кликай биты — все три волны меняются вместе
АМ
ЧМ
ФМ
2.1 · компромисс

ПРОСТОТА
ПРОТИВ ЁМКОСТИ

  • АМ — проще всех, но уязвима к шуму
  • ЧМ и ФМ сложнее, зато держат помеху и вмещают больше бит в один «такт»
  • Системы комбинируют: амплитуда + фаза = QAM (Wi-Fi, сотовая, кабель)
Идея уплотненияЕсли один «такт» различает не 2 состояния (0/1), а 16, то за такт передаём 4 бита вместо одного. Отсюда — рост скорости без роста частоты.
2.1 · рабочий пример

ПЕРЕДАЁМ ЧИСЛО 149

  • Кодируем: 149 → 10010101 (128+16+4+1)
  • Модулируем: 1 — сигнал есть, 0 — нет (on-off keying)
  • Передаём вспышки-импульсы сквозь среду
  • Читаем обратно и получаем 149
несущая биты 10010101
2.2 · форматирование

СООБЩЕНИЕ О ТОМ,
КАК УСТРОЕНО СООБЩЕНИЕ

Кодирование — не «улица с односторонним движением». Если получатель не знает правил, он получит бессмысленный набор сигналов. Значит, рядом с данными едут служебные пометки: какая кодировка, какой протокол, где начало и конец. Технически это заголовки.

АналогияМы делаем то же, когда пишем письмо: указываем язык, ставим знаки препинания, отделяем адрес от текста. На заголовках построена вся идея уровней.
2.3 · размер сообщения

ЗАЧЕМ ВВОДИТЬ ПРЕДЕЛ РАЗМЕРА

Люди дробят длинную мысль на короткие фразы. Так же и устройства ограничивают объём за один раз — из этого вырастет сегментация.

Экономия сети

один гигантский «кусок» надолго занял бы канал и мешал остальным

Оптимизация узлов

маленькие порции проще обрабатывать и буферизировать

Совместимость

старое оборудование рассчитано на определённые размеры

2.4 · временные параметры

КОГДА ГОВОРИТЬ
И СКОЛЬКО ЖДАТЬ

  • Когда сеть свободна — чтобы не перебивать чужой трафик
  • Скорость приёмника — чтобы не завалить его лавиной пакетов
  • Время ответа — чтобы понять, что ответа нет, и повторить
АналогияТелефонный разговор: мы не говорим одновременно (ждём, пока линия свободна), подстраиваем темп, а если в ответ молчание — переспрашиваем: «Алло, ты меня слышишь?»
3
раздел 3

СПОСОБЫ
РАССЫЛКИ

Одному, группе или всем сразу — три адресных схемы доставки.
3.1 · способы рассылки · unicast

ОДНОАДРЕСНАЯ РАССЫЛКА · UNICAST

Отправитель 192.168.1.10 шлёт сообщение на адрес одного получателя (192.168.1.20). Другие устройства его не получают — точность обеспечивает адресация.

АналогияКак личное письмо с точным адресом на конверте — доходит именно тому, кому написано.
3.1 · способы рассылки · multicast

МНОГОАДРЕСНАЯ РАССЫЛКА · MULTICAST

Отправитель шлёт на групповой адрес 224.0.0.5, который «прослушивают» подписчики. Технически сообщение проходит мимо многих, но обрабатывают его только подписчики группы.

АналогияКак объявление в чате: его видят участники канала, но не весь мир.
3.1 · способы рассылки · broadcast

ШИРОКОВЕЩАТЕЛЬНАЯ РАССЫЛКА · BROADCAST

Сообщение уходит на широковещательный адрес 192.168.1.255 и обрабатывается всеми устройствами сети без исключения.

АналогияКак крикнуть в мегафон посреди зала: услышат все, хотят они того или нет.

Осторожно: «крики на весь зал» снижают работоспособность сети. Но запретить нельзя — на принципе «спросить у всех» держатся ARP и DHCP.

3.1 · типы рассылки

КТО ПОЛУЧАЕТ,
КТО ОБРАБАТЫВАЕТ

Тип рассылкиКто получаетКто обрабатывает
UnicastОдин узелОдин получатель
MulticastВсе узлы (слышат)Группа подписчиков
BroadcastВсе узлыВсе узлы
КомпромиссBroadcast — мощный, но «шумный» инструмент. Его нельзя запретить, но и злоупотреблять им нельзя. Удобство против нагрузки — этот компромисс встретится ещё не раз.
3.2 · сегментация · мультиплексирование

ПОЧЕМУ ВКОНТАКТЕ И РУТЬЮБ НЕ ПУТАЮТСЯ

Сообщение делится на сегменты, каждый помечен портами: из какого приложения пришёл и какому предназначен. Метки едут вместе с данными до получателя.

ноутбук маршрутизатор сервер A сервер B

дом = IP-адрес, квартира = порт · одна дорога, у каждой машины номер квартиры

4
раздел 4

СЕТЕВЫЕ
МОДЕЛИ

Почему одного протокола мало — и как из множества выросли стеки OSI и TCP/IP.
3.2.1 · стеки протоколов

ПОЧЕМУ ОДНОГО
ПРОТОКОЛА МАЛО

«Протокол на всё» потребовал бы трёх жёстких условий:

  • одно и то же приложение у обоих
  • устройства от одного производителя
  • один канал связи, без промежуточных устройств
Проблема → решениеТак уже пробовали — это будущий TCP. От идеи отказались: удобнее много узких протоколов, упорядоченных по уровням. Наборы протоколов называют стеками — OSI и TCP/IP.
3.2.2 · модель OSI

МОДЕЛЬ OSI:
СЕМЬ УРОВНЕЙ

OSI (Open Systems Interconnection) — концептуальная модель, разделённая на семь уровней, пронумерованных снизу вверх.

Чем выше уровень — тем ближе к человеку. Чем ниже — тем ближе к среде (кабелю, эфиру).

сквозная аналогия: пересылаем книгу по почте

↑ ближе к человеку L7ПриложенийL6ПредставленияL5СеансовыйL4ТранспортныйL3СетевойL2КанальныйL1Физический ↓ ближе к среде
3.2.2 · путь книги · L7 · Уровень приложений
L7 · Уровень приложений

ЗДЕСЬ РОЖДАЕТСЯ СООБЩЕНИЕ

Пользователь взаимодействует с устройством — именно тут рождается сообщение. Набрали в браузере слово «сеть» — сформировали запрос к поисковому серверу (Google, Yandex).

Книга по почтеЭто сам текст книги — то, что мы хотим передать.
3.2.2 · путь книги · L6 · Уровень представления
L6 · Уровень представления

ОТКРЫТО ИЛИ ЗАШИФРОВАТЬ

Приложение решает: передавать данные открыто или зашифровать. HTTP отдаёт страницы без шифрования, HTTPS — с шифрованием. Форматирование и кодирование живут здесь.

Книга по почтеЭто шрифт, размер и формат страницы — то, как текст оформлен и «упакован» для чтения.
3.2.2 · путь книги · L5 · Сеансовый уровень
L5 · Сеансовый уровень

НУЖЕН ЛИ СЕАНС СВЯЗИ

Сеанс — передача большого сообщения по частям с подтверждением каждой. Даёт две гарантии: доставку полностью и в нужном порядке. Для голоса и видео сеанс не устанавливают — там важнее минимум задержки.

компромисс: надёжность против скорости

Книга по почтеСеанс нужен, потому что страницы книги должны собраться в правильном порядке.
3.2.2 · путь книги · L4 · Транспортный
L4 · Транспортный

Сообщение делится на равные отрезки (обычно по 1500 байт — связано с размером кадра Ethernet, MTU). К каждому добавляется заголовок с портами источника и назначения.

Сегмент
отрезок данных с заголовком транспортного уровня L4.
TCP HTTP Данные
Книга по почтеКаждую страницу копируем на лист А4, вкладываем в конверт и подписываем: название книги, номер страницы и общее число страниц.
3.2.2 · путь книги · L3 · Сетевой
L3 · Сетевой

Сегмент готов, но куда его слать? Нужен IP-адрес получателя (по названию протокола IP, Internet Protocol). Каждый сегмент получает заголовок L3 с IP-адресами отправителя и получателя.

Пакет
единица данных L3: сегмент плюс заголовок сетевого уровня.
IP TCP HTTP Данные
Книга по почтеКонверт-сегмент вкладывают в конверт побольше, на котором пишут город, улицу и номер дома получателя — и такие же данные отправителя.
3.2.2 · путь книги · L2 · Канальный
L2 · Канальный

Под каждую среду — своя сетевая карта со своим аппаратным MAC-адресом. MAC источника и назначения пишут в заголовок L2. Он зависит от среды: Ethernet по кабелю или Wi-Fi «по воздуху».

Кадр
единица данных L2: пакет плюс заголовок канального уровня. MAC = Media Access Control.
Ethernet IP TCP HTTP Данные
Книга по почтеПакет кладут в самый большой конверт и относят на почту, где ставят индексы отправляющего и принимающего отделений.
3.2.2 · путь книги · L1 · Физический
L1 · Физический

Всё содержимое кадра переводится в биты и уходит в среду: электрические колебания, радиоволны или свет. На L1 кадры превращаются в биты для отправки.

PDU
данные, сегменты, пакеты, кадры — это одно сообщение на разных уровнях, «одетое» в разное число заголовков. Общее имя — Protocol Data Unit.
Книга по почтеКак именно доставлять — самолётом, грузовиком или поездом (то есть в какой физической среде) — решает уже почтовая служба.
3.2.2 · инкапсуляция · декапсуляция
Инкапсуляция
формирование блоков нижних уровней из блоков верхних путём добавления заголовков.
Декапсуляция
восстановление блоков верхних уровней путём удаления заголовков нижних. У получателя всё зеркально.

образ — матрёшка: данные внутри HTTP, внутри TCP, внутри IP, внутри Ethernet

3.2.3 · стек TCP/IP

СТЕК TCP/IP:
ЧЕТЫРЕ УРОВНЯ

Более практичный, чем OSI: заточен под реальные сети. Название — от двух главных протоколов, TCP и IP. Из «одного на всё» выросло целое семейство.

Надёжность против скоростиTCP гарантирует доставку и порядок. UDP жертвует гарантиями ради минимальной задержки. Выбор диктует приложение.
ПриложенийDNS · DHCP · HTTP/HTTPS · SMTP · POP · IMAPТранспортныйTCP — надёжно · UDP — быстроИнтернетIPv4 · IPv6 · ICMP · OSPFСетевого доступаARP · Ethernet · PPP
3.2.3 · протоколы · уровень приложений

ПРОТОКОЛЫ УРОВНЯ ПРИЛОЖЕНИЙ

ПротоколЧто делает
DNSсообщает IP-адрес сайта по его имени
DHCPавтоматически выдаёт устройству IP-адрес и параметры
HTTP / HTTPSпередача гипертекста — без шифрования и с шифрованием
SMTPотправка исходящего письма и подтверждение доставки
POP / IMAPполучение почты: POP очищает ящик, IMAP хранит копии на сервере
3.2.3 · протоколы · нижние уровни

ТРАНСПОРТ · ИНТЕРНЕТ · ДОСТУП

Транспортный
  • TCP — надёжно: текст, фото, видео, музыка
  • UDP — быстро без контроля: стриминг, голос
Интернет
  • IPv4 / IPv6 — негарантированная доставка
  • ICMP — проверка связности (ping, traceroute)
  • OSPF — динамическая маршрутизация
Сетевого доступа
  • ARP — MAC по IP («спросить у всех»)
  • Ethernet — по медному кабелю
  • PPP — по телефонному кабелю
3.2.4 · OSI против TCP/IP

ОДНА РАБОТА —
РАЗНАЯ ДЕТАЛИЗАЦИЯ

  • L1+L2 OSI → сетевой доступ TCP/IP
  • L3 OSI → интернет-уровень
  • L4 → транспортный, роль та же
  • L5+L6+L7 → единый уровень приложений

OSI — подробная схема на 7 ролей, удобно учиться. TCP/IP — та же работа, ужатая до 4 ролей.

OSI · 7 TCP/IP · 4 L7 ПриложенийL6 ПредставленияL5 СеансовыйL4 ТранспортныйL3 СетевойL2 КанальныйL1 ФизическийПриложенийТранспортныйИнтернетСетевого доступа
итог главы 3

ОДИН ПУТЬ
ДАННЫХ — ДВЕ
МОДЕЛИ

Обе модели описывают одну и ту же дорогу сообщения — просто с разной детализацией.

Дальше — глава 4: адресация в многоуровневой модели
← → · пробел · F — весь экран