Я запускаю Mac и освобождаю / обновляю свой IP с помощью:
sudo ipconfig set en0 DHCP
В wirehark я получаю следующее с udp.port == 67 в качестве фильтра:
Почему сообщения, отправленные с моего компьютера, транслируются, а сервер отправляет их напрямую мне. Литература, которую я имею, говорит, что все транслируется. Почему здесь не так?
Запросы DHCP - это широковещательный трафик. Ваш компьютер не знает, какой DHCP-сервер доступен в вашей локальной подсети, поэтому он должен транслировать запрос на IP. Затем любой доступный DHCP-сервер ответит прямо на вашу рабочую станцию предложением IP. Затем ваша рабочая станция официально запрашивает IP-адрес у DHCP-сервера. Наконец, сервер примет запрос и назначит IP вашей рабочей станции.
Этот процесс описан в следующих этапах:
Чтобы ответить на ваш вопрос в комментарии, сервер может связываться с рабочей станцией через MAC-адрес рабочей станции на уровне 2. Пока он не получит IP-адрес, рабочая станция будет использовать IP-адрес 0
.
Однако трафик отправляется на MAC-адрес рабочей станции (который отправляется с рабочей станции в исходной широковещательной рассылке). discocver
сообщение).
Вы можете увидеть это в своей трассировке wirehark. Устройства в локальной подсети используют MAC-адреса для связи.
из RFC2131:
Сообщения DHCP, транслируемые клиентом до того, как этот клиент получит свой IP-адрес, должны иметь поле адреса источника в IP-заголовке, установленное на 0.