# 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-адрес]].