✅ DHCP란 ?
- DHCP는 Dynamic Host Configration Protocol의 약자이다.
- DHCP란 호스트의 IP 주소와 각종 TCP/IP 프로토콜의 기본 설정을 클라이언트에게 자동적으로 제공해주는 프로토콜을 말한다.
- 네트워크에서 컴퓨터에 자동으로 네임 서버 주소, IP 주소, 게이트웨이 주소를 할당해주는 것을 의미하며, 해당 클라이언트에게 일정 기간 임대를 하는 동적 주소 할당 프로토콜이다.
✅ DHCP 구성
1) DHCP 서버
DHCP 서버는 네트워크 인터페이스를 위해 IP 주소를 가지고 있는, 서버에서 실행되는 프로그램이다.
일정한 범위의 IP 주소를 다른 클라이언트에게 할당하여 자동으로 설정하게 해주는 역할을 한다.
DHCP 서버는 클라이언트에게 할당된 IP 주소를 변경없이 유지해 줄 수 있다.
클라이언트에게 IP 할당 요청이 들어오면 IP를 부여해주고 할당 가능한 IP들을 관리해주게 된다.
2) DHCP 클라이언트
클라이언트들은 시스템이 시작하면 DHCP 서버에 시스템을 위한 IP 주소를 요청하고 DHCP 서버로부터 IP 주소를 부여받으면 TCP/IP 설정은 초기화되고 다른 호스트와 TCP/IP 사용해 통신을 할 수 있게 된다.
즉, 서버에게 IP를 할당받으면 TCP/IP 통신을 할 수 있다.
3) DHCP 프로토콜
BOOTP 메세지 형식을 사용한다. IP 주소와 TCP/IP 프로토콜 기본 설정을 개별 클라이언트에게 자동적으로 할당하는 역할을 한다.
✅ DHCP 프로토콜 동작 원리
DHCP를 통한 IP 주소 할당은 "임대" 라는 개념을 가진다.
이는 DHCP 서버가 IP 주소를 영구적으로 단말에 할당하는 것이 아닌 임대기간 (IP Lease Time)을 명시해 그 기간동안만 단말이 IP 주소를 사용하도록 하는 것이다.
단말은 임대기간 이후에도 계속 해당 IP 주소를 사용하고자 한다면 IP 주소 임대기간 연장(IP Address Renewal)을 DHCP 서버에 요청해야 하고 또한 단말은 임대 받은 IP 주소가 더 이상 필요치 않게 되면 IP 주소 반납 절차(IP Address Release)를 수행하게 된다.
✅ DHCP IP 주소 할당 방법
IP의 주소는 할당되는 형태로 수동, 자동, 반자동 의 형태인 3가지로 구분되며 할당 형태별 내용은 아래와같다.
할당 형태 | 설명 |
자동 할당 |
DHCP 서버 관리자가 수동으로 각 장비별로 고정하여 설정하는 형태가 되는 방식으로써 이는 특별한 목적이 있는경우가 아니라면 주로 사용되지않는 방법이다. |
반자동 할당 |
IP 주소의 영구적인 독점 사용의 형태로 IP주소의 변동이 없다. 주로 상시 클라이언트와 통신이 이뤄져야 하는 서버와같은 장비에 사용된다. |
동적 할당 |
제한된 IP주소를 재 사용하게 되며, 한시적인 임대형태의 ip주소를 할당받아 반납과 재 할당이 반복되는 재 활용형태로써 대부분의 네트워크는 동적할당으로 구성되어있다. |
✅ DHCP 프로토콜 동작 절차
DHCP Discover
DHCP Offer
DHCP Request
DHCP Ack
1. DHCP Discover
- 단말이 DHCP 서버를 찾는 단계이다. DHCP 서버를 찾기위해 Discover 메세지를 이더넷에 Broadcasting한다.
동일 서브넷 안에 있는 모든 단말들은 이 메세지를 수신한다. - ex) 안녕하세요? 혹시 거기 DHCP 서버님 계시면 대답 좀 해주세요 ~ 하고 물어보는 단계이다.
- 주요 파라미터 - Client MAC : 단말의 MAC 주소
2. DHCP Offer
- Discover 메세지를 수신한 DHCP 서버는 자신을 알리기 위해 Offer 메세지를 Broadcasting한다.
위와 동일하게 동일 서브넷 안에 있는 단말들은 Offer 메세지를 수신한다. - ex) 네 저 여기 있습니다. 제 IP 주소는 1.1.1.254 이고요 제가 당신(Client)께 IP 주소 1.1.1.10을 할당해 드릴 수 있어요 라고 답변하는 것과 같다.
- 주요 파라미터
Client MAC | 단말의 MAC 주소 |
Your IP | 단말에 할당(임대)할 IP 주소 |
Subnet Mask (Option 1) | |
Router (Option 3) | 단말의 Default Gateway IP 주소 |
DNS (Option 6) | DNS 서버 IP 주소 |
IP Lease Time (Option 51) | 단말이 IP 주소 (Your IP)를 사용(임대)할 수 있는 기간(시간) |
DHCP Server Identifier (Option 54) | 본 메세지 (DHCP Offer)를 보낸 DHCP 서버의 주소 2개 이상의 DHCP 서버가 DHCP Offer를 보낼 수 있으므로 각 DHCP 서버는 자신의 IP 주소를 본 필드에 넣어서 단말에 보냄 |
3. DHCP Request
- DHCP 서버 존재를 확인한 PC는 Request 메세지를 Broadcasting한다.
- ex) 답변 주셔서 고맙습니다. 그럼 1.1.1.254 주소를 가진 DHCP 서버님이 저한테 IP 주소를 할당해 주실래요 ?
- 주요 파라미터
Client MAC | 단말의 MAC 주소 |
Request IP Address (Option 50) | 난 이 IP 주소를 사용하겠다. (DHCP Offer의 Your IP 주소가 여기에 들어감) |
DHCP Server Identifier (Option 54) | 2대 이상의 DHCP 서버가 DHCP Offer를 보낼 경우 단말은 이 중에 마음에 드는 DHCP 서버 하나를 고르게 되고, 그 서버의 IP 주소가 여기에 들어감 즉 DHCP Server Identifier에 명시된 DHCP 서버에게 "DHCP request" 메세지를 보내어 단말 IP 주소를 포함한 네트워크 정보를 얻는 것 |
4. DHCP Ack
- DHCP 서버는 Request 메세지 내에 Server Identifier에 기록된 IP 주소가 자신의 주소인지 확인한 후 Offer 메세지와 함께 다양한 네트워크 정보들을 전달 (IP, Subent, Gateway, DNS, Lease Time 등)
- ex) 네 제가 단말님을 위해 IP 주소 1.1.1.10을 포함한 필요한 네트워크 정보를 임대해드리겠습니다. 임대 시간은 1시간입니다.
- 주요 파라미터
Client MAC | 단말의 MAC 주소 |
Your IP | 단말에 할당(임대)할 IP 주소 |
Subnet Mask | |
Router (Option 3) | 단말의 Default Gateway IP 주소 |
DNS (Option 6) | DNS 서버 IP 주소 |
IP Lease Time (Option 51) | 단말이 본 IP 주소(Your IP)를 사용(임대)할 수 있는 기간(시간) |
DHCP Server Identifier (Option 54) | 본 메시지(DHCP Ack)를 보낸 DHCP 서버의 주소 |
✅ 주소 임대기간 연장 절차 (IP Address renwal procedure)
DHCP ack 메세지에는 IP Lease Time 파라미터가 포함되어 있으며 PC는 명시된 임대 기간 동안만 해당 IP 주소를 사용할 수 있다.
PC가 임대 기간 이상 IP 주소를 사용하기 위해서는 DHCP 서버에게 IP 주소 임대 기간 연장 요청을 해야한다.
1) DHCP Request
"1.1.1.254" 주소를 가진 DHCP 서버님 제가 IP 주소 1.1.1.10 임대 기간을 연장하고 싶은데요 허락해주세요
request 메세지를 유니캐스팅으로 보냅니다. 단말과 서버 간에 서로 IP 주소를 알고 있기 때문에 임대 기간 연장을 요청하는 단말 IP 주소를 포함하여 보냅니다.
2) DHCP Ack
"요청을 수락하겠습니다. IP 주소 1.1.1.10을 2시간 더 사용하도록 하세요" 이것 또한 모든 정보를 포함해서 Unicasting으로 보낸다.
✅ IP 주소 반납 절차 (IP Address Release Procedure)
PC를 로그 오프 or ipconfig / release를 하게되면 단말은 할당된 IP 주소를 DHCP 서버에 전환한다.
DHCP Release
"1.1.1.254 주소를 가진 DHCP 서버님 그동안 사용했던 IP주소 1.1.1.10을 반납하겠습니다"
DHCP Release 메시지를 유니캐스팅으로 서버에 전달, IP 주소를 반환하게 된다.
✅ DHCP 장/단점
장점 | PC의 수가 많거나 PC 자체 변동 사항이 많은 경우 IP 설정이 자동으로 되기 때문에 효율적으로 사용 가능하고 IP를 자동으로 할당해주기 때문에 IP 충돌을 막을 수 있다. |
단점 | DHCP 서버에 의존되기 때문에 서버가 다운되면 IP 할당이 제대로 이루어지지 않는다. |
출처
'CS > 네트워킹' 카테고리의 다른 글
[네트워킹] 대칭키(비밀키) & 공개키(비대칭키) (0) | 2022.03.07 |
---|---|
[네트워킹] Unicast, Broadcast, Multicast, Anycast (0) | 2022.03.05 |
[네트워킹] MAC 주소 (0) | 2022.02.11 |
[네트워킹] 라우터, 스위치, 브릿지, 허브, 게이트웨이 (0) | 2022.02.11 |
[네트워킹] 피기백(Piggyback) 방식 (0) | 2022.02.11 |
영차영차 성장 블로그
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!