Files
SecondBrain/90 Library/Networking/Протоколы/ARP.md
T
2026-05-31 10:18:48 +03:00

78 lines
8.8 KiB
Markdown

---
status: stable
type: concept
tags:
- network
- networking
- protocols
- arp
created: 2025-12-17
updated: 2026-05-07
aliases:
- ARP
---
# ARP
## Адресация
Адреса L2 используются для связи устройств, связанных напрямую в локальной сети. Адреса же L3 для связи устройств, подключенных косвенно в межсетевой среде.
Сети используют адресацию для идентификации и группировки устройств для успешной передачи данных. Протокол [[Ethernet]] использует MAC-адреса, привязанные к сетевой карте устройства.
Для общения устройств, находящихся в разных сетях, необходимо установить соответствие IP и MAC адресов. Для этого используются протоколы ARP:
1. ARP - Address Resolution Protocol
2. Reverse ARP (RARP)
3. Serial Line ARP (SLARP)
4. Inverce ARP (InARP)
## Address Resolution Protocol
Для передачи данных на L3 ARP необходим для сопоставления IP с MAC для отправки IP-пакетов. Перед отправкой, устройство обратится к своему кешу ARP, где хранятся все сопоставления IP и MAC для того, чтобы узнать, есть ли там соответствие. Если же записи нет, то оно отправляет _широковещательный_ пакет каждому устройство в сети, чтобы узнать, кому принадлежит соответствующий IP адрес. Устройства сами сравнивают запрашиваемый IP со своим и, при совпадении, нужное устройство отправляет в ответ свой MAC-адрес. Исходное устройство добавляет эту информацию в свою таблицу ARP для дальнейшего использования.
![](ARP_image.png)
Если устройство назначения находится в удаленной сети, то устройства L3 отправляют один за одним ARP-запрос для MAC-адреса шлюза по умолчанию (192.168.0.1, например).
> Шлюз - это устройство, куда направляется пакет, если для отправителя получатель неизвестен.
Далее шлюз смотрит по IP-адресу, ищет нужную сеть и отправляет на устройство L3 соответствующей сети.
## Кэширование ARP
Т.к. сопоставление IP и MAC адресов происходит на каждом "хопе" в сети для каждого пакета, производительность сети может быть снижена огромным количеством запросов. Для эффективного использования ресурсов сети, применяется кэширование протокола ARP.
Кэш ARP - это способ хранения таблицы соответствия IP и MAC адресов. Запиши кэша должны обновляться для поддержания актуальности. Каждое устройство обновляет свои таблицы по мере передачи адресов.
## Статические И Динамические Записи В Кэше ARP
Существуют записи статического и динамического ARP-кэша. Статические записи - это вручную проставленные записи соответствия, они сохраняются на постоянной основе. Динамические выставляются сами и могут обновляться по мере необходимости.
Для статической маршрутизации, администратор должен вручную вводить IP-адрес, маски подсети, шлюзы, соответствующий MAC-адрес. Статика обеспечивает больший контроль, но создает дополнительную работу при поддержании.
## Устройства, Не Использующие ARP
Когда сеть делится на два сегмента, устройство под названием _мост_ (bridge) соединяет сегменты и фильтрует трафик на каждый сегмент на основе MAC-адресов. Мост создает собственную таблицу, использующую только MAC, в отличие от маршрутизатора, который имеет кэш ARP, который содержит как IP-адреса, так и соответствующие MAC-адреса.
Пассивные хабы - это устройства L1, работа которых заключается в пересылке всех пакетов, полученных на один порт, на все основные порты. Нет необходимости в таблице адресов.
## Inverce ARP
Вместо использования адреса уровня 3 (IP-адреса) для поиска MAC-адреса, Inverse ARP использует MAC-адрес для поиска IP-адреса. Как следует из названия, InARP - это просто противоположность ARP. Обратный ARP был заменен более поздними версиями DHCP, но обратный ARP используется исключительно для настройки устройства. Обратный ARP включен по умолчанию в сетях ATM (Asynchronous Transfer Mode)
> ATM (Asynchronous Transfer Mode) — это сетевая технология передачи данных, которая используется для передачи информации в виде небольших фиксированных ячеек размером 53 байта.
## Reverse ARP
Reverse ARP (RARP) - работает так же, как и протокол ARP, но целью является запрос IP-адреса, исходя из MAC-адреса устройства. Используется бездисковыми устройства, не имеющим возможности хранить свой IP на постоянной основе.
## Proxy ARP
Если два устройства находятся в разных сегментах сети, например, подключены к разным коммутаторам, которые, в свою очередь, подключены к одному маршрутизатору, то получается ситуация, при которой они не могут друг друга увидеть, т.к. маршрутизатор не передает широковещательный запрос ARP (для поиска MAC по IP). В таком случае, маршрутизатор становится "соседом" для каждого устройства, передавая отправителю свой MAC, как ответ, а отправитель отправляет данные на маршрутизатор, а тот уже пересылает нужному устройству в другом сегменте.
Proxy ARP вызывается следующими условиями:
- IP-адрес назначения не находится в той же физической сети (LAN), на которой получен запрос.
- Сетевое устройство имеет один или несколько маршрутов к IP-адресу назначения.
- Все маршруты к IP-адресу назначения проходят через интерфейсы, отличные от тех, на которых получен запрос.
Когда proxy ARP отключен, устройство отвечает на запросы ARP, полученные на его интерфейсе, только если IP-адрес назначения совпадает с его IP-адресом или если целевой IP-адрес в ARP-запросе имеет статически настроенный псевдоним ARP.