전화를 사용할 때 자신의 전화 번호가 있듯이 인터넷을 사용할 때도 인터넷 주소가 있어야 하는데, 이 인터넷 주소가 IP주소이다. 이 인터넷 주소는 통산 인터넷에 접속할 때 동적(Dynamic)으로 할당받는데 이 동적으로 IP 주소를 할당해주는 프로토콜을 DHCP(Dynamic Host Configuration Protocol)라고 하며 이는 RFC 2131에서 표준 동작을 정의하고 있다.
DHCP를 통한 IP 주소 할당은 "임대"라는 개념을 가지고 있는데 이는 DHCP 서버가 IP주소를 영구적으로 단말에 할당하는 것이 아니고 임대기간(IP Lease Time)을 명시하여 그 기간 동안만 단말이 IP 주소를 사용하도록 하는 것이다. 단말은 임대기간 이후에도 계속 해당 IP 주소를 사용하고자 한다면 IP 주소 임대기간 연장(IP Address Renewal)을 DHCP 서버에 요청해야 하고 또한 단말은 임대받은 IP 주소가 더 이상 필요치 않게 되면 IP 주소 반납 절차(IP Address Release)를 수행하게 된다.
Client가 DHCP 서버로부터 IP 주소를 할당 받는 절차
IP 주소할당(임대) 절차에 사용되는 DHCP 메시지는 아래 그림과 같이 4개의 메시지로 구성되어 있다.
1. DHCP Discover
- 메시지 방향 : 단말 -> DHCP 서버
- 브로드캐스트 메시지 (Destination MAC = FF:FF:FF:FF:FF:FF)
- 의미 : 단말이 DHCP 서버를 찾기 위한 메시지이다. 그래서 동일 네트워크에 브로드캐스팅을 하여 "거기 혹시 DHCP 서버 있으면 응답해주세요" 라고 단말이 외친다.
- 주요 파라미터
- Client MAC : 단말의 MAC 주소
2. DHCP Offer
- 메시지 방향 : DHCP 서버 -> 단말
- 브로드캐스트 메시지이거나 유니캐스트일 수 있다.
- 의미 : DHCP 서버가 "저 여기 있어요~"라고 응답하는 메시지이다. 단순히 DHCP 서버의 존재만을 알리지 않고, 단말에 할당할 IP 주소 정보를 포함한 다양한 "네트워크 정보"를 함께 실어서 단말에 전달한다.
- 주요 파라미터
- 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 주소를 사용할 수 있는 기간
- DHCP Server Identifire (Option 54) : 본 메시지(DHCP Offer)를 보낸 DHCP 서버의 주소. 2개 이상의 DHCP 서버가 DHCP Offe를 보낼 수 있으므로 각 DHCP 서버는 자신의 IP 주소를 본 필드에 넣어서 단말에 보냄
3. DHCP Request
- 메시지 방향 : 단말 -> DHCP 서버
- 브로드캐스트 메시지 (Destination MAC = FF:FF:FF:FF:FF)
- 의미 : 단말은 DHCP 서버(들)의 존재를 알았고, DHCP 서버가 단말에 제공할 네트워크 정보 (IP 주소, Subnet mask, default gateway 등)를 알았다. 이제 단말은 DHCP Request 메시지를 통해 하나의 DHCP 서버를 선택하고 해당 서버에게 "단말이 사용할 네트워크 정보"를 요청한다.
- 주요 파라미터
- 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 서버 -> 단말
- 브로드캐스트 메시지 (Destination MAC = FF:FF:FF:FF:FF:FF) 혹은 유니캐스트일 수 있으며 이는 단말이 보낸 DHCP Request 메시지 내의 Broadcast Flag =1이면 DHCP 서버는 DHCP Ack 메시지를 Broadcast로, Flag=0이면 Unicast로 보내게 된다.
- 의미 : DHCP 절차의 마지막 메시지로, DHCP 서버가 단말에게 "네트워크 정보"를 전달해 주는 메시지이다. 앞서 설명한 DHCP Offer의 "네트워크 정보"와 동일한 파라미터가 포함된다.
- 주요 파라미터
- 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 주소를 사용할 수 있는 기간
- DHCP Server Identifier (Option 54) : 본 메시지(DHCP Ack)를 보낸 DHCP 서버의 주소
이렇게 DHCP Ack를 수신한 단말은 이제 IP 주소를 포함한 네트워크 정보를 임대하였고, 이제 인터넷 사용이 가능하게 된다.
출처 : www.netmanias.com/ko/post/blog/5348/dhcp-ip-allocation-network-protocol/understanding-the-basic-operations-of-dhcp
'Network' 카테고리의 다른 글
[Network] network design (0) | 2020.12.01 |
---|---|
[Network] IPSec 키 관리 프로토콜 - ISAKMP (Internet Security Association and Key Management Protocol) (0) | 2020.11.27 |
[Network] IKE Keep-alive와 Dead Peer Detection의 차이 (0) | 2020.11.26 |
[Network] VPN(Virtual Private Network) (0) | 2020.11.22 |
[Network] 통신방식 (Simplex, Duplex) (0) | 2020.11.15 |