ARP (протокол разрешения адресов) преобразует адрес интернет-протокола (IP) в соответствующий физический сетевой адрес. IP-сети, в том числе те, которые работают в сетях Ethernet и Wi-Fi, требуют для работы ARP.
История и назначение ARP
ARP был разработан в начале 1980-х годов как универсальный протокол преобразования адресов для IP-сетей. Помимо Ethernet и Wi-Fi, ARP был реализован для ATM, Token Ring и других типов физических сетей.
ARP позволяет сети управлять соединениями независимо от конкретного физического устройства, подключенного к каждому из них. Это позволяет интернет-протоколу работать более эффективно, чем независимое управление различными аппаратными устройствами и физическими сетями.
Как работает ARP
ARP работает на уровне 2 в модели OSI. Поддержка протокола реализована в драйверах устройств сетевых операционных систем. Internet RFC 826 документирует технические подробности протокола, включая его формат пакета и работу сообщений запроса и ответа
ARP работает в современных сетях Ethernet и Wi-Fi следующим образом:
- Сетевые адаптеры производятся с физическим адресом, встроенным в аппаратное обеспечение, называемым адресом управления доступом к среде (MAC). Производители гарантируют, что эти шестибайтовые (48-битные) адреса уникальны, поскольку IP использует эти уникальные идентификаторы для доставки сообщений.
- Прежде чем любое устройство отправит данные на другое целевое устройство, оно должно определить MAC-адрес, учитывая его IP-адрес. Эти сопоставления IP-адресов и MAC-адресов получены из кэша ARP, поддерживаемого на каждом устройстве.
- Если данный IP-адрес не отображается в кэше устройства, это устройство не может направлять сообщения этой цели, пока не получит новое сопоставление. Для этого инициирующее устройство сначала отправляет широковещательное сообщение ARP-запроса в локальную подсеть. Хост с заданным IP-адресом отправляет ответ ARP в ответ на широковещательную рассылку, позволяя инициирующему устройству обновить свой кэш и доставить сообщения непосредственно к цели.
Обратный ARP и обратный ARP
Эксперты разработали еще один сетевой протокол под названием RARP (Reverse ARP) в 1980-х годах, чтобы дополнить ARP. RARP выполнял функцию, противоположную ARP, преобразовывая физические сетевые адреса в IP-адреса, назначенные этим устройствам. RARP устарел из-за DHCP (протокола динамической конфигурации хоста) и больше не используется.
Отдельный протокол, называемый Inverse ARP, также поддерживает функцию обратного сопоставления адресов. Inverse ARP не используется в сетях Ethernet или Wi-Fi, хотя иногда его можно встретить в других типах.
Безвозмездный ARP
Для повышения эффективности ARP некоторые сети и сетевые устройства используют метод связи, называемый безвозмездным ARP. Устройство отправляет сообщение запроса ARP в локальную сеть, чтобы уведомить другие устройства о своем существовании.