B의 인터페이스가 처음에 다운되었기 때문에 dhcp 서버(debian 8)와 두 개의 호스트 A와 B에 연결된 허브가 있습니다. 그런 다음 dhcp-server에 호스트 A에 자동으로 제공하도록 요청했는데 192.168.2.170
그 당시에는 모든 것이 정상이었습니다. 다음으로 B의 인터페이스를 동일한 IP를 갖도록 수동으로 설정하고 192.168.2.170
인터페이스를 활성화했습니다. 호스트 B는 서버를 핑할 수 있었지만(약 40% 손실) 호스트 A는 여전히 192.168.2.170
약 10분마다 서버에서 성공적으로 업데이트할 수 있었습니다. 5번 이상 시도했습니다.) 결국 서버는 시도할 때마다 IP를 포기 192.168.2.170
하고 다른 IP를 호스트 A에 할당하지만 여전히 예측할 수 없는 시간(2분~15분) 동안 지속됩니다.
2131이 말했듯이 서버는 해당 IP를 클라이언트에 보내기 전에 핑을 보내고 ICMP가 응답을 받으면 서버는 다른 IP를 보내는 것 같습니다. 그래서 제 경우에는 서버가 클라이언트 요청을 처음 받을 때 충돌을 감지하고 새 IP를 보낼 수 있어야 한다고 생각합니다. 그러나 서버는 ICMP 검사를 수행하고 새 IP를 할당하기 전에 IP를 여러 번 확인합니다.
답변1
IP 주소 충돌을 방지하기 위해 DHCP 서버에서 정적 및 동적 범위를 구성할 수 있습니다. 예를 들어, 192.168.2.1
to는 192.168.2.100
DHCP 서버가 이러한 IP 주소를 자유롭게 할당하도록 허용하는 동적 범위이고, 192.168.2.101
to는 192.168.2.150
DHCP 서버가 이러한 IP 주소를 자유롭게 할당하는 것을 허용하지 않는 정적 범위입니다. IP 주소를 MAC 주소에 매핑하여 "정적 임대"를 생성할 수 있으며 이를 위해 "정적" 범위를 사용할 수 있습니다. "놀이"를 위한 세 번째 범위 to 가 있습니다 192.168.2.151
. 192.168.2.254
여기서 범위는 가정용입니다. 기업 네트워크를 담당하는 경우에는 매우 다르게 보일 것입니다.
DHCP 서버가 IP 주소 충돌을 감지하고 호스트 A에게 다른 IP를 제공했다고 주장하십니까? 내 생각엔 이것이 DHCP 서버의 버그인 것 같다!
DHCP 서버는 다음 사항만 요청해야 합니다.새로운임차료. DHCP 서버는 할당하기 전에 제공할 주소가 이미 사용 중인지 확인합니다. 그렇다면 해당 주소를 표시하고 DHCP 서버에 주소가 부족할 때만 주소를 다시 고려합니다.