DHCP로 보는 네트워크 관리의 변천

DHCP(Dynamic Host Configuration Protocol)은 네트워크에 연결할 때 자동으로 IP 주소를 할당해 주는 기능이다. 예전 사무실 환경에서는 공유할 데스크톱 PC가 각 부서에 몇 대씩 배치되던 시설도 있었다. 그런 환경에서는 IT 관리자가 각각 PC를 지정해서 IP 주소를 할당하고 PC에서 개별적으로 IP 주소를 설정할 수도 있다.

반면에 요즘처럼 각자 자유롭게 PC를 네트워크에 접속하는 환경에서는 관리자가 개별적으로 IP 주소를 할당하는 방식은 현실적이지 않다. DHCP 서버를 준비해서 IP 주소 할당을 자동화할 필요가 있다. IP 주소를 자동으로 할당하게 하면 일일이 IT 관리자에게 부탁해서 IP 주소를 받을 필요가 없어진다. 요즘 같은 환경에서 DHCP 서버는 일반 이용자에게 이미 공기와 같은 존재일지도 모른다.

그렇다고 하더라도 DHCP 서버를 구축하고 설계하는 IT 관리자는 당연하지만, DHCP를 비롯한 네트워크를 올바로 이해해야 한다. 누군가 멋대로 테스트용 DHCP 서버를 사무실 네트워크에 연결해 버려 원래 DHCP 서버가 제 기능을 못 하게 되는 등 DHCP 특유의 장애에도 대처할 수 있어야 한다. 이젠 가정에서 사용되는 광대역 라우터나 모바일 라우터에서도 DHCP가 사용되므로 IT 관리자가 아니더라도 DHCP를 이해할 필요가 있는 시대가 되었다고 할 수 있다.

또한, DHCP의 용도는 IP 주소 자동 할당에 그치지 않습니다. 데이터 센터에서 수백 수천 대의 서버에 ‘고정 IP 주소’를 설정하고자 할 때도 DHCP를 이용할 수 있다.

IP 네트워크 구조와 DHCP의 역할

일반적으로 DHCP 서버는 IP 주소, 서브넷 마스크, 디폴트 게이트웨이라는 기본 3종 세트와 DNS(Domain Name Service) 서버 IP 주소, 도메인 이름 같은 추가 정보를 제공한다.

우선, IP 네트워크는 복수의 서브넷이 라우터로 서로 연결되는 구조이다. 각 서브넷에는 ‘네트워크 주소’와 ‘서브넷 마스크’가 할당되고, 할당된 정보로 그 서브넷에서 이용할 수 있는 IP 주소의 범위가 정해진다.

예를 들어 ‘네트워크 주소/서브넷 마스크’가 ‘192.168.1.0/255.255.255.0’인 서브넷에서는 ‘192.168.1.1’~’192.168.1.254’가 기기에 할당할 수 있는 IP 주소가 된다.

또한 서브넷1의 PC가 서브넷2에 패킷을 전송할 때는 일단 라우터의 IP 주소 ’192.168.1.1’에 패킷을 보낸 다음, 이후의 배송 처리는 라우터에 부탁할 필요가 있다. 이처럼 다른 서브넷에 패킷을 전송할 때 사용하는 라우터의 IP 주소가 ‘디폴트 게이트웨이’이다.

PC가 패킷을 전송할 때는 자신의 IP 주소와 서브넷 마스크를 바탕으로 목적지 IP 주소가 자신과 같은 서브넷인지 판단한다. 같은 서브넷이라면 상대편 기기에 직접 패킷을 전송하고, 다른 서브넷이라면 라우터의 IP 주소로 패킷을 보냅니다. 이상에서 ‘IP 주소, 서브넷 마스크, 디폴트 게이트웨이’ 3종 세트를 PC에 설정함으로써, 외부 서브넷과 통신할 수 있게 된다는 것을 알 수 있다.

DNS 서버의 IP 주소는 이른바 ‘이름 해석’에 필요한 정보이다. PC의 웹브라우저에서 ‘www.gihyo.jp’처럼 FQDN(Fully Qualified Domain Name, 전체 주소 도메인 이름)을 지정하면, 지정된 DNS 서버로부터 도메인 이름에 해당하는 IP 주소를 가져와서 그 IP 주소의 서버에 액세스한다.

마지막 도메인 이름은 DHCP로 IP 주소를 할당받은 PC 자신이 속한 도메인의 이름이 된다. PC 자신이 도메인 이름이 ‘example.com’인 경우, ‘www’처럼 도메인 이름을 줄여서 액세스하려고 하면, 자신의 도메인 이름을 가진 서버에는 도메인 이름을 덧붙인 ‘www.example.com’의 IP 주소를 DNS 서버에 문의한다. 자신과 같은 도메인 이름을 가진 서버에는 도메인 이름을 생략한 ‘단축형’으로 액세스할 수 있는 구조가 된다.

이런 네트워크 통신에 필요한 설정 정보를 PC에 알려주는 것이 DHCP 서버의 역할이다. DHCP가 없는 환경에서는 이런 정보를 모두 수동으로 PC에 설정해야 한다. 반면에 DHCP 환경에서는 PC에서 동작하는 DHCP 클라이언트가 DHCP 서버와 통신하여 이런 정보를 자동으로 가져와서 설정해 주게 된다.

가정에도 있는 DHCP 서버