본문 바로가기
정보보안

DHCP 프로토콜 정의, ip 할당 절차 (DORA)

by 나석정 2022. 8. 10.
반응형

 

 

 

 

1.  DHCP란 무엇일까요?

 

DHCP는 동적으로 클라이언트의 네트워크 주소, 즉 ip를 설정하기 위한 프로토콜입니다. 이를 사용하면 호스트들에게 ip주소 할당 및 새로운 주소로 이동 시 ip주소 변경을 자동으로 관리하여 네트워크 관리자가 일일이 수동적으로 변경하여야 하는 번거로움을 줄일 수 있습니다.

기본적으로 사용하는 프로토콜은 UDP프로토콜이며 67번, 68번 UDP 프로토콜을 사용합니다. 서버와 클라이언트는 서로 다른 udp 프로토콜 번호를 사용하는데 서버는 67/udp를 사용하고, 클라이언트는 68/udp를 사용합니다. 처음 ip주소 할당 시에는 67을 사용합니다.

 

DHCP에서 사용하는 명령어로는 ipconfig/ release와 ipconfig/ renew가 있습니다. 각각이 무엇을 뜻하는지 알아볼까요?

ipconfig/ release 명령어는 release라는 단어 뜻에서 알 수 있듯이 할당 받은 ip주소를 해제하는 명령어입니다. ipconfig/ renew는 renew라는 단어 뜻에서 알 수 있듯이 새로운 ip 주소를 DHCP로 부터 받는 명령어입니다. 영어와 연관지어서 암기하면 수월하게 외울 수 있습니다.

 

2.  DHCP IP 할당절차 (DORA)

DHCP 프로토콜의 정의와 기본 명령어에 대해 알아보았습니다. 이제는 DHCP 프로토콜이 IP를 할당하는 절차를 알아보도록 하겠습니다. DHCP IP 할당절차는 DORA라는 줄인말로 불립니다. DORA는 IP 할당 순서의 앞글자를 딴 단어입니다. ip 할당 순서는 Discover, Offer, Request, Ack 순으로 진행됩니다.

Discover : 클라이언트 DHCP서버를 찾기 위한 메세지로 자신의 MAC 정보를 담아 브로드캐스트하는 단계입니다.

Offer : 서버가 DHCP가 클라이언트에게 IP정보를 제공해주는 메세지입니다.

Request : 클라이언트가 해당 IP를 사용하겠다고 서버에게 요청하는 메세지입니다. 서버가 Offer 메세지를 통하여 주소를 제공하면 바로 설정하는 것이 아니라 서버에게 이 IP를 사용하겠다는 메세지를 다시 전송합니다. 

Ack : 서버는 해당 MAC과 IP정보를 테이블에 저장합니다. 그 후 다시 한 번 할당된 주소 정보를 클라이언트에게 전송해줍니다. 클라이언트는 이 메세지를 받고 IP정보를 설정합니다.

DHCP는 서버에서 클라이언트로 클라이언트에서 서버로 메세지를 전송하는 과정을 반복하며 진행됩니다.

네트워크를 통해 데이터를 전송하는 통신 방법에는 unicast, multicast,broadcast 총 세가지가 존재합니다. 그러나 DHCP의 전 과정은 Broadcast 방식으로 진행됩니다.

 

unicast : 1대1으로만 진행되는 통신 방식입니다. 발신자도 한 명, 수신자도 한 명인 경우이며 범위는 전체입니다. 신뢰성을 보장하는 tcp프로토콜을 사용합니다.

multicast : unicast와 broadcast의 장점을 합친 방식입니다. 1대 특정 다수 간 진행되는 통신으로 발신자 한 명이 특정 다수의 수신자들과 통신하는 방법입니다. 신뢰성을 보장하지 않는 udp프로토콜을 사용합니다.

broadcast : 1대 다수로 진행되는 통신 방식입니다. 발신자 한 명이 모든 수신자들과 통신하는 방식으로 서브넷(로컬 네트워크) 범위에 걸쳐 통신하는 방식입니다.

 

 

 

 

3. DHCP Starvation 공격

 

DHCP 프로토콜을 이용한 공격도 존재합니다. DHCP Starvation 공격이라고 불리는 공격입니다. 이 공격은 할당 가능한 Ip를 모두 소진하게 만들어 dhcp가 더 이상 ip할당이 불가능하게 만드는 공격입니다. 공격방법은 다음과 같습니다. Discover 메세지를 서로 다른 MAC 주소로 대량으로 전송할 경우 이에 대한 응답으로 Offer 메세지가 발생합니다. 여기서 Request 메세지까지 발송한 후 실제로는 IP주소를 할당하지 않는 공격입니다.

 

 

반응형

댓글