Нижний этаж: Ethernet, Wi-Fi и ARP
Самый первый шаг любого пакета — добраться от вашего устройства до роутера. Этим занимается канальный уровень.
- что такое кадр и MAC-адрес;
- чем заняты коммутатор и точка доступа Wi-Fi;
- как устройство узнаёт, кому в локальной сети отдать пакет, и что такое MTU.
2.1Кадры и MAC-адреса
На канальном уровне данные передаются кадрами (frame). Кадр живёт только в пределах одной локальной сети: от вашего ноутбука до роутера, от роутера до оборудования провайдера и так далее. На каждом таком участке пакет IP перекладывают в новый кадр.
У каждого сетевого адаптера есть MAC-адрес — 48-битный номер, который обычно записывают шестью парами шестнадцатеричных цифр: 3c:22:fb:1a:9e:04. Первая половина традиционно указывает на производителя, вторая — на конкретное устройство.
MAC-адрес не уходит дальше ближайшего маршрутизатора: сайт, который вы открыли, его не видит. А современные телефоны и ноутбуки вдобавок подставляют в каждой сети Wi-Fi случайный MAC-адрес, чтобы устройство было труднее отслеживать.
2.2Ethernet и Wi-Fi
Два самых распространённых протокола канального уровня:
| Технология | Стандарт | Особенности |
|---|---|---|
| Ethernet | IEEE 802.3 | Проводная сеть. Устройства соединяются через коммутатор (switch), который запоминает, за каким портом какой MAC- адрес, и отправляет кадр только нужному получателю. |
| Wi-Fi | IEEE 802.11 | Беспроводная сеть. Все устройства делят общий радиоэфир и передают по очереди; каждый кадр подтверждается. Данные в эфире шифруются (WPA2, WPA3). |
Кадр Ethernet устроен просто: MAC-адрес получателя, MAC-адрес отправителя, тип вложенного протокола (например, IPv4 или IPv6), сами данные и в конце контрольная сумма. По контрольной сумме получатель понимает, что кадр по дороге повредился, — такой кадр молча выбрасывается.
2.3ARP: как найти соседа по IP-адресу
Программы работают с IP-адресами, а кадр нужно адресовать по MAC. Связывает эти два мира протокол ARP (Address Resolution Protocol). Он работает как объявление по громкой связи:
1.Устройство рассылает всем в локальной сети вопрос: «У кого адрес 192.168.1.1? Ответьте мне».
2.Владелец адреса отвечает: «Это я, мой MAC — такой-то».
3.Ответ запоминается в ARP-таблице на несколько минут, чтобы не спрашивать каждый раз.
Если получатель находится в другой сети, устройство ищет через ARP не его самого, а свой шлюз по умолчанию — роутер. Ему и отдаётся кадр, а дальше пакет ведёт уже протокол IP. В сетях IPv6 вместо ARP ту же работу выполняет протокол NDP (обнаружение соседей).
2.4MTU: сколько влезает в один кадр
MTU (Maximum Transmission Unit) — максимальный размер пакета, который помещается в один кадр. Для Ethernet это традиционно 1500 байт. Всё, что больше, приходится делить на части.
Из этой цифры вытекают другие, которые встретятся дальше. Заголовок IPv4 занимает 20 байт, заголовок TCP — ещё 20, значит, на полезные данные в одном сегменте остаётся 1460 байт. Если на пути встречается тоннель (например, VPN), он добавляет свои заголовки, и полезного места становится ещё меньше.
- Симптом «маленькие страницы открываются, а большие зависают» часто объясняется именно MTU: на каком-то участке пути крупные пакеты не пролезают, а сообщение об этом теряется. Лечится уменьшением MTU на тоннеле или роутере.