FEInterview Prep

network · medium priority

DNS 동작 원리

URL → IP 변환 과정과 실무 도메인 설정

basic 난이도1시간토스카카오네이버당근
시작 전
이해도
매우 낮음

학습 개요

탄생 배경

쉬운 설명

복잡한 개념을 실생활 비유로 설명합니다.

전화번호부

DNS는 인터넷 전화번호부입니다. "카카오"(도메인)를 찾으면 "전화번호"(IP)를 알려주듯, DNS는 example.com을 93.184.216.34로 변환합니다. 전화번호부가 지역별로 나뉘듯 DNS도 Root → TLD → Authoritative로 계층화되어 있습니다.

핵심 개념

DNS 전체 조회 흐름

1
브라우저·OS 캐시 확인

브라우저 캐시 → OS /etc/hosts → OS DNS 캐시 순서. 있으면 즉시 IP 반환.

2
Recursive Resolver 질의

ISP DNS 또는 8.8.8.8(Google), 1.1.1.1(Cloudflare). Resolver가 대신 전체 조회 수행.

3
Root Nameserver

전 세계 13개 클러스터. ".com TLD 서버 주소 알려줌".

4
TLD Nameserver

.com, .kr 등 최상위 도메인 서버. "example.com의 권한 NS 알려줌".

5
Authoritative Nameserver

해당 도메인의 실제 DNS 레코드 보유. A 레코드(IP) 반환. TTL과 함께 Resolver가 캐시.

실무 적용

어떤 상황에서 사용하는가

Vercel 배포 후 커스텀 도메인 연결, 또는 서비스 서버 이전 시 DNS 설정

어떻게 적용하는가

Vercel 연결: A 레코드(76.76.21.21)와 CNAME(cname.vercel-dns.com) 설정. CDN 연결: CNAME으로 CDN 엔드포인트 지정. 이전 전 TTL 300초로 낮추고 이전 후 복원.

흔한 실수와 안티패턴

  • DNS 변경 후 즉시 적용 안 됨 — TTL 시간만큼 전파 대기
  • CNAME을 루트 도메인에 설정하려다 오류 — A 레코드 또는 ALIAS 사용
  • dig/nslookup으로 변경 전파 확인 — 로컬 캐시와 실제 DNS 다를 수 있음

면접 질문

기초토스카카오네이버당근

답변 방향 힌트

DNS → TCP → TLS → HTTP → 렌더링 순서

반드시 언급할 키워드

  • DNS 캐시 계층
  • Recursive 조회
  • TCP 핸드셰이크
  • HTTP 요청·응답

예상 꼬리 질문

  • CNAME과 A 레코드의 차이는?
  • DNS TTL이 길면 어떤 문제가 생기나요?

학습 자료