📌 ARP
ARP (Address Resolution Protocol) — протокол уровня Link Layer, используемый для преобразования IP-адресов в физические MAC-адреса в локальных сетях (LAN), использующих Ethernet.
🧠 Как работает
Когда устройство хочет отправить пакет по IP, но не знает MAC-адрес получателя, оно:
- Генерирует ARP-запрос (broadcast): «Кто владеет IP X.X.X.X?»
- Узел с этим IP-адресом отвечает своим MAC
- Адрес кешируется в ARP cache
Пакет передаётся уже с заполненными полями Ethernet:
IP-уровень: 192.168.1.1
↓ ARP → MAC: aa:bb:cc:dd:ee:ff
↓ Ethernet → доставка фрейма
Типы сообщений:
- ARP Request — широковещательный запрос
- ARP Reply — ответ от целевого узла
- Gratuitous ARP — объявление своего IP/MAC (например, при failover)
Механизмы:
- ARP cache — таблица соответствий IP→MAC
- Очистка или таймаут записей
ip neigh
— просмотр кэша в Linux
⚙️ Где применяется
Контекст | Назначение |
---|---|
Ethernet LAN | Разрешение IP-адресов в MAC |
Router | Построение таблиц соседей |
Firewall / NAT | Учет адресов для правил фильтрации |
Virtualization | Bridge-сети, vNIC адресация |
✅ Преимущества
- Простая и быстрая адресация в пределах LAN
- Не требует конфигурации
- Работает на всех основных платформах
❌ Недостатки
- ARP spoofing — вектор для атак
- Работает только в одной подсети
- Не поддерживает IPv6 (там используется NDP)