Протокол разрешения адресов

редактировать
Телекоммуникационный протокол, используемый для разрешения адресов сетевого уровня

Протокол разрешения адресов ( ARP ) - это протокол связи, используемый для обнаружения адреса канального уровня, такого как MAC-адрес, связанный с заданным адрес интернет-уровня, обычно это адрес IPv4. Это сопоставление является важной функцией в пакете Интернет-протоколов. ARP был определен в 1982 г. как RFC 826, который является Интернет-стандартом STD 37.

ARP был реализован с множеством комбинаций сети и технологии канального уровня, такие как IPv4, Chaosnet, DECnet и Xerox PARC Universal Packet (PUP) с использованием IEEE 802 стандарты, FDDI, X.25, Frame Relay и асинхронный режим передачи (ATM).

В сетях Интернет-протокола версии 6 (IPv6) функциональность ARP обеспечивается протоколом обнаружения соседей (NDP).

Содержание
  • 1 Область действия
  • 2 Структура пакета
  • 3 Пример
  • 4 Зонд ARP
  • 5 Объявления ARP
  • 6 Посредничество ARP
  • 7 Обратный ARP и обратный ARP
  • 8 Подмена ARP и прокси-ARP
  • 9 Альтернативы ARP
  • 10 Наполнение ARP
  • 11 Стандарты
  • 12 См. Также
  • 13 Ссылки
  • 14 Внешние ссылки
Объем деятельности

Протокол разрешения адресов - это протокол запрос-ответ, сообщения которого инкапсулируются протоколом канального уровня. Он передается в пределах одной сети и никогда не маршрутизируется через узлы межсетевого взаимодействия. Это свойство помещает ARP на канальный уровень из набора интернет-протоколов.

Структура пакета

Протокол разрешения адресов использует простой формат сообщения, содержащий один запрос или ответ на разрешение адреса. Размер сообщения ARP зависит от размеров адреса канального и сетевого уровня. Заголовок сообщения определяет типы сети, используемые на каждом уровне, а также размер адресов каждого из них. Заголовок сообщения завершается кодом операции для запроса (1) и ответа (2). Полезная нагрузка пакета состоит из четырех адресов, аппаратных и протокольных адресов отправителя и получателя.

Основная структура пакетов ARP показана в следующей таблице, которая иллюстрирует случай сетей IPv4, работающих на Ethernet. В этом сценарии пакет содержит 48-битные поля для аппаратного адреса отправителя (SHA) и целевого аппаратного адреса (THA), а также 32-битные поля для соответствующих адресов отправителя и целевого протокола (SPA и TPA). Размер пакета ARP в этом случае составляет 28 байтов.

Интернет-протокол (IPv4) через пакет Ethernet ARP
Смещение октета01
0Тип оборудования (HTYPE)
2Тип протокола (PTYPE)
4Длина аппаратного адреса (HLEN)Адрес протокола длина (PLEN)
6Операция (OPER)
8Аппаратный адрес отправителя (SHA) (первые 2 байта)
10(следующие 2 байта)
12(последние 2 байта)
14Адрес протокола отправителя (SPA) (первые 2 байта)
16(последние 2 байта)
18Целевой аппаратный адрес (THA) (первые 2 байта)
20(следующие 2 байта)
22(последние 2 байта)
24Адрес целевого протокола (TPA) (первые 2 байта)
26(последние 2 байта)
Тип оборудования (HTYPE)
В этом поле указывается тип протокола сетевого канала. Пример: Ethernet - 1.
Тип протокола (PTYPE)
В этом поле указывается межсетевой протокол, для которого предназначен запрос ARP. Для IPv4 это значение 0x0800. Допустимые значения PTYPE разделяют пространство нумерации со значениями для EtherType.
Длина оборудования (HLEN)
Длина (в октетах ) аппаратного адреса. Длина адреса Ethernet составляет 6.
Длина протокола (PLEN)
Длина (в октетах) межсетевых адресов. Межсетевой протокол указан в PTYPE. Пример: длина IPv4-адреса равна 4.
Операция
Определяет операцию, которую выполняет отправитель: 1 для запроса, 2 для ответа.
Аппаратный адрес отправителя (SHA)
Медиа-адрес отправителя. В запросе ARP это поле используется для указания адреса хоста, отправляющего запрос. В ответе ARP это поле используется для указания адреса хоста, который искал запрос.
Адрес протокола отправителя (SPA)
Межсетевой адрес отправителя.
Целевой аппаратный адрес (THA)
Медиа-адрес предполагаемого получателя. В запросе ARP это поле игнорируется. В ответе ARP это поле используется для указания адреса хоста, отправившего запрос ARP.
Адрес целевого протокола (TPA)
Межсетевой адрес предполагаемого получателя.

ARP Значения параметров протокола стандартизированы и поддерживаются Internet Assigned Numbers Authority (IANA).

EtherType для ARP - 0x0806. Это появляется в заголовке кадра Ethernet, когда полезная нагрузка представляет собой пакет ARP, и его не следует путать с PTYPE, который появляется в этом инкапсулированном пакете ARP.

Пример

Два компьютера в офисе (Компьютер 1 и Компьютер 2) подключены друг к другу в локальной сети с помощью Ethernet кабелей. и сетевые коммутаторы, без промежуточных шлюзов или маршрутизаторов. Компьютер 1 имеет пакет для отправки на компьютер 2. Через DNS он определяет, что компьютер 2 имеет IP-адрес 192.168.0.55.

Для отправки сообщения также требуется MAC-адрес компьютера 2. Во-первых, компьютер 1 использует кешированную таблицу ARP для поиска 192.168.0.55 любых существующих записей MAC-адреса компьютера 2 (00: eb: 24: b2: 05: ac). Если MAC-адрес найден, он отправляет кадр Ethernet с адресом назначения 00: eb: 24: b2: 05: ac, содержащий IP-пакет, по каналу. Если кэш не дал результата для 192.168.0.55, Компьютер 1 должен отправить сообщение широковещательного запроса ARP (MAC-адрес назначения FF: FF: FF: FF: FF: FF), которое принимается всеми компьютерами в локальной сети., запрашивая ответ на 192.168.0.55.

Компьютер 2 отвечает сообщением ответа ARP, содержащим его MAC- и IP-адреса. В рамках отправки запроса Компьютер 2 может вставить запись для компьютера 1 в свою таблицу ARP для будущего использования.

Компьютер 1 получает и кэширует информацию ответа в своей таблице ARP и теперь может отправить пакет.

Зонд ARP

Зонд ARP является Запрос ARP построен с нулевым SPA. Перед тем, как начать использовать IPv4-адрес (независимо от того, получен ли он из ручной настройки, DHCP или каким-либо другим способом), хост, реализующий эту спецификацию, должен проверить, используется ли адрес уже, путем широковещательной рассылки пробных пакетов ARP.

Объявления ARP

ARP также может использоваться как простой протокол объявлений. Это полезно для обновления сопоставлений аппаратного адреса другими хостами при изменении IP-адреса или MAC-адреса отправителя. Такое объявление, также называемое безвозмездным сообщением ARP , обычно транслируется в виде запроса ARP, содержащего SPA в целевом поле (TPA = SPA) с THA, установленным в ноль. Альтернативный способ - широковещательная рассылка ARP-ответа с SHA и SPA отправителя, дублированными в целевых полях (TPA = SPA, THA = SHA).

Объявления запроса ARP и ответа ARP основаны на стандартах, но метод запроса ARP является предпочтительным. Некоторые устройства могут быть настроены для использования любого из этих двух типов объявлений.

Объявление ARP не предназначено для запроса ответа; вместо этого он обновляет любые кэшированные записи в таблицах ARP других хостов, которые получают пакет. Код операции в объявлении может быть запросом или ответом; стандарт ARP указывает, что код операции обрабатывается только после того, как таблица ARP была обновлена ​​из полей адреса.

Многие операционные системы выдают объявление ARP во время запуска. Это помогает решить проблемы, которые в противном случае могли бы возникнуть, если, например, сетевая карта была недавно заменена (изменение сопоставления IP-адреса с MAC-адресом), а другие хосты все еще имеют старое сопоставление в своих Кеши ARP.

Объявления ARP также используются некоторыми сетевыми интерфейсами для балансировки нагрузки для входящего трафика. В группе сетевых карт он используется для объявления другого MAC-адреса внутри группы, которая должна получать входящие пакеты.

Объявления ARP могут использоваться в протоколе Zeroconf, чтобы разрешить автоматическое назначение локальных IP-адресов канала интерфейсу, для которого недоступна другая конфигурация IP-адреса. Объявления используются для обеспечения того, чтобы адрес, выбранный хостом, не использовался другими хостами в сетевом соединении.

Посредничество ARP

Посредничество ARP относится к процессу разрешения адресов уровня 2 через (VPWS), когда в подключенных цепях используются разные протоколы разрешения, например, Ethernet на одном конце и Frame Relay на другом. В IPv4 каждое устройство Provider Edge (PE) обнаруживает IP-адрес локально подключенного устройства Customer Edge (CE) и передает этот IP-адрес соответствующему удаленное устройство PE. Затем каждое устройство PE отвечает на локальные запросы ARP, используя IP-адрес удаленного устройства CE и аппаратный адрес локального устройства PE. В IPv6 каждое устройство PE обнаруживает IP-адрес как локальных, так и удаленных устройств CE, а затем перехватывает локальное Neighbor Discovery (ND) и Inverse Neighbor Discovery (IND) пакетов и пересылает их на удаленное PE-устройство.

Inverse ARP и Reverse ARP

Inverse Address Resolution Protocol (Inverse ARP или InARP ) используется для получения адресов сетевого уровня (например, IP-адресов ) других узлов из адресов канального уровня (уровень 2). Поскольку ARP транслирует адреса уровня 3 в адреса уровня 2, InARP можно описать как обратный. Кроме того, InARP реализован как расширение протокола ARP: он использует тот же формат пакета, что и ARP, но другие коды операций.

InARP в основном используется в Frame Relay (DLCI ) и сетях ATM, в которых иногда получаются адреса уровня 2 виртуальных каналов от сигнализации уровня 2, и соответствующие адреса уровня 3 должны быть доступны, прежде чем эти виртуальные каналы могут быть использованы.

Протокол обратного разрешения адресов (обратный ARP или RARP), например InARP, преобразует адреса уровня 2 в адреса уровня 3. Однако в InARP запрашивающая станция запрашивает адрес уровня 3 другого узла, тогда как RARP используется для получения адреса уровня 3 самой запрашивающей станции для целей конфигурации адреса. RARP устарел; он был заменен на BOOTP, который позже был заменен на Протокол динамической конфигурации хоста (DHCP).

Подмена ARP и прокси ARP
Успешно Атака с подменой ARP позволяет злоумышленнику выполнить атаку человек посередине.

Поскольку ARP не предоставляет методов для аутентификации ответов ARP в сети, ответы ARP могут поступать из систем, отличных от один с требуемым адресом уровня 2. Прокси-сервер ARP - это система, которая отвечает на запрос ARP от имени другой системы, для которой она будет пересылать трафик, обычно как часть структуры сети, например, для интернет-службы удаленного доступа. Напротив, при подмене ARP автоответчик или спуфер отвечает на запрос адреса другой системы с целью перехвата данных, привязанных к этой системе. Злоумышленник может использовать ARP-спуфинг для выполнения атаки человек посередине или отказа в обслуживании на других пользователей в сети. Существует различное программное обеспечение для обнаружения и выполнения атак с подменой ARP, хотя сам ARP не предоставляет никаких методов защиты от таких атак.

Альтернативы ARP

IPv6 использует Neighbor Discovery Protocol и его расширения, такие как Secure Neighbor Discovery, а не ARP.

Компьютеры также могут вести списки известных адресов, вместо того, чтобы использовать активный протокол. В этой модели каждый компьютер поддерживает базу данных сопоставления адресов уровня 3 (например, IP-адресов ) с адресами уровня 2 (например, Ethernet MAC-адреса ). Эти данные поддерживаются в основном интерпретацией пакетов ARP из локальной сети. Таким образом, его часто называют кешем ARP.

Традиционно для поддержки сопоставления между адресами использовались и другие методы, такие как файлы статической конфигурации или централизованно поддерживаемые списки.

По крайней мере, с 1980-х годов сетевые компьютеры имеют утилиту под названием 'arp' для опроса или управления этой таблицей.

Наполнение ARP

Встроенные системы, такие как сетевые камеры и сетевые устройства распределения питания, у которых отсутствует пользовательский интерфейс, могут использовать так называемую вставку ARP для установления начального сетевого подключения, хотя это неправильное название, поскольку ARP не задействован.

Это решение проблемы сетевого управления потребительскими устройствами, в частности, выделение IP-адресов устройствам Ethernet, где:

  1. у пользователя нет возможности управлять DHCP или аналогичные протоколы распределения адресов
  2. устройство не имеет пользовательского интерфейса для его настройки с помощью
  3. компьютер пользователя не может связаться с ним, потому что у него нет подходящего IP-адреса.

Принятое решение выглядит следующим образом:

  • IP-адрес компьютера пользователя вставлен вручную в его таблицу адресов (обычно с помощью команды arp с MAC-адресом, взятым с метки на устройстве)
  • Компьютер отправляет на устройство специальные пакеты, обычно это ping пакет с размером, отличным от значения по умолчанию.
  • Затем устройство принимает этот IP-адрес
  • Затем пользователь связывается с ним, протоколы telnet или web для завершения конфигурации.

Такие устройства обычно имеют метод отключения этого процесса, когда устройство работает, или Обычно, поскольку он уязвим для атак.

Стандарты документов
  • RFC 826 - Протокол разрешения адресов Ethernet, Internet Standard STD 37.
  • RFC 903 - Обратный адрес Протокол разрешения, Интернет-стандарт STD 38.
  • RFC 2390 - Протокол разрешения обратных адресов, проект стандарта
  • RFC 5227 - Обнаружение конфликта адресов IPv4, предлагаемый стандарт
См. также
Ссылки
Внешние ссылки
Викиверситет имеет обучающие ресурсы по протоколу разрешения адресов
Последняя правка сделана 2021-06-10 00:18:09
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте