1. DHCP(Dynamic Host Configuration Protocol)란?
-
DHCP는 사용자에게 IP주소, 서브넷마스크, 기본 게이트웨이 및 DNS정보
등 네트워크 설정을 사용자에게 자동으로 제공해주는 프로토콜로써 네트워크 기기의 수가 많아질 수록 각종 IP 및 네트워크 관리가 어려워 지는데 DHCP는 DHCP서버에 설정되어있는 정보들을 자동으로 사용자에게 할당해
주기 때문에 네트워크 관리를 수월하게 만들어 줍니다.
이전 글에서 사설IP에 대해 정리할 때 말 했듯 우리가 사용하는 공유기는 NAT기술을 이용해서 여러개의 사설 ip를 사용할 수 있습니다. 그런데 그 IP들은 어떻게 관리되고, 여러대의 컴퓨터에 연결될 수 있었을까요??
그건 공유기에도 DHCP기능이 있기 때문에 가능한 것 입니다. 물론 우리가 직접 설정해 관리할 수도 있지만 일반적인 상황에선 그럴 필요가 없죠.
2. DHCP의 장점과 단점
2.1 장점
자동으로 네트워크 설정을 해 주기 때문에 네트워크의 관리가 편하고 빠릅니다.
2.2 단점
DHCP 서버가 다운되면 네트워크의 사용이 불가능합니다.
3. DHCP 프로토콜의 동작원리
- DHCP는 4단계에 거쳐서 동작하게 되는데 DHCP Discover, DHCP Offer, DHCP Request, DHCP Ack의 순서로 동작하게 됩니다.
그럼 이제부터 이 동작들이 어떻게 이루어지는지 알아봅시다.
3.1 DHCP Discover
- 메시지 방향 : 클라이언트 -> DHCP 서버
- DHCP Discover에서는 클라이언트가 DHCP 서버를 찾는 과정입니다.
클라이언트가 필요한 정보들과 클라이언트의 정보를 담은 메시지(DHCP packet)를 브로드캐스팅을 통해서 이더넷 망(동일한 서브넷마스크)에 DHCP 서버로 보냅니다.
- 주요 파라미터
- DHCP Message Type(Option 53) : DHCP 메시지(Discover는 1)
- Client identifier(Option 61) : 클라이언트의 MAC address
- Parameter Request List(Option 55) : 서버에 요청할 정보(서브넷마스크, 라우터, DNS 등)
3.2 DHCP Offer
- 메시지 방향 : DHCP 서버 -> 클라이언트
- 이제 클라이언트의 메시지를 받은 DHCP서버가 클라이언트에게 답장을 합니다.
클라이언트가 요청한 서브넷마스크, 게이트웨이, DNS등 필요한 정보들을 담은 메시지를 전송합니다.
- 주요 파라미터
- Your (Client) IP address : 클라이언트가 사용할 IP
- DHCP Message Type(Option 53) : DHCP 메시지(Offer는 2)
- DHCP Server identifier(Option 54) : DHCP 서버의 IP정보
- IP Address Lease Time(Option 51) : 클라이언트에게 IP를 임대해주는 시간
- Subnet Mask(Option 1) : DHCP 서버의 서브넷마스크
- Router(Option 3) : DHCP 서버의 라우터(Default Gateway IP 주소)
- Domain Name server(Option 6) : DHCP 서버의 DNS IP주소
3.3 DHCP Request
- 메시지 방향 : 클라이언트 -> DHCP 서버
- 이제 DHCP서버에게 네트워크 정보를 선택했으니 해당 네트워크를 사용하겠다고 답을 합니다.
- 주요 파라미터
- Requested IP Address(Option 50) : 과거에 할당받은 IP 혹은 요청하고싶은 IP
- DHCP Message Type(Option 53) : DHCP 메시지(Request는 3)
- Client identifier(Option 61) : 클라이언트의 MAC address
- Parameter Request List(Option 55) : 서버에 요청할 정보(서브넷마스크, 라우터, DNS 등)
- DHCP Server identifier(Option 54) : DHCP 서버의 IP
3.4 DHCP Ack
- DHCP 서버 -> 클라이언트
- 클라이언트가 요청한 정보들을 토대로 할당될 정보(Offer에서 보낸 정보)들을 보내고 IP를 할당하게 됩니다.
- 주요 파라미터
- Your (Client) IP address : 클라이언트가 사용할 IP
- DHCP Message Type(Option 53) : DHCP 메시지(Ack는 5)
- DHCP Server identifier(Option 54) : DHCP 서버의 IP정보
- IP Address Lease Time(Option 51) : 클라이언트에게 IP를 임대해주는 시간
- Subnet Mask(Option 1) : DHCP 서버의 서브넷마스크
- Router(Option 3) : DHCP 서버의 라우터(Default Gateway IP 주소)
- Domain Name server(Option 6) : DHCP 서버의 DNS IP주소
4. DHCP 통신과정을 사진으로 보자
이런 식으로 위 정보들을 주고받으며 통신이 된다고 합니다.
참고자료