Young & Rich

안녕하세요. 오늘 DHCP 프로토콜 원리에 대해서 포스팅해보겠습니다.

 

DHCP란?

Dynamic Host Configuration Protocol 약자로써,

간단하게 동적으로 IP 를 할당받는 Protocol 을 의미합니다.

반대말로는 Static 이 있습니다. Static 은 사용자가 지정한 IP를 할당받아서 계속 사용하는 것입니다.

 

DHCP를 통한 IP 주소 할당은 "임대"라는 개념을 가지고 있는데,

이는 DHCP 서버가 IP 주소를 영구적으로 단말에 할당하는 것이 아니고

임대기간을 명시하여 그 기간 동안만 단말이 IP 주소를 사용하도록 하는 것입니다.

 

IP 주소 할당 절차에 사용되는 DHCP 메세지는 아래 그림과 같이 4개의 메시지로 구성되어 있습니다.

DHCP
DHCP

총 4단계를 통해 동작합니다.

 

(1) DHCP Discover

  1. 메시지 방향 : 단말 -> DHCP 서버
  2. 브로드캐스트 메시지 (Destination MAC = FF:FF:FF:FF:FF:FF)
  3. 의미 : 단말이 DHCP 서버를 찾기 위한 메시지. 그래서 LAN상에(동일 subnet상에) 브로드캐스팅을 하여 단말이 외친다.
  4. 주요 파라미터
    1. Client MAC : 단말의 MAC 주소

 

(2) DHCP Offer

  1. 시지 방향 : DHCP 서버 -> 단말
  2. 브로드캐스트 메시지 (Destination MAC = FF:FF:FF:FF:FF:FF)이거나 유니캐스트일 수 있다. 단말이 보낸 DHCP Discover 메시지 내의 Broadcast Flag의 값에 따라 달라지는데, 이 Flag=1이면 DHCP Offer 메시지를 Broadcast로, Flag=0 이면 Unicast로 보내게 된다.
  3. 의미 : DHCP 서버가 응답하면서 단말에 할당할 IP 주소 정보를 포함한 다양한 네트워크 정보를 함께 실어서 단말에 전달한다.
  4. 주요 파라미터
    1. Client MAC : 단말의 MAC 주소
    2. Your IP : 단말에 할당할 IP 주소
    3. Subnet Mast (Option 1)
    4. Router (Option 3) : 단말의 Default Gatway IP 주소
    5. DNS (Option6) : DNS 서버 IP 주소
    6. IP Lease Time (Option 51) : 단말이 IP 주소를 사용할 수 있는 기간
    7. DHCP Server Identifier (Option 54) : 본 메시지(DHCP Offer)를 보낸 DHCP 서버의 주소. 2개 이상의 DHCP 서버가 DHCP Offer를 보낼 수 있으므로 각 DHCP 서버는 자신의 IP 주소를 본 필드에 넣어서 단말에 보냄.

 

(3) DHCP Request

  1. 메시지 방향 : 단말 -> DHCP 서버
  2. 브로드캐스트 메시지 (Destination MAC = FF:FF:FF:FF:FF:FF)
  3. 의미 : 단말은 DHCP 서버의 존재를 알았고, DHCP 서버가 단말에 제공할 네트워크 정보를 알았으니 DHCP Request 메시지를 통해 하나의 DHCP 서버를 선택하고 해당 서버에게 "단말이 사용할 네트워크 정보"를 요청한다.
  4. 주요 파라미터
    1. Client MAC : 단말의 MAC 주소
    2. Requested IP Address (Option 50) : 난 이 IP 주소를 사용하겠다. (DHCP Offer의 Your IP 주소가 여기에 들어감)
    3. DHCP Server Identifier (Option 54) : 2대 이상의 DHCP 서버가 DHCP Offer를 보낸 경우, 단말은 이 중에 마음에 드는 DHCP 서버 하나를 고르게 되고, 그 서버의 IP 주소가 여기에 들어감.
      즉, DHCP Server Identifier에 명시된 DHCP 서버에게 "DHCP Request" 메시지를 보내어 단말 IP 주소를 포함한 네트워크 정보를 얻는 것임.

 

(4) DHCP Ack

  1. 메시지 방향 : DHCP 서버 -> 단말
  2. 브로드캐스트 메시지 (Destination MAC = FF:FF:FF:FF:FF:FF) 혹은 유니캐스트일 수 있으며 이는 단말이 보낸 DHCP Request 메시지 내의 Broadcast Flag = 1이면 DHCP 서버는 DHCP Ack 메시지를 Broadcast로, Flag =0이면 Unicast로 보내게 된다.
  3. 의미 : DHCP 절차의 마지막 메시지로 DHCP 서버가 단말에 "네트워크 정보"를 전달해 주는 메시지이다. DHCP Offer의 "네트워크 정보"와 동일한 파라미터가 포함된다.
  4. 주요 파라미터
    1. Client MAC : 단말의 MAC 주소
    2. Your IP : 단말에 할당할 IP 주소
    3. Subnet Mask (Option 1)
    4. Router (Option 3) : 단말의 Default Gateway IP 주소
    5. DNS (Option 6) : DNS 서버 IP 주소
    6. IP Lease Time (Option 51) : 단말이 IP 주소를 사용할 수 있는 기간
    7. DHCP Server Identifier (Option 54) : 메시지(DHCP Ack)를 보낸 DHCP 서버의 주소

임대기간은 DHCP Client 에서 설정 가능한데,

가정에 사용하고 있는 공유기(라우터)의 설정에서도 임대 시간을 설정할 수 있습니다.

 

여기까지 DHCP의 동작 원리였습니다.

 

그럼 20000.

 

이 글을 공유합시다

facebook twitter googleplus kakaoTalk kakaostory naver band