ARP - Address Resolution Protocol

Смысл ARP в том : как узнать мак устройства по его ip.

А главное когда нам может понадобится это делать. Странно ведь мак адрес у каждого устройства вшит в его потроха. По сути это ваш паспорт. А ip адрес ваша прописка (адрес регистрации).

Предположим вы покупаете квартиру и надо проверить , что там никто НЕ прописан. Посылаем запрос ARP в сеть и не получаем ответа , значит никто не прописан по этому адресу и можно смело покупать. То есть основной смысл НЕ получить ответ на свой запрос.

Любое устройство периодически хочет знать кто его соседи и посылает такие запросы :

фотка 1

50:ff:20:1e:99:02 это как и полается наш роутер (наша локальная сеть), он долбит по сети как жандарм (или управдом) - кто в этой квартире живет , кто в этой и т.д.

Есть тут и ответы, например от устройства 192.168.1.50 . Это наш ПК (точнее сетевая карта), когда до нее дошла очередь Who has 192.168.1.50 Tell 192.1698.1.1 она ответил а 192.168.1.50 is at 1c:1b:0d:3b:d2:11 .

Команда arp -a многое сразу проясняет. Проясняет эта команда тому устройству на котором она вводится (наш ПК) и показывает она таблицу адресов arp , которую наш ПК успел собрать и сохранить себе в памяти (так сказать данные о соседях). У каждого соответственно должна быть такая база знаний.

Типы запросов arp :
request
reply
gratuitous

Первые два мы обсудили.
Третий gratuitous запрос это запрос по ARP собственного ip-адреса. поскольку он широковещательный цель его например оповестить другие компьютеры (соседей), что вы прописались в квартиру такую-то (ваш ip), кту хочет заходи пообщаемся.
Еще он может быть использован для проверки - кто вдомике живет (ЖКХ форма 9)? Вы посылаете gratuitous запрос и вдруг вам кто-то ответчает, что кто-то другой в вашей квартире прописан. Зашибись , приехали ... Это конфликт IP адресов или сбой в базе управдома (сбой нумерации квартир) или мошенники хотят отобрать у вас квартиру или и то и другое...

Все таки зачем ARP нужен? Дело в том , что вы это ваш паспорт (ваш MAC) и он при общении с вами обязательно нужен. Он идет в самом начале любого пакета. Там всегда есть сначала MAC отправителя и MAC получателя.

И кстати , чтобы уменьшить траффик ARP наверное лучше сделать вашу сеть максимально заселенной . То есть без пустующих квартир в вашем доме, т.е. есть заселяем все квартиры.

Еще надо отметить для понимания ,что адреса добавленные самим устройством самому себе (при старте) будут отображаться как статические . А вот адреса добавленные в таблицу ARP в процессе навигации по сети будут помечаться как динамические.

Win 10 у меня добавляет ко всем сетевым интерфейсам 239.255.255.250 (это адрес мулькастовый) . Его используют сервисы SSDP (порт 1900) и UPnP .

В IPv4 для мультивещания зарезервирована подсеть 224.0.0.0/4 :
224.0.0.2
224.0.0.22 мультикастовый служебный адрес, используется сервисом IGMPv3 (Internet Group Management Protocol) .
224.0.0.187
224.0.0.251 мультикастовый служебный адрес, используемый MDNS (Multicast Domain Name Systems)

Когда присоединяется новое устройство (вроде вашего ноутбука), оно может опросить локальную сеть на предмет наличия конкретных устройств, таких как интернет-шлюзы, аудиосистемы, телевизоры или принтеры. Подробнее см. сравнение UPnP и Bonjour.