2

Я ввел эти команды в Терминал, чтобы освободить мой текущий локальный IP-адрес и выделить новый:

sudo ipconfig set en0 BOOTP
sudo ipconfig set en0 DHCP

Это скриншот DHCP-пакетов в Wireshark:

Согласно книге, которую я читаю, сообщение о предложении DHCP должно быть передано на номер 255.255.255.255. Это не тот случай, и я запутался, как маршрутизатор уже знает мой адрес, прежде чем он даже дал мне один. 192.168.1.5 действительно мой старый адрес. Сохраняет ли он мой MAC-адрес и сопоставляет его со старым IP-адресом, который он мне дал? Можно ли заставить маршрутизатор (фактически любой сервер DHCP) дать мне новый, другой IP?

1 ответ1

1

Ну, DHCP-сервер получает ваш MAC-адрес из запроса DHCP. Он может включать предложенный IP-адрес в заголовок IP ответного пакета (а также в полезную нагрузку DHCP), поскольку только MAC-адрес фактически доставляет доставку в нужный пункт назначения.

Обновление (Википедия)

Когда сервер DHCP получает сообщение DHCPDISCOVER от клиента, которое является запросом аренды IP-адреса, сервер резервирует IP-адрес для клиента и делает предложение аренды, отправляя сообщение DHCPOFFER клиенту. Это сообщение содержит MAC-адрес клиента, IP-адрес, который предлагает сервер, маску подсети, срок аренды и IP-адрес DHCP-сервера, который делает предложение.

Запрос

Вот запрос (DHCP DISCOVER) из примеров Wireshark

Обратите внимание, что это происходит от 00:0b:82:01:fc:42 и переходит к ff:ff:ff:ff:ff:ff (широковещательный адрес)

Обратите внимание также, что соответствующий RFC говорит

  1. Клиент передает сообщение DHCPDISCOVER в своей локальной физической подсети. Сообщение DHCPDISCOVER МОЖЕТ включать параметры, которые предлагают значения для сетевого адреса и продолжительности аренды. Агенты ретрансляции BOOTP могут передавать сообщение на DHCP-серверы, находящиеся не в одной физической подсети.

Клиент может спросить DHCP-сервер, может ли он, пожалуйста, с вишнями наверху, назначить IP-адрес, который он использовал вчера, прежде чем вы его отключили. Сервер DHCP может рассмотреть возможность разрешения этого, если этот адрес не был назначен другому клиенту.

Ответить

Вот ответ (предложение DHCP)

Обратите внимание, что источник - 00:08:74:AD:F1:9B, а пункт назначения - 00:0b:82:01:fc:42.

Поскольку все это локально для локальной сети, содержимое полей адреса в заголовке IP не имеет значения. Только поля адреса в заголовке Ethernet используются для доставки пакета туда, куда он должен идти.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .