Вы путаете две вещи - ARP и Routing.
ARP
ARP (Address Resolution Protocol) используется для идентификации аппаратного адреса хоста в локальной сети (т. Е. Той же подсети).
Если A (IP 10.0.1.2/24) хотел установить связь с другим хостом (C) с IP-адресом 10.0.1.5 , то произойдет следующее, если этот хост отсутствует в кэше:
- Aвещает «ARP запроса»- 
- Использование широковещательного MAC-адреса (ff:ff:ff:ff:ff:ff)
- Запрос любого хоста с IP-адресом 10.0.1.5для ответа
 
- Если удаленный хост (C) получает этот пакет, то он отвечает своим правильным MAC-адресом.
ARP также может происходить с опережением: хосты « объявляют » себя, пытаясь уменьшить задержку, связанную с поиском, хотя это может легко привести к подделке и отравлению.
маршрутизация
Маршрутизация позволяет узлу получать доступ к другим узлам, которые находятся за пределами " локальной " сети. Например, хост B имеет IP-адрес 10.0.5.2 , который находится за пределами подсети хоста A 10.0.1.0/24 .
Чтобы получить пакеты на хост B , хост A должен отправить их через маршрутизатор (он же « шлюз »). Если маршрут по умолчанию не указан (или не настроен соответствующий конкретный маршрут), то хост недоступен.
Если маршрут существует, то A
- Используйте ARP, чтобы найти MAC-адрес маршрутизатора (R1)
- Отправьте пакет, адресованный IP B(10.0.5.2), но используя MAC-адрес маршрутизатораR1
- Маршрутизатор R1выполнит тот же поиск, отправив пакет на MAC-адресR3(илиR2), но с IP-адресомB
- Это продолжается до тех пор, пока пакет не достигнет Bили пока маршрутизатор не объявит, что он не может маршрутизировать к данному хосту.
  Если это работает так, как предыдущий узел узнает MAC-адрес следующего узла?
ARP используется на каждом этапе, чтобы получить MAC-адрес следующего хоста. R1 хочет переслать пакет через R3 , поэтому он использует ARP для получения MAC-адреса R3 .