개인의 기록
  • 소개
  • 프로젝트
  • 글
  • 링크

© 2026 newgirok

← 글 목록

DNS — 도메인 네임 시스템

2025년 9월 15일
DNS도메인

DNS(Domain Name System)는 사람이 읽을 수 있는 도메인 이름을 컴퓨터가 사용하는 IP 주소로 변환하는 인터넷의 전화번호부입니다.

DNS가 필요한 이유

컴퓨터는 IP 주소로 통신하지만, 사람은 숫자보다 이름을 더 쉽게 기억합니다. DNS가 없다면 웹사이트에 접속할 때마다 172.217.175.46 같은 숫자를 입력해야 합니다.

DNS 계층 구조

. (루트)
├── com
│   ├── google.com
│   └── github.com
├── net
├── org
└── kr
    └── co.kr

루트 DNS 서버

DNS 계층의 최상위로, TLD 서버의 위치를 알고 있습니다. 전 세계 13개 클러스터로 운영됩니다.

TLD DNS 서버

.com, .net, .org, .kr 등 도메인의 최상위 확장자를 관리하는 서버입니다.

권한 DNS 서버

특정 도메인의 IP 주소를 최종적으로 알고 있는 서버입니다.

DNS 조회 과정

브라우저에서 google.com을 입력했을 때의 흐름입니다.

1. 브라우저 캐시 확인
2. 운영체제 캐시 및 hosts 파일 확인
3. 로컬 DNS 리졸버 조회 (ISP 제공)
4. 루트 DNS 서버에 .com TLD 서버 위치 요청
5. .com TLD 서버에 google.com 권한 서버 위치 요청
6. google.com 권한 서버에 IP 주소 요청
7. IP 주소 반환 및 캐싱

DNS 레코드 타입

레코드역할
A도메인 → IPv4 주소
AAAA도메인 → IPv6 주소
CNAME도메인 → 다른 도메인
MX이메일 서버 주소
NS권한 DNS 서버 주소
TXT도메인 소유 인증, SPF 등 텍스트 정보

TTL과 DNS 캐싱

TTL 동안은 DNS 서버에 재조회하지 않고 캐시를 사용합니다. TTL이 길면 조회 속도가 빠르지만, IP 변경 시 반영이 늦어집니다.

DNS와 UDP

DNS 조회는 기본적으로 UDP 포트 53을 사용합니다. 요청과 응답이 각각 작은 패킷 하나로 처리되어 TCP 연결 수립 비용 없이 빠르게 처리됩니다. 응답 크기가 512바이트를 초과하거나 DNSSEC 사용 시에는 TCP를 사용합니다.

← 이전 글쿠키 — 브라우저에 저장하는 작은 데이터
다음 글 →게이트웨이 — 서로 다른 네트워크를 연결하는 장치