위로 아래

DHCP

DHCP (Dynamic Host Configuration Protocol)

  1. IP 동적 할당을 위해 사용되는 프로토콜
  2. 사용자가 IP 주소, 서브넷 마스크, 게이트웨이, DNS 정보를 직접 입력하지 않아도 자동으로 할당받아 이용할 수 있게 해준다
    1. 정적 할당 : IP 주소, 서브넷 마스크, 게이트웨이, DNS 정보를 사용자가 직접 설정하는 것
    2. 동적 할당 : IP 주소, 서브넷 마스크, 게이트웨이, DNS 정보를 자동으로 할당 받아 사용하는 것
  3. 사용자가 별도의 IP 설정 작업을 하지 않아도 네트워크에 접속할 수 있어 편리하고 (설정 오류나 중복 IP 할당 등의 문제를 피할 수 있다), 사용하지 않는 IP는 자동으로 회수되어 사용하는 경우에만 재할당되어 (IP가 계속 바뀌는 이유..) IP 주소도 잘 관리된다.
  4. 하나의 네트워크 안에 DHCP가 있어야 한다. 외부 네트워크와 같이 쓰려면 DHCP Relay Agent (DHCP 릴레이 에이전트) 기능이 필요하다.

 

BOOTP (Bootstrap Protocol)와의 관계

  1. DHCP는 BOOTP 프로토콜을 기반으로 하나, 몇 가지 기능이 추가된 확장 프로토콜이다
  2. BOOTP와 호환성이 있어, BOOTP와 DHCP는 서로 공유될 수 있다
  3. DHCP는 서버와 클라이언트로 동작
    1. 클라이언트의 서비스 포트 : 68 (bootpc)
    2. 서버의 서비스 포트 : 67 (bootps)

 

DHCP 메시지 종류

 

DHCP Starvation(기아상태) 공격

  1. DHCP 서버에 있는 모든 IP를 가짜로 할당 받아 서버의 IP Pool을 모두 소진시킨다.
  2. 클라이언트가 DHCP 서버로 Discover 메시지를 보내도 IP Pool이 비어 있으니 IP를 할당 받지 못한다.

 

 

 


DHCP IP Lease(임대) 과정

  1. 모든 과정은 브로드캐스트로 이루어진다.
  2. DHCP가 가진 IP 풀에서 IP를 잠시 임대해오는 것으로, 임대 시간이 만료되면 할당되었던 IP는 다시 DHCP 서버의 IP Pool로 반환된다.
  3. 임대 시간이 만료된 후에는 클라이언트가 다시 DHCP Discover 과정부터 시작해 IP를 재할당 받아야 한다. (이 과정에서 IP가 변동될 수 있다.)
  4. IP 변동을 원치 않으면, 다시 DHCP Discover부터 시작하는 대신 DHCP IP Renewal(갱신) 과정을 거칠 수 있다.

 

DHCP Discover

DHCP 클라이언트는 DHCP 서버를 찾기 위해 DHCP Discover 메시지를 브로드캐스트로 전송 (도착지 IP를 모른다)

클라이언트의 IP가 아직 없으므로 출발지 주소는 0.0.0.0, 목적지 주소는 브로드캐스트 주소 255.255.255.255

출발지 서비스 포트는 UDP 68번 (bootpc), 목적지 서비스 포트는 UDP 67번 (bootps)

IP가 아직 없으므로 패킷을 정상적으로 주고 받을 수 없어서 TCP가 아니라 UDP를 사용한다.

DHCP Discover 메시지 : 출발지 주소는 Zero IP, 도착지 주소는 브로드캐스트

 

DHCP Offer

DHCP DIscover를 수신한 DHCP 서버는 클라이언트에게 DHCP 메시지를 전송

DHCP Offer 메시지 : 클라이언트에게 할당할 IP 주소, 서브넷, 게이트웨이, DNS 정보, Lease Time(IP 주소 임대 시간) 등 

 

DHCP Request

DHCP 서버로부터 제안 받은 정보를 포함한 DHCP 요청 메시지를 브로드캐스트로 전송

이제 목적지인 DHCP 서버의 IP 주소를 알기 때문에 유니캐스트를 쓸 수도 있지만, DHCP 서버가 여러 대 가동되고 있을 수도 있으니 안전하게 브로드캐스트 사용

DHCP Request 메시지 : Request IP 주소, DHCP 서버 정보(DHCP Server Identifier)

 

DHCP Acknowledgement

DHCP 클라이언트로부터 IP 주소를 사용하겠다는 요청을 받으면

DHCP 서버에 해당 IP를 어떤 클라이언트가 언제부터 사용하기 시작했는지 정보를 기록

DHCP Request 메시지를 정상적으로 수신했다는 응답 전송

DHCP Acknowledgement 메시지 : DHCP Offer의 내용과 동일. (최종 확인용 응답 메시지) 

 

 

 

 


DHCP IP Renewal(갱신) 과정

 

  1. 모든 과정은 유니캐스트로 진행된다
  2. DHCP에서 IP를 할당받은 후 임대 시간의 50%가 지나면 DHCP 갱신 과정을 수행. 실패 시 75%에서 다시 시도. 실패 시 기회 없음
  3. DHCP 서버 정보와 이미 사용 중인 IP 정보가 있으므로, DHCP Discover와 Offer 과정을 생략할 수 있다
  4. DHCP 클라이언트는 DHCP Request를 DHCP 서버에 전송하고, DHCP 서버는 DHCP ACK로 응답한다.