Протокол ARP

Протокол, используемый для сопоставления адресов сетевого уровня, адресам канального уровня в сетях множественного доступа. ARP описан стандартом RFC 826 в 1982 году. Также является названием сетевого инструмента для сопоставления адресов в большинстве операционных систем. ARP используется для преобразования сетевого адреса (например, IPv4) в физический адрес (например, Ethernet-адрес). Протокол был реализован во многих технологиях сетевого и канального уровней, таких как: IPv4, PUP, Frame Relay и ATM. В IPv6 сетях роль ARP играет NDP (Nework Discovery Protocol).

 

Рассмотрим пример работы протокола:

 

Представьте компьютеры А и B, расположенные в офисе, объединенные в локальную сеть друг с другом с помощью коммутатора. В данной сети не используются промежуточные шлюзы или роутеры. Компьютер А хочет отправить данные компьютеру B. С помощью DNS он определяет, что компьютеру B соответствует IP-адрес 192.168.0.55. Для передачи данных ему также необходим MAC-адрес компьютера B. Сначала компьютер А использует ARP-таблицу из кэша для поиска MAC-адреса для 192.168.0.55. Если запись с MAC-адресом была найдена, то на MAC-адрес 00:eb:24:b2:05:ac передается IP-пакет, инкапсулированный в фрейм канального уровня модели OSI. Если же запись в кэше не была найдена, то компьютер А отправляет широковещательное ARP-сообщение с запросом информации об IP-адресе 192.168.0.55. В ответ компьютер B отправляет пакет со своим IP и MAC-адресом. После выполнения данной последовательности начинается передача данных.