DHCP(Dynamic Host Configuration Protocol)란 무엇일까요?
DHCP는 동적으로 클라이언트에게 IP 및 네트워크 통신에 필요한 구성들(라우터, 게이트웨이, 서브넷 마스크, DNS 등)을 할당해 주는 프로토콜입니다. 기존에는 네트워크 관리자가 수동으로 ip를 구성해줘야 했지만(인터넷에 접속하거나 네트워크 통신을 위해서는 네트워크 장치마다 IP주소가 필요한데, 전 세계의 수십 억 개의 장치에 IP를 수동으로 작업하는 과정은 매우 어려운 작업임) DHCP를 통해 클라이언트에게 자동으로 IP를 할당해 줌으로써, 클라이언트가 더욱 간편하게 IP를 임대할 수 있게 되었습니다. 핵심적인 내용은 DHCP Server의 기능에 대한 이해와 어떻게 DHCP Server가 단말에게 IP를 대여해 줄 수 있는지(동작과정)에 대해 아는 것입니다.
DHCP가 Host에게 Private IP주소를 동적으로 할당합니다. IP주소를 할당받은 클라이언트는 NAT(Network Address Translation)을 통해 Public IP 주소로 변환하여 인터넷에 접속할 수 있게 됩니다. DHCP는 TCP/IP 모델 4계층(application Layer)에서 동작하는 프로토콜이고, 자체 포트 번호(DHCP Serve : 67, DHCP Client: 68)를 가지고 있기 때문에 4 계층에서 TCP/UDP를 사용할 수 있습니다.
IP주소를 할당하는 또 다른 방법 BootP가 있지만, 이는 IP를 할당하기 위해 MAC 주소를 수동으로 입력해야 하기 때문에 DHCP를 Dynamic BootP라고도 칭합니다.
DHCP Server의 3가지 역할 : 임대(Lease), 갱신(Renewal), 반환(Release)
1. Lease(임대)
- Host에게 IP를 동적으로 할당해주는 과정
DHCP 동작 과정 (DHCP Discover -> DHCP Offer -> DHCP Request -> DHCP Ack, DORA)
- DHCP Discover (DHCP Client -> DHCP Server)
- 호스트는 DHCP Server가 어디 있는지 모르기에 호스트의 단말과 연결된 모든 장치에게 DHCP Discover 메세지를 Broadcasting(Broadcast MAC Address(FF:FF:FF:FF:FF:FF)) 합니다.
- DHCP Discover, Offer 과정을 제외한 다른 과정은 Unicast 통신으로 이루어집니다. (1:1)
- DHCP Offer (DHCP Server -> DHCP Client)
- DHCP Discover를 받은 DHCP Server는 해당 메세지를 전송한 Client에게 할당해 줄 수 있는 IP주소, 네트워크 구성 정보가 담긴 DHCP Offer 메세지를 전송합니다.
- DHCP Request (DHCP Client -> DHCP Server)
- 해당 메세지를 전송받은 Client는 DHCP Server에게 IP 주소를 할당하겠다는 DHCP Request 메세지를 전송합니다.
- DHCP Ack (DHCP Server -> DHCP Client)
- Ack 응답을 통해, Client에게 IP주소를 할당한 후 DHCP Server는 IP주소를 기록합니다.
- MAC 주소는 동일한 IP주소를 가진 여러 장치의 구성을 방지하게 됩니다.
이러한 상세한 과정을 통해, DHCP Client는 DHCP Server를 통해 동적으로 IP주소를 구성할 수 있게 됩니다.
2. Renewal(갱신)
- DHCP Server에게 할당받은 IP의 대여 기간을 늘리는 과정
갱신은 임대의 Request와 Ack 동작 과정을 다시 거친다고 생각하면 됩니다. (Discover, Offer는 거치지 않음)
임대 기간이 끝나면, IP주소를 반환하게 됩니다. 임대 기간이 1시간이면, 1시간 마다 IP주소를 반환하고 다시 임대하면 불필요한 브로드캐스트 트래픽을 발생시키기에 효율성이 떨어집니다. 그래서 DHCP에는 임대 갱신(Lease Renewal)이라는 것이 존재합니다.
임대 갱신은 첫 번째는 임대 기간이 50%이 남았을 때, 갱신을 다시 할 것인지 물어봅니다. 하지만, 클라이언트의 전원이 꺼져 있거나 다른 이유로 인해 갱신을 하지 못한 경우, 12.5%의 임대 기간이 남았을 경우 한 번 더 임대를 할 것인지 물어봅니다.
IP를 오랫동안 사용하기 위해서는 임대 갱신 과정을 필요로 하고, 이를 통해서 불필요한 네트워크 트래픽을 방지(브로드캐스팅 할 필요가 없기 때문)할 수 있게 됩니다.
3. Release(반환)
- DHCP Server에 IP를 반환하는 과정
- ipconfig /release : DHCP Server에 IP주소를 반환하는 명령어
- ipconfig /renew : 설정된 IP 주소가 없으면, 이미 IP주소가 있다면 임대 갱신을 해주는 명령어
DHCP의 Release 과정을 DHCP 역할에 있어서 매우 중요합니다. Release 과정이 중요한 이유에 대해 알아보겠습니다.
- IP 주소의 효율적 관리 : DHCP를 사용하면 네트워크 관리자는 IP를 동적으로 관리할 수 있게 됩니다. 만약, 클라이언트가 IP주소를 사용하지도 않는데 임대한 IP를 가지고만 있으면 다른 단말에게 할당해 줄 IP주소가 부족할 경우도 생길 수 있게 됩니다. 그래서 IP 주소 부족 문제를 방지하고 효율적인 IP주소를 방지하기 위해 Release 과정이 존재합니다.
- 장치 이동 : Release 과정은 장치가 한 네트워크에서 다른 네트워크로 이동할 때 유용합니다. 사용자가 무선 네트워크에서 한 장소에서 다른 장소로 이동할 때, 이전에서 사용한 IP주소를 해제하고 새로운 장소에서 다른 IP주소를 할당받을 수 있습니다. 이는 IP 충돌을 방지하고 사용자의 장치 이동을 원활하게 할 수 있게 됩니다.
- 네트워크 장치 최적화 : 사용자가 네트워크에서 이탈하게 되면, 해당 IP주소를 반환하여 다른 장치에 할당할 수 있기 때문에, 불필요한 IP 주소 점유를 방지하고 네트워크 자원을 최대한 활용할 수 있게 됩니다.
IP주소를 동적으로 할당해줄 수 있는 DHCP에 대해 알아보았고, 상세한 동작과정과 호스트가 IP주소를 반환하는 과정이 왜 중요한지에 대해서도 숙지하게 되었습니다.
<참고자료>
https://www.nwkings.com/what-is-dhcp-in-networking
'Network' 카테고리의 다른 글
[Network] Switch 와 Bridge 비교 (0) | 2023.07.13 |
---|---|
[Network] Hub(L1), Switch(L2), Router(L3) (0) | 2023.07.13 |
[Network] WPS(Wi-Fi Protected Setup)란 무엇인가 ? (0) | 2023.07.13 |
[Network] WLAN의 네트워크 환경 2가지 mode(Ad-Hoc mode, Infrastructure mode) (0) | 2023.07.09 |
[Network] IEEE 802.11 표준과 발전과정 (0) | 2023.07.08 |