Jump to content

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

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

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

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

Объем работы

[ редактировать ]

Протокол разрешения адресов представляет собой протокол запроса-ответа . Его сообщения непосредственно инкапсулируются протоколом канального уровня. Он передается в пределах одной подсети и никогда не маршрутизируется .

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

[ редактировать ]

Протокол разрешения адресов использует простой формат сообщения, содержащий один запрос или ответ на разрешение адреса. Пакеты передаются на канальном уровне базовой сети в виде необработанной полезной нагрузки. В случае Ethernet Значение 0x0806 EtherType используется для идентификации кадров ARP.

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

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

Интернет-протокол (IPv4) через пакет Ethernet ARP
Смещение октета 0 1
0 Тип оборудования (HTYPE)
2 Тип протокола (PTYPE)
4 Длина аппаратного адреса (HLEN) Длина адреса протокола (PLEN)
6 Операция (ОПЕР)
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. [2]
Тип протокола (PTYPE)
В этом поле указывается межсетевой протокол, для которого предназначен запрос ARP. Для IPv4 это имеет значение 0x0800 . Разрешенные значения PTYPE разделяют пространство нумерации со значениями для EtherType . [2] [3]
Длина оборудования (HLEN)
Длина (в октетах ) аппаратного адреса. Длина адреса Ethernet равна 6.
Длина протокола (PLEN)
Длина (в октетах) сетевых адресов. Межсетевой протокол указывается в PTYPE. Пример: длина адреса IPv4 равна 4.
Операция
Указывает операцию, которую выполняет отправитель: 1 для запроса, 2 для ответа.
Аппаратный адрес отправителя (SHA)
Медиа-адрес отправителя. В запросе ARP это поле используется для указания адреса хоста, отправляющего запрос. В ответе ARP это поле используется для указания адреса хоста, который искал запрос.
Адрес протокола отправителя (SPA)
Межсетевой адрес отправителя.
Целевой аппаратный адрес (THA)
Медиа-адрес предполагаемого получателя. В запросе ARP это поле игнорируется. В ответе ARP это поле используется для указания адреса хоста, отправившего запрос ARP.
Адрес целевого протокола (TPA)
Межсетевой адрес предполагаемого получателя.

Значения параметров протокола ARP стандартизированы и поддерживаются Управлением по присвоению номеров Интернета (IANA). [2]

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

Многослойность

[ редактировать ]

Место ARP в наборе протоколов Интернета и модели OSI может вызывать путаницу или даже споры. RFC   826 помещает его на канальный уровень и характеризует как инструмент для изучения «уровня более высокого уровня», такого как уровень Интернета. [4] RFC   1122 также обсуждает ARP в разделе канального уровня. [5] [6] Ричард Стивенс размещает ARP на канальном уровне OSI [7] в то время как более новые версии связывают его с сетевым уровнем или вводят промежуточный уровень OSI 2.5. [8]

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

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

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

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

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

Объявления ARP

[ редактировать ]

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

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

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

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

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

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

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

ARP-посредничество

[ редактировать ]

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

Обратный ARP и обратный ARP

[ редактировать ]

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

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

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

Подмена ARP и прокси-ARP

[ редактировать ]
Успешная атака спуфинга ARP позволяет злоумышленнику выполнить атаку «человек посередине» .

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

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

[ редактировать ]

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

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

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

ARP-начинка

[ редактировать ]

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

Наполнение ARP осуществляется следующим образом:

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

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

Стандартные документы

[ редактировать ]
  • RFC   826 — протокол разрешения адресов Ethernet, интернет-стандарт STD 37.
  • RFC   903 — протокол разрешения обратного адреса, интернет-стандарт STD 38.
  • RFC   2390 — Протокол обратного разрешения адресов, проект стандарта
  • RFC   5227 — Обнаружение конфликта адресов IPv4, предлагаемый стандарт

См. также

[ редактировать ]
  1. ^ Дэвид С. Пламмер (ноябрь 1982 г.). «RFC 826, Протокол разрешения адресов Ethernet — или — Преобразование адресов сетевых протоколов в 48-битный адрес Ethernet для передачи на оборудование Ethernet» . Рабочая группа по проектированию Интернета, Сетевая рабочая группа.
  2. ^ Jump up to: а б с «Параметры протокола разрешения адресов (ARP)» . www.iana.org . Проверено 16 октября 2018 г.
  3. ^ RFC   5342
  4. ^ Дэвид С. Пламмер (ноябрь 1982 г.). Протокол разрешения адресов Ethernet . Сетевая рабочая группа. дои : 10.17487/RFC0826 . СТД 37. RFC 826 . Интернет Стандарт 37. сек. Мониторинг и отладка сети. Обновлено RFC 5227 и 5494 .
  5. ^ Р. Брейден , изд. (октябрь 1989 г.). Требования к интернет-хостам – коммуникационные уровни . Сетевая рабочая группа. дои : 10.17487/RFC1122 . СТД 3. RFC 1122 . Интернет-стандарт 3. Обновлено RFC 1349 , 4379 , 5884 , 6093 , 6298 , 6633 , 6864 , 8029 и 9293 .
  6. ^ RFC   1122
  7. ^ У. Ричард Стивенс, TCP/IP Illustrated, Том 1: Протоколы , Аддисон Уэсли, 1994, ISBN 0-201-63346-9.
  8. ^ У. Ричард Стивенс, TCP/IP Illustrated, Том 1: Протоколы , Аддисон Уэсли, 2011, ISBN 0-321-33631-3, стр. 14
  9. ^ Чаппелл, Лаура А.; Титтель, Эд (2007). Руководство по TCP/IP (Третье изд.). Технология курса Томсона. стр. 115–116. ISBN  9781418837556 .
  10. ^ Чешир, С. (июль 2008 г.). Обнаружение конфликта IPv4-адресов . Рабочая группа по интернет-инжинирингу. дои : 10.17487/RFC5227 . РФК 5227 .
  11. ^ Гармуш, Эд. «Зонд ARP и объявление ARP» . Практическая сеть . Практические сети .net . Проверено 3 августа 2022 г.
  12. ^ Перкинс, К. (ноябрь 2010 г.). «RFC 5944 — Поддержка IP-мобильности для IPv4, пересмотренная» . Рабочая группа по интернет-инжинирингу. Необоснованный ARP МОЖЕТ использовать либо запрос ARP, либо пакет ответа ARP. [...] любой узел, получающий любой пакет ARP (запрос или ответ), ДОЛЖЕН обновить свой локальный кэш ARP, указав протокол отправителя и аппаратные адреса в пакете ARP [...]
  13. ^ Перкинс, К. (октябрь 1996 г.). «RFC 2002 — Поддержка IP-мобильности» . Рабочая группа по интернет-инжинирингу.
  14. ^ Чешир, С. (июль 2008 г.). «RFC 5227 — Обнаружение конфликта адресов IPv4» . Рабочая группа по интернет-инжинирингу. Почему объявления ARP выполняются с использованием пакетов запроса ARP, а не пакетов ответа ARP?
  15. ^ «Часто задаваемые вопросы: Брандмауэр не обновляет таблицу протоколов разрешения адресов» . Цитрикс . 16 января 2015 г. [...] включенный [...] garpReply генерирует пакеты ARP, которые [...] имеют тип OPCODE REPLY, а не REQUEST.
  16. ^ «Бесплатный ARP в проекте DHCP и IPv4 ACD» . Архивировано из оригинала 12 октября 2007 года.
  17. ^ Перкинс, Чарльз Э. (октябрь 1996 г.). «RFC 2002, раздел 4.6» .
  18. ^ Дромс, Ральф (март 1997 г.). «RFC 2131 DHCP — последние строки раздела 4.4.1» .
  19. ^ RFC   3927
  20. ^ Шах, Х.; и др. (июнь 2012 г.). Посредничество протокола разрешения адресов (ARP) для IP-взаимодействия VPN уровня 2 . Рабочая группа по интернет-инжинирингу. дои : 10.17487/RFC6575 . РФК 6575 .
  21. ^ Т. Брэдли; К. Браун; А. Малис (сентябрь 1998 г.). Протокол обратного разрешения адресов . Сетевая рабочая группа. дои : 10.17487/RFC2390 . РФК 2390 . Проект стандарта. Устаревшие РФК 1293 .
  22. ^ Р. Финлейсон; Т. Манн; Дж. Могул; М. Теймер (июнь 1984 г.). Протокол разрешения обратного адреса . Сетевая рабочая группа. дои : 10.17487/RFC0903 . СТД 38. RFC 903 . Интернет-стандарт 38.
  23. ^ Стив Гибсон (11 декабря 2005 г.). «Отравление ARP-кэша» . ГРЦ .
  24. ^ Калифорнийский университет, Беркли. «Страница руководства BSD для команды arp(8C)» . Проверено 28 сентября 2011 г.
  25. ^ Канонический. «Страница руководства Ubuntu для команды arp(8)» . Архивировано из оригинала 16 марта 2012 г. Проверено 28 сентября 2011 г.
  26. ^ Компьютер Apple. «Страница руководства Mac OS X для команды arp(8)» . Проверено 28 сентября 2011 г.
  27. ^ Майкрософт. «Справка Windows по команде arp» . Проверено 28 сентября 2011 г.
  28. ^ Сан Микросистемс. «Страница руководства SunOS для файла ethers(5)» . Проверено 28 сентября 2011 г.
  29. ^ Осевая связь. «Руководство по установке сетевых камер серии Axis P13» (PDF) . Проверено 28 сентября 2011 г.
  30. ^ Американская энергетическая корпорация. «Руководство по установке и быстрому запуску блока распределения питания в стойке» (PDF) . Архивировано из оригинала (PDF) 25 ноября 2011 г. Проверено 28 сентября 2011 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 24c58d53a29f256550b555830c776002__1713928260
URL1:https://arc.ask3.ru/arc/aa/24/02/24c58d53a29f256550b555830c776002.html
Заголовок, (Title) документа по адресу, URL1:
Address Resolution Protocol - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)