 # Networking — ARP (one-screen)

**ARP (Address Resolution Protocol)** — протокол сопоставления **IP (L3)** → **MAC (L2)** в локальном сегменте, чтобы реально отправить кадр Ethernet в пределах L2.

Источник: [[01 Library/04 Networking/Протоколы/ARP|ARP]].

## Зачем
- L2 (например Ethernet) доставляет кадры по **MAC** в локальной сети.
- L3 (IP) работает между сетями/подсетями.
- Чтобы отправить IP‑пакет, узлу нужно знать **MAC следующего хопа** (обычно либо адресата в своей подсети, либо MAC **default gateway**).

## Как работает (упрощённо)
1) Узел смотрит **ARP cache** (таблицу IP↔MAC).
2) Если записи нет → шлёт **broadcast ARP request** «кто имеет IP X?».
3) Нужный хост отвечает **ARP reply** со своим MAC.
4) Отправитель кэширует соответствие и шлёт трафик.

Если назначение в **другой сети**, узел резолвит **MAC шлюза по умолчанию**, и уже шлюз доставляет дальше.

## Кэширование
- ARP на каждом хопе создаёт нагрузку → используется **кэш**.
- Записи бывают **dynamic** (авто) и **static** (вручную).

## Варианты/родственники
В тексте упомянуты:
- **RARP** (Reverse ARP) — MAC → IP (исторически для “тонких”/бездисковых устройств)
- **InARP** (Inverse ARP) — также MAC → IP (использовался в некоторых средах)
- **SLARP** и др.

## Proxy ARP (идея)
Маршрутизатор может отвечать на ARP за узел в другом сегменте, «притворяясь соседом» (полезно в некоторых сценариях, но может скрывать проблемы дизайна).

Связанные узлы: [[Networking—MOC]], [[Networking—IPv6 (one-screen)]] (в IPv6 вместо ARP используется NDP), [[01 Library/04 Networking/MAC-адрес|MAC-адрес]].
