[Network] DHCP - 동적 호스트 구성 프로토콜

2025. 11. 2. 22:41·Network Concepts

1. DHCP란 무엇인가?

이미지 출처 : https://www.boardinfinity.com/blog/dynamic-host-configuration-protocol-dhcp/

DHCP는 네트워크에 연결된 장치들에게 IP 주소와 네트워크 설정 정보를 자동으로 할당해주는 프로토콜입니다. 클라이언트-서버 구조로 동작하며, RFC 2131 표준을 따릅니다.

 

과거에는 네트워크 관리자가 각 컴퓨터마다 일일이 IP 주소를 수동으로 설정해야 했습니다. 하지만 네트워크 규모가 커지면서 이러한 방식은 매우 비효율적이 되었고, 오타나 중복 IP 할당 같은 문제가 자주 발생했습니다. DHCP는 이러한 문제를 해결하기 위해 등장했으며, 중앙 집중식으로 IP 주소를 관리하고 자동으로 배포하는 역할을 수행합니다.

 

DHCP 서버가 제공하는 정보는 IP 주소뿐만이 아닙니다. 서브넷 마스크, 기본 게이트웨이(Default Gateway), DNS 서버 주소 등 네트워크 통신에 필요한 다양한 설정값들을 함께 제공합니다.


2. DHCP의 동작 과정: DORA

DHCP Works

DHCP는 네 단계의 메시지 교환을 통해 IP 주소를 할당합니다. 이를 DORA 프로세스라고 부르며, 각 단계의 첫 글자를 따서 만든 이름입니다.

DHCP Discover

클라이언트가 네트워크에 처음 연결되면, DHCP 서버를 찾기 위해 브로드캐스트 메시지를 전송합니다. 이때 클라이언트는 아직 IP 주소가 없기 때문에 출발지 주소를 0.0.0.0으로, 목적지 주소를 255.255.255.255로 설정하여 네트워크 전체에 메시지를 보냅니다.

DHCP Offer

네트워크에 있는 DHCP 서버가 Discover 메시지를 수신하면, 클라이언트에게 할당 가능한 IP 주소와 네트워크 설정 정보를 담은 Offer 메시지를 응답합니다. 이 메시지는 유니캐스트 또는 브로드캐스트로 전송될 수 있습니다.

DHCP Request

클라이언트는 여러 DHCP 서버로부터 Offer를 받을 수 있지만, 그중 하나를 선택하여 해당 서버에게 IP 주소 할당을 공식적으로 요청하는 Request 메시지를 브로드캐스트로 전송합니다. 브로드캐스트를 사용하는 이유는 선택받지 못한 다른 DHCP 서버들에게도 알리기 위함입니다.

DHCP Acknowledgement (Ack)

선택된 DHCP 서버는 최종적으로 IP 주소와 네트워크 설정을 확정하여 클라이언트에게 ACK 메시지를 전송합니다. 이 단계를 거치면 클라이언트는 할당받은 IP 주소를 사용하여 네트워크에서 정상적으로 통신할 수 있게 됩니다.


3. DHCP의 장점

중앙 집중식 관리와 자동화

DHCP의 가장 큰 장점은 네트워크 관리의 효율성입니다. 수십, 수백 대의 컴퓨터에 일일이 IP 주소를 설정하는 대신, DHCP 서버 하나로 모든 장치의 IP 주소를 중앙에서 관리할 수 있습니다. 특히 무선 네트워크 환경에서 노트북처럼 자주 이동하는 장치들에게 동적으로 IP를 할당하고 회수하는 작업을 자동화할 수 있습니다.

또한 DHCP 옵션을 통해 IP 주소 외에도 다양한 네트워크 설정값을 함께 배포할 수 있어, 네트워크 정책을 일관되게 적용하기 용이합니다.

설정 오류 방지

수동으로 IP 주소를 설정하다 보면 오타가 발생하거나, 같은 IP 주소를 여러 장치에 중복으로 할당하는 실수가 생길 수 있습니다. DHCP는 이러한 IP 충돌 문제를 원천적으로 방지하며, 자동화된 프로세스를 통해 설정 오류를 최소화합니다.


4. Cisco 라우터를 DHCP 서버로 설정하기

Cisco 라우터를 DHCP 서버로 구성하면 별도의 서버 장비 없이도 네트워크 내에서 IP 주소 할당 서비스를 제공할 수 있습니다.

제외 주소 설정

먼저 DHCP 서버가 할당하지 않을 IP 주소 범위를 지정해야 합니다. 일반적으로 게이트웨이, 서버, 프린터 같은 고정 IP가 필요한 장비들의 주소를 제외합니다.

R1(config)# ip dhcp excluded-address 10.10.10.1 10.10.10.10

이 명령은 10.10.10.1부터 10.10.10.10까지의 IP 주소를 DHCP 풀에서 제외합니다.

DHCP 풀 생성 및 네트워크 설정

다음으로 DHCP 풀을 생성하고 할당할 네트워크 범위와 관련 정보를 설정합니다.

R1(config)# ip dhcp pool 10.10.10.0_Clients
R1(dhcp-config)# network 10.10.10.0 255.255.255.0
R1(dhcp-config)# default-router 10.10.10.1
R1(dhcp-config)# dns-server 10.10.20.10

이 설정은 10.10.10.0/24 네트워크에 대한 DHCP 풀을 생성하고, 클라이언트에게 기본 게이트웨이와 DNS 서버 정보를 함께 제공하도록 구성합니다.

DHCP 서버 상태 확인

설정 후에는 다음 명령어들로 DHCP 서버의 동작 상태를 확인할 수 있습니다.

R1# show ip dhcp pool

이 명령은 DHCP 풀의 전체 주소 수, 할당된 주소 수, 제외된 주소 수 등의 통계 정보를 보여줍니다.

R1# show ip dhcp binding

현재 할당된 IP 주소와 해당 클라이언트의 MAC 주소, 임대 만료 시간 등을 확인할 수 있습니다.


5. DHCP 릴레이 에이전트

브로드캐스트의 한계

DHCP Discover와 Request 메시지는 브로드캐스트로 전송됩니다. 하지만 라우터는 기본적으로 브로드캐스트 패킷을 다른 서브넷으로 전달하지 않습니다. 따라서 DHCP 서버가 다른 서브넷에 위치한 경우, 클라이언트의 DHCP 요청이 서버에 도달할 수 없는 문제가 발생합니다.

IP Helper Address 설정

이 문제를 해결하기 위해 DHCP 릴레이 에이전트 기능을 사용합니다. 라우터에서 IP Helper Address를 설정하면, 클라이언트가 보낸 DHCP 브로드캐스트를 유니캐스트로 변환하여 DHCP 서버로 전달합니다.

R1(config)# interface f0/1
R1(config-if)# ip helper-address 10.10.20.10

이 설정은 클라이언트가 연결된 인터페이스(F0/1)에서 수신한 DHCP 브로드캐스트를 10.10.20.10에 있는 DHCP 서버로 중계합니다. 이를 통해 모든 서브넷마다 별도의 DHCP 서버를 구축할 필요 없이, 중앙의 하나의 DHCP 서버로 전체 네트워크를 관리할 수 있습니다.


6. 라우터를 DHCP 클라이언트로 설정하기

언제 필요한가?

일반적으로 라우터는 고정 IP 주소를 사용하지만, 소규모 사무실이나 가정에서 ISP에 연결할 때는 예외입니다. 많은 ISP들은 고정 공인 IP 주소를 별도 비용으로 판매하며, 일반 가입자에게는 DHCP를 통해 동적 공인 IP를 할당합니다.

외부에서 접속해야 하는 서버를 운영하지 않는 환경이라면, 내부 사용자가 NAT를 통해 인터넷으로 나가는 용도로는 동적 IP로도 충분합니다. 이 경우 라우터의 외부 인터페이스를 DHCP 클라이언트로 설정하여 ISP로부터 공인 IP를 자동으로 받아올 수 있습니다.

설정 방법

R1(config)# interface f0/0
R1(config-if)# ip address dhcp
R1(config-if)# no shutdown

ISP와 연결된 외부 인터페이스에 이 명령을 적용하면, 라우터가 DHCP 클라이언트로 동작하여 ISP의 DHCP 서버로부터 IP 주소를 자동으로 받아옵니다.

임대 정보 확인

R1# show dhcp lease

이 명령으로 현재 할당받은 IP 주소, DHCP 서버 주소, 임대 시간, 갱신 시간, 기본 게이트웨이 등의 정보를 확인할 수 있습니다. 임대 시간은 보통 24시간 정도로 설정되며, 절반 정도 지나면 자동으로 갱신을 시도합니다.


마무리 및 정리

DHCP는 현대 네트워크에서 필수적인 프로토콜로, IP 주소 관리를 자동화하여 네트워크 관리자의 업무 부담을 크게 줄여줍니다. DORA라는 4단계 프로세스를 통해 안정적으로 IP 주소를 할당하며, DHCP 릴레이 에이전트를 활용하면 하나의 중앙 서버로 여러 서브넷을 효율적으로 관리할 수 있습니다.

 

Cisco 라우터는 DHCP 서버, 릴레이 에이전트, 클라이언트 등 다양한 역할로 활용될 수 있으며, 상황에 맞게 적절히 구성하면 유연하고 효율적인 네트워크 환경을 구축할 수 있습니다.

 

다음 글에서는 VLAN 개념과 구성 방법에 대해 다루겠습니다.

'Network Concepts' 카테고리의 다른 글

[Network] DTP - 동적 트렁킹 프로토콜  (0) 2025.11.06
[Network] VLAN의 개념과 액세스(Access) 포트, 트렁크(Trunk) 포트  (0) 2025.11.04
[Network] 스위치와 Speed & Duplex  (0) 2025.10.31
[Network] CDP와 LLDP (네트워크 발견 프로토콜)  (0) 2025.10.30
[Network] DNS (Domain Name System) - 도메인 이름 시스템  (1) 2025.10.29
'Network Concepts' 카테고리의 다른 글
  • [Network] DTP - 동적 트렁킹 프로토콜
  • [Network] VLAN의 개념과 액세스(Access) 포트, 트렁크(Trunk) 포트
  • [Network] 스위치와 Speed & Duplex
  • [Network] CDP와 LLDP (네트워크 발견 프로토콜)
김슭삵
김슭삵
Layer By Layer. 한 층씩 성장 해가는 네트워크와 서버의 학습 공간
  • 김슭삵
    Layer By Layer
    김슭삵
  • 전체
    오늘
    어제
    • 분류 전체보기 (49)
      • Network Concepts (36)
      • Network Practice (12)
      • Linux (0)
      • AWS & Cloud (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    ARP
    Cisco
    ACL
    Port Mirroring
    RSPAN
    HSRP
    Etherchannel
    ERSPAN
    wireshark
    WLAN
    TCP/IP
    dhcp
    dns
    dai
    vlan
    Network
    ROAS
    LACP
    Nat
    gns3
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
김슭삵
[Network] DHCP - 동적 호스트 구성 프로토콜
상단으로

티스토리툴바