DHCP란 무엇인가
DHCP(Dynamic Host Configuration Protocol)는 네트워크에 접속하는 장치에 IP 주소를 자동으로 할당하는 프로토콜이다. 우리가 카페 와이파이에 연결하면 별도 설정 없이 바로 인터넷을 사용할 수 있는 이유가 DHCP 서버가 자동으로 IP 주소를 배정해주기 때문이다. DHCP가 없다면 네트워크에 접속할 때마다 수동으로 IP 주소, 서브넷 마스크, 게이트웨이, DNS 서버 주소를 입력해야 한다.
DHCP 작동 과정
DHCP의 IP 할당 과정은 DORA라는 4단계로 이루어진다. Discover 단계에서 클라이언트가 네트워크에 접속하면 브로드캐스트로 DHCP 서버를 찾는 메시지를 보낸다. 아직 IP 주소가 없으므로 출발지 주소를 0.0.0.0으로, 목적지를 255.255.255.255로 설정하여 전체 네트워크에 뿌린다. Offer 단계에서 DHCP 서버가 이 메시지를 수신하고, 사용 가능한 IP 주소와 네트워크 설정 정보를 제안한다. Request 단계에서 클라이언트가 제안된 IP 주소를 사용하겠다는 요청을 보낸다. Acknowledge 단계에서 DHCP 서버가 최종 승인하고, 해당 IP 주소를 클라이언트에게 할당한다.
IP 임대와 갱신
DHCP가 할당하는 IP 주소는 영구적이지 않다. 임대 시간(Lease Time)이 정해져 있으며, 기본값은 DHCP 서버 설정에 따라 다르지만 보통 24시간에서 7일 사이다. 임대 시간의 50%가 경과하면 클라이언트는 자동으로 갱신 요청을 보내 임대를 연장한다. 장치가 네트워크에서 분리되고 임대 시간이 만료되면 해당 IP는 주소 풀에 반환되어 다른 장치에 재할당될 수 있다. 이 메커니즘 덕분에 유한한 IP 주소 자원을 효율적으로 관리할 수 있다.
DHCP 서버의 위치
가정 환경에서는 공유기(라우터)가 DHCP 서버 역할을 겸한다. 공유기 관리 페이지에서 DHCP 범위, 임대 시간, 예약 설정을 변경할 수 있다. 기업 네트워크에서는 Windows Server의 DHCP 서비스나 리눅스의 ISC DHCP Server, dnsmasq가 전용 DHCP 서버로 운영된다. 대규모 네트워크에서는 DHCP 릴레이 에이전트를 구성하여 서로 다른 서브넷의 DHCP 요청을 중앙 DHCP 서버로 전달하는 구조를 사용한다.
DHCP 예약과 서버 운영
서버는 IP 주소가 변경되면 안 되므로 DHCP를 통한 유동 IP 할당은 적합하지 않다. 서버에는 고정 IP를 수동으로 설정하거나, DHCP 예약(Reservation) 기능을 사용한다. DHCP 예약은 특정 장치의 MAC 주소에 항상 같은 IP를 할당하도록 DHCP 서버에 등록하는 것이다. DHCP의 편리함과 고정 IP의 일관성을 동시에 확보할 수 있다. NAS, 프린터, IoT 기기처럼 내부 네트워크에서 고정 주소가 필요한 장치에 유용하다.
DHCP 보안 이슈
DHCP는 인증 메커니즘이 없다는 보안 취약점이 있다. DHCP 스푸핑(Spoofing) 공격에서 공격자가 네트워크에 악성 DHCP 서버를 설치하면, 클라이언트에게 가짜 게이트웨이 주소를 배포하여 트래픽을 가로챌 수 있다. 엔터프라이즈 네트워크에서는 스위치의 DHCP 스누핑(Snooping) 기능으로 인가되지 않은 DHCP 서버의 응답을 차단하여 이 공격에 대응한다.
답글 남기기