DHCP 란?
DHCP(Dynamic Host Configuration Protocol, 동적 호스트 구성 프로토콜)는 네트워크 내의 컴퓨터에 자동으로 네임 서버 주소, IP 주소, 게이트웨이 주소를 할당해주는 프로토콜입니다. DHCP 서버는 이에 대한 네트워크 정보를 가지고 있다가, 클라이언트로부터 요청이 오면 자신이 가지고 있는 정보를 전달해줍니다.
쉽게 설명하자면, 터미널에 - ipconfig 명령어를 실행하면, 알수있는 IP 주소는 아래 그림과 같습니다.
IP, subnet mask, route, DNS가 나타나는 것을 볼 수 있습니다.
예를 들어 아래와 같은 주소가 나타난다고 생각해보겠습니다.
IP: 192.168.1.47
subnet mask: 255.255.255.0
route: 192.168.1.1
DNS: 192.168.1.1
위 4가지 주소는 필수기 때문에, 그걸 담당해서 배정하는 프로토콜이 DHCP 프로토콜입니다. 매번 컴퓨터를 부팅할때마다 동적으로 저 4가지 주소를 배정해주는 것입니다. 이 프로토콜 덕분에 사용자는 수동으로 이런 정보를 각 디바이스에 설정할 필요 없이 편리하게 네트워크에 접속할 수 있습니다.
DHCP의 이점
DHCP를 사용해 얻을 수 있는 이점은 한 가지가 더 있습니다.
IP 주소를 효율적으로 사용해, 사용하지 않는 주소는 다른 사용자에게 재할당할 수 있게 한다는 것입니다. 만약, 한 기관에 10,000명의 네트워크 사용자가 있을 경우 모든 사용자에게 고유한 IP 주소를 할당하는 대신, 대략 1,000개의 IP 주소만을 동적으로 할당하여 관리할 수 있습니다. 특히 이렇게 동적으로 할당해주는 방식은 정적 할당에서 발생하는 IP충돌 등의 문제를 없앨 수 있습니다. 그래서 특히 공공 장소의 WiFi 같은 환경에서 매우 유용하게 사용됩니다.
DHCP 동작 과정
DHCP는 크게 4가지의 과정을 통해 사용자에게 정보를 제공해줍니다.
1. DHCP Discover
클라이언트가 DHCP 서버의 존재를 알아내고, IP 주소를 요청하는 과정입니다.
네트워크에 연결된 디바이스(클라이언트)는 네트워크에 접속하려고 할 때 DHCP 서버에 'DHCP Discover' 메시지를 브로드캐스트합니다. 이 메시지를 통해 LAN에 DHCP 서버가 존재하는지를 찾습니다.
2. DHCP Offer
DHCP 서버는 'DHCP Offer' 메시지를 통해, 클라이언트에게 자신이 임대해줄 수 있는 네트워크 정보와 서버 IP 주소를 제안합니다. 이 메시지에는 IP 주소 외에도 서브넷 마스크, 기본 게이트웨이, DNS 서버 정보가 포함될 수 있습니다.
3. DHCP Request
클라이언트는 제안된 IP 주소를 받아들일지 결정하고, 해당 주소를 사용하겠다는 'DHCP Request' 메시지를 서버에 보냅니다. DHCP Discover에서 사용한 BroadCast 방식이 아닌, DHCP 서버에게만 패킷을 전달합니다.
4. DHCP Acknowledgement
DHCP 서버는 'DHCP Acknowledgement' 메시지를 통해 IP 주소 할당을 확정지어주고, 클라이언트는 이제 그 주소를 사용하여 네트워크에 접속할 수 있습니다.
위 4가지 과정을 통해 클라이언트가 DHCP 서버로 부터 IP 주소를 받아오게 됩니다.
정리하자면, DHCP는 네트워크 관리를 간소화하고 자동화하여 네트워크 사용자가 복잡한 설정 없이도 인터넷에 접속할 수 있도록 돕습니다. 또 IP 주소를 관리하고 주소공간을 절약하는 역할을 합니다. 따라서, DHCP는 네트워크의 연결-후-작동 프로토콜(Plug-and-Play Protocol)를 가능합니다.
참고자료
[컴퓨터 네트워크 - 한양대학교 이석복 교수님]
http://www.kocw.net/home/cview.do?cid=6166c077e545b736
https://the-square-of-y.tistory.com/217
https://blog.naver.com/ds4ouj/222308168562
Computer Networking _ A Top Down Approach, 7th
'CS > Network' 카테고리의 다른 글
[네트워크] 라우팅 알고리즘 (Routing Algorithms) (0) | 2024.02.23 |
---|---|
[네트워크] IP 단편화&재조립, ICMP (0) | 2024.02.23 |
[네트워크] NAT(Network Address Translation) (0) | 2024.02.20 |
[네트워크] 네트워크 계층 : Internet Protocol(IP) (0) | 2024.02.19 |
[네트워크] TCP Congestion Control (0) | 2024.02.17 |