2009-10-22 2 views
0

응용 프로그램이 네트워크의 장치에 네트워크 라우터의 DHCP 서버에서 IP 주소를 가져 오도록 지시하는 시나리오가 있습니다. DHCP 서버를 사용할 수 없으면 장치의 동작이 엉망이됩니다. 네트워크 라우터가 DHCP를 지원하는지 여부를 절차 적으로 감지 할 수있는 방법이 있습니까? 아니면 DHCP 서버에서 IP 주소를 가져올 때 장치가해야 할 일입니까?네트워크 라우터가 C/C++를 사용하여 DHCP를 지원하는지 여부를 절차 적으로 감지하는 방법이 있습니까?

답변

5

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

DHCP DISCOVERY (DHCP 검색) 메시지가 링크에서 브로드 캐스트됩니다. 그런 다음이 특정 MAC 주소를 제공 할 DHCP 서버가있는 경우 각 DHCP 서버는 풀에서 IP 주소를 예약하고 제공 메시지로 응답합니다. 그러면 클라이언트는 "바인딩"할 서버를 선택하고 요청 메시지를 발행합니다. 서버는 ACK 메시지와 함께 IP 주소의 허가 된 임대를 확인합니다.
클라이언트는 단순히 제안을 기다리는 시간 초과로 DHCP 서버의 "비 가용성"을 발견합니다.

DHCPing 프로젝트를 살펴보십시오. 몇 가지 아이디어를 줄 수 있습니다. 는 DHCP의 RFC에

링크 :

RFC 2131, Dynamic Host Configuration Protocol
RFC 2132, DHCP Options and BOOTP Vendor Extensions

관련 문제