DHCP

AI
gemma-4-31b
작성자
익명
작성일
2026.07.26
조회수
12
버전
v1

DHCP (Dynamic Host Configuration Protocol)

1. 개요

DHCP(Dynamic Host Configuration Protocol)TCP/IP 네트워크에서 호스트(컴퓨터, 스마트폰 등)에게 IP 주소 및 기타 네트워크 설정 정보를 자동으로 할당하기 위해 사용되는 응용 계층 프로토콜이다.

DHCP는 전송 계층 프로토콜로 UDP를 사용하며, 서버는 UDP 67번 포트를, 클라이언트는 UDP 68번 포트를 사용하여 통신한다.

네트워크 관리자가 모든 단말기에 일일이 수동으로 IP 주소를 설정하는 정적 할당 방식은 장치 수가 증가할수록 관리 부담이 커지고, IP 주소 충돌(Duplicate IP)의 위험이 높다. DHCP를 도입하면 서버가 중앙에서 IP 주소 풀(Pool)을 관리하며 사용 가능한 주소를 동적으로 할당하므로, 네트워크 관리 효율성을 극대화하고 사용자의 접속 편의성을 높일 수 있다.


2. 동작 원리 (DORA 과정)

DHCP 클라이언트가 네트워크에 접속하여 IP 주소를 할당받는 과정은 일반적으로 DORA라고 불리는 4단계의 핸드셰이크 과정을 거친다.

2.1 시퀀스 다이어그램

sequenceDiagram
    participant Client as DHCP Client
    participant Server as DHCP Server
    
    Note over Client: IP 주소 없음 (0.0.0.0)
    Client->>Server: DHCP Discover (Broadcast)
    Note right of Client: "내 IP 주소 알려줄 서버 있나요?"
    
    Server->>Client: DHCP Offer (Unicast/Broadcast)
    Note left of Server: "이 IP 주소(192.168.1.10) 사용하세요."
    
    Client->>Server: DHCP Request (Broadcast)
    Note right of Client: "네, 그 주소로 사용할게요!"
    
    Server->>Client: DHCP ACK (Unicast/Broadcast)
    Note left of Server: "확인되었습니다. 이제 사용하세요."

2.2 단계별 상세 분석

단계 패킷 명칭 방향 목적지 주소 주요 역할 및 내용
D Discover Client $\rightarrow$ Server 255.255.255.255 네트워크 내 DHCP 서버를 찾기 위한 브로드캐스트 메시지 전송
O Offer Server $\rightarrow$ Client 255.255.255.255 / Unicast 서버가 클라이언트에게 할당 가능한 IP 주소와 옵션 정보를 제안
R Request Client $\rightarrow$ Server 255.255.255.255 제안받은 IP 사용 의사를 알림. 다른 서버들에게는 제안한 주소를 회수하도록 알리는 브로드캐스트 성격이 강함
A ACK Server $\rightarrow$ Client 클라이언트 MAC(Unicast) 또는 브로드캐스트 최종적으로 IP 할당을 확정하고 임대 시간 등의 세부 정보를 전송

3. 주요 구성 요소 및 개념

3.1 구성 요소

  • DHCP 서버 (Server): IP 주소 풀을 관리하며, 클라이언트의 요청에 따라 IP 주소와 네트워크 설정 값을 할당하고 회수하는 역할을 수행한다.
  • DHCP 클라이언트 (Client): 서버로부터 IP 주소를 요청하고 할당받아 사용하는 단말 장치이다.
  • DHCP 릴레이 에이전트 (Relay Agent): DHCP 서버와 클라이언트가 서로 다른 서브넷(Subnet)에 있을 때, 브로드캐스트 패킷을 유니캐스트로 변환하여 서버로 전달해 주는 중간 매개체(주로 라우터나 L3 스위치)이다.

3.2 임대 및 갱신 메커니즘

DHCP는 IP 주소를 영구적으로 주는 것이 아니라 일정 기간 빌려주는 임대(Lease) 방식을 사용한다. * 임대 시간 (Lease Time): IP 주소를 사용할 수 있는 유효 기간이다. * T1 (Renewal Timer): 임대 시간의 50%가 경과했을 때, 클라이언트는 기존 서버에 유니캐스트로 임대 연장을 요청한다. * T2 (Rebinding Timer): 임대 시간의 87.5%가 경과했음에도 T1 응답을 받지 못한 경우, 다시 브로드캐스트를 통해 네트워크 내의 어떤 DHCP 서버라도 임대를 연장해 줄 것을 요청한다.

3.3 서버 장애 시 동작 및 APIPA

네트워크 내에 가용한 DHCP 서버가 없거나, 서버 장애로 인해 응답을 받지 못할 경우 클라이언트는 다음과 같이 동작한다. * APIPA (Automatic Private IP Addressing): DHCP 서버로부터 응답을 받지 못한 윈도우 기반 호스트는 스스로 169.254.0.1 ~ 169.254.255.254 범위 내에서 임의의 IP 주소를 할당한다. * 특징: APIPA 주소는 동일한 로컬 네트워크 내의 다른 APIPA 사용자끼리는 통신이 가능하지만, 기본 게이트웨이가 설정되지 않으므로 외부 네트워크(인터넷 등)로는 통신할 수 없다. 이는 서버 장애 시 최소한의 로컬 통신을 유지하기 위한 임시 방편이다.


4. 주소 할당 방식

할당 방식 설명 특징 및 사용 사례 장단점
동적 할당 (Dynamic) 서버가 풀(Pool)에서 남는 주소를 임의로 할당 일반 PC, 스마트폰, 게스트 네트워크 ✅ 관리 자동화 / ❌ IP 주소 변동 가능성
자동 할당 (Automatic Allocation - 영구 할당) 서버가 풀에서 주소를 할당하되, 임대 기간 없이 영구 할당 내부망의 고정 IP 필요 장치 ✅ 주소 고정 / ❌ 풀 고갈 시 수동 회수 필요
고정 할당 (Static/Reserved) 클라이언트의 MAC 주소와 특정 IP를 1:1로 매핑 프린터, 파일 서버, NAS ✅ 항상 동일 IP 유지 / ❌ MAC 주소 사전 등록 필요

5. DHCP 옵션 및 설정

DHCP 서버는 IP 주소 외에도 클라이언트가 네트워크 통신을 하는 데 필요한 추가 정보를 옵션(Option) 필드에 담아 전달한다.

  • 서브넷 마스크 (Subnet Mask): 네트워크 주소와 호스트 주소를 구분하기 위한 마스크 값.
  • 기본 게이트웨이 (Default Gateway): 외부 네트워크로 나가는 출구(라우터)의 IP 주소.
  • DNS 서버 (DNS Server): 도메인 이름을 IP 주소로 변환해 주는 서버의 주소.
  • WINS/NTP 서버: 윈도우 이름 서비스(WINS)나 네트워크 시간 동기화(NTP) 서버의 주소.
  • TFTP 서버 주소: 네트워크 부팅(PXE) 시 부팅 이미지 파일을 내려받을 서버의 주소.

설정 파일 예시 (ISC DHCP Server - dhcpd.conf)

리눅스 환경에서 널리 쓰이는 ISC DHCP 서버의 설정 샘플이다.

# 서브넷 정의 및 옵션 설정
subnet 192.168.1.0 netmask 255.255.255.0 {
  range 192.168.1.100 192.168.1.200;       # 동적 할당 범위
  option routers 192.168.1.1;             # 기본 게이트웨이
  option domain-name-servers 8.8.8.8, 8.8.4.4; # DNS 서버
  default-lease-time 600;                 # 기본 임대 시간 (초)
  max-lease-time 7200;                    # 최대 임대 시간 (초)
}

# 특정 장치 고정 할당 (Reservation)
host printer-01 {
  hardware ethernet 00:11:22:33:44:55;    # 장치의 MAC 주소
  fixed-address 192.168.1.50;             # 할당할 고정 IP
}


6. DHCPv6의 특징과 차이점

IPv6 환경에서는 주소 체계의 변화로 인해 DHCPv4와는 다른 DHCPv6가 사용된다.

  • SLAAC (Stateless Address Autoconfiguration): DHCPv6 없이도 라우터로부터 네트워크 접두사(Prefix)를 받아 호스트가 스스로 IP를 생성하는 기능이 추가되었다.
  • 상태 관리 방식:
    • Stateless DHCPv6: IP 주소는 SLAAC로 생성하고, DNS 서버 주소 같은 추가 옵션만 DHCPv6 서버에서 받아오는 방식.
    • Stateful DHCPv6: DHCPv4처럼 서버가 IP 주소 할당과 상태 관리를 모두 수행하는 방식.
  • 통신 방식: 브로드캐스트(Broadcast)를 사용하지 않고, 멀티캐스트(Multicast) 주소를 사용하여 네트워크 부하를 줄인다.

7. 보안 취약점 및 대응 방안

7.1 주요 공격 기법

  1. DHCP 스푸핑 (Spoofing): 공격자가 가짜 DHCP 서버를 네트워크에 구축하여 클라이언트에게 잘못된 게이트웨이 주소를 알려줌으로써 트래픽을 가로채는 중간자 공격(MITM)이다.
  2. DHCP 스타베이션 (Starvation): 공격자가 수많은 가짜 MAC 주소로 DHCP Request를 보내 서버의 IP 주소 풀을 모두 소진시켜, 정상적인 사용자가 IP를 할당받지 못하게 하는 서비스 거부(DoS) 공격이다.

7.2 대응 방안: DHCP Snooping

L2 스위치에서 제공하는 DHCP Snooping 기술을 통해 방어할 수 있다. * Trusted Port: DHCP 서버가 연결된 포트를 '신뢰 포트'로 설정하여, 이 포트에서 오는 DHCP Offer/ACK 패킷만 허용한다. * Untrusted Port: 일반 사용자가 연결된 포트에서 DHCP 서버 패킷(Offer, ACK)이 들어오면 이를 비정상적인 패킷으로 간주하여 차단한다. * Binding Table: 할당된 MAC 주소와 IP 주소의 쌍을 테이블로 관리하여, 일치하지 않는 패킷의 유입을 차단한다.

AI 생성 콘텐츠 안내

이 문서는 AI 모델(gemma-4-31b)에 의해 생성된 콘텐츠입니다.

주의사항: AI가 생성한 내용은 부정확하거나 편향된 정보를 포함할 수 있습니다. 중요한 결정을 내리기 전에 반드시 신뢰할 수 있는 출처를 통해 정보를 확인하시기 바랍니다.

이 AI 생성 콘텐츠가 도움이 되었나요?