본문 바로가기
CS 이론/🛰️ Networking

DHCP : 우리가 설정 없이 인터넷을 사용할 수 있는 이유

by 개발자 진개미 2023. 6. 23.
반응형

DHCP (Dynamic Host Configuration Protocol)?

DHCP는 인터넷에 연결하기 위해 필요한 여러 정보들을 자동으로 설정해 주기 위한 통신 규칙들을 말합니다.

보통 우리가 컴퓨터를 사고 공유기에 연결하면 인터넷이 됩니다. 이걸 당연하게 생각하실 수도 있지만 사실 당연하지는 않습니다. DHCP로 인터넷 연결에 필요한 여러 정보를 자동으로 설정해 주기 때문에 가능한 겁니다.

 


헷갈리는 지점

🐜 DHCP는 통신 수단 (Protocol)

흔히 DHCP 자체가 인터넷 연결에 필요한 여러 정보들을 자동으로 설정해 주는 어떤 것이라고 착각하는 경우가 있지만, DHCP는 인터넷에 연결하기 위해 필요한 정보를 받아오는 통신 규약 (시스템) 일뿐이지 DHCP 자체가 어떤 특정한 기기나 프로그램은 아닙니다.

DHCP 내에서 서버 역할을 하는 DHCP Server, 요청하는 역할을 하는 DHCP Client 등의 용어 때문에 많이 헷갈리는듯 합니다.

보통은 OS가 WiFi 칩 같은 물리적 하드웨어를 통해 DHCP 요청을 보내고 그 정보를 받아와 설정합니다.

 

🐜 DHCP 요청 주체는 OS! Network 장비는 단순히 전달만 할 뿐

여기서 네트워크 칩이 DHCP 요청을 보낸다고 생각하실 수 있습니다. 하지만 네트워크 칩은 역할이 네트워크 장비와 통신할 수 있는 것이지, 여러 네트워크 관련 설정을 저장하고 다루는 역할을 하지 않습니다.

네트워크 칩은 이 요청이 DHCP 요청인지 자체도 모르는 경우가 다반사입니다.

 


DHCP가 자동으로 설정해 주는 것들

🐜  IP 주소

IP 주소는 네트워크 내에서 주소의 역할을 합니다. 보통 우리가 인터넷을 접속할 때는 공유기를 통해 접속하는데, 전체 인터넷 입장에서는 공유기에 접속한 모든 장비들은 같은 IP 주소를 갖게 됩니다. (정확히는 공용 IP 주소) 하지만 공유기 내에서는 많은 장비들이 있고 이 장비들이 계속 인터넷을 사용하는 게 아니기 때문에 IP 주소를 계속 동적으로 할당합니다. (정확히는 사설 IP 주소를)

이 IP 주소를 할당 후 전달해 줄 때 DHCP를 통해 전달해 줍니다.

 

🐜 Subnet Mask

Subnet Mask는 IP 주소에서 어디 부분까지가 네트워크 부분이고, 어디 부분부터가 호스트 부분인지 알려주는 역할을 합니다. 만약 같은 네트워크 부분이면 Router를 통할 필요도 없이 직접 통신하면 되기 때문에 Subnet Mask는 상당히 중요합니다.

 

🐜 Default Gateway

Subnet Mask를 통해 같은 네트워크에 있지 않은 게 판명되면 Router를 통해 트래픽을 외부로 보내야 합니다. 이때의 Router를 Default Gateway라고 합니다. 당연히 인터넷을 접속하려면 이 Router의 주소를 알아야 합니다. (이 Router를 모르면 같은 네트워크 내에서만 통신할 수 있으니...)

 

🐜 DNS 서버

우리는 보통 인터넷 주소창에 사람이 읽을 수 있는 주소를 쳐서 인터넷을 접속합니다. 하지만 사실 네트워크에서는 IP 주소가 고유 식별자로 쓰이기 때문에 www.naver.com 같은 주소는 사람이 알아보기는 쉬워도 인터넷 네트워크가 알아볼 수는 없습니다. 그래서 이 Domain Name 주소와 IP 주소를 변환시켜 주는 역할을 하는 게 DNS 서버입니다.

DNS 서버가 없으면 IP 주소를 통해서만 인터넷을 접속할 수 있기 때문에 인터넷 접속을 위해서는 꼭 필요합니다.


DHCP가 동작하는 방법 (규칙)

  1. Discovery: 네트워크 설정을 하기 위해 DHCP 정보 줄 수 있는 사람~하고 신호를 보냅니다.
  2. Offer: 내가 접속한 네트워크에 있는 모든 DHCP 서버가 여기에 응답할 수 있고 응답합니다. 첫 번째로 응답한 DHCP 서버 정보를 보통 사용합니다.
  3. Request: Offer에서 얻어온 DHCP 서버에 DHCP 정보를 요청합니다.
  4. Acknowledgement: DHCP 서버가 요청을 받고 처리할 수 없는 요청이면 그렇게 보내고 (DHCPNAK), 처리할 수 있으면 DHCP 정보들을 보냅니다.

반응형