본문 바로가기

네트워크

네트워크 기초 - DHCP

1. DHCP

DHCP (Dynamic Host Configuration Protocol : 동적 호스트 구성 프로토콜)

DHCP란 우리가 지금도 사용중인 인터넷의 IP, 서브넷마스크, 기본 게이트웨이 등의 설정들을 자동적으로 제공해주는 UDP 기반 비연결형 서비스 프로토콜을 말합니다. 

통신을 하기위해서는 IP를 사용해야하는데 이 IP를 사용자가 직접 매번 설정하기에는 너무 번거롭고 귀찮겠죠? 그렇기 때문에 IP 주소와 각종 TCP/IP 프로토콜의 기본 설정들을 자동으로 제공받아 사용하게 되는데, 그러려면 DHCP를 어디선가 받아와서 사용해야합니다. 그렇기에 DHCP는 중앙집중식으로 관리되는 서버/클라이언트 모델을 사용하게 됩니다.

 

 

2. DHCP 구성

DHCP Server

클라이언트로부터 IP 할당 요청이 들어오면 IP를 부여하고, 할당 가능한 IP들을 관리합니다.

ISP에서는 중앙집중형 관리 정책을 사용하고 가입자에 대해 인증기능, IP할당을 처리하는 큰 규모의 DHCP 서버를 운영합니다.    

공유기에도 DHCP 서버가 탑재되어 있으므로 각각의 PC에 사설 IP를 할당하기도 합니다. 이 경우 이전에 설명드린 NAT와 복합적으로 기능하게 되겠습니다.

 

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 서버의 존재유무를 깨닫고, Requst 패킷을 통해 하나의 DHCP 서버를 선택하며 사용할 네트워크 정보를 요청하며 브로드캐스팅합니다.

클라이언트 → 서버

 

4. DHCP Ack

서버는 Request를 받으면 할당 가능한 IP를 풀에서 찾고, 네트워크 정보를 할당하는 Ack를 브로드캐스팅합니다.

이 패킷을 클라이언트가 받으면, IP주소가 할당됩니다.

서버 → 클라이언트

 

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

 

갱신(Renewal)

임대기간이 끝나면 IP 주소를 반환하는데, 네트워크를 계속 사용해야한다면 또 요청하고, 할당받기까지 불필요한 브로드캐스팅 패킷이 발생하므로 네트워크에 부담이 될 수 있습니다.

 

그렇기 때문에 임대 기간이 50% 지났을때와 87.5%의 시간이 지났을때, IP를 사용하고 있다면 서버에 갱신을 요청하고 갱신이 성공하면 연장됩니다.

 

이 갱신은 Requset, Ack 두 개의 과정을 거칩니다. 갱신은 Unicast로 주고받게 됩니다.

 

반환(Release)

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

명령 프롬프트에서 ipconfig /release 명령으로 반환, ipconfig /renew 명령으로 임대 생성과 갱신을 할 수 있습니다.

 

 

4. DHCP Relay Agent

DHCP 동작과정은 브로드캐스팅으로 이루어지는데, ARP에서 배웠다시피 브로드캐스팅은 네트워크를 넘어서 전달되지는 못합니다.

일반적인 가정에서는 공유기에 DHCP 서버가 있으니 요청이 다른 네트워크로 넘어갈 일이 없지만 기업에서는 DHCP 서버가 라우터 너머(다른 네트워크)에 있는 경우가 종종 있습니다.

이런 경우 라우터에서 DHCP Relay Agent를 설정해 DHCP 요청을 라우터에서 유니캐스트로 변환하여 패킷을 전송하고, 서버는 다시 라우터에게 유니캐스트하고, 라우터는 브로드캐스트하여 할당합니다.