DHCP에 대하여

DHCP에 대하여

DHCP란

DHCP(Dynamic Host Configuration Protocol)은 호스트 IP에 주소를 동적으로 자동 할당하는 방식이다. 호스트에게 IP를 할당하는 작업은 수동으로도 할 수 있지만, 일반적으로 DHCP을 사용한다. 관리자는 수동으로 IP를 설정하지 않고, 특정 호스트가 들어왔을 때 이 호스트가 특정 IP를 받도록 하거나, 임시 IP 주소를 받도록 DHCP를 설정해두면 된다. 아래 이미지는 공유기 설정에 있는 DHCP 설정 화면이다.

공유기 설정의 DHCP

호스트에게 동적으로 IP를 할당해주는 것 말고도, 서브넷 마스크 첫 번째 홉 라우터 (Default Gateway)의 IP 주소나, 로컬 DNS 서버 주소를 얻게 해준다.

이 기능은 호스트가 빈번하게 들어왔다 나갔다 하는 환경에 아주 유용하다. 예를 들어 도서관과 같은 곳에서 사람들이 IP를 얻기 위해 매번 네트워크 관리자를 찾아갈 필요가 없다.


DHCP는 클라이언트/서버 구조의 프로토콜이다. 여기서 클라이언트는 네트워크 설정을 위한 정보를 얻기 위해 도착한 새로운 호스트이다. 서브넷에는 일반적으로 하나의 DHCP 서버를 갖는다. 만약 없다면, 해당 네트워크에서 사용할 DHCP 서버 주소를 알려줄 DHCP 연결 에이전트(일반적으로 라우터)가 필요하다.

DHCP가 포함된 서브넷 구조

223.1.2.0/24 서브넷에 연결된 DHCP 서버가 있고 나머지 두 서브넷에는 없기 때문에, 라우터가 DHCP 연결 에이전트 역할을 한다.

DHCP 동작

새로 들어온 클라이언트는 4단계 과정을 거쳐 IP를 할당받는다.

1. DHCP 서버 발견 (DHCP server discovery)

새롭게 도착한 호스트는 상호 동작될 DHCP를 찾아야 한다. 이 과정은 DHCP 발견 메시지(DHCP discover message)를 통해 수행된다. 클라이언트는 서버의 67번 포트로 UDP 패킷을 보낸다. 현재 호스트는 자신이 접속될 네트워크 주소도 모르고 DHCP 서버의 주소도 모른다. 이런 상황이기 때문에 DHCP 발견 메시지를 포함하는 IP 데이터그램으로 UDP 패킷을 캡슐화 하는데, 이 메시지 내의 목적지 IP 주소는 브로드캐스팅 IP 주소인 255.255.255.255를 사용한다. 출발지 주소는 0.0.0.0으로 설정한다. 이 데이터그램은 링크 계층에 의해 서브넷 안에서 연결된 모든 노드로 브로드캐스팅 된다.

2. DHCP 서버 제공 (DHCP server offer)

DHCP 발견 메시지를 받은 서버는 DHCP 제공 메시지를 보내 응답한다. 이 때에도 다시 IP 브로드캐스팅 주소 255.255.255.255를 사용해 서브넷의 모든 노드로 보낸다. 제공 메시지에는 다음 정보들이 포함되어있다.

  • 수신된 메시지의 트랜잭션 ID
  • 클라이언트에게 제공된 IP 주소
  • 네트워크 마스크
  • IP 주소 임대 기간 (IP 주소가 유효한 시간)

3. DHCP 요청 (DHCP request)

서브넷에는 도달할 수 있는 DHCP 서버가 복수일 수 있으므로, 클라이언트는여러 응답 중 하나를 선택해 파라미터 설정을 통해 DHCP 요청 메시지를 만들어 응답한다.

4. DHCP ACK

서버는 DHCP 요청 메시지에 대해 요청된 파라미터를 확인하는 DHCP ACK 메시지로 응답한다.

DHCP Handshake


클라이언트가 ACK를 받으면 상호 동작은 종료되고 IP 주소를 임대 기간 동안 사용할 수 있다.

Author

changhoi

Posted on

2021-09-23

Updated on

2021-09-23

Licensed under

댓글

Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×