Django/네트워크

DHCP란?(동적 호스트 구성 프로토콜)

치킨맛코드 2022. 3. 8. 12:52

Dynamic Host Configuration Portocol

이름만 들어도 숨이 턱 막힐정도로 복잡해 보인다. 약어로 dhcp라고 하며 "동적 호스트 구성 프로토콜" 이라고 풀어 설명할 수 있다. 엄청 막막해 보일 수 있겠지만 차근차건 알아가 보도록 하자.

 

호스트를 인터넷에 연결할때 구성정보를 자동으로 할당해 주는 프로토콜을 의미한다. 이 구성정보를 유지하고 있는 서버를 dhcp 서버라고 한다.

 

말이 너무 어려울 수 있으니 하나씩 천천히 풀어서 생각해 보자.

 

configuration information(호스트 구성 정보)는 대표적으로 4가지를 알 수 있다.

 

1. ip 주소(호스트 ip의 주소) : 기본적인 ip를 가지고 있다. ip가 없으면 어디로 와서 어디로 가는지 알 수 가 없다. ip는 동적, 정적으로 나누어서 할당할 수 있다.

 

ip주소 할당
인터넷을 접속해서 사용을 했다 라는 개념은 dhcp를 사용해서 자동으로 ip주소가 할당이 되었다 라는 의미를 가진다. 이때 관리자(네트워크 관리자)가 ip를 수동으로(메뉴얼적으로) 할당하는 방식을 고정 할당(static allocation) 이라고 의미한다. 관리자가 이 ip를 수정하기 전까지는 계속 고정적으로 같은 ip를 사용한다

이와 반대되는 개념은 동적 할당(dynamic allocation)이라고 한다. 자동으로 서버가 할당을 해 주는데, 인터넷에 접속할 때(필요할 때)만 할당을 하는것이다. 필요없을 경우 반납을 하며, 이 구성정보를 다른 호스트에 할당을 할 수 있는 개념이다. 그렇기에 ip주소가 유동적이다 라고 설명할 수 있다.

 

2. 서브넷 마스크 : 네트워크의 ID필드의 크기를 알려준다. 주소 구분을 위한 필수 정보이다. 이 서브넷 마스크가 반드시 있어야지만 ip주소의 네트워크 ID의 비트 수 를 파악할 수 있으며, 이 ip주소와 연결된 네트워크 주소를 계산할 수 가 있게 된다. 이 값을 바탕으로 routing을 한다. 

 

routing : 목적지 ip 주소를 가진 데이터를 어디로 전달할 것인가를 결정하는 것 이다. 모든 라우터는 목적지 네트워크로 가기 위한 라우팅 테이블 자료구조를 다 가지고 있다.

 

3. Default Gateway Address : 자신의 네트워크에 연결된 라우터의 주소, 목적지 주소가 동일 네트워크에 존재하지 않을 때 ip데이터그램을 전달할 다음 홉 주소를 의미한다. 기본적으로 host 컴퓨터는 라우팅 테이블 정보가 없다. 그렇기에 내가 연결되어 있는 이 네트워크에 대한 목적지 주소가 있으면, 그냥 이 주소로만 보내면 된다. 그렇지 않을때에는 일단 어디론가 페킷을 전송해야하는데, 이 때 라우터로 이 패킷을 전송하게 된다. 이 값을 디폴트 게이트웨이 주소라고 한다.

 

4. Local DNS Server Address :  일단 주소가 ip 주소가 아니면 이 서버에 질의를 한다. DNS query를 전달할 서버를 의미한다. 우리는 기본적으로 인터넷을 접속할때 ip를 사용하는것이 아니라 도메인 주소를 활용한다.(www.naver.com을 입력하지 192.168.0.0 과 같은 ip 주소를 입력하는 사람들은 없을 것 이다.) 인터넷에 tcp/ip로 접속할때 반드시 ip주소를 dns서버에서 얻어와야하는데, 도메인 이름을 누구에게 물어볼것인지, 어느 서버에게 물어볼 것 인지 반드시 알 고 있어야 한다. 이때 서버를 로컬 dns 서버라고 한다. 이 주소는 인터넷에 접속되는 모든 호스트 장치가 알고 있어야 한다.

 

dhcp의 장점은 크게 2가지로서 사용자의 편의성을 증대시킬 수 있다. 굳이 ip를 외울 필요가 없다는 것 이다. 또한 고작 42억 개 밖에 없는 IPv4의 주소를 절약할 수 있게 해 준다. (인터넷을 접속하지 않는 장치들에겐 ip를 할당안해도 되며, 실 사용자 수 만큼만 할당하면 된다)

 

즉 요약하면 다음과 같다.
동적 호스트 구성 프로토콜의 약자를 의미합니다. dhcp의 구성정보로는 대표적으로 ip와 local dns server가 있습니다. ip를 할당할때 반드시 서브넷 마스크를 함께 할당하고 있으며 페킷을 전송할때 구성된 디폴트 게이트 주소도 함께 있습니다. ip값을 쓰면 상관없지만 일반적으로는 도메인 주소를 많이 쓰는데, 이때 도매인 주소의 ip를 로컬 dns서버에서 얻어오게 됩니다. 인터넷을 구성할때 구성정보를 자동으로 할당해 주는 프로토콜을 의미하며 이 구성정보를 유지하고 있는 서버를 dhcp 서버라고 합니다.