Сетевой стек: зачем нужны уровни
Как сообщение превращается в кадр и обратно, и почему уровни превращают «интернет сломался» в решаемую задачу.
Отправить «привет» на другую машину — это на самом деле десятки решений: какая программа получит данные, как найти машину, что делать, если кабель потерял сигнал. Если бы каждое приложение решало всё это само, интернета бы не было. Уровни делят эти решения: каждый решает одну задачу и доверяет соседу снизу.
Четыре уровня ведут от клика до провода. Приложений: что ты вообще имеешь в виду (HTTP, DNS, SMTP). Транспортный: какой программе на машине и нужна ли гарантия доставки (TCP, UDP, порты). Сетевой: как найти машину в любой точке планеты (IP-адреса, маршрутизация). Канальный: как передать байты через один физический прыжок (Ethernet, Wi-Fi, MAC-адреса).
Приложение "привет" <- данные
Транспорт [TCP | порт 443 | привет] <- сегмент
Сеть [IP | 93.184.216.34 | TCP | порт 443 | ...] <- пакет
Канальный [Ethernet | MAC роутера | IP | TCP | ...] <- кадр
На каждом слое добавляется свой заголовок.
Получив кадр, приёмник снимает заголовки в обратном порядке.Практика
Расставь уровни в том порядке, в котором сообщение идёт от приложения вниз, к проводу.
Подсказки
- Начни с того, что создаёт человек: текст, клик, запрос.
- Порт — это транспорт, IP-адрес — сеть, MAC-адрес — канальный уровень.
12 XP
Сопоставь каждый уровень с тем, за что он действительно отвечает.
Подсказки
- IP-адрес не гарантирует доставку — он только указывает, куда идти.
- DNS и HTTP делает само приложение, а не сеть.
12 XP
Пакет уходит с ноутбука на сервер в другой стране. Какое устройство решает, какому соседу отдать пакет дальше?
Подсказки
- Подумай, кто выбирает следующий прыжок пакета.
- Коммутатор работает только внутри одной локальной сети.
16 XP