В чем разница между IP-адресом и MAC-адресом?

«В чем разница между IP-адресом и MAC-адресом?» — вопрос из категории Сети, который задают на 23% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

IP-адрес и MAC-адрес работают на разных уровнях сетевой модели OSI и решают разные задачи.

MAC-адрес (Media Access Control) — это физический или аппаратный адрес. Он:

  • Уникален для каждого сетевого интерфейса (сетевой карты, Wi-Fi адаптера).
  • «Прошит» производителем оборудования (хотя его можно подменить программно).
  • Работает на канальном уровне (L2).
  • Используется для коммутации фреймов в пределах одной локальной сети (LAN). Коммутатор (switch) строит таблицу MAC-адресов, чтобы знать, на какой порт отправить фрейм.
  • Формат: 6 байт в шестнадцатеричной системе, например 00:1A:2B:3C:4D:5E.

IP-адрес (Internet Protocol) — это логический адрес. Он:

  • Назначается устройству программно (вручную или через DHCP).
  • Может меняться при перемещении устройства между сетями.
  • Работает на сетевом уровне (L3).
  • Используется для маршрутизации пакетов между разными сетями (например, из вашей домашней сети в интернет). Маршрутизатор (router) принимает решение на основе IP-адреса назначения.
  • Формат: IPv4 (192.168.1.10) или IPv6 (2001:db8::1).

Как они работают вместе (ARP): Когда устройство в локальной сети хочет отправить пакет на IP 192.168.1.5, оно сначала использует протокол ARP, чтобы выяснить, какой MAC-адрес соответствует этому IP. Узнав MAC-адрес, оно отправляет кадр Ethernet с MAC-адресом назначения. Таким образом, IP-адрес нужен, чтобы «добраться» до нужной сети, а MAC-адрес — чтобы «доставить» данные конкретному устройству внутри этой сети.