본문 바로가기

Software/Network

DHCP 프로토콜 기본 원리(Understanding the Basic Operations of DHCP)

해당글은 하기 Page를 통해 정리되었습니다.

http://www.netmanias.com/ko/post/blog/5348/dhcp-ip-allocation/understanding-the-basic-operations-of-dhcp



일반 가정에서 Internet vender 업체를 통해 회선을 사용하는 경우 거의 모두 DHCP서버를 사용하여 IP를 할당받고 우리는 인터넷을 사용할 수 있게 된다. 그렇다면 DHCP서버란 어떠한 역할을 하는지 알아보자.



DHCP란?


DHCP(Dynamic Host Configuration Protocol)란, 호스트의 IP 주소와 각종 TCP/IP 프로토콜의 기본 설정을 클라이언트에게 자동적으로 제공해주는 프로토콜을 말한다. DHCP에 대한 표준은 RFC2131 문서에 정의되어 있으며, DHCP는 네트워크에 사용되는 IP주소를 DHCP 서버가 중앙집중식으로 관리하는 클라이언트/서버 모델을 사용한다. DHCP 지원 가능한 클라이언트는 네트워크 부팅과정에서 DHCP 서버에 IP 주소를 요청하고 이를 획득 할 수 있다.


이해가 되지 않는가? 그럼 원리를 통해 알아보자.


전화를 사용할 때 자신의 전화 번호가 있듯이 인터넷을 사용할 때도 인터넷 주소가 있어야 하는데, 이 인터넷 주소가 IP 주소이다. 이 인터넷 주소는 통상 인터넷 접속할 때 동적(Dynamic)으로 할당 받는데 이 동적으로 IP 주소를 할당해 주는 프로토콜을 DHCP라고 한다.


  • DHCP를 통한 IP 주소 할당은 '임대'라는 개념을 가지고 있는데 이는 DHCP 서버가 IP주소를 영구적으로 단말에 할당하는 것이 아니고 임대기간(IP Lease Time)을 명시하여 그 기간 동안만 단말이 IP 주소를 사용하도록 하는 것이다. 단말은 임대기간 이 후 에도 계속 해당 IP 주소를 사용하고자 한다면 IP 주소 임대기간 연장(IP Address Renewal)을 DHCP 서버에 요청해야 하고, 또한 단말은 임대 받은 IP 주소가 더이상 필요치 않게 되면 IP 주소 반납 절차(IP Address Release)를 수행하게 된다.


하기는 DHCP 서버로 부터 IP 주소를 할당(임대) 받는 절차에 대한 설명이다. IP 주소 할당(임대) 절차에 사용되는 DHCP 메세지는 아래 그림과 같이 4개의 메세지로 구성되어 있다.



1) DHCP Discover

    • 메시지 방향 : Client(단말) -> DHCP 서버
    • 브로드캐스트 메시지 (Destination MAC - FF:FF:FF:FF:FF:FF)
    • 의미 : 단말이 DHCP 서버를 찾기 위한 메시지 이다. LAN 상에(동일 suben상에) 브로드캐스팅을 하여 
      "거기 혹시 DHCP 서버 있으면 내게 응답 좀 해주세요" 라고 단말이 외친다.

    • 주요 파라미터
      • Client MAC: 단말의 MAC 주소

2) DHCP Offer
    • 메시지 방향 : DHCP 서버 -> Client(단말)
    • 브로드캐스트 메시지 (Destination MAC = FF:FF:FF:FF:FF:FF)이거나 유니캐스트 일 수 있다. 이는 단말이 보낸 DHCP Discover 메시지 내의 Broadcast Flag 값에 따라 달라지는데, 이 Flag=1 이면 DHCP 서버는 DHCP Offer 메시지를 Broadcast로, Flag = 0이면 Unicast로 보내게 된다.
    • 의미 : DHCP 서버가 "저 여기 있습니다" 라고 응답하는 메시지 이다. 단순히 DHCP 서버의 존재만을 알리지 않고, 단말에 할당할 IP 주소 정보를 포함한 다양한 "네트워크 정보"를 함께 실어서 단말에 전달한다.

    • 주요 파라미터
      • Client MAC : 단말(Client)의 MAC 주소
      • Your IP : 단말에 할당(임대)할 IP 주소
      • Subnet Mast (Option 1)
      • Router (Option 3) : 단말(Client)의 Default Gateway IP 주소
      • DNS (Option 6) : DNS 서버 IP 주소
      • IP Lease Time (Option 51) : 단말이 IP 주소(Your IP)를 사용(임대) 할 수 잇는 기간(시간)
      • DHCP Server Identifier (Option 54) : 본 메시지(DHCP Offer)를 보낸 DHCP 서버의 주소. 2개 이상의 DHCP 서버가 DHCFP Offer를 보낼 수 있으므로, 각 DHCP서버는 자신의 IP주소를 본 필드에 넣어서 단말에 보냄

3) DHCP Request
    • 메시지 방향 : 단말(Client) -> DHCP 서버
    • 브로드캐스트 메시지 (Destination MAC = FF:FF:FF:FF:FF:FF)
    • 의미 : 단말은 DHCP 서버(들)의 존재를 알았고, DHCP 서버가 단말에 제공할 네트워크 정보(IP 주소, subnet mask, default gateway등)를 확인하였으며, 이제 단말(Client)은 DHCP Request 메시지를 통해 하나의 DHCP 서버를 선택하고 해당 서버에게 "단말(Client)이 사용할 네트워크 정보"를 요청한다.

    • 주요 파마리터
      • Client MAC : 단말의 MAC 주소
      • Requested IP Address (Option 50) : 난 해당 IP 주소를 사용하겠다. (DHCP Offer의 Your IP 주소가 여기에 저장)
      • DHCP Server Identifier (Option 54) : 2대 이상의 DHCP 서버가 DHCP Offer를 보낸 경우,  단말(Client)은 이 중에 마음에 드는 DHCP 서버 하나를 고르게 되고, 그 서버의 IP주소가 이곳에 저장 된다. 즉, DHCP Server Identifier에 명시된 DHCP 서버에게 "DHCP Request" 메시지를 보내어 단말 IP 주소를 포함한 네트워크 정보를 얻는 것임.


4) DHCP Ack

    • 메시지 방향 : DHCP 서버 -> 단말(Client)
    • 브로드캐스트 메시지 (Destination MAC = FF:FF:FF:FF:FF:FF) 혹은 유니캐스트일 수 있으며 이는 단말(Client)이 보낸 DHCP Request 메시지 내의 Broadcast Flag = 1 이면, DHCP 서버는 Ack를 Broadcast로, Flag = 0이면 Unicast로 보내게 된다.
    • 의미 : DHCP 절차의 마지막 메시지로, DHCP 서버가 단말(Client)에게 "네트워크 정보"를 전달해 주는 메시지이다. 앞서 설명된 DHCP Offer의 '네트워크 정보' 와 동일한 파라미터가 포함된다.

    • 주요 파라미터 
      • Client MAC : 단말(Client)의 MAC 주소
      • Your IP : 단말에 할당(임대)할 IP 주소
      • Subnet Mast (Option 1)
      • Router (Option 3) : 단말(Client)의 Default Gateway IP 주소
      • DNS (Option 6) : DNS 서버 IP 주소
      • IP Lease Time (Option 51) : 단말이 IP 주소(Your IP)를 사용(임대) 할 수 잇는 기간(시간)
      • DHCP Server Identifier (Option 54) : 본 메시지(DHCP Offer)를 보낸 DHCP 서버의 주소. 2개 이상의 DHCP 서버가 DHCFP Offer를 보낼 수 있으므로, 각 DHCP서버는 자신의 IP주소를 본 필드에 넣어서 단말에 보냄


이렇게 DHCP Ack를 수신한 단말은 이제 IP 주소를 포함한 네트워크 정보를 획득(임대)했고, 인터넷 사용이 가능한 상태가 된다.

반응형