DNS 해석은 어떻게 작동하나요

발행: (2026년 1월 31일 오후 04:33 GMT+9)
7 분 소요
원문: Dev.to

Source: Dev.to

“How does DNS Resolution Works”에 대한 표지 이미지

Souvik Guha Roy

이 블로그에서는 다음을 다룹니다

  • DNS가 무엇이며 이름 해석이 존재하는 이유
  • dig 명령이 무엇이고 언제 사용되는지
  • dig . NS와 루트 네임 서버 이해
  • dig com NS와 최상위 도메인(TLD) 네임 서버 이해
  • dig twitter.com NS와 권한 있는 네임 서버 이해
  • dig twitter.com와 전체 DNS 해석 흐름 이해

DNS (도메인 네임 시스템)란?

DNS는 Domain Name System의 약자입니다.
주된 역할은 사람에게 친숙한 도메인 이름을 다음과 같이 변환하는 것입니다:

www.example.com

컴퓨터가 이해할 수 있는 IP 주소로:

192.168.1.1

DNS를 인터넷의 전화번호부라고 생각하면 됩니다 – 사람은 이름을 기억하고, 컴퓨터는 숫자로 통신합니다. DNS가 그 간극을 메워줍니다.

왜 이름 해석이 존재할까?

  • 인간은 twitter.com 같은 이름을 쉽게 기억할 수 있습니다.
  • 컴퓨터는 192.8.1.1 같은 숫자를 이해합니다.

따라서 DNS는 인간과 기계 사이의 번역기 역할을 하여, IP 주소를 외우는 대신 이름으로 웹사이트에 접근할 수 있게 합니다.

dig 명령은 무엇인가요?

digDomain Information Groper의 약자입니다.
DNS 서버에서 정보를 검색하는 데 사용되는 명령줄 도구입니다. 네트워크 관리자와 엔지니어는 일반적으로 dig를 사용하여:

  • DNS 조회 수행
  • DNS 구성 확인
  • DNS 문제 해결

dig은 언제 사용하나요?

  • DNS 해석 문제 디버깅
  • 도메인에 대해 권한이 있는 DNS 서버 확인
  • A, AAAA, CNAME, MX 등과 같은 DNS 레코드 검증

기본 구문

dig [server] [domain] [record_type]

예시

dig twitter.com A

Source:

DNS 해석이 작동하는 방식 (단계별)

브라우저에 다음을 입력했을 때 실제로 무슨 일이 일어나는지 알아봅시다:

www.twitter.com

1. 루트 네임 서버

루트 네임 서버는 DNS 계층 구조의 시작점입니다.

  • 13개의 논리적 루트 서버가 존재합니다 (A부터 M까지 명명됨).
  • 각 논리 서버는 전 세계에 여러 물리 인스턴스를 가지고 있습니다.
  • 루트 서버는 개별 웹사이트의 IP 주소를 알지 못합니다; 대신 해당 최상위 도메인(예: “.com”)을 담당하는 서버로 리졸버를 안내합니다.

루트 네임 서버 확인

dig . NS

이 명령은 루트 네임 서버 목록을 반환합니다.

루트 네임 서버 목록

2. TLD (최상위 도메인) 네임 서버

최상위 도메인 (TLD) 은 도메인 이름의 마지막 부분으로, 예를 들면:

  • .com
  • .net
  • .org
  • .in

TLD 서버 역시 IP 주소를 반환하지 않으며, 특정 도메인을 담당하는 권한 있는 네임 서버로 안내합니다.

.com에 대한 TLD 네임 서버 확인

dig com NS

이 명령은 모든 .com 도메인을 담당하는 권한 있는 네임 서버를 반환합니다.

.com TLD 네임 서버

이 시점에서 리졸버는 다음에 어디로 가야 할지 정확히 알게 됩니다.

3. 권한 있는 네임 서버

권한 있는 네임 서버는 도메인의 실제 DNS 레코드를 보관합니다.

다음 명령을 실행하면:

dig twitter.com NS

twitter.com에 대해 권한 있는 네임 서버 목록이 반환됩니다.

twitter.com에 대한 권한 있는 네임 서버

이 서버들은 다음과 같은 레코드를 포함합니다:

  • A (IPv4 주소)
  • AAAA (IPv6 주소)
  • CNAME (정규 이름)
  • MX (메일 교환)

실제 IP 주소 가져오기

dig twitter.com A

twitter.com에 대한 최종 A 레코드 조회

이 명령은 최종적으로 twitter.com의 IP 주소를 반환하여 DNS 해석 과정을 완료합니다.

예시 IP 주소

172.66.0.227

이제 브라우저는 어디에 연결해야 하는지 알게 되었으며, 트위터 웹사이트를 로드할 수 있습니다.

전체 DNS 해석 흐름 (요약)

DNS resolution flow diagram

  1. 브라우저에 www.twitter.com을 입력합니다.
  2. 브라우저가 재귀 DNS 리졸버에 요청합니다.
  3. 리졸버가 루트 네임 서버에 질의합니다.
    • 루트 서버는 “.com TLD 서버에 문의하세요.” 라고 답합니다.
  4. 리졸버가 TLD 네임 서버에 질의합니다.
    • TLD 서버는 “twitter.com에 대한 권한 있는 서버는 여기 있습니다.” 라고 답합니다.
  5. 리졸버가 권한 있는 네임 서버에 질의합니다.
    • 이 서버들은 실제 IP 주소를 반환합니다.
  6. 브라우저가 해당 IP에 연결하고 웹사이트를 로드합니다.

Final Notes

  • Root 서버TLD가 어디에 있는지를 알고 있습니다.
  • TLD 서버어떤 서버가 권한이 있는지를 알고 있습니다.
  • 권한 있는 서버실제 IP 주소를 알고 있습니다.
  • 재귀 DNS 서버는 이 전체 조회를 클라이언트를 대신하여 수행합니다.

Image Credits:
https://www.indusface.com/learning/what-is-dns/

Back to Blog

관련 글

더 보기 »