[Network] DHCP의 구조와 동작방식

Cookie·2025년 9월 4일
0

Network

목록 보기
3/3
post-thumbnail

IP주소의 할당 방식

우리가 많이 사용하는 IP:Internet Protocol은 OSI 계층에서 L3 Network 계층에 해당하는 "인터넷 상에서 데이터를 목적지까지 전달하기 위한 규칙과 주소 체계"로 우리는 정보를 송신하고 수신하기 위해 IP 주소를 사용함

이러한 IP주소는 크게 고정 IP동적 IP로 나누어짐


고정 IP [Static IP]

Static IP는 사용자가 직접 IP, SubnetMask, Gateway, DNS 서버를 설정하는 방식으로 현재는 주로 서버, 네트워크 장비처럼 항상 동일한 IP가 필요한 경우에 사용하고 있음

[장점]

  • 예측 가능하고 변하지 않으므로 특정 서비스 (웹 서버, DB 서버 등) 운영에 적합함

[단점]

  • 네트워크 규모가 커질수록 수동 관리가 복잡해짐

  • 실수로 중복된 IP를 할당할 경우 충돌이 발생함

  • 이동 단말이나 임시 연결 장치에서는 비효율적임




동적 IP [Dynamic IP]

DHCP 서버가 자동으로 IP 및 네트워크 정보를 할당하는 방식으로 클라이언트는 부팅 시 별도 설정 없이 자동으로 IP를 할당 받음

[장점]

  • 대규모 네트워크에서도 효율적으로 관리 가능

  • IP 충돌 가능성 최소화

  • 장치 추가 시 별도의 작업 불필요


특징⭐

  • 주소는 임대(Lease) 개념으로 제공되며, 만료 시 반환되거나 갱신 가능

  • DHCP Reservation 기능을 통해 특정 장치에 항상 동일한 IP를 할당할 수 있음(MAC 기반)

  • 일반 사용자 PC나 모바일 단말에서는 주로 동적 IP를 사용하고, 서버급 장비에서는 예약 (Reservation) 또는 Static IP를 사용함





DHCP

네트워크의 초창기에는 소수의 장치만 연결되어 있었기 때문에 Static IP 방식이 주로 사용되었음 그러나 기업 네트워크와 인터넷의 확산으로 인해 단말의 수가 수백~수천 단위로 증가하게 되면서 문제가 발생하게 됨

  • 관리자는 모든 단말의 IP를 수동으로 지정해야 했음 → 관리 부담 증가
  • 사용자가 이동하거나 새로운 장치를 추가할 때마다 재설정 필요
  • 중복 IP로 인한 충돌 문제와 주소 낭비 발생

이러한 문제를 해결하기 위해 RARP: Reverse Address Resolution Protocol가 사용되었음


RARP를 활용한 IP 할당은 장치가 자신의 MAC 주소를 기반으로 RARP 서버에서 IP 주소를 할당받는 방식으로

  • IP 주소만 제공하며 SubnetMask, Gateway, DNS 등 추가 네트워크 정보는 설정이 불가능
  • IP 회수 및 관리가 비효율 적이고 대규모 네트워크에 부적합

이러한 한계를 가지고 있었음


결국 이러한 한계를 해결하기 위해 IP 자동 할당과 더불어 네트워크 설정 전체를 지원하는 시스템이 필요했고, 이를 위해 등장한 프로토콜이 바로 DHCP: Dynamic Host Configuration Protocol)



DHCP의 개념과 특징

DHCP: Dynamic Host Configuration Protocol 은 네트워크에 연결된 클라이언트가 자동으로 IP 주소와 네트워크 정보를 할당받도록 지원하는 프로토콜

IP 주소 뿐만 아니라 SubnetMask, Gateway, DNS 서버와 같은 핵심 네트워크 설정을 클라이언트에게 자동으로 전달함


특징

큰 특징으로는...

  • 네트워크 관리 자동화 및 효율성 향상

  • IP 주소를 임대 개념으로 관리하여 자원 재활용 가능

  • 멀티 VLAN 환경에서도 DHCP Relay 기능을 통해 확장 가능

  • 불법 DHCP 서버 공격 등 보안 위협 존재 → DHCP Snooping 같은 보안 기능 필요



DHCP의 원리

DHCP는 클라이언트-서버 구조로 동작하며, 임대(Lease) 기반 주소 관리 방식을 가짐

  1. 클라이언트가 네트워크에 처음 연결될 때 IP가 없는 상태에서 요청 시작

  2. DHCP 서버는 주소 풀(Address Pool)에서 가용 IP를 찾아 클라이언트에게 임시 제공

  3. 클라이언트는 해당 주소를 일정 시간(Lease Time) 동안 사용

  4. Lease Time이 만료되기 전에 클라이언트는 갱신 요청을 수행함

  5. 사용을 종료하거나 다른 네트워크로 이동하면 주소는 회수되어 다른 장치에 재할당 가능



동작 순서 (DORA Process)

DHCP는 4단계의 과정을 통해 주소를 할당함 (= 이를 DORA라고 칭함)

Discover, Request → 항상 브로드캐스트
Offer, Ack → 대부분 브로드캐스트지만, 환경에 따라 유니캐스트 가능

1. Discover

  • 클라이언트가 Broadcast로 DHCP 서버를 탐색
  • 클라이언트는 아직 IP가 없으므로 Src=0.0.0.0 사용
MAC:	Src=Client-MAC, Dst=ff:ff:ff:ff:ff:ff
IP:		Src=0.0.0.0, 	Dst=255.255.255
UDP:	SrcPort=68, 	DstPort=67
DHCP:	Message Type = DHCP Discover

2. Offer

  • 서버가 가용 IP와 SubnetMask, Gateway, DNS, Lease Time을 포함한 제안 메시지 전송
  • Dst는 보통 브로드캐스트지만, 일부 환경에서는 새로 할당된 클라이언트 IP로 유니캐스트 전송
MAC:	Src=Server-MAC, Dst=Client-MAC (or Broadcast)
IP:		Src=10.0.0.100,	Dst=255.255.255 (or Client-Mac Unicast)
UDP:	SrcPort=67, 	DstPort=68
DHCP:	Message Type = DHCP Offer
        	Your-IP-Address = 10.0.0.10
        	Lease-Time = 3600s
        	Subnet-Mask = 255.255.255.0
        	Router = 10.0.0.1
        	DNS = 8.8.8.8

3. Request

  • 클라이언트가 특정 서버(Identifier)와 IP를 선택해 요청
  • 중복 서버가 있을 경우 원하는 서버를 지정 가능
  • 아직 IP 미확정이므로 Src=0.0.0.0 유지
MAC:	Src=Client-MAC, Dst=ff:ff:ff:ff:ff:ff
IP:		Src=0.0.0.0,	Dst=255.255.255
UDP:	SrcPort=68, 	DstPort=67
DHCP:	Message Type = DHCP Request
			Requested-IP-Address = 10.0.0.10
            Server-Identifier = 10.0.0.100

4. Acknowledge

  • 서버가 요청 승인 후 최종 임대 확정
  • 클라이언트는 해당 IP를 사용해 네트워크 통신 시작
  • Dst는 보통 브로드캐스트지만, 일부 환경에서는 새로 할당된 클라이언트 IP로 유니캐스트 전송
MAC:	Src=Server-MAC, Dst=Client-MAC (or Broadcast)
IP:		Src=10.0.0.100,	Dst=255.255.255 (or Client-IP 10.0.0.10)
UDP:	SrcPort=67, 	DstPort=68
DHCP:	Message Type = DHCP ACK
			Your-IP-Address = 10.0.0.10
            Lease-Time = 3600s
            Subnet-Mask = 255.255.255.0
            Router = 10.0.0.1
            DNS = 8.8.8.8




3-Tier Hierarchical Network에서 DHCP 역할

3-Tier 구조(Access, Distribution, Core) 내에서 DHCP는 각 계층에 따라 다음과 같이 동작함


Access Layer

  • Client 단말이 DHCP Discover 메시지 송신

  • 필요 시 DHCP Relay 기능 설정 가능

  • Access Switch 역할
    : 직접 DHCP 기능을 수행하지 않고, 클라이언트 요청을 DHCP 서버로 전달 (DHCP Relay 기능 필요)



Distribution Layer

  • VLAN 기반으로 네트워크 세그먼트를 분리하는 계층

  • DHCP Relay Agent(IP Helper Address) 설정을 통해 Client 요청을 DHCP 서버로 전달

  • 옵션 82를 통해 Client 위치 정보를 함께 전달 가능



Core (Backbone) Layer

  • 고속 라우팅 및 트래픽 전달 중심 계층

  • DHCP 서버는 보통 이 계층에 직접 배치하지 않음

  • 단순히 Relay 트래픽을 빠르게 전달하는 역할을 수행



DHCP 서버의 위치

일반적으로 Distribution 또는 Core 인접 서버존에 배치됨


[기능]

  • IP, 서브넷, 게이트웨이, DNS 제공

  • 주소 풀 관리 및 임대 시간 설정

  • 특정 장치에 대한 IP 예약

  • 멀티 VLAN 환경 지원

profile
나만의 공부 일지... [임시 休]

0개의 댓글