Skip to main content

Что такое протокол разрешения адресов?

Протокол разрешения адресов - это средство для сетевого приложения или устройства определить адрес Ethernet другого устройства. Также известное под аббревиатурой ARP, оно пытается сопоставить IP-адрес с аппаратным адресом. ARP используется каждым устройством в локальной сети при первом взаимодействии с другим устройством в той же сети.

Приложения и сетевые устройства обмениваются данными на высоком уровне, используя пакеты на сетевом уровне стека протоколов. Эти пакеты направляются на IP-адреса. Когда каждый пакет отправляется по локальной сети (LAN) с использованием канального уровня, адрес Ethernet получателя также должен быть известен. IP-адреса могут назначаться динамически и изменяться со временем, в то время как Ethernet-адреса обычно остаются неизменными. Приложению или устройству требуется способ определения аппаратного адреса, который в данный момент связан с данным IP-адресом.

Протокол разрешения адресов определяет стандартный метод обнаружения этих адресов. ARP была задокументирована Инженерной рабочей группой по Интернету (IETF) в 1982 году как запрос на комментарии (RFC) 826. Когда система готова отправлять IP-пакет, она проверяет свой кэш недавно разрешенных адресов. Если IP-адрес назначения отсутствует в кэше, он передает сообщение по всей локальной сети с использованием ARP. Это сообщение запрашивает устройство с IP-адресом назначения, чтобы ответить его аппаратным адресом Ethernet.

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

IP версии 4 (IPv4) и адреса Ethernet являются наиболее распространенными типами адресов, разрешенных протоколом разрешения адресов. Однако пакет запроса поддерживает другие типы через поля «Тип протокола» и «Длина адреса». Адреса IP версии 6 (IPv6) разрешаются с помощью протокола обнаружения соседей (NDP) вместо ARP.

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