Перетворення адрес виконується шляхом пошуку за таблицею. Ця таблиця називається ARP-таблицею, зберігається у пам'яті й містить рядки для кожного вузла мережі. В двох стовпчиках містяться IP- та Ethernet-адреси. Якщо потрібно перетворити IP-адресу в Ethernet-адресу, то відбувається пошук запису з відповідною IP-адресою. Нижче наведено приклад спрощеної ARP-таблиці.
Табл.1.Приклад ARP-таблиці
IP-адреса
Ethernet-адреса
223.1.2.1
08:00:39:00:2F:C3
223.1.2.2
08:00:5A:21:A7:22
223.1.2.3↑
08:00:10:99:AC:54
ARP-таблиця необхідна через те, що IP-адреси та Ethernet-адреси вибираються незалежно, і немає жодного алгоритму для перетворення однієї в іншу. IP-адресу вибирає менеджер мережі з урахуванням розташування машини у мережі Інтернет. Якщо машину переміщують до іншої частини мережіІнтернет, то їїIP-адреса повинна бути змінена.Ethernet-адресу вибирає виробник мережного інтерфейсного обладнання з виділеного для нього згідно з ліцензією адресного простору. Якщо в машини змінюється мережний адаптер, то змінюється йEthernet-адреса.
У ході звичайної роботи мережева програма відправляє прикладне повідомлення, користуючись транспортними послугамиTCP. МодульTCP надсилає відповідне транспортне повідомлення через модульIP. У результаті складаєтьсяIP-пакет, який має передаватись драйверові Ethernet.IP-адреса місця призначення відома прикладній програмі, модулевіTCP та модулевіIP. Необхідно на її основі знайти Ethernet-адресу місця призначення. Для пошуку відповідноїEthernet-адреси використовується ARP-таблиця.
ARP-таблиця заповнюється автоматично модулем ARP по мірі необхідності. Коли за допомогою існуючої ARP-таблиці не вдається перетворитиIP-адресу, то відбувається таке:
Кожний мережний адаптер приймає широкомовні передачі. Усі драйвериEthernet перевіряють поле типу в прийнятому Ethernet-кадрі й передають ARP-пакети модулю ARP. ARP-запит можна інтерпретувати так: «Якщо вашаIP-адреса збігається із зазначеною, то повідомте мені вашуEthernet-адресу». Пакет ARP-запиту виглядає приблизно так:
Табл.2.Приклад ARP-запиту
IP-адреса відправника
223.1.2.1
Ethernet-адреса відправника
08:00:5A:21:A7:22
Шукана IP-адреса
223.1.2.3
Шукана Ethernet-адреса
<порожньо>
Кожний модуль ARP перевіряє поле шуканоїIP-адреси в отриманому ARP-пакеті і, якщо адреса збігається з його власною IP-адресою, то посилає відповідь прямо заEthernet-адресою відправника запиту. Пакет з ARP-відповіддю виглядає приблизно так:
Табл.3.Приклад ARP-відповіді
IP-адреса відправника
223.1.2.3
Ethernet-адреса відправника
08:01:2A:2B:A7:21
IP-адреса автора запиту
223.1.2.1
Ethernet-адреса автора запиту
08:00:5A:21:A7:22
Цю відповідь одержує машина, що зробила ARP-запит. Драйвер цієї машини перевіряє поле типу вEthernet-кадрі й передає ARP-пакет модулю ARP. Модуль ARP аналізує ARP-пакет і додає запис у свою ARP-таблицю.Якщо в мережі немає машини із шуканоюIP-адресою, то ARP-відповіді не буде й не буде запису в ARP-таблиці. ПротоколIP буде знищувати IP-пакети, що направляються по цій адресі. Протоколи верхнього рівня не можуть відрізнити випадок пошкодження мережі Ethernet від випадку відсутності машини із шуканою IP-адресою.