Протокол IP действует на сетевом уровне модели OSI, поэтому IP-адреса называются сетевыми. Они предназначены для передачи сообщений в составных сетях, связывающих подсети, построенные на различных локальных или глобальных сетевых технологиях, например Ethernet или ATM. Однако для непосредственной передачи сообщения в рамках одной подсети вместо IP-адреса нужно использовать локальный (аппаратный) адрес технологии канального уровня, чаще всего МАС-адрес.
При этом к IP-пакету добавляются заголовок и концевик кадра канального уровня, в заголовке указываются МАС-адреса источника и приемника кадра (см. рис).
При формировании кадра канального уровня возникает проблема: каким образом по известному IP-адресу определить соответствующий МАС-адрес? Указанная проблема решается при помощи протокола ARP (Address Resolution Protocol – протокол разрешения(процесс получения по известному IP-адресу МАС-адреса называется разрешением IP-адреса) адресов). Протокол ARP определяет МАС-адреса осуществляя рассылку всем узлам сети специального кадра, который называется ARP-запрос (ARP Request). В этом кадре содержится IP-адрес компьютера, у которого требуется узнать МАС-адрес. Каждый узел сети принимает ARP-запрос и сравнивает IP-адрес из запроса со своим IP-адресом. Если адреса совпадают, узел высылает ARP-ответ (ARP Reply), содержащий требуемый МАС-адрес. Результаты своей работы протокол ARP сохраняет в специальной таблице, хранящейся в оперативной памяти, которая называется ARP-кэш. При необходимости разрешения IP-адреса, протокол ARP сначала ищет IP-адрес в ARP-кэше и только в случае отсутствия нужной записи производит рассылку ARP-запроса. ARP-кэш имеет следующий вид:
Записи в ARP-кэше могут быть двух типов: статические и динамические. Статические записи заносятся в кэш администратором при помощи утилиты arp с ключом /s. Динамические записи помещаются в кэш после полученного ARP-ответа и по истечении двух минут удаляются. Удаление происходит для того, чтобы при перемещении в другую подсеть компьютера с МАС-адресом, занесенным в таблицу, кадры не отправлялись бесполезно в сеть. Иногда требуется по известному МАС-адресу найти IP-адрес (например, при начале работы компьютеров без жесткого диска, у которых есть МАС-адрес сетевого адаптер и им нужно определить свой IP-адрес). В этом случае используется реверсивный протокол RARP (Reverse ARP).