ARP (Address Resolution Protocol) — мост между IP-уровнем (L3) и канальным уровнем (L2) Ethernet-сети. IP-адрес указывает логическое местоположение устройства, MAC-адрес — физический идентификатор сетевой карты. Когда хост хочет отправить пакет на IP-адрес в той же подсети, он должен узнать MAC-адрес получателя — для этого отправляет ARP-запрос.
Как работает
Процесс ARP: хост A отправляет широковещательный пакет «Кто имеет IP 192.168.1.5? Скажи 192.168.1.1». Все устройства в подсети получают запрос, только хост B (у которого IP 192.168.1.5) отвечает: «Это я, мой MAC — 00:1A:2B:3C:4D:5E». Хост A кэширует ответ в ARP-таблицу (ARP cache) — срок хранения 20–60 минут. Повторные пакеты к тому же IP берут MAC из кэша без нового запроса.
ARP-спуфинг (ARP poisoning) — атака, при которой злоумышленник рассылает ложные ARP-ответы, чтобы перехватывать трафик (man-in-the-middle). Защита: Dynamic ARP Inspection (DAI) на коммутаторах, статические ARP-записи для критичных хостов, мониторинг arp-таблицы.
Gratuitous ARP
Gratuitous ARP — пакет, в котором IP-отправителя и IP-получателя одинаковы. Используется: при live migration VM (оповестить сеть о новом MAC-адресе после переноса), при включении устройства (проверка конфликтов IP), при переключении Failover IP. Все хосты обновляют свои ARP-кэши при получении Gratuitous ARP.
История
ARP стандартизирован в RFC 826 Дэйвом Пламмером (David Plummer) в ноябре 1982 года. Один из старейших сетевых протоколов, до сих пор работающий без изменений в IPv4-сетях. Для IPv6 ARP заменён протоколом Neighbor Discovery (RFC 4861, 2007), который работает поверх ICMPv6.
На что обращать внимание
В виртуальной инфраструктуре ARP особенно важен: при миграции VM или переназначении Floating IP новый хост должен отправить Gratuitous ARP, иначе трафик будет уходить на старый MAC-адрес. В VXLAN-туннелях ARP обрабатывается иначе — через ARP proxy или BUM (Broadcast Unknown Multicast) репликацию.
Как работает ARP
ARP (Address Resolution Protocol) — протокол преобразования IP-адреса в MAC-адрес в локальной сети. Когда хост хочет отправить пакет на IP-адрес, он рассылает ARP Request (broadcast) с вопросом «кто имеет IP X.X.X.X?». Хост с этим IP отвечает ARP Reply со своим MAC-адресом. Результат кэшируется в ARP-таблице на несколько минут. На хостинге ARP важен при использовании Виртуальных IP (VIP): при failover нового сервера нужно разослать Gratuitous ARP, чтобы обновить ARP-таблицы всех устройств в сети. ARP работает только в пределах одного L2-сегмента (VLAN).
ARP-спуфинг и безопасность
ARP-spoofing — атака, при которой злоумышленник рассылает поддельные ARP Reply и перехватывает трафик (Man-in-the-Middle). Защита: Dynamic ARP Inspection (DAI) на коммутаторах, Private VLAN для изоляции клиентов на shared hosting. На VPS-хостинге хостер настраивает защиту от ARP-спуфинга на уровне виртуального коммутатора. MAC-адрес и ARP неразрывно связаны: без ARP IP-стек не может доставить пакет на канальном уровне. IPv6 заменил ARP протоколом NDP (Neighbor Discovery Protocol).