DHCP란 호스트의 IP 주소와 각종 TPC/IP 프로토콜의 기본 설정을 클라이언트에게 자동적으로 제공해주는 프로토콜을 말합니다.
네트워크 안의 컴퓨터에 자동으로 네임서버 주소, IP주소, 게이트웨이 주소를 할당해주는 것을 의미하고 해당 클라이언트에게 일정 기간 해당 주소를 임대해주는 동적 주소 할당 프로토콜 입니다.
장점으로는 PC의 수가 많거나 PC 자체 변동사항이 많을 때 IP 설정이 자동으로 되기 떄문에 효율적이며 IP 충돌을 막을 수 있습니다.
단점으로는 DHCP 서버에 의존하기 때문에 DHCP 서버가 다운되면 IP 할당이 제대로 이루어지지 않습니다.
DHCP를 통한 IP주소 할당은 영구적이지 않습니다. 임대기간(IP Lease Time)을 명시하여 그 기간동안만 클라이언트가 IP 주소를 사용하도록 합니다. 클라이언트는 임대기간 이후에도 해당 IP 주소를 사용할것이라면 IP 주소 임대기간 연장(IP Address Renewal)을 DHCP 서버에 요청해야 합니다. 또한 클라이언트가 더 이상 임대받은 IP 주소가 필요하지 않다면 IP 주소 반납절차(IP Address Release)를 수행하게 됩니다.
- DHCP Discover (DHCP Client -> DHCP Server)
클라이언트에서 DHCP 서버를 찾기 위해 브로드캐스팅 합니다. 클라이언트 PC의 MAC주소를 파라미터로 전달합니다.
- DHCP Offer (DHCP Client <- DHCP Server)
브로드캐스팅에 대한 응답을 서버가 클라이언트로 보냅니다. 할당할 IP주소와 임대기간 그리고 여러 네트워크 정보(Subnet Mask, Router, DNS IP Address, Clinet Mac, 여러개의 DHCP 서버에서 응답할 수 있기때문에 식별할 수 있는 DHCP 서버의 IP주소) 을 파라미터로 전달합니다.
- DHCP Request (DHCP Client -> DHCP Server)
단말은 DHCP 서버들의 존재를 확인했으며 DHCP 서버가 제공할 여러가지 정보들을 확인했습니다. 클라이언트는 DHCP Requset를 통해 DHCP 서버를 선택후에 해당 서버에게 네트워크 정보를 요청합니다.
- DHCP ACK (DHCP Client <- DHCP Server)
선택받은 DHCP 서버가 클라이언트에게 최종적으로 네트워크 정보를 전달해줍니다. DHCP Offer에서 제공했던 파라미터들이 그대로 전달됩니다.