DHCP(Dynamic Host Configuration Protocol)란
네트워크와 통신하기 위해서는 IP 주소, 서브넷 마스크, 게이트웨이, DNS 주소와 같은 설정 정보가 필요합니다. DHCP는 이러한 네트워크 정보들을 자동으로 할당해주는 프로토콜입니다.
쉽게 예를 들자면, 집에서 사용하는 공유기는 DHCP 서버 역할을 합니다. 우리가 사용하는 아이패드, 노트북, 휴대폰 등 와이파이에 연결되는 모든 기기들은 DHCP 클라이언트가 되며, 공유기로부터 IP 주소를 자동으로 받습니다.

DHCP 할당 정보
DHCP 서버가 클라이언트에게 IP를 할당할 때 아래와 같은 정보들을 함께 전달합니다.
- IP Pool: 클라이언트에게 할당할 IP 주소 범위
- 서브넷 마스크(Subnet Mask): 네트워크 범위를 구분하는 값
- 게이트웨이(Gateway): 외부 네트워크로 나가는 출입구
- DNS(Domain Name Server): 도메인을 IP로 변환해주는 서버 주소
- 임대 시간(Lease Time): IP를 사용할 수 있는 기간
- IP 제외(Excluded Address): 특정 IP 주소를 DHCP 할당 대상에서 제외
DHCP 동작 과정
DHCP는 아래 4단계를 거쳐 클라이언트에게 IP 주소를 할당합니다.

1. DHCP Discover
클라이언트는 DHCP 서버를 찾기 위해 브로드캐스트 메시지를 전송합니다. 이때 클라이언트는 자신의 IP 주소를 가지고 있지 않기에 출발지 IP는 0.0.0.0으로 설정되며, DHCP 서버 주소도 알지 못하기에 목적지 IP는 255.255.255.255로 설정되어 네트워크 전체에 전송됩니다.
- 유니캐스트: 특정 한 대상에게만 보내는 통신
- 브로드캐스트: 같은 네트워크에 있는 모든 장비에게 보내는 통신
2. DHCP Offer
Discover 메시지를 수신한 DHCP 서버가 클라이언트에게 할당 가능한 IP 주소와 서브넷 마스크, 게이트웨이, DNS, 임대 시간(Lease Time) 등의 정보를 제안합니다. 네트워크에 DHCP 서버가 여러 대 있을 경우 각각 Offer 메시지를 전송할 수 있습니다.
3. DHCP Request
클라이언트는 수신한 Offer 중 하나를 선택하여 해당 IP 주소를 사용하겠다는 요청 메시지를 브로드캐스트로 전송합니다. 이 단계에서 브로드캐스트로 전송하는 이유는 클라이언트가 선택한 DHCP 서버뿐 아니라 다른 DHCP 서버들에게도 선택되지 않았음을 알리기 위해서입니다.
4. DHCP Ack
DHCP 서버가 클라이언트의 Request를 확인하고 IP 주소 사용을 최종 승인합니다. 이 단계가 완료되면 클라이언트는 할당받은 IP 주소로 네트워크 통신을 시작할 수 있습니다.
DHCP 갱신
하지만 할당받은 IP 주소는 영구적이지 않습니다. DHCP 서버는 클라이언트에게 IP를 할당할 때 임대 시간(Lease Time)을 함께 지정하며, 임대 시간이 만료되면 해당 IP 주소를 더 이상 사용할 수 없게 됩니다.
임대 시간이 만료될 때마다 4단계 과정을 처음부터 반복하는 것은 번거로운 과정이기에 DHCP는 갱신(Renewal) 과정을 통해 기존에 할당받은 IP 주소를 그대로 유지할 수 있도록 합니다. 일반적으로 임대 시간의 50%가 지나면 클라이언트가 서버에 갱신을 요청하며, 서버가 이를 승인하면 임대 시간이 연장됩니다. 이때는 처음 IP를 할당받을 때와 달리 클라이언트가 DHCP 서버 정보와 자신의 IP 주소를 이미 알고 있기 때문에 Discover, Offer 단계 없이 DHCP Request부터 진행됩니다. 또한 브로드캐스트가 아닌 DHCP 서버로의 유니캐스트로 전송됩니다.

DHCP 릴레이
브로드캐스트는 같은 네트워크 안에서만 전달됩니다. 만약에 회사가 여러 개의 네트워크를 사용하고 있는 환경이라면 DHCP 서버는 네트워크 A에 존재하고, 클라이언트는 네트워크 B에 있다면 클라이언트가 Discover 메시지를 브로드캐스트로 전송해도 다른 네트워크에 있는 DHCP 서버까지 전달되지 않습니다.
DHCP 릴레이 에이전트는 클라이언트의 브로드캐스트를 대신 받아, 다른 네트워크에 있는 DHCP 서버로 유니캐스트로 전달해주는 중간 전달자 역할을 합니다.
아래 그림에서 점선은 브로드캐스트, 실선은 유니캐스트를 의미합니다. 클라이언트와 릴레이 에이전트 사이는 브로드캐스트로, 릴레이 에이전트와 DHCP 서버 사이는 유니캐스트로 동작합니다. 클라이언트 입장에서는 릴레이 에이전트의 존재를 알 수 없기 때문에, 앞서 설명한 일반 DHCP IP 할당 과정과 겉보기에는 동일합니다.

브로드캐스트는 라우터를 넘어가지 못하기 때문에 릴레이 에이전트는 클라이언트와 같은 네트워크 안에 존재해야 합니다. 또한 클라이언트의 요청을 서버로 전달할 때에는 유니캐스트를 사용하므로, 릴레이 에이전트에는 DHCP 서버의 IP 주소가 미리 등록되어 있어야 합니다.

'Network' 카테고리의 다른 글
| VMware Bridged 네트워크 IP 안 나오는 문제를 해결하자 (0) | 2026.04.08 |
|---|---|
| NFS(Network File System) & Autofs 설정하기 (0) | 2026.03.20 |
| GSLB(Global Server Load Balancing)란 (0) | 2026.03.15 |
| SSH ProxyJump로 Bastion Host 경유해 Private EC2 접속하기 (0) | 2026.01.27 |
| VMware 네트워크: Host-Only, Bridge, NAT (0) | 2026.01.01 |