34 lines
2.4 KiB
Markdown
34 lines
2.4 KiB
Markdown
# 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-адрес]].
|