Компьютерные сети

ARP: связь IP и MAC

При каждом пинге соседнего компьютера происходит невидимый диалог: «Эй, у кого IP 192.168.1.20?» - «У меня! Вот мой MAC». Без этого простого протокола Ethernet-сети не работали бы.

  • **Troubleshooting:** `arp -a` показывает, видит ли ПК соседей
  • **Безопасность:** ARP spoofing - основа атак в локальных сетях
  • **Производительность:** ARP-шторм может положить большую flat-сеть

Предварительные знания

  • ICMP, Ping, and Traceroute

Зачем нужен ARP

**ARP** (Address Resolution Protocol) - протокол, который связывает IP-адреса (L3) с MAC-адресами (L2). Без ARP невозможно отправить фрейм в локальной сети, потому что Ethernet работает с MAC, а приложения знают только IP.

ARP работает только в **локальной сети** (L2-сегменте). Если получатель в другой сети - мы ищем MAC роутера (default gateway), а не конечного хоста.

ARP - это broadcast-протокол. Запрос идёт всем устройствам в сети. Поэтому большие flat-сети с тысячами хостов страдают от ARP-шторма.

Для чего нужен ARP?

ARP-таблица (кэш)

**ARP-таблица** - локальный кэш соответствий IP→MAC. Перед отправкой фрейма система проверяет таблицу. Если запись есть и не устарела - используем её, иначе отправляем ARP-запрос.

**TTL записей:** Обычно 2-20 минут. Если хост сменит IP или MAC - старая запись может вызвать проблемы. `ip neigh flush all` очищает кэш.

ARP-таблица показывает (incomplete) для IP 192.168.1.50. Что это значит?

ARP Request и Reply

ARP работает в два шага: **Request** (широковещательный запрос) и **Reply** (unicast ответ от владельца IP).

**Gratuitous ARP:** Устройство может отправить ARP-ответ, даже если никто не спрашивал. Используется для обновления кэшей (например, после смены IP или при failover).

На какой MAC-адрес отправляется ARP Request?

ARP Spoofing и безопасность

**ARP Spoofing** (ARP Poisoning) - атака, при которой злоумышленник отправляет фальшивые ARP-ответы, чтобы перенаправить трафик на себя. ARP не имеет аутентификации - любой может сказать «Это мой IP».

**В публичных Wi-Fi:** ARP spoofing - реальная угроза. Всегда используйте HTTPS и VPN. Современные ОС имеют некоторую защиту, но она не абсолютна.

ARP работает через интернет

ARP работает только в локальной сети (L2-сегменте)

ARP-запросы - broadcast, они не проходят через роутер. Для удалённых хостов мы ищем MAC роутера, а не конечного получателя.

Почему ARP уязвим для spoofing-атак?

Ключевые идеи

  • **ARP** связывает IP (L3) с MAC (L2) в локальной сети
  • **ARP Request** - broadcast «Кто имеет IP X?»
  • **ARP Reply** - unicast ответ с MAC-адресом
  • **ARP-таблица** - кэш для избежания повторных запросов
  • **ARP Spoofing** - атака из-за отсутствия аутентификации

Связанные темы

ARP критичен для понимания:

  • DHCP — DHCP использует ARP для проверки свободности IP
  • Коммутаторы — Switch использует MAC из ARP для пересылки
  • Сетевая безопасность — ARP spoofing - одна из базовых атак

Вопросы для размышления

  • Почему ARP-запрос broadcast, а ответ - unicast?
  • Что произойдёт, если два устройства имеют одинаковый IP?
  • Как защититься от ARP spoofing в кафе с открытым Wi-Fi?

Связанные уроки

  • arch-08-memory-hierarchy
ARP: связь IP и MAC

0

1

Войти