2.4 KiB
2.4 KiB
Networking — ARP (one-screen)
ARP (Address Resolution Protocol) — протокол сопоставления IP (L3) → MAC (L2) в локальном сегменте, чтобы реально отправить кадр Ethernet в пределах L2.
Источник: 01 Library/04 Networking/Протоколы/ARP.
Зачем
- L2 (например Ethernet) доставляет кадры по MAC в локальной сети.
- L3 (IP) работает между сетями/подсетями.
- Чтобы отправить IP‑пакет, узлу нужно знать MAC следующего хопа (обычно либо адресата в своей подсети, либо MAC default gateway).
Как работает (упрощённо)
- Узел смотрит ARP cache (таблицу IP↔MAC).
- Если записи нет → шлёт broadcast ARP request «кто имеет IP X?».
- Нужный хост отвечает ARP reply со своим MAC.
- Отправитель кэширует соответствие и шлёт трафик.
Если назначение в другой сети, узел резолвит 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-адрес.