🌐 DNS(Domain Name System)란?

정의

DNS(Domain Name System)는 도메인 이름을 IP 주소로 변환해 주는 시스템이다. 사람이 기억하기 쉬운 주소를 사용하면서도, 실제 통신은 IP 주소 기반으로 처리할 수 있게 해 준다.

🧭 DNS가 필요한 이유

  • 사용자는 숫자 형태의 IP보다 기억하기 쉬운 도메인 이름을 더 편하게 사용한다.
  • 서버 IP가 바뀌어도 도메인 주소는 그대로 유지할 수 있다.
  • 서비스의 실제 위치를 숨기고, 운영과 관리 기준을 통일할 수 있다.
  • 하나의 도메인에 여러 서비스와 서버를 유연하게 연결할 수 있다.

🧱 DNS의 계층 구조

계층 구조

DNS는 계층형 분산 네임 시스템이다. 위에서 아래로 루트, TLD, 2차 도메인, 서브도메인 순서로 이어진다.

  • Root
  • TLD
  • 2차 도메인
  • 서브도메인

🔄 DNS 동작 흐름

  1. 사용자가 브라우저에 도메인을 입력한다.
  2. 브라우저 또는 OS의 로컬 캐시에서 먼저 확인한다.
  3. 캐시에 없으면 로컬 DNS 서버(ISP DNS)에 질의한다.
  4. 로컬 DNS 서버는 루트 네임서버, TLD 네임서버, 권한 네임서버 순으로 찾아간다.
  5. 최종 IP 주소를 응답받아 사용자는 해당 서버에 접속한다.

포인트

실제 서비스에서는 캐시가 매우 중요하다. 이미 조회한 도메인이라면 매번 전체 계층을 거치지 않고 빠르게 응답할 수 있다.

📝 주요 용어

용어 설명
A 레코드 IPv4 주소와 도메인을 연결한다.
AAAA 레코드 IPv6 주소와 도메인을 연결한다.
CNAME 레코드 다른 도메인 이름을 별칭으로 연결한다.
MX 레코드 메일 서버를 연결한다.
NS 레코드 해당 도메인의 권한 있는 네임서버를 지정한다.
Record DNS에 저장되는 각종 매핑 정보이다.

🧊 DNS 캐시 계층

  • 브라우저 캐시
  • OS 레벨 캐시
  • 로컬 DNS 서버 캐시

[!important] 확인 캐시가 남아 있으면 새 설정이 바로 반영되지 않을 수 있다. 문제가 계속되면 캐시 만료 여부와 갱신 상태를 함께 확인해야 한다.

🛠️ DNS 관련 명령어

nslookup www.example.com
host www.example.com
  • nslookup은 DNS 질의 결과를 확인할 때 자주 사용한다.
  • host는 도메인과 IP의 매핑 정보를 간단히 확인할 때 유용하다.
  • Windows에서는 ipconfig /flushdns로 로컬 DNS 캐시를 비울 수 있다.

연결문서

댓글남기기