DNS - Google.com에 접속하면 무슨 일이 일어날까?

네트워크
By Jeongmin Seo5월 15일, 2024년

목차

    DNS

    Domain Name System

    도메인 이름(예: google.com)을 IP 주소로 변환해주는 시스템

    작동 과정

    1. 사용자가 브라우저에 도메인 입력
    2. 로컬 캐시 확인 → 없으면 DNS 서버로 쿼리
    3. 루트 DNS → TLD DNS → 권한 있는 DNS 서버 차례로 탐색
    4. 최종 IP 주소 응답
    5. IP 주소로 실제 서버에 접속
    
    

    캐싱 단계

    1. 브라우저 캐시 (Browser Cache)

    • 위치: 웹 브라우저 내부 (Chrome, Firefox 등)
    • 내용: 최근 방문한 도메인의 DNS 응답(IP 주소, TTL)
    • TTL(유효기간): 네임서버가 제공한 TTL 값에 따라 결정 (몇 초 ~ 수 시간)

    특징

    1. 가장 먼저 확인하는 캐시
    2. 같은 브라우저 탭/창에서 같은 사이트 재방문 시 매우 빠름
    3. 브라우저 종료 시 캐시가 일부/전체 삭제될 수 있음

    예시
    google.com → 142.250.206.78 (남은 TTL 200초)


    2. 운영체제(OS) 캐시

    • 위치: OS의 DNS Resolver
      • Windows: DNS Client Service
      • macOS: mDNSResponder
      • Linux: systemd-resolved
    • 내용: 브라우저나 다른 애플리케이션이 요청했던 DNS 응답
    • TTL: 네임서버 TTL을 그대로 따르지만, 일부 OS는 TTL이 지나기 전에도 캐시를 조기 삭제

    특징

    1. 브라우저에 캐시가 없으면 OS에 질의
    2. 메모리 수준에서 매우 빠르게 응답 가능
    3. 확인/삭제 명령어
      • Windows: ipconfig /displaydns
      • macOS: sudo killall -HUP mDNSResponder

    3. 로컬 DNS 서버 캐시 (ISP나 회사 네트워크의 Resolver)

    • 위치:
      • ISP의 DNS 서버
      • 사내 네트워크 DNS 서버
      • 퍼블릭 DNS (예: Google DNS 8.8.8.8, Cloudflare DNS 1.1.1.1)
    • 내용: 해당 DNS 서버가 과거에 처리한 DNS 요청 결과
    • TTL: 네임서버 설정 TTL 값 그대로 반영

    특징

    1. 여러 사용자가 공유하는 캐시
    2. 다른 사용자가 먼저 방문한 사이트는 즉시 응답 가능
    3. 브라우저/OS에 캐시가 없어도, 이 단계에서 대부분 요청이 종료됨

    4. 권한 있는 네임서버 (Authoritative Name Server)

    • 위치: 해당 도메인의 최종 DNS 정보를 보관하는 서버
      (예: Cloudflare, AWS Route53, 네임닷컴 등)
    • 역할:
      • 로컬 DNS 서버 캐시 만료 시 최종 질의 대상
      • A 레코드, MX 레코드, CNAME, NS 등 실제 DNS 데이터 제공
    • 특징:
      1. 요청이 여기까지 가면 네트워크 지연이 가장 큼
      2. TTL 값이 여기서 결정됨
      3. 데이터 변경 시 이 서버에 반영 후, TTL 만료 시 다른 캐시들이 갱신됨