[네트워크] DHCP
DHCP(Dynamic Host Configuration Protocol)
통신 사업자 및 기업 내에서 이용자 단말에 IP 주소를 포함한 네트워크 정보를 동적으로 할당하기 위해 매우 오래 전부터 폭넓게 사용되고 있는 프로토콜 입니다.
흔히 가정집에서 한 번쯤은 컴퓨터를 하다 보았을 것입니다.
인터넷 IPv4 설정에서 IP를 설정하지 않았음에도 자동으로 IP주소를 받아 인터넷을 사용할 수 있습니다.
이때 주소를 자동으로 할당할 수 있도록하는 프로토콜이 DHCP입니다.
DHCP 서버 (DHCP Server)
사용자에게 IP를 할당하여주는 서버로서, IP Pool을 관리합니다.
DHCP 클라이언트
서버에게 요청하여 IP를 임대하는 디바이스 입니다.
DHCP 상세 동작
클라이언트는 최초 DHCP 설정을 활성화하게 되면 DHCP Discovery를 브로드캐스트하여 브로드캐스트 도메인 내 디바이스에서
DHCP 서버를 찾습니다.
DHCP Discovery를 받은 DHCP서버는 응답을 수신하였다는 DHCP Offer을 브로드캐스트하여 Discovery를 요청한 디바이스 Offer를 수신합니다
.
offer를 수신받은 디바이스는 DHCP 서버에게 IP를 임대해줄 것을 DHCP Rqeust를 브로드캐스트 합니다.
Rqeust를 받을 DHCP서버는 IP Pool에서 사용가능 (임대) IP를 DHCP Ack로 브로드캐스트 합니다.
DHCP 서버에게 IP Pool에서 사용가능 (임대) IP 받게되면, 해당 클라이언트는 ARP Request를 브로드캐스트하여 DHCP 서버로 부터 받은 IP가 브로드캐스트 도메인 내 출동되는 중복 IP가 있는지 검증합니다.
DHCP서버를 구축하게 되면 항상하는 질문이 DHCP가 아닌 고정IP로 할당된 디바이스가 DHCP IP 임대로 인한 주소 충돌을 우려하는 질문을 많이 받았습니다. ARP Request를 사용하여 이런 문제를 해결하고 있고, 현대까지도 많은 IT시스템이나 기기에서 사용되고 있는 기술이기도 합니다.