Нужен ли компьютеру A MAC-адрес компьютера B, чтобы отправить сообщение компьютеру B? Если да, то как A получает MAC-адрес B?
решение1
Если оба компьютера находятся в одной локальной сети, то да.
Если они не находятся в одной локальной сети, то связь осуществляется через маршрутизатор или мост. В этом случае A необходимо знать MAC-адрес маршрутизатора (или моста), который будет пересылать трафик в B.
В обоих случаях протокол ARP используется A для определения MAC-адреса цели.
По сути (сильно упрощенно) это широковещательная рассылка ВСЕМ компьютерам в локальной сети с просьбой к запрашиваемой цели ответить.
Цель ответит сообщением «Я здесь», и A затем может узнать MAC-адрес из этого ответа (потому что MAC-адрес цели указан в этом сообщении как исходный MAC-адрес).
Подробную информацию о том, как это работает, можно найти в Google по запросу «протокол ARP».