동적 호스트 구성 프로토콜(Dynamic Host Configuration Protocol, DHCP)은 컴퓨터 네트워크에서 IP 주소, 서브넷 마스크, 기본 게이트웨이, DNS 서버 주소 등과 같은 네트워크 매개변수를 자동으로 할당·관리하기 위한 표준 프로토콜이다. DHCP는 클라이언트‑서버 모델을 기반으로 하며, 클라이언트가 네트워크에 연결될 때 DHCP 서버로부터 임대(lease) 형태로 설정 정보를 받아 사용한다.
주요 기능
- IP 주소 임대
- 서버는 미리 정의된 주소 풀(pool)에서 클라이언트에게 일정 기간 동안 IP 주소를 할당한다. 임대 기간이 종료되면 클라이언트는 주소를 갱신하거나 반환한다.
- 네트워크 설정 전송
- 서브넷 마스크, 기본 라우터(게이트웨이), DNS 서버, NTP 서버 등 추가 옵션을 함께 제공한다.
- 주소 관리
- 주소 충돌 방지를 위해 주소 할당 기록을 유지하고, 임대 해제·갱신 절차를 통해 풀의 효율성을 관리한다.
동작 과정 (4단계)
- DHCP Discover – 클라이언트가 브로드캐스트 메시지(DHCPDISCOVER)로 DHCP 서버를 탐색한다.
- DHCP Offer – 서버가 사용 가능한 IP 주소와 옵션을 포함한 DHCPOFFER 메시지를 반환한다.
- DHCP Request – 클라이언트가 선택한 주소를 요청하는 DHCPREQUEST 메시지를 전송한다.
- DHCP Acknowledgement – 서버가 요청을 승인하고 최종 설정 정보를 포함한 DHCPACK 메시지를 전송한다.
표준 및 사양
- 최초 사양: RFC 1531 (1993) → 현재는 RFC 2131(동적 주소 할당) 및 RFC 2132(옵션)로 대체.
- IPv6 환경에서는 DHCPv6(RFC 3315)가 별도로 정의되어 있다.
포트 및 통신 방식
- UDP 67번 포트: DHCP 서버가 수신하는 포트(서버 측).
- UDP 68번 포트: DHCP 클라이언트가 수신하는 포트(클라이언트 측).
- 초기 탐색 단계에서는 브로드캐스트(255.255.255.255) 또는 로컬 링크 멀티캐스트 주소를 사용한다.
보안 고려사항
- DHCP 스푸핑: 악의적인 장비가 가짜 DHCP 응답을 제공해 트래픽을 가로채는 공격.
- DHCP 인증: RFC 3118에서 정의된 인증 메커니즘이 존재하지만 실제 구현은 드물다.
- 네트워크 접근 제어: 스위치 포트에 DHCP 스누핑(DHCP Snooping) 기능을 적용해 허가된 DHCP 서버만 응답하도록 제한한다.
구현 및 활용 예
- 가정용 라우터·스위치, 기업용 네트워크 인프라, 클라우드 가상 네트워크 등 다양한 환경에서 자동 IP 할당 메커니즘으로 널리 사용된다.
- 리눅스, 윈도우, macOS 등 대부분의 운영체제에 내장된 DHCP 클라이언트와 서버 소프트웨어가 제공된다(e.g., ISC DHCP, dnsmasq, Windows DHCP Server).
참고 문헌
- RFC 2131 – Dynamic Host Configuration Protocol.
- RFC 2132 – DHCP Options and BOOTP Vendor Extensions.
- RFC 3315 – Dynamic Host Configuration Protocol for IPv6 (DHCPv6).
위와 같이 동적 호스트 구성 프로토콜은 네트워크 구성 자동화를 위한 핵심 인프라스트럭처 기술이며, 현재 대부분의 IP 기반 네트워크에서 표준으로 채택되어 운영되고 있다.