MAC-адреса и Ethernet

Разбираемся, как устройства находят друг друга внутри одной локальной сети по MAC-адресам.

MAC-адрес — это физический 48-битный идентификатор сетевой карты, зашитый производителем. Он адресует устройство в пределах одного сегмента сети.

Зачем нужен ещё один адрес, если есть IP

Логичный вопрос: у нас уже есть IP-адреса, зачем MAC? Ответ — они работают на разных уровнях и решают разные задачи. IP отвечает за глобальную доставку «из конца в конец» через весь интернет, а MAC — за доставку на один следующий шаг внутри локальной сети.

Аналогия: IP — это полный почтовый адрес получателя в другом городе (он не меняется по пути). MAC — это «передай вон тому курьеру в соседней комнате»: на каждом этапе пересылки локальный адрес меняется, а конечный (IP) остаётся прежним.

MAC-адресIP-адрес
Уровеньканальный (2)сетевой (3)
Областьодин сегмент сетивесь интернет
Назначаетсяпроизводителем «железа»сетью / провайдером
Формат00:1A:2B:3C:4D:5E192.168.1.10
Меняется в путида, на каждом хопенет (обычно)

Формат MAC-адреса

MAC записывают шестью парами шестнадцатеричных цифр: 00:1A:2B:3C:4D:5E. Первые три байта (00:1A:2B) — код производителя (OUI), последние три — серийный номер устройства. Адрес FF:FF:FF:FF:FF:FF — широковещательный (broadcast): «всем в этой сети».

Ethernet и кадры

На канальном уровне данные передаются кадрами (frames). Упрощённо кадр Ethernet содержит:

[ MAC получателя | MAC отправителя | тип | данные (payload) | контрольная сумма ]

Коммутатор (switch) читает MAC получателя и пересылает кадр только в нужный порт, а не всем подряд. Он ведёт таблицу «MAC — порт», обучаясь по проходящему трафику.

ARP: как узнать MAC по IP

Возникает проблема: программа знает IP получателя, но для отправки кадра в локальной сети нужен MAC. Эту задачу решает протокол ARP (Address Resolution Protocol). Хост кричит в сеть широковещательно: «У кого IP 192.168.1.5? Сообщите свой MAC». Владелец отвечает, и пара «IP → MAC» кэшируется в ARP-таблице. Посмотреть её можно командой:

arp -a

Зачем это веб-разработчику

Напрямую с MAC вы почти не работаете. Но понимание уровня помогает: например, почему два устройства «видят» друг друга только в одной подсети, что такое «широковещательный домен», почему MAC-адрес используют для фильтрации в роутере. А вопрос «чем MAC отличается от IP» — классика собеседований.

Итог

  • MAC — физический адрес «железа» для доставки внутри одного сегмента сети.
  • IP — логический адрес для глобальной доставки через интернет.
  • В пути MAC меняется на каждом хопе, IP остаётся прежним.
  • ARP сопоставляет IP-адресу его MAC внутри локальной сети.
Проверьте себя
1. Чем MAC-адрес отличается от IP-адреса?
AНичем, это синонимы
BMAC — физический адрес для доставки внутри сегмента сети, IP — логический для глобальной доставки
CMAC длиннее и используется в интернете, IP — только локально
DMAC назначает провайдер, IP — производитель
2. Что делает протокол ARP?
AШифрует данные
BНаходит MAC-адрес по известному IP-адресу в локальной сети
CМаршрутизирует пакеты между сетями
DНазначает IP-адреса устройствам
3. Что происходит с MAC-адресом получателя по мере прохождения пакета через интернет?
AОстаётся неизменным до конечного получателя
BМеняется на каждом хопе (на следующий узел)
CУдаляется на первом маршрутизаторе
DШифруется
Поддержать проект