네트워크 라우터가 C/C ++를 사용하여 DHCP를 지원하는 경우 절차 적으로 감지하는 방법이 있습니까?

StackOverflow https://stackoverflow.com/questions/1608565

문제

애플리케이션이 네트워크의 장치에 네트워크 라우터의 DHCP 서버에서 IP 주소를 가져 오라고 지시하는 시나리오가 있습니다. DHCP 서버를 사용할 수 없으면 장치의 동작이 불규칙 해집니다. 네트워크 라우터가 DHCP를 지원하는지 절차 적으로 감지하는 방법이 있습니까? 아니면 DHCP 서버에서 IP 주소를 얻으려고 할 때 장치가해야 할 일입니까?

도움이 되었습니까?

해결책

장치의 DHCP 클라이언트가 정확히 그렇게하고 있습니다. 글쎄, 거의 그다.

DHCP Discovery 메시지는 링크에서 방송됩니다. 그런 다음이 특정 MAC 주소를 기꺼이 제공 할 DHCP 서버가있는 경우 각 주소는 풀에서 IP 주소를 보유하고 제안 메시지로 답변합니다. 그런 다음 클라이언트는 "바인딩"하려는 서버를 선택하고 요청 메시지를 발행합니다. 서버는 ACK 메시지와 함께 IP 주소의 부여 된 임대를 확인합니다.
클라이언트는 단순히 제안 대기 시간을 제시함으로써 DHCP 서버의 "비 이용성"을 발견합니다.

살펴보십시오 dhcping 프로젝트. 몇 가지 아이디어를 줄 수 있습니다.

DHCP RFC에 대한 링크 :

RFC 2131, 동적 호스트 구성 프로토콜
RFC 2132, DHCP 옵션 및 BOOTP 공급 업체 확장

다른 팁

나는 선을 따라 무언가였다 이 Windows DHCP C API.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top