DHCP란? DHCP 프로토콜의 원리

hwwwa·2023년 3월 27일
0

DHCP란?

  • Dynamic Host Configuration Protocol(동적 호스트 구성 프로토콜)의 약자
  • 호스트의 IP 주소와 각종 TCP/IP 프로토콜의 기본 설정을 클라이언트에게 자동으로 제공해주는 프로토콜
    • 네트워크 안의 컴퓨터에 자동으로 네임 서버 주소, IP 주소, 게이트웨이 주소를 할당
    • 해당 클라이언트에게 일정 기간 임대해주는 동적 주소 할당 프로토콜
  • 네트워크에 사용되는 IP 주소를 DHCP 서버가 중앙 집중식으로 관리하는 클라이언트/서버 모델을 사용
  • DHCP 지원 클라이언트는 네트워크 부팅 과정에서 DHCP 서버에 IP 주소를 요청하고 이를 얻을 수 있음

DHCP의 장단점

장점

  • 신뢰성 높은 DHCP IP 주소 구성
    • IP 자동 할당으로 인해 IP 충돌 방지
  • 높은 이동성
    • 사용자는 네트워크 범위 내에서 어디서든지 모바일 장치 이용 가능
  • 효율적인 네트워크 관리
    • 별도의 IP 할당 서버가 필요하지 않음
  • IP 체계의 유연성
    • PC의 수가 많거나 PC 자체 변동사항이 많아도 IP 설정이 자동으로 되기 때문에 효율적인 사용 가능
    • 최종 사용자에게 지장을 주지 않으면서 IP 주소 체계를 쉽게 변경 가능

단점

  • DHCP 서버에 의존하기 때문에 서버가 다운되면 IP 할당이 제대로 이루어지지 않음
  • 아무런 인증을 발생하지 않기 때문에 사이버 공격에 취약
    • 승인받지 않은 DHCP 서버가 잘못된 정보를 클라이언트에 제공 가능
    • 승인받지 않은 클라이언트가 DHCP 서버를 가로채 리소스에 대한 접근 권한을 탈취 가능
    • 악성 클라이언트가 DHCP 리소스를 소모시킬 수 있음

DHCP 구성

DHCP 서버

  • 네트워크 인터페이스를 위해 IP 주소를 가지고 있는 서버에서 실행되는 프로그램
  • 일정한 범위의 IP 주소를 다른 클라이언트에게 할당하여 자동으로 설정해줌
  • 클라이언트에게 할당된 IP 주소를 변경없이 유지해줄 수 있음
  • 클라이언트에게 IP 할당 요청이 들어오면 IP를 부여
  • 할당 가능한 IP들을 관리

DHCP 클라이언트

  • 시스템이 시작하면 DHCP 서버에 IP 주소를 요청
  • IP 주소를 부여받으면 TCP/IP 설정이 초기화되고 다른 호스트와 TCP/IP로 통신 가능해짐

DHCP 프로토콜 원리

  • DHCP 서버가 IP 주소를 영구적으로 단말에 할당하는 것이 아닌 임대기간(IP Lease Time)을 명시하여 해당 기간 동안만 단말이 IP 주소를 사용하도록 임대해주는 것
  • 단말(DHCP Client)이 임대기간 이후에도 해당 IP 주소 사용을 원한다면 IP 주소 임대기간 연장(IP Address Renewal)을 DHCP 서버에 요청 필요
  • 임대 받은 IP 주소가 더 이상 필요하지 않으면 IP 주소 반납 절차(IP Address Release) 수행

IP 주소 할당 절차

1. DHCP Discover

  • 메세지 방향: 클라이언트 -> DHCP 서버
  • 브로드캐스트 메세지 (Destination MAC = FF:FF:FF:FF:FF:FF)
  • 클라이언트가 DHCP 서버를 찾기 위한 메세지
  • 주요 파라미터
    • Client MAC: 클라이언트의 MAC 주소

2. DHCP Offer

  • 메세지 방향: DHCP 서버 -> 클라이언트
  • DHCP Discover의 Flag가 1이면 브로드캐스트 메세지, Flag가 0이면 유니캐스트 메세지
  • DHCP 서버의 존재와 단말에 할당할 IP 주소 등 다양한 네트워크 정보를 전달
  • 주요 파라미터
    • Client MAC: 클라이언트의 MAC 주소
    • Your IP: 클라이언트에 할당(임대)할 IP 주소
    • Subnet Mask (Option 1)
    • Router (Option 3): 클라이언트의 Default Gateway IP 주소
    • DNS (Option 6): DNS 서버 IP 주소
    • IP Lease Time (Option 51): 클라이언트가 IP 주소를 사용(임대)할 수 있는 기간(시간)
    • DHCP Server Identifier (Option 54): DHCP Offer를 보낸 DHCP 서버의 주소. 2개 이상의 DHCP 서버가 DHCP Offer를 보낼 수 있으므로 각 DHCP 서버는 자신의 IP 주소를 메세지에 포함

3. DHCP Request

  • 메세지 방향: 클라이언트 -> DHCP 서버
  • 브로드캐스트 메세지
  • DHCP 서버의 존재와 제공받을 네트워크 정보를 수신하였으므로 하나의 DHCP 서버를 선택하고 해당 서버에게 클라이언트가 사용할 네트워크 정보를 요청
  • 주요 파라미터
    • Client MAC: 클라이언트의 MAC 주소
    • Requested IP Address (Option 50): 사용을 요청할 IP 주소 (DHCP Offer의 Your IP 주소)
    • DHCP Server Identifier (Option 54): 선택한 DHCP 서버의 IP 주소

4. DHCP Ack

  • 메세지 방향: DHCP 서버 -> 클라이언트
  • DHCP Request의 Flag가 1이면 브로드캐스트 메세지, Flag가 0이면 유니캐스트 메세지
  • DHCP 절차의 마지막 메세지이며 DHCP 서버가 클라이언트에게 네트워크 정보를 전달해주는 메세지
  • DHCP Offer의 네트워크 정보와 동일한 파라미터가 포함됨
  • 주요 파라미터
    • Client MAC: 클라이언트의 MAC 주소
    • Your IP: 클라이언트에 할당(임대)할 IP 주소
    • Subnet Mask (Option 1)
    • Router (Option 3): 클라이언트의 Default Gateway IP 주소
    • DNS (Option 6): DNS 서버 IP 주소
    • IP Lease Time (Option 51): 클라이언트가 IP 주소를 사용(임대)할 수 있는 기간(시간)
    • DHCP Server Identifier (Option 54): DHCP Offer를 보낸 DHCP 서버의 주소. 2개 이상의 DHCP 서버가 DHCP Offer를 보낼 수 있으므로 각 DHCP 서버는 자신의 IP 주소를 메세지에 포함

DHCP Ack를 수신한 클라이언트는 IP 주소를 포함한 네트워크 정보를 획득(임대)하게 되고, 인터넷 사용이 가능하게 됨


참고 자료
https://learn.microsoft.com/ko-kr/windows-server/networking/technologies/dhcp/dhcp-top
https://nordvpn.com/ko/blog/what-is-dhcp/
https://jwprogramming.tistory.com/35

0개의 댓글