$ sudo teach IT
Модуль 2

Нижний этаж: 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 на тоннеле или роутере.
На следующий урок
Нижний этаж: Ethernet, Wi-Fi и ARP — Протоколы интернета - простыми словами | $ sudo teach IT