У меня есть устройство на основе микроконтроллера с загрузчиком и приложением. Устройство имеет один адаптер Ethernet. Загрузчик использует IP / UDP для прошивки образа приложения. Приложение имеет полнофункциональный стек TCP / IP.
Оба компонента используют DHCP для получения IP-адреса. Странно то, что оба получают разные результаты в процессе DHCP. Оба клиента DHCP настроены на использование сообщения DHCPDISCOVER с одинаковым MAC-адресом.
Что должен отправить DHCP-сервер в DHCPOFFER? Должен ли он предлагать один и тот же IP-адрес для того же MAC-адреса, когда IP-адрес не назначен в другом месте? Изменить : последнее назначение адреса 10 секунд назад.
DHCP-сервер работает на хосте Linux. Как я могу настроить такое транспортное средство, чтобы я мог отслеживать и понимать это поведение?
Изменить : я не могу контролировать конфигурацию DHCP-сервера. Администратор хочет сохранить полный контроль.
Существуют ли другие параметры DHCP, которые могут быть в загрузчике или в приложении, которые могут повлиять на результат DHCP?
источник
Когда клиент DHCP отправляет DHCPDISCOVER, сервер должен отказаться от регистрации DHCP. Есть серверы, которые получат одинаковый IP-адрес. Это не так, но даже не обязательно.
Чтобы сохранить адрес DHCP, клиент должен отправить DHCPACQUIRE с кэшированной конфигурацией IP. DHCP-сервер подтвердит или отклонит. Отправка DHCPDISCOVER - просто плохая идея в этой ситуации.
источник