Домашняя сеть · IPv4 · диагностика
ARP простыми словами: как IP превращается в MAC и почему возникают конфликты адресов
Компьютер может знать IP камеры, NAS или шлюза, но Ethernet-кадр внутри локальной сети всё равно нужно отправить на конкретный MAC-адрес. Эту связь для IPv4 обеспечивает ARP. Когда ARP-кэш содержит старую запись, два устройства используют один IP или после замены оборудования адрес перешёл к другому MAC, сеть начинает вести себя странно: ping то есть, то нет, веб-интерфейс открывается не всегда, а пакеты уходят не тому устройству. Разбираем ARP, ARP cache, ARP Probe, Gratuitous ARP, duplicate IP и Proxy ARP по шагам.
Что делает ARP
ARP, Address Resolution Protocol отвечает на простой вопрос: «какой MAC-адрес сейчас соответствует этому IPv4-адресу в моей локальной сети?»
После этого IP-пакет можно поместить в Ethernet-кадр с нужным destination MAC и передать через switch.
Почему одного IP-адреса недостаточно
IP определяет логическую адресацию и маршрутизацию. Ethernet внутри LAN доставляет кадры по MAC-адресам.
Куда должен идти IP-пакет.
Кому передать Ethernet-кадр на этом link.
ARP связывает эти два уровня только для непосредственного IPv4-соседства.
Как уровни сети связаны между собой, подробнее разобрано в статье «Модель OSI и TCP/IP».
Как проходит обычный ARP Request
Предположим, ПК 192.168.1.20 хочет обратиться к NAS 192.168.1.50 в той же подсети и пока не знает его MAC.
- ПК проверяет neighbor/ARP cache. Готовой записи нет.
- ПК отправляет ARP Request. Запрос передаётся broadcast по локальному L2-сегменту.
- Устройства VLAN получают запрос. Но отвечает владелец нужного IPv4.
- NAS отправляет ARP Reply. В обычном сценарии ответ адресован запрашивающему узлу.
- ПК запоминает IP → MAC. Следующие пакеты можно отправлять без нового ARP Request до обновления записи.
ARP Request и ARP Reply
«Кто имеет этот IP?»
Обычно Ethernet broadcast, чтобы неизвестный владелец адреса точно получил запрос.
«Этот IP у меня»
Обычно unicast обратно запрашивающему узлу с указанием MAC.
Что такое ARP cache
Если каждый IP-пакет начинался бы с нового broadcast-запроса, сеть генерировала бы много ненужного служебного трафика. Поэтому операционные системы хранят изученные IP-to-MAC mappings в neighbor cache.
Запись не должна жить вечно. Динамические neighbor entries обновляются и стареют по правилам сетевого стека конкретной ОС.
ARP cache не является DHCP-таблицей
Это разные данные.
| ARP / Neighbor cache | DHCP leases | |
|---|---|---|
| Что хранит | IPv4 → MAC для соседей | Выданные клиентам параметры аренды |
| Кто формирует | Каждый узел для себя | DHCP server |
| Статический IP виден? | Да, если был ARP-обмен | Может вообще отсутствовать |
| Показывает срок DHCP lease? | Нет | Да |
| Используется для Ethernet delivery | Да | Нет напрямую |
Поэтому отсутствие камеры в DHCP Clients не означает, что её нет в сети. Если у неё статический адрес, она может появляться только в ARP/neighbor и MAC-таблицах.
Что происходит при обращении к устройству в другой подсети
Это ключевой момент, который часто понимают неправильно.
Если ПК 192.168.1.20/24 открывает сервер 8.8.8.8, он не ищет через ARP MAC сервера 8.8.8.8.
Хост определяет по своей маске и routing table, что destination находится вне локального prefix. Затем он ищет MAC следующего hop, обычно default gateway.
На каждом маршрутизируемом Ethernet-участке создаётся своё соответствие IP next-hop → MAC.
Как маска влияет на ARP
Именно IP prefix определяет, кого хост считает локальным соседом.
Если маска настроена неправильно, компьютер может:
- пытаться ARP-ить адрес, который на самом деле находится за роутером;
- наоборот, отправлять локальный адрес через шлюз;
- получать странно одностороннюю связь;
- работать только благодаря Proxy ARP, скрывающему ошибку.
Поэтому при сетевой диагностике проверяют IP, prefix/mask и gateway вместе.
Как посмотреть ARP cache в Windows
Классическая команда:
arp -aMicrosoft по-прежнему документирует её для Windows 10/11 и Windows Server 2025. Она показывает текущие ARP entries для сетевых интерфейсов.
Более современный PowerShell-вариант:
Get-NetNeighbor -AddressFamily IPv4Get-NetNeighbor показывает neighbor cache, включая IP, link-layer address, interface и состояние записи.
Как посмотреть соседей в Linux
В современных Linux-системах удобнее использовать iproute2:
ip neigh showТаблица neighbor объединяет понятие соседей и позволяет увидеть IPv4 ARP entries и состояния neighbor cache.
Почему ARP entry может быть неполной
Запись может существовать до того, как MAC успешно разрешён. ОС уже знает, что нужно определить соседа, но ответ ещё не получен.
В разных ОС состояния называются по-разному. В Windows PowerShell и Linux neighbour table можно увидеть состояния вроде reachable, stale, incomplete или failed.
Нужно ли регулярно очищать ARP cache
Нет. В исправной сети neighbor cache обслуживается автоматически.
Очистка записи полезна как диагностический приём, например после замены устройства с сохранением того же IP.
Если два устройства продолжают использовать один адрес, после очистки таблица снова изучит один из конфликтующих MAC. Нужно устранить сам конфликт адресации.
Как удалить запись ARP в Windows
Для конкретного IPv4:
arp -d 192.168.1.50После этого при следующем обращении Windows снова выполнит neighbor resolution.
На компьютере с несколькими интерфейсами важно понимать, таблицу какого interface вы диагностируете.
Типичный случай: заменили камеру, но оставили тот же IP
Старая камера имела:
Её отключили и поставили новую камеру с тем же IP:
Некоторые узлы ещё могут временно хранить старое соответствие IP → MAC. До обновления neighbor cache соединение выглядит «зависшим», хотя новая камера физически работает.
Обычно ситуацию исправляет нормальный ARP Announcement новой камеры или естественное обновление cache. При диагностике можно удалить старую запись вручную.
Что такое Duplicate IP
Duplicate IP возникает, когда два устройства одновременно считают один IPv4-адрес своим в одном L2-сегменте.
Это не нормальная схема резервирования, если она специально не реализована соответствующим HA-протоколом.
Почему конфликт IP выглядит случайным
Один клиент может изучить MAC устройства A, а другой - MAC устройства B. Позже ARP announcements или replies обновят записи в другой последовательности.
В результате:
- ping отвечает то одно устройство, то другое;
- web-интерфейс периодически пропадает;
- NVR теряет камеру;
- TCP-сессии рвутся;
- в ARP-таблице один IP меняет MAC.
Duplicate IP и MAC flapping — не одно и то же
При duplicate IP меняется соответствие один IP → разные MAC.
При классическом MAC flapping switch видит один MAC → на разных физических портах.
| Проблема | Что «прыгает» |
|---|---|
| Duplicate IP | IP → MAC A / MAC B |
| MAC flapping | MAC → Port 5 / Port 8 |
MAC flapping чаще связано с L2-петлёй, неправильным bonding или перемещением одного MAC. Про петли есть отдельный гайд про STP/RSTP.
Откуда обычно берётся конфликт IP
Как правильно разделить DHCP и статические адреса
Есть два нормальных подхода:
- DHCP reservation. Роутер всегда выдаёт устройству один и тот же адрес.
- Manual static IP. Адрес выбирают осознанно и исключают из конфликтующего динамического распределения либо используют DHCP-server, который корректно знает reservation/static plan.
Для камер, NAS и Home Assistant главный принцип - адресный план должен быть понятным и документированным, а не набором случайных IP.
Что такое IPv4 Address Conflict Detection
RFC 5227 стандартизует механизм, с помощью которого хост пытается понять, свободен ли IPv4-адрес, прежде чем полноценно начать его использовать, а затем продолжает отслеживать возможный конфликт.
Механизм нужен не только DHCP-клиентам. RFC 5227 прямо распространяет идею проверки и на адреса, настроенные другими способами, включая ручную конфигурацию.
Что такое ARP Probe
При ARP Probe узел проверяет, не используется ли желаемый IPv4 другим устройством.
В RFC 5227 probe выполняется ARP Request, где Sender IP Address равен 0.0.0.0, а Target IP Address содержит проверяемый адрес.
Так хост не заявляет адрес своим до завершения проверки.
Что такое ARP Announcement
После успешной проверки устройство может объявить локальной сети, что адрес теперь принадлежит ему.
RFC 5227 определяет ARP Announcement как ARP Request, в котором Sender IP и Target IP содержат объявляемый IPv4.
Это помогает соседям быстрее обновить cached mapping.
Gratuitous ARP: почему термин вызывает путаницу
В документации производителей термин Gratuitous ARP, GARP используется достаточно широко: это ARP-сообщение о собственном адресе, которое не является обычным ответом на предварительный запрос конкретного клиента.
В реальных реализациях можно встретить gratuitous ARP request и gratuitous ARP reply.
Зачем нужен Gratuitous ARP
Juniper, например, отдельно документирует gratuitous ARP для обнаружения duplicate IP и обновления ARP cache.
Почему GARP особенно важен при failover
Представим виртуальный IP шлюза 192.168.1.1. Активный router A отказал, и адрес переехал на router B.
Если клиенты продолжат хранить старый mapping, они будут отправлять кадры старому MAC. ARP announcements помогают быстро сообщить новый путь.
Почему статическая ARP-запись может мешать
Статический mapping IP → MAC не стареет так же, как динамический. Это может быть полезно в специфических схемах, но дома часто создаёт дополнительную проблему.
После замены устройства с тем же IP статическая запись продолжит указывать на старый MAC, пока её не изменить вручную.
Для постоянного IPv4 устройству обычно нужна DHCP reservation или корректный static IP. ARP binding решает другую задачу.
Что такое Proxy ARP
Proxy ARP означает, что router отвечает на ARP Request за другой IPv4-адрес своим MAC, а затем маршрутизирует полученный трафик дальше.
Juniper описывает restricted и unrestricted Proxy ARP. В restricted mode устройство не проксирует адреса, когда source и target находятся в одной подсети, что является более безопасным и предсказуемым вариантом.
Почему Proxy ARP может скрыть ошибку маски
Хост с неправильной слишком широкой маской может считать удалённый IP локальным и отправлять ARP вместо пакета на default gateway.
Если router отвечает Proxy ARP, связь неожиданно заработает.
Это удобно в отдельных legacy-сценариях, но способно скрыть неправильную адресацию. После замены роутера, отключения Proxy ARP или переноса VLAN такая сеть внезапно перестаёт работать.
ARP между VLAN не проходит как обычный broadcast
Каждая VLAN является отдельным L2 broadcast domain. ARP Request из VLAN 10 не должен просто flood-иться в VLAN 20.
Хост в VLAN 10 ARP-ит MAC своего gateway в VLAN 10. Router отдельно определяет next-hop в VLAN 20.
Основы сегментации: «VLAN простыми словами».
ARP и таблица MAC на коммутаторе — разные таблицы
| Таблица | Mapping | Где обычно находится |
|---|---|---|
| ARP / Neighbor | IPv4 → MAC | ПК, router, L3 switch, NAS |
| MAC / FDB | MAC → switch port | Ethernet switch |
Для поиска камеры полезно сначала получить её MAC из ARP/neighbor table, а затем найти этот MAC в forwarding database switch и определить физический порт.
Если оборудование поддерживает discovery, ещё быстрее может помочь LLDP.
Как диагностировать конфликт IP по шагам
- Зафиксируйте проблемный IPv4. Не меняйте адреса сразу.
- Посмотрите ARP/neighbor mapping. Запишите MAC.
- Повторите проверку через время. Не меняется ли MAC у одного IP.
- Найдите оба MAC в switch. Определите физические порты.
- Проверьте DHCP leases. Не входит ли адрес в динамический pool.
- Проверьте статические настройки устройств. Камеры, NVR, NAS, принтеры, AP.
- Отключите один подозрительный узел. Убедитесь, что конфликт исчез.
- Исправьте адресный план. А не только ARP cache.
Практический тест: один IP меняет MAC
На Windows можно несколько раз посмотреть конкретный адрес:
arp -a 192.168.1.50Или в PowerShell:
Get-NetNeighbor -IPAddress 192.168.1.50Если один и тот же IPv4 быстро появляется с двумя разными реальными MAC при стабильной топологии, duplicate IP становится сильным подозрением.
Почему ping не всегда помогает найти конфликт
Ping проверяет ICMP-доступность текущего владельца mapping, но не сообщает, тот ли это физический узел.
Если два устройства отвечают за один IPv4, ping может выглядеть вполне успешным, пока ARP cache у вашего ПК закреплён за одним из них.
Поэтому конфликт ищут через связку:
- IP;
- MAC;
- switch port;
- DHCP/static configuration.
Почему камера или принтер может «оживать» после перезагрузки
Перезагрузка способна временно изменить порядок ARP announcements и neighbor learning.
Если после reboot устройство заработало, а позже снова пропало, это не доказательство неисправного питания или прошивки. При duplicate IP новый порядок ARP-кэшей просто временно отдал трафик нужному MAC.
Для камер полная диагностика есть в статье «Почему IP-камера показывает “нет сети”».
ARP spoofing и ARP poisoning
ARP изначально не содержит сильного механизма аутентификации соответствия IP → MAC. Это позволяет злоумышленнику в одном L2-сегменте пытаться отправлять ложные ARP mappings и перенаправлять трафик через себя.
Это отдельная задача от случайного duplicate IP, хотя внешне обе ситуации могут проявляться изменением ARP mappings.
Dynamic ARP Inspection
В управляемых enterprise/SMB switch существует Dynamic ARP Inspection, DAI.
Cisco в актуальной документации IOS XE 2026 года описывает DAI как механизм, который проверяет ARP packets и отбрасывает invalid IP-to-MAC bindings.
В DHCP-сетях DAI обычно опирается на базу DHCP Snooping. Для статически настроенных адресов могут потребоваться ARP ACL или другие ручные bindings.
Если DHCP Snooping bindings, trusted ports и статические endpoints не настроены правильно, можно заблокировать легитимные ARP-пакеты и потерять доступ к устройствам.
Статические ARP entries не являются универсальной защитой от spoofing
Теоретически жёсткий mapping критичного IP к MAC уменьшает часть рисков на конкретном хосте. Практически в большой сети ручные static ARP entries плохо масштабируются, мешают failover и усложняют замену оборудования.
Гораздо правильнее использовать архитектурные механизмы: VLAN, DHCP Snooping, DAI, port security и нормальное управление access-портами там, где оборудование это поддерживает.
ARP и Wi‑Fi
Клиент Wi‑Fi внутри обычной bridged WLAN всё равно участвует в IPv4 neighbor resolution.
Но guest isolation, client isolation и proxy/ARP optimization у точки доступа могут менять фактическое прохождение broadcast/ARP между беспроводными клиентами.
Поэтому ситуация «два телефона в одном SSID не видят друг друга» не обязательно означает проблему ARP. Возможно, это сознательная client isolation.
ARP и Mesh
Нормальная Mesh-система должна сохранять L2/L3-связность клиентов при roaming и смене точки доступа.
При перемещении клиента его MAC может появляться за другим backhaul/uplink, но IPv4 остаётся тем же. Switch и Mesh-инфраструктура должны обновить forwarding state.
Не путайте это со случаем, когда один IP одновременно используют два разных MAC.
ARP и виртуальные машины
После клонирования VM особенно важно проверить:
- IPv4;
- MAC виртуальной NIC;
- hostname;
- DHCP reservation;
- статические network settings.
Если clone сохранил тот же static IPv4, конфликт может начаться сразу после запуска обеих VM.
ARP и NAS с несколькими интерфейсами
NAS может иметь несколько физических NIC, LACP bond, VLAN interfaces и виртуальные сетевые interfaces контейнеров.
При диагностике важно понимать, какой MAC и какой логический interface должен владеть конкретным IPv4.
Если NAS использует LACP, IP обычно назначается bond/interface, а не рассматривается как два независимых одинаковых адреса на member-портах.
Про агрегацию: «LACP и Link Aggregation».
ARP и IPv6: почему команды отличаются
IPv6 не использует ARP. Neighbor Discovery выполняется через ICMPv6.
Поэтому Windows Get-NetNeighbor концептуально современнее старой команды arp: cmdlet умеет работать с neighbor cache и для IPv4, и для IPv6.
Если проблема существует только по IPv6, чистка IPv4 ARP cache её не исправит.
ARP и Port Forwarding никак не заменяют друг друга
ARP определяет local next-hop MAC. Port Forwarding занимается входящим NAT на router.
Но неисправный ARP на LAN может косвенно ломать опубликованный сервис: router выполняет DNAT правильно, а затем не может доставить packet внутреннему серверу из-за неправильного neighbor mapping.
Про внешний доступ: «Проброс портов на роутере».
Какой минимальный набор проверки нужен дома
Типовые ошибки
Техническая основа
Базовый Ethernet Address Resolution Protocol, IPv4-to-MAC resolution.
IPv4 Address Conflict Detection, ARP Probe, Announcement и защита от duplicate address.
arp и Get-NetNeighbor для Windows 11 / Windows Server 2025.
Dynamic ARP Inspection, DHCP Snooping bindings и защита от invalid ARP mappings.
Домашние сети и диагностика в Туле
Камера, NAS или принтер периодически исчезает по одному и тому же IP?
Можно проверить адресный план, DHCP, ARP/neighbor cache, MAC-таблицу switch, VLAN, конфликт адресов и физический порт устройства. В нормальной сети должно быть понятно, какой IP кому принадлежит и где именно подключён этот узел.
Частые вопросы
Что такое ARP простыми словами?
ARP помогает IPv4-устройству узнать MAC-адрес локального соседа или next-hop по известному IPv4-адресу, чтобы сформировать Ethernet-кадр.
Что показывает arp -a?
Команда показывает текущие IPv4 ARP cache entries: IP-адреса и соответствующие им физические MAC-адреса для сетевых интерфейсов компьютера.
Почему одного IP в ARP-таблице нет?
Компьютер мог ещё не обращаться к этому соседу, запись могла устареть, адрес находится в другой подсети или устройство не отвечает на neighbor resolution.
Что будет, если два устройства имеют один IP?
У разных клиентов один IPv4 может поочерёдно сопоставляться с разными MAC. Связь становится нестабильной: сессии рвутся, устройство периодически пропадает или открывается не тот узел.
Поможет ли очистка ARP cache при конфликте IP?
Только временно для диагностики. Если оба устройства продолжают использовать один адрес, новый конфликт появится снова. Нужно изменить адресацию.
Что такое Gratuitous ARP?
Общее название ARP-сообщений, которыми устройство объявляет или подтверждает собственное IPv4-to-MAC соответствие без обычного предварительного запроса конкретного клиента. Формат зависит от реализации и сценария.
Что такое Proxy ARP?
Это режим, в котором router отвечает своим MAC на ARP-запрос за другой IPv4 и затем маршрутизирует полученный трафик к реальному destination.
Использует ли IPv6 ARP?
Нет. IPv6 использует Neighbor Discovery Protocol на базе ICMPv6.
Чем ARP table отличается от MAC table switch?
ARP связывает IPv4 с MAC. MAC/FDB table коммутатора связывает MAC с физическим switch-портом. Для поиска устройства часто используют обе таблицы вместе.


