DHCP란?
DHCP (Dynamic Host Configuration Protocol)
- DHCP는 호스트의 IP 주소와 각종 TCP/IP 프로토콜의 기본 설정을 클라이언트에게 자동적으로 제공해주는 프로토콜이다.
- HOST가 네트워크에 접속해 있는 동안만 IP주소를 임대해주기 때문에 이후 네트워크가 종료되면 해당 IP주소를 재할당 해줄 수 있음 (효율성이 높아져)
- HOST의 IP 주소와 각종 TCP/IP 프로토콜의 기본 설정을 사용자가 직접 하는 것이 아닌 자동으로 설정해줌 (네임 서버 주소, IP주소, 게이트웨이 주소)
일반적으로 새 장치를 네트워크에 연결하거나 기존 장치의 IP주소를 변경할 때 사용하게 된다.
장치가 네트워크에 연결되면 IP주소를 얻기 위해 DHCP 요청을 보내게 된다. 이후에 DHCP 서버는 장치가 사용할 수 있는 IP주소로 응답해주게 되고 이를 통해 장치의 IP주소가 할당되게 된다.
DHCP 동작
DHCP Discover
- 메세지 방향 : 클라이언트 -> DHCP 서버
- dest : 255.255.255.255 = FF:FF:FF:FF
- 클라이언트가 DHCP 서버를 찾기 위한 메시지 (걍 막 뿌려서 DHCP 서버를 찾음)
DHCP Offer
- 메세지 방향 : DHCP 서버 -> 클라이언트
- 클라이언트로 서버 자신의 IP 주소를 알려줌
- 사용할 IP 주소, DNS 정보, IP 주소의 임대 시간을 전달함
- 그러나 여전히 클라이언트는 IP주소를 할당받지 못했기에 흩뿌리듯 전부 뿌림
DHCP Request
- 클라이언트는 DHCP 서버로부터 응답을 받게 되는데, 이 응답의 신호는 여러가지가 될 수 있으며 클라이언트는 자신에게 가장 적합한 최적의 서버를 선택하여 DHCP 서버에 해당 정보를 사용하겠다고 통보함
DHCP ACK
- 통보 받은 서버는 ACK 메세지를 통해 네트워크를 허용함