Understanding DHCP

KyungH·2024년 11월 30일
0

Cyber-Security

목록 보기
11/27

📝DHCP
(Dynamic Host Configuration Protocol)

동적 호스트 구성 프로토콜(DHCP)은 네트워크 관리 프로토콜로,
서브넷 마스크, 기본 게이트웨이, DNS 서버와 같은 IP 주소와 기타 네트워크
구성 세부 정보를 자동으로 할당해준다.


📌 DHCP 프로토콜

DHCP는 BOOTP(Bootstrap Protocol)라는 프로토콜을 기반으로 한다.
두 프로토콜은 유사하게 동작하지만 BOOTP에서 지원되지 않는 몇 가지 기능이
추가된 확장 프로토콜이 DHCP 이다.

DHCP는 서버와 클라이언트로 동작하며 클라이언트의 서비스 포트는 68,
서버의 서비스 포트는 67이다.

동작 방식

1. DHCP Discover
DHCP 클라이언트는 DHCP 서버를 찾기위해 DHCP Discover 메시지를
브로드캐스트로 전송

2. DHCP Offer
DHCP Discover를 수신한 서버는 클라이언트에 할당할 IP 주소와 서브넷,
게이트웨이, DNS 정보, Lease Time 등의 정보를 전송

3. DHCP Request
서버로부터 제안받은 IP 주소와 DHCP 서버 정보를 포함한 요청 메시지를
브로드캐스트로 전송

4. DHCP Acknowledgement
DHCP 클라이언트로부터 IP 주소를 사용하겠다는 요청을 받으면
DHCP 서버에 해당 IP를 어떤 클라이언트가 언제부터 사용하는지 기록
이후 Request 를 정상적으로 수신했다는 응답을 전송

DHCP 메시지 통신

DHCP Discover 메시지는 DHCP 클라이언트의 IP가 아직 없으므로
출발지는 Zero IP 주소, 목적지는 브로드캐스트 주소를 사용한다.

서비스 포트는 출발지가 68번, 목적지는 67번을 사용하고
IP를 할당받지 않았으므로 TCP가 아닌 UDP를 사용한다.

DHCP 서버는 DHCP IP Pool 중에서 할당할 IP를 선택한다
특정 클라이언트의 MAC 주소와 IP 주소를 사전에 정의해두면
DHCP를 사용하면서 고정된 IP를 할당할 수 있다.

⭐ DHCP Offer 이후의 메시지가 브로드캐스트인 이유?
DHCP Offer 메시지 안에 IP 설정 정보가 모두 포함되어 있어 IP를 설정하고
유니캐스트로 패킷을 전달해도 되지만 DHCP 서버가 여러대가 동작하는 환경을 위해
브로드캐스트를 사용한다. 서버가 여러 대인 환경에서는 클라이언트가
DHCP Offer 메시지를 여러 개를 동시에 수신받고 그 중 한 Offer 메시지에 대해
Request 메시지를 전송한다. Request 또한 브로드캐스트로 전송하여 서버가
자신이 제안한 IP 주소를 사용하는지 여부를 명시적으로 알 수 있게 한다.

DHCP IP 임대 시간

DHCP를 통해 IP를 할당할 때는 IP 임대 시간이 있다.
DHCP 서버는 임대시간이 만료되면 클라이언트에 할당된 IP를 다시 회수한다.

클라이언트가 사용하던 IP는 다시 수거되고 다시 처음부터 DHCP Discover부터
시작해 재할당 받아야하며, 이때 다른 IP가 할당될 수 있다.

실제 동작과정에서는 IP를 계속해서 사용중인 경우, 갱신과정을 거쳐
IP를 반환하지 않고 계속 사용할 수 있다.

IP를 할당받은 후 임대 시간의 50%가 지나면 DHCP 갱신 과정을 수행한다.
DHCP Offer 까지의 과정을 생략하고 DHCP Request를 바로 보낸다.
이 과정은 유니캐스트로 진행되므로 불필요한 브로드캐스트가 발생하지 않는다.

만약 50%가 지난 시점에서 갱신이 실패하면 75%가 지난시점에 다시시도한다.
이때도 갱신에 실패하면 IP를 반납하게 된다.

➕ IP 임대 시간은 특별히 권고하는 시간이 있지는 않으며 환경에 맞추어
사용한다. 클라이언트가 어느정도 고정되어 있고 IP 풀 범위가 넓다면
임대시간을 길게
, 클라이언트가 불특정하면서 자주 바뀌는 경우라면
임대시간을 짧게
설정하여 임대된 IP가 빨리 반환되도록 해야한다.


References

DHCP 동작 방식

0개의 댓글

관련 채용 정보