DHCP

DHCP(Dynamic Host Configuration Protocol)

할당할 IP 주소를 관리하고, 실제로 할당 작업을 수행하는 서버(Server)하고 할당 받는 클라이언트(Client)로 이루어진다.

  1. IP 주소 취득 요청

  2. IP 주소 풀에서 사용되고 있지 않는 주소를 선택한다.

  3. IP 주소 할당

DHCP와 DNS는 완전히 다른 역할을 하는 네트워크 서비스입니다. 이 둘은 모두 IP 통신에 꼭 필요하지만, 역할과 작동 방식이 완전히 다릅니다.


✅ 요약 비교표: DHCP vs DNS

항목

DHCP

DNS

풀네임

Dynamic Host Configuration Protocol

Domain Name System

역할

IP 주소 자동 할당

도메인 이름 ↔ IP 주소 변환

동작 시점

장치가 네트워크에 처음 연결될 때

웹사이트 접속 등 도메인 이름 사용 시

예시

"192.168.0.101 주세요"

"www.google.com이 몇 번 IP인가요?"

통신 대상

클라이언트 ↔ DHCP 서버

클라이언트 ↔ DNS 서버

사용 계층

4계층 UDP / 포트 67, 68

7계층 (응용 계층) / 포트 53


📦 쉽게 설명하면:

🔸 DHCP는 IP 주소, 게이트웨이, DNS 주소 등을 자동으로 알려주는 서비스

즉, "당신은 이 네트워크에서 192.168.0.101을 쓰세요"

  • 장치가 처음 네트워크에 연결되면 DHCP 요청

  • DHCP 서버가 IP 주소 + 기타 설정 자동으로 할당

🔁 네트워크 참여에 필요한 정보 자동 설정


🔸 DNS는 우리가 익숙한 도메인 이름을 IP로 바꿔주는 서비스

즉, "www.google.com의 IP 주소는 142.250.206.196이에요"

  • 사람이 기억하기 쉬운 이름 사용 → DNS가 IP로 변환

  • 반대로도 가능 (IP → 도메인 이름)

🔁 이름 ↔ 숫자 주소 변환


🌐 실제 흐름 예시

text복사편집1. 노트북을 켜고 Wi-Fi에 연결
   → DHCP: IP 주소, DNS 주소 받음

2. 브라우저에 www.naver.com 입력
   → DNS: "www.naver.com → 223.130.195.200" 변환

3. IP로 접속해서 TCP 통신 시작

✅ 요약 한 줄

DHCP는 “내 IP가 뭐예요?” DNS는 “이 도메인 주소의 IP가 뭐예요?”

둘 다 없어도 인터넷은 되지만, 없으면 매우 불편하거나 수동 설정을 강제로 해야 합니다.

✅ 1. DHCP 동작 순서 요약: DORA 프로세스

DORA = Discover → Offer → Request → Ack

이 과정은 장치가 네트워크에 처음 연결될 때 자동으로 수행됩니다.


📶 예시 상황

  • 클라이언트: 노트북

  • 서버: 공유기 (DHCP 서버 역할)


🔄 DORA 흐름

단계
메시지 이름
누구 → 누구
설명

1️⃣

DHCP Discover

클라이언트 → 브로드캐스트

"DHCP 서버 계신가요?"

2️⃣

DHCP Offer

DHCP 서버 → 클라이언트 (브로드캐스트)

"192.168.0.101 쓰실래요?"

3️⃣

DHCP Request

클라이언트 → 서버 (브로드캐스트)

"그 주소 주세요!"

4️⃣

DHCP ACK

서버 → 클라이언트

"OK, 이제 그 IP 네 거예요"


✅ 2. DHCP 메시지 구조

DHCP는 UDP 기반 프로토콜이고, 메시지는 BOOTP 포맷을 확장해서 사용합니다.

✉️ 기본 DHCP 메시지 구조 (필드 요약)

필드 이름
길이
설명

op

1B

메시지 유형 (1=요청, 2=응답)

htype

1B

하드웨어 유형 (1 = Ethernet)

hlen

1B

MAC 주소 길이 (보통 6)

hops

1B

라우터 hop 수 (보통 0)

xid

4B

트랜잭션 ID (요청과 응답 매칭용)

secs

2B

요청 시작부터 경과 시간

flags

2B

브로드캐스트 여부 플래그

ciaddr

4B

클라이언트가 이미 갖고 있는 IP (Renew 시 사용)

yiaddr

4B

"Your IP Address" (서버가 제안한 IP)

siaddr

4B

DHCP 서버 주소

giaddr

4B

Relay Agent IP (중계자 있을 경우)

chaddr

16B

클라이언트 MAC 주소

sname

64B

서버 이름

file

128B

부팅 파일 이름

options

가변

DHCP 메시지 유형, DNS, 게이트웨이 등 설정 포함


🧩 options 필드: 핵심 정보 담긴 곳

이 필드 안에 진짜 핵심 정보들이 들어갑니다:

옵션 번호
이름
설명

53

DHCP Message Type

Discover, Offer, Request, Ack 구분

50

Requested IP Address

클라이언트가 요청하는 IP

1

Subnet Mask

할당할 서브넷 마스크

3

Router

게이트웨이 IP 주소

6

DNS Server

사용할 DNS 주소

51

IP Lease Time

IP 사용 가능한 시간


🧪 예시: Wireshark에서 본 DHCP Discover (options 일부)

DHCP Message Type: Discover (1)
Client MAC Address: 00:11:22:33:44:55
Transaction ID: 0x3ab4d91e
Option: (53) DHCP Message Type = Discover
Option: (12) Hostname = "MyLaptop"
Option: (55) Parameter Request List:
   → Subnet Mask
   → Router
   → DNS
   → Lease Time

✅ DHCP는 어떤 계층에서 작동하나?

계층
역할

응용 계층 (7계층)

DHCP 프로토콜 동작

전송 계층 (4계층)

UDP 사용, 포트 67(서버), 68(클라이언트)

네트워크 계층 (3계층)

IP 주소 할당 요청 (보통 0.0.0.0 → 255.255.255.255)

데이터링크 계층 (2계층)

MAC 주소 기반 브로드캐스트 사용


✅ 한 줄 요약

DHCP는 장치가 자동으로 IP 설정을 받을 수 있게 해주는 프로토콜이고, DORA 4단계 흐름으로 작동하며, 메시지 안에 다양한 설정 정보가 포함됩니다.

Last updated