S E P H ' S

[Network] DHCP 본문

CS/Network

[Network] DHCP

yoseph0310 2023. 12. 8. 16:43

1. DHCP(Dynamic Host Configuration Protocol)

DHCP란 호스트의 IP 주소와 각종 TCP/IP 프로토콜의 기본 설정을 클라이언트에게 자동적으로 제공해주는 프로토콜이다. 인터넷의 IP, 서브넷 마스크, 기본 게이트웨이 등의 설정들을 자동으로 제공해주는 UDP 기반 비연결형 서비스 프로토콜이다. DHCP에 대한 표준은 RFC 문서에 정의되어 있으며 DHCP는 네트워크에 사용되는 IP 주소를 DHCP 서버가 중앙집중식으로 관리하는 클라이언트/서버 모델을 사용하게 된다. DHCP 지원 클라이언트는 네트워크 부팅 과정에서 DHCP 서버에 IP 주소를 요청하고 이를 얻을 수 있다.

 

2. DHCP 구성

DHCP Server

클라이언트로부터 IP 할당 요청이 들어오면 IP를 부여하고, 할당 가능한 IP들을 관리한다. ISP(Internet Service Provider)에서는 중앙 집중형 관리 정책을 사용하고 가입자에 대해 인증기능, IP할당을 처리하는 큰 규모의 DHCP 서버를 운영한다. 공유기에도 DHCP 서버가 탑재되어 있어 각각의 PC에 사설 IP를 할당하기도 한다. 이 경우 NAT(Network Address Translation)와 복합적으로 기능한다. 

DHCP Client

DHCP 서버에 자신의 시스템을 위한 IP 주소를 요청하고 DHCP 서버로부터 IP주소를 부여받으면 TCP/IP 설정이 초기화되고 다른 호스트와 TCP/IP를 사용해 통신할 수 있게 된다. 클라이언트에 해당하는 장비는 PC, 스마트폰 등 최종 단말 장치로 모두 DHCP 클라이언트가 탑재되어 있다.

 

3. DHCP 동작과정

임대(Lease)

IP 할당은 임대된다. 즉 IP를 할당받은 것은 영구히 사용하는 것이 아닌, 그 주소를 사용하는 기간을 정하고 기간이 끝나면 반환한다. 유동인구가 많은 카페등에서는 짧고 가정이나 기업 등에서는 긴 임대기간을 지니게 된다. IP를 임대할 경우 위와 같은 과정을 거쳐 주소를 할당한다.

1. DHCP Discover

클라이언트는 MAC 주소를 기반으로 네트워크에 DHCP 서버를 찾는 Discover 패킷을 브로드캐스팅한다.

클라이언트 -> 네트워크 전체

2. DHCP Offer

DHCP 서버가 Discover 패킷을 받게 되면 서버는 할당할 IP 주소 정보를 포함한 Offer 패킷을 브로드캐스팅한다.

서버 -> 클라이언트

3. DHCP Request

클라이언트는 Offer 패킷을 받게되면 DHCP 서버의 존재를 깨닫고 Request 패킷을 동해 하나의 DHCP 서버를 선택하며 사용할 네트워크 정보를 요청하며 브로드캐스팅한다.

클라이언트 -> 서버

4. DHCP Ack

서버는 Request를 받으면 할당 가능한 IP를 풀에서 찾고 네트워크 정보를 할당하는 Ack를 브로드캐스팅한다. 이 패킷을 클라이언트가 받으면 IP 주소가 할당된다.

서버 -> 클라이언트

 

DORA(Discover-Offer-Request-Ack) 라고 부르는 이 4단계의 과정은 DHCP 서버가 여러대일 경우를 대비해 설계되었기 때문에 모든 패킷이 브로드캐스팅된다. 그러므로 임대 기간을 사용성에 맞게 잘 설정해야 네트워크에 지장없이 사용이 가능하다.

갱신(Renewal)

임대기간이 끝나면 IP 주소를 반환하는데, 네트워크를 계속 사용해야 한다면 또 요청하고 할당받기까지 불필요한 브로드캐스팅 패킷이 발생하여 네트워크에 부담이 갈 수 있다. 그래서 임대 기간이 50% 지났을때, 87.5% 지났을 때, IP를 사용하고 있다면 서버에 갱신을 요청하고 갱신이 성공하면 연장된다. 이 갱신은 Request, Ack 두 과정을 거치고 갱신은 Unicast를 주고받게 된다.

반환(Release)

임대기간이 끝나거나 IP주소를 더 사용하지 않는다면 IP 주소를 DHCP 주소풀에 반환하게 된다.

 

4. DHCP Relay Agent

DHCP 동작과정은 브로드캐스팅으로 이뤄진다. 그러나 브로드캐스팅은 네트워크를 넘어서 전달되지는 못한다. 일반 가정에는 공유기에 DHCP 서버가 있어 요청이 다른 네트워크로 넘어갈 일이 없으나 기업에서는 DHCP 서버가 라우터 너머(다른 네트워크)에 있는 경우가 종종 있다. 이런 경우 라우터에서 DHCP Relay Agent를 설정해 DHCP 요청을 라우터에서 유니캐스트로 변환하여 패킷을 전송하고 서버는 다시 라우터에게 유니캐스트하고 라우터는 브로드캐스팅하여 할당한다.

'CS > Network' 카테고리의 다른 글

[Network] 라우터  (1) 2023.12.08
[Network] SOP  (2) 2023.12.08
[Network] TCP/IP 4계층 & TCP vs UDP  (1) 2023.12.06
[Network] 쿠키와 세션  (0) 2023.12.01
[Network] HTTP 1.1 & 2.0 & 3.0  (0) 2023.12.01