DHCP란? 왜 사용하는걸까?

Alex·2025년 3월 8일
0

CS를 공부하자

목록 보기
60/74

DHCP는 Dynamic Host Configuration Protocol의 약자이다. DHCP란 단어 그대로 동적으로 호스트를 설정하는 규악이다.

네트워크 안에 컴퓨터에 자동으로 네임 서버 주소, IP주소, 게이트웨이 주소를 할당해주는 것을 의미하고,
해당 클라이언트에게 일정 기간 임대를 하는 동적 주소 할당 프로토콜이다.

PC의 수가 많거나 PC 자체 변동사항이 많은 경우 IP 설정이 자동으로 되기 때문에 효율적으로 사용 가능하고,
IP를 자동으로 할당해주기 때문에 IP 충돌을 막을 수 있다. 하지만, DHCP 서버에 의존하기 때문에 서버가 다운되면 ip 할당이 제대로 이루어지지 않는다.

DHCP는 애플리케이션 계층에 있는 프로토콜로써 실제 전송 프로토콜로는 UDP를 사용한다.

왜 사용해?

TCP/IP 기반 네트워크에서는 모든 장치가 고유한 유니캐스트 IP주소가 필요하다.
DCHP가 없으면,

  • 새 컴퓨터나 서브넷 간 이동한 컴퓨터의 IP 주소를 수동으로 구성해야 함
  • 네트워크에서 제거된 컴퓨터의 IP 주소를 수동으로 회수해야 함

서버가 IP 주소 풀을 유지하고 네트워크 시작 시 DHCP 지원 클라이언트에 주소 임대한다.
정적이 아닌 동적(임대) IP 주소이므로 사용하지 않는 주소는 자동으로 풀로 반환되어 재할당 가능하다.

이점은 뭐야?

  • 신뢰할 수 있는 IP 주소 구성: 수동 IP 주소 구성으로 인한 오류 최소할 수 있고,
    동시에 여러 컴퓨터에 같은 IP 주소 할당으로 인한 충돌을 방지한다.
  • 네트워크 관리 부담 감소
  • 중앙 집중식 자동화된 TCP/IP 구성
  • 중앙 위치에서 TCP/IP 구성 정의 가능
  • DHCP 옵션을 통한 추가 TCP/IP 구성값 할당
  • 무선 네트워크의 이동 장치와 같이 자주 업데이트해야 하는 클라이언트의 IP 주소 변경 효율적 처리

DHCP는 왜 TCP가 아닌 UDP를 사용해?

우선, TCP는 양측이 연결하기 위해서 고유한 IP주소가 필요하다. 하지만, DHCP를 사용하는 시점에서는 호스트는 IP주소를 갖고 있지 않다.

UDP의 속도, 간단함, 리소스 사용 효율성, 브로드캐스팅 지원 등이 있다. UDP는 여러 장치에 DHCP 메시지를 동시에 효율적으로 배포할 수 있게 해준다. DHCP 서버와 클라이언트는 코드 복잡성을 최소화하여 개발할 수 있으므로, 소프트웨어 버그나 구현 오류 가능성이 줄어든다. 이러한 단순성은 다양한 플랫폼과 장치 간에 서로 다른 DHCP 구현 사이의 상호 운용성을 촉진한다.

참고자료

Dynamic Host Configuration Protocol (DHCP)

profile
답을 찾기 위해서 노력하는 사람

0개의 댓글