Yozzang의 해킹일기 💻
article thumbnail
728x90

이번 포스트에서는 DHCP에 대해 다루도록 하겠습니다.

 

DHCP 란?

: Dynamic Host Configuration Protocol의 약자이며 호스트의 IP주소와 각종 TCP/IP 프로토콜의 기본 설정을 클라이언트에게 자동적으로 제공해주는 Application Layer의 프로토콜입니다. 즉, 쉽게 말해 우리가 사용하는 IP주소를 자동으로 할당해주는 프로토콜입니다.

 

DHCP의 특징 :

  • 자동 갱신(renew)
  • 주소의 재활용 가능(reuse)
  • 모바일 유저도 사용 가능
  • IP 충돌 방어
  • 라우터에 구현됨
  • UDP 사용

DHCP 동작 과정 :

  1. 호스트가 브로드캐스팅을 통해 DHCP discover 메시지 전송
  2. DHCP 서버가 듣고 DHCP offer 메시지(IP주소 오퍼)로 회신
  3. 호스트가 해당 IP주소를 가지겠다고 DHCP request 메시지로 회신
  4. DHCP 서버가 호스트에 IP주소를 부여해주는 DHCP ack 메시지 전송

  • src : Source Address (출발지 IP주소)
  • dest : Destination Address (목적지 IP주소)
  • yiaddr : 서버가 제공한 IP주소 (이후 쓰게될 IP주소)
  • transaction ID : 거래 ID값
  • lifetime : 서버가 제공한 IP를 쓸 수 있는 시간

DHCP request에서 여전히 브로드캐스팅을 한 이유는 DHCP 서버가 여러대인 경우 모든 서버에게 자신이 어떤 IP주소를 쓸 건지를 알려주기 위함입니다.

 

만약 사용자가 이전에 이미 IP주소를 할당 받은 적이 있다면 DHCP discover과 DHCP offer과정을 생략하여 바로 DHCP request를 진행할 수도 있습니다.

 

또한 DHCP 서버가 아닌 호스트(예: 노트북, 태블릿 등...)는 discover 패킷을 받지만(브로드캐스팅했으니까) 포트번호를 참조하여 그 패킷을 discard합니다.

'Networking' 카테고리의 다른 글

Link-State Algorithm (링크 상태 알고리즘)  (0) 2022.04.14
ICMP & Traceroute  (0) 2022.04.13
NAT (Network Address Translation)  (0) 2022.04.11
IP Address (IPv4)  (0) 2022.04.10
Network Layer (네트워크 계층)  (0) 2022.04.09
profile

Yozzang의 해킹일기 💻

@요짱

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!