Компьютерные сети
ARP: связь IP и MAC
При каждом пинге соседнего компьютера происходит невидимый диалог: «Эй, у кого IP 192.168.1.20?» - «У меня! Вот мой MAC». Без этого простого протокола Ethernet-сети не работали бы.
- **Troubleshooting:** `arp -a` показывает, видит ли ПК соседей
- **Безопасность:** ARP spoofing - основа атак в локальных сетях
- **Производительность:** ARP-шторм может положить большую flat-сеть
Предварительные знания
Зачем нужен 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?