Мой вопрос скорее "философский", чем практический. Поскольку все хосты в локальной сети Ethernet имеют MAC-адреса. адрес, который однозначно идентифицирует их, почему служба DHCP назначает им IP-адрес? Маршрутизатор даже использует протокол ARP для сопоставления локального IP-адреса с MAC-адресом. Так что мне кажется, что локальный ip не нужен для идентификации целевого хоста входящего пакета.
MAC
адреса являются локальной ссылкой, и являются частью подуровня управления доступом к среде (MAC), которые вместе с протокольным уровнем передачи данных управления логическим каналом (LLC) составляют Канальный уровень. IP-адреса routable, адресуемы через DNS, обычно связываются с Сетевым уровнем, 1 выравнивают. Посмотрите Википедию.
Дополнительные ресурсы:
https://www.webopedia.com/DidYouKnow/Computer_Science/understanding_layers.asp
Вы правы, что, если Вы только смотрите на локальную сеть, IP-адреса кажутся избыточными. Существует несколько причин хотя, почему Вы хотели бы их:
Можно настроить больше чем один IP-адрес на сетевой интерфейс, например, для выполнения различных сервисов на них. На самом деле, с версией 6 IP, это обычно уже происходит в наиболее базовой конфигурации даже на простых устройствах.
Возможно, Вы хотите достигнуть кого-то в другой сети. Как Вы сделали бы это? Для этого Вам нужно что-то, что охватывает несколько сетей. Интернет. Это - то, для чего разработан IP. С IP можно направить пакеты между сетями. Это не возможно с протоколом как ARP.
MAC-адреса, по крайней мере, его исходной идеей (это изменилось немного с тех пор), не предназначены, чтобы быть измененными и присвоенными компанией, у которой Вы купили аппаратные средства. IP-адреса можно присвоить и организовать по желанию, пока Вы придерживаетесь IP-адресов, которые являются бесплатными для личного пользования.
MAC-адреса имеют только 48 битов. Это может походить на большое количество, но Вы, конечно, не хотите полагаться на это как на единственный способ однозначно определить устройства во всем мире.