본문 바로가기
해피 코딩/Network

[네트워크] 한 번에 이해하는 DHCP

by happy-coding 2025. 8. 26.

네트워크를 공부하다 보면 꼭 만나게 되는 친구가 있습니다.
그것은 바로 DHCP❗

 

DHCP(Dynamic Host Configuration Protocol), 일명 동적 호스트 설정(구성) 프로토콜!


이름만 보면 뭔가 복잡하고 어렵게 느껴지지만, 사실 전혀 그렇지 않습니다. 
오늘은 네트워크를 이해하는 데 있어 굉장히 흥미로운 개념인 DHCP에 대해서 알아보도록 합시다 ☺️


IP주소를 설정해본 적이 있나요❓

혹시 직접 IP 주소를 수동으로 설정해 본 적 있으신가요?
대부분의 경우 Wi-Fi나 유선 LAN에 단말기를 연결하면, 별도의 설정 없이 바로 인터넷이 되곤 합니다.

 

바로 이때, 우리가 눈치채지 못하는 사이에 뒤에서 DHCP서버가 알아서 IP를 배정해 주고 있었던 것입니다.

즉, 내가 어떤 IP 주소를 사용할지 DHCP 서버가 정해주는 것이죠.

 

📌 정리하자면,

DHCP는 단말기가 네트워크에 접속할 때 필요한 IP 주소를 자동으로 할당해 주는 기능입니다.


📡 DHCP는 이렇게 통신한다!

DHCP에 대해 조금 더 확실히 이해하기 위해 한 발자국만 더 나아가 봅시다 👣

 

DHCP는 구조적으로 보면

  • IP 주소를 요청하는 클라이언트
  • IP 주소를 제공하는 DHCP 서버

이 두 가지로 나눌 수 있습니다.

 

그리고 DHCP 서버가 클라이언트에게 IP 주소를 할당하는 과정은 크게 4단계로 이뤄집니다.

 

1️⃣ DHCP Discover

새로운 기기가 네트워크에 접속했다고 가정해봅시다. 📶
클라이언트는 먼저 DHCP 서버를 찾기 위해 DHCP Discover 메시지를 보냅니다.

이때, 📢브로드캐스트 방식이 사용됩니다.
왜냐하면 새로 들어온 클라이언트는 아직 네트워크 안에서 누가 DHCP 서버인지 모르기 때문이죠.

 

2️⃣ DHCP Offer

DHCP 서버가 클라이언트에게 “쓸 수 있는 IP 주소 후보”를 제안합니다.

 

3️⃣DHCP Request

클라이언트가 DHCP 서버가 제안한 주소 중 하나를 선택해 “이걸로 쓸게요!” 하고 요청합니다.

 

4️⃣DHCP ACK

DHCP 서버에 정보가 할당됩니다.


🍯 꿀팁❗ 알고 있으면 더 유용한 사실들 🐝

1️⃣ IP 주소 재사용 습관
클라이언트는 이전에 사용하던 IP 주소가 있으면, 새로 요청할 때 해당 주소를 다시 쓰려고 시도합니다.

 

2️⃣ 임대(Lease) 개념
DHCP 서버가 준 IP 주소는 영구적인 게 아닙니다.
👉 이용할 수 있는 기간이 정해져 있는데, 이 기간을 임대(lease)라고 합니다.

 

3️⃣ DHCP 서버의 데이터베이스
DHCP 서버는 누가 어떤 IP를 썼는지 데이터베이스에 기록 및 관리합니다.

  • 임대 시작/종료 시간
  • 현재 임대 상태
  • 클라이언트 식별자 등

4️⃣ 옵션도 한 번에 패키지로 전달
서버는 단순히 IP만 제공해 주지 않습니다.
DHCP Offer / ACK 단계에서 서버는 클라이언트에 할당할 IP 주소와 함께 추가 네트워크 정보(옵션)도 패키지로 묶어 한 번에  전달합니다. 

  • 서브넷 마스크
  • 기본 게이트웨이(Default Gateway)
  • DNS 서버 주소
  • 리스 임대 시간(Lease Time)
  • 기타 네트워크 옵션들

✍️ 마무리

오늘은 우리가 네트워크에 접속할 때, 보이지 않는 곳에서 묵묵히 일하고 있던 DHCP에 대해 알아봤습니다.

 

처음에는 이름 때문에 어렵고 복잡해 보였지만, 사실은 네트워크 접속에 필요한 IP 주소를 자동으로 할당해 주는 믿음직한 비서 같은 존재였죠.

 

덕분에 우리는 별다른 설정 없이도 편리하게 인터넷을 사용할 수 있었습니다.

 

앞으로 네트워크에 접속할 때마다
“아, 내가 쓰는 IP는 DHCP 서버가 빌려준 거구나!”
하고 떠올리면 오래도록 기억에 남을 거예요. 😊

 

읽어주셔서 감사합니다! 🙇