Address Resolution Protocol
-
Основы ARP
- ARP (Address Resolution Protocol) — протокол для разрешения IP-адресов в MAC-адреса.
- ARP используется для разрешения конфликтов адресов и обновления таблиц ARP.
-
Структура ARP-пакета
- ARP-пакет состоит из поля типа ARP (A), поля адреса источника (S), поля адреса назначения (D) и поля типа ответа (R).
- Тип ARP указывает на тип запроса или ответа, а также на тип адресации (локальный или удаленный).
- Адрес источника и адресата могут быть IP-адресами или MAC-адресами.
-
Процесс разрешения адреса
- ARP использует таблицу ARP для сопоставления IP-адресов с MAC-адресами.
- При запросе ARP-пакет отправляется на широковещательный MAC-адрес, а ответ ARP отправляется на запрошенный IP-адрес.
-
ARP-проба
- ARP-проба — это ARP-запрос с SHA отправителя, SPA всех нулей и THA всех нулей, а TPA установлен на проверяемый IPv4-адрес.
- Если какой-либо хост на сети считает проверяемый IPv4-адрес своим, он ответит на ARP-пробу, информируя об адресном конфликте.
- Если нет хоста, который считает проверяемый IPv4-адрес своим, то ответа не будет.
-
ARP-объявления
- ARP может использоваться как простой протокол объявлений.
- Объявление ARP обычно представляет собой ARP-запрос с SPA в поле TPA, а THA установлен в ноль.
- Альтернативный способ — это ARP-ответ с SHA и SPA, дублированными в поле TPA.
- ARP-объявления не предназначены для получения ответа, а обновляют записи в таблицах ARP других хостов.
-
ARP-посредничество
- ARP-посредничество — это процесс разрешения адресов через виртуальные частные проводные службы (VPWS) при использовании разных протоколов разрешения на подключенных цепях.
-
Обратное ARP и Reverse ARP
- Inverse ARP (InARP) используется для получения сетевых адресов (например, IP-адресов) из адресов уровня 2 (например, MAC-адресов).
- InARP — это протокол расширения ARP, который использует тот же формат пакета, но с другими операционными кодами.
- InARP в основном используется в сетях Frame Relay и ATM, где адреса уровня 2 виртуальных цепей иногда получаются из сигналов уровня 2.
- Reverse ARP (RARP) — это протокол, который используется для получения адреса отправителя, а не адреса получателя.
- RARP устарел и был заменен протоколами BOOTP и DHCP.
-
ARP-спуфинг и прокси ARP
- ARP не предоставляет методов аутентификации ответов ARP, поэтому ARP-ответы могут исходить от систем, отличных от запрашиваемой.
- ARP-прокси — это система, которая отвечает на ARP-запросы от имени другой системы для пересылки трафика.
- ARP-спуфинг — это атака, при которой злоумышленник отвечает на запросы для перехвата данных, предназначенных для другой системы.
-
Альтернативы ARP
- IPv6 использует протокол Neighbor Discovery и его расширения, такие как Secure Neighbor Discovery, вместо ARP.
- Компьютеры могут поддерживать списки известных адресов, а не использовать активный протокол.
-
ARP-stuffing
- Встроенные системы, такие как сетевые камеры и сетевые устройства распределения питания, могут использовать ARP-stuffing для первоначального подключения к сети.
- ARP-stuffing — это процесс, при котором IP-адрес вручную вносится в таблицу адресов компьютера, а затем отправляется специальный пакет для устройства.
-
Стандарты документов
- RFC 826, RFC 903, RFC 2390 и RFC 5227 описывают различные аспекты ARP.
Полный текст статьи: