1. 호스트 설정
DHCP에 대해 알아보기 이전에 DHCP가 등장하게된 배경인 호스트 설정에 대해 알아보자.
1) 호스트 설정 개념
TCP/IP 프로토콜을 사용하는 모든 호스트들은 IP주소, Subnet mask 가 할당되어야 정상적으로 Network와 연결이 가능하다.
다른 망과 통신하기 위해서는 Default Router(Gateway)의 주소를 알아야하고 IP 주소 대신에 이름을 사용하여 통신하기 위해서 DNS 주소도 알아야한다.
일반 사용자들이 해당 주소들을 입력하는것이 쉽지 않아서 호스트 설정 프로토콜이 등장하였다.
2) 호스트 설정 프로토콜 종류
2.1) RARP
인터넷 초기에 IP 주소를 제공하기 위해 만들어졌다.
RARP를 통해 MAC주소를 IP주소로 매핑하여 사용한다.
RARP는 2계층의 Broadcast 서비스로 사용되기 때문에 각 망에 ARP 서버가 있어야하고 호스트 설정 시 IP주소만 제공되기 때문에 오늘날에는 사용되지 않는다.
2.2) BOOTP (Bootstrap)
RARP의 두가지 약점을 극복하기 위해 만들어진 Client-Server 프로토콜이다.Client-Server 프로토콜이므로 BOOTP서버가 인터넷 어디에나 있을 수 있고, IP 주소 뿐만 아니라 Subnet, Gateway, DNS주소도 제공한다.
BOOTP는 관리자에 의해 미리 정의되어있는 물리주소 - IP주소 간 매핑 테이블을 사용하는 정적인 설정 프로토콜이기 때문에 오늘날에는 거의 사용되지 않는다.
2.3) DHCP
처음으로 부팅한 컴퓨터나 디스크가 없는 컴퓨터에게 IP, Subnet, Gateway, DNS주소를 제공하기 위해 설계된 동적인 Client-Server 프로토콜이다.
BOOTP 프로토콜의 승계자로서 BOOTP와 역방향 호환성을 가진다.
2. DHCP 개념
UDP 기반 프로토콜이며 서버가 네트워크 클라이언트에게 IP 주소를 실시간으로 부여할 수 있도록 하였다.
사용가능한 주소를 자동으로 확인하고 클라이언트에게 IP 주소를 부여한다.
DHCP는 UDP 67(Server) 번과 68(Client) 번을 사용한다.
1) 장점
① 네트워크 설계 변경이 자유롭다.
② DHCP 서버에서만 네트워크 정보를 변경해주면 되므로 네트워크 구성변경이 용이하다.
③ 호스트를 사용하는 경우에만 IP가 할당되기 때문에 IP 절약이 가능하다.
④ 사용자가 TCP/IP를 따로 설정해 주지 않아도 되므로 관리가 용이하다.
2) 단점
① DHCP 클라이언트는 부팅 시 Broadcast 방식으로 트래픽을 전송하므로 네트워크 성능 저하를 발생시킨다.
② 호스트 전원만 켜져있어도 IP가 할당되고 전원을 꺼도 IP 임대기간동안 해당 IP가 다른 단말에 할당되지 못하기 때문에 IP 낭비가 발생한다.
③ 호스트 수가 많아지면 DHCP 서버의 과부하가 발생한다.
3. DHCP 동작 과정
1) DHCP Discover
Client가 Server를 찾기 위한 메시지이다. (출발지 포트: 68번 / 목적지 포트: 67번)
Broadcast 방식으로 전송한다. (출발지 IP: 0.0.0.0 / 목적지 IP: 255.255.255.255)
Broadcast를 송신하면 DHCP 서버를 제외한 다른 장비들은 패킷을 수신하지 않는다.
2) DHCP Offer
Server가 Client에서 IP 정보를 제안하는 메시지이다. (출발지 포트: 67번 / 목적지 포트: 68번)
Unicast 혹은 Broadcast 방식 중 하나로 전송된다.
일반적으로는 Broadcast방식으로 전송되지만 Client와 Server 운영체제 종류에 따라 Unicast 방식으로 전송되는 경우가 있다.
운영체제가 Window일 경우 기본적으로 Broadcast 방식을 사용한다.
3) DHCP Request
Client가 Server에게 제안받은 IP 정보를 공식적으로 요청하는 메시지이다. (출발지 포트: 68번 / 목적지 포트: 67번)
Broadcast 방식으로 전송한다.
Request 메시지를 Broadcast 방식으로 전송하는 이유는?
Client가 Offer Message를 수신 시 DHCP Server의 IP 주소를 알게 되지만 만약 가용성을 위해서 2대 이상의 DHCP 서버를 운용할 경우 자신이 전송한 Offer Message가 선택받지 못한 서버에도 해당 사실을 알려주기 위한 목적이다.
4) DHCP ACK
DHCP 서버가 최종적으로 IP 정보 등을 Client에게 할당하는 메시지이다. (출발지 포트: 67번 / 목적지 포트: 68번)
Unicast 혹은 Broadcast 방식 중 하나로 전송된다. 일반적으로는 Broadcast방식으로 전송되지만 Client와 Server 운영체제 종류에 따라 Unicast 방식으로 전송되는 경우가 있다
운영체제가 Window일 경우 기본적으로 Broadcast 방식을 사용한다.
DHCP 동작 순서 정리
Discover → Offer → Request → Ack
'Network > Network Theory' 카테고리의 다른 글
FTP (File Transfer Protocol) 란? (6) | 2022.10.19 |
---|---|
DNS (Domain Name System)란? (3) | 2022.10.03 |
[Network] ARP, RARP,GARP 개념 (0) | 2020.02.11 |
[Network] ICMP(Internet Control Message Protocol) 란? (0) | 2019.11.20 |
[Network] HTTP 개념 (0) | 2019.10.30 |
공부&일상 블로그
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요! 질문은 언제나 환영입니다😊