재현 가능한 DHCP 주소

재현 가능한 DHCP 주소

부트로더와 애플리케이션이 포함된 마이크로컨트롤러 기반 장치가 있습니다. 장치에는 이더넷 어댑터가 하나 있습니다. 부트로더는 IP/UDP를 사용하여 애플리케이션 이미지를 플래시합니다. 애플리케이션에는 완전한 기능을 갖춘 TCP/IP 스택이 있습니다.

두 구성 요소 모두 DHCP를 사용하여 IP 주소를 얻습니다. 이상한 점은 둘 다 DHCP 프로세스에서 서로 다른 결과를 얻는다는 것입니다. 두 DHCP 클라이언트 모두 동일한 MAC 주소를 사용하여 DHCPDISCOVER 메시지를 사용하도록 구성됩니다.

DHCP 서버는 DHCPOFFER에서 무엇을 보내야 합니까? IP 주소가 다른 곳에 할당되지 않은 경우 동일한 MAC 주소에 대해 동일한 IP 주소를 제공해야 합니까?편집하다: 마지막 주소 할당은 10초 전입니다.

DHCP 서버가 Linux 호스트에서 실행되고 있습니다. 이 동작을 모니터링하고 이해할 수 있도록 차량을 어떻게 구성할 수 있습니까?

편집하다: DHCP 서버 구성을 제어할 수 없습니다. 관리자는 모든 권한을 유지하기를 원합니다.

DHCP 결과에 영향을 미칠 수 있는 부트로더나 애플리케이션에 있을 수 있는 다른 DHCP 설정이 있습니까?

답변1

임대 시간 설정에 따라 다릅니다. 길이가 충분히 길면 앱이 동일한 주소를 갖게 됩니다.

그러나 보증을 원한다면 서버에서 Mac의 고정 주소를 선언하십시오.

dhcpd를 사용하는 경우 다음과 같습니다.

host foo {
  hardware ethernet 00:11:22:33:44:55;
  fixed-address 1.2.3.4;
}

실제로 그렇습니다. 옵션 (50) 을 설정하여 DHCPDISCOVERY에서 IP를 제안하는 방법이 있습니다 requested IP address. 하지만 서버가 이를 인정하는지 여부는 알 수 없습니다.

더 긴 기간을 제안하기 위해 부트 로더에서 사용할 수 있는 옵션 (51)도 있지만 IP address lease time서버 응답에 대해서는 잘 모르겠습니다.

더 많은 정보RFC2131

답변2

DHCP 클라이언트가 DHCPDISCOVER를 보내면 서버는 DHCP 등록을 폐기해야 합니다. 동일한 IP 주소를 얻는 서버가 있습니다. 틀린 말은 아니지만 꼭 필요한 말도 아닙니다.

DHCP 주소를 유지하려면 클라이언트는 캐시된 IP 구성과 함께 DHCPACQUIRE를 보내야 합니다. DHCP 서버가 확인하거나 거부합니다. 이 상황에서 DHCPDISCOVER를 보내는 것은 좋지 않은 생각입니다.

관련 정보