나만의 학습 기록

최종 목적은 기술 블로그💩

백엔드 공부

인터넷의 이해 2 - DNS와 그 작동 원리

밈밍민믹 2026. 3. 11. 15:07

DNS(Domain Name System)란?

도메인 이름을 IP 주소로 변환하는 시스템

  • 전세계 도메인 정보를 효율적으로 관리하고 빠르게 조회하기 위해 계층구조로 나뉘어진 분산형 데이터 베이스 구조로 동작한다.
  • 앞의 www 부분은 호스트 네임, www뒤에 있는 부분을 도메인이라고 부른다.

 

구성요소

1. 도메인 네임 스페이스(Domain Name Space) 

  • DNS가 저장 관리하는 계층적 구조
  • 도메인 네임 스페이스라는 규칙(방법)으로 도메인 이름 저장을 분산한다.

2. 네임 서버(Name Server) 

  • 권한 있는 DNS 서버
  • 해당 도메인의 IP 주소를 찾는다.

3. 리졸버(Resolver)

  • 권한 없는 DNS 서버
  • DNS 클라이언트 요청을 네임 서버로 전달하고 찾은 정보를 클라이언트에게 제공하는 기능을 수행한다.

 

DNS를 통해 IP 주소를 받아오는 과정

  1. 사용자가 브라우저에 www.example.com을 입력한다.
  2. 브라우저는 먼저 로컬 DNS 서버(통신사 DNS 또는 공용 DNS)에 해당 도메인의 IP 주소를 질의한다.
  3. 로컬 DNS 서버에 캐시된 정보가 있다면 바로 IP 주소를 반환한다.
  4. 캐시된 정보가 없다면 로컬 DNS 서버는 루트 DNS 서버에 질의한다.
  5. 루트 DNS 서버는 www.example.com의 .com을 관리하는 TLD DNS 서버 정보를 반환한다.
  6. 로컬 DNS 서버는 .com TLD DNS 서버에 다시 질의한다.
  7. .com DNS 서버는 example.com을 관리하는 권한 있는 DNS 서버 정보를 반환한다.
  8. 로컬 DNS 서버는 해당 권한 있는 DNS 서버에 www.example.com의 IP 주소를 질의한다.
  9. 권한 있는 DNS 서버는 www.example.com에 대응하는 IP 주소를 반환한다.
  10. 로컬 DNS 서버는 이 IP 주소를 사용자에게 전달하고, 이후 빠른 조회를 위해 일정 시간 동안 캐시에 저장한다.

 

그렇다면 위와 같이 www.example.com을 조회하는 DNS 과정에서 공격자가 DNS 응답을 위조하거나 변조하는 공격이 발생할 수 있다. 이를 DNS 스푸핑이라고 한다.

DNS 스푸핑이란?

사용자 컴퓨터가 DNS 서버에 IP를 요청하는 것을 가로채어 엉뚱한 IP를 반환하게 하는 수법으로 해당 IP주소로 접속을 요청할 경우 해커들은 사용자들을 감시, 악성코드 삽입, 개인정보 탈취 등에 이용된다.

 

DNS Record Type(A Record 방법 vs CNAME 방법)

후이즈,가비아, 고대디 등의 서비스를 이용해서 커스텀 도메인을 사용할 때,서브 도메인을 등록하기 위해서는 A Record 또는 CNAME고 같은 DNS 서비스 홈페이지에 등록해야한다.

 

A Record

  • 도메인을 서버의 IP로 직접 연결하는 방식
  • IP와의 직통 연결이기에 속도가 빠르다는 장점이 존재한다.

CNAME

  • 도메인을 별명과 연결하는 방식
  • IP가 유동적으로 변화하는 서버의 경우 바뀌는 IP들에 대해서 일정하게 연결된 다른 도메인을 적는다는 것
  • AWS나 Firebase와 같은 서비스를 이용할 때 사용되기도 함
  • IP가 유동적인 서버를 사용한다는 장점이 있지만 IP 주소를 받아오기 위해 한 군데 더 거쳐야한다는 단점도 존재함