728x90
반응형
728x90
DNS(Domain Name System)
브라우저에 www.naver.com을 입력하면 어떻게 정확한 서버에 연결될 수 있을까요? 이 과정의 핵심에는 DNS(Domain Name System)가 있습니다. DNS는 사람이 기억하기 쉬운 도메인 이름을, 컴퓨터가 이해할 수 있는 IP 주소로 바꿔주는 시스템입니다.
이 글에서는 DNS의 기본 개념, 작동 원리, 종류, 캐싱, 그리고 개발자가 알아야 할 핵심 포인트를 정리해드립니다.
1. DNS란?
DNS(Domain Name System)는 www.example.com 같은 도메인 이름을 93.184.216.34 같은 IP 주소로 변환해주는 시스템입니다.
왜 필요한가요?
- 사람은 IP 주소보다 도메인 이름을 기억하기 쉽습니다.
- 인터넷은 실제로는 IP 주소 기반으로 통신합니다.
- DNS가 그 둘 사이의 번역기 역할을 합니다.
2. DNS의 작동 원리 : 이름 해석(Name Resolution) 과정
DNS는 단순히 하나의 서버가 응답하는 게 아니라, 여러 계층의 서버를 거쳐 점차적으로 주소를 찾아갑니다.
도메인 변환 순서 (재귀적 질의 기준)
- 브라우저 캐시 확인
- 운영체제(로컬 DNS 캐시) 확인
- 리졸버(Resolver) → ISP의 DNS 서버
- 루트 DNS 서버 (.)
- TLD 서버 (.com, .net, .kr 등)
- 권한 있는 네임서버(Authoritative Name Server)
- 최종 IP 주소 반환 → 웹사이트 접속
예시 - www.example.com을 요청할 때
[브라우저] → [로컬 캐시] → [ISP DNS 서버] → [루트] →
[.com] → [example.com 네임서버] → IP 주소 획득
3. DNS 질의 방식 2가지
방식 | 설명 | 특징 |
재귀적 질의 | 클라이언트가 응답을 받을 때까지 전체 요청을 위임 | 보통 클라이언트 → ISP DNS 요청 |
반복적 질의 | 각 단계마다 클라이언트가 다음 서버로 직접 요청 | DNS 서버끼리 통신 시 사용 |
4. 주요 DNS 서버의 역할
이름 | 역할 | 예시 |
Root Server | 최상위 DNS, 전 세계에 13개 존재 | ., .com, .net으로 안내 |
TLD Server | Top-Level Domain, 도메인 종류별로 존재 | .com, .org, .kr |
Authoritative Server | 최종 IP 정보를 가진 서버 | example.com의 실제 IP 반환 |
Recursive Resolver | 클라이언트 대신 전체 탐색을 수행 | 보통 ISP 또는 Google DNS (8.8.8.8) |
5. DNS 캐싱
DNS는 성능 향상과 트래픽 절약을 위해 각 단계에서 캐싱을 사용합니다.
- 브라우저 캐시
- OS 캐시 (ex: macOS는 dscacheutil, Windows는 ipconfig /displaydns)
- 로컬 DNS 서버 캐시
TTL(Time to Live)
- DNS 레코드에는 TTL 값이 있어, 캐시가 유지되는 시간을 제어합니다.
6. DNS 레코드 종류
레코드 타입 | 설명 | 예시 |
A | 도메인 → IPv4 주소 | example.com → 93.184.216.34 |
AAAA | 도메인 → IPv6 주소 | example.com → ::1 |
CNAME | 도메인 별칭 | www.example.com → example.com |
MX | 메일 서버 주소 | 이메일 전송 시 사용 |
TXT | 텍스트 정보 | 도메인 소유 인증, SPF, DKIM 등 |
NS | 네임서버 정보 | 어떤 서버가 이 도메인 정보 갖고 있는지 |
7. 개발자 관점에서 DNS가 중요한 이유
- 도메인 연결 시 A/CNAME 레코드 설정 필수
- CDN, 로드밸런서 도입 시 CNAME 설정 필수
- API 호출 시 DNS 지연으로 인한 timeout 가능
- DNS 캐시 문제로 새 서버로 접속되지 않는 경우가 발생 가능
8. DNS와 관련된 주요 도구
도구 | 용도 |
nslookup | DNS 레코드 확인 |
dig | DNS 쿼리 상세 정보 확인 |
ping, traceroute | IP 경로 및 연결 상태 확인 |
DNS Checker | 글로벌 DNS 전파 상태 확인 |
9. 마무리
핵심 개념 | 요약 |
DNS란 | 도메인 → IP 주소 변환 시스템 |
구성 요소 | 브라우저, OS 캐시, 리졸버, 루트/TLD/권한 서버 |
작동 방식 | 재귀적 질의 + 캐싱 |
개발자 중요성 | 도메인 연결, SSL 인증, API 통신 등에서 매우 중요 |
함께 보면 좋은 자료
외부 사이트 :
블로그 글 :
[프로토콜] 컴퓨터 세상에서의 약속과 규칙
프로토콜(Protocol) 인터넷은 어떻게 서로 다른 컴퓨터끼리 정보를 주고받을 수 있을까요? 브라우저에서 주소를 입력하면 어떻게 웹사이트가 열릴까요? 그 모든 과정의 중심에는 바로 프로토콜(Pr
dachaes-devlogs.tistory.com
반응형
728x90
반응형
'컴퓨터 사이언스 > 네트워크' 카테고리의 다른 글
[WebRTC] 화상회의·음성채팅을 위한 웹 기반 실시간 기술 (0) | 2025.04.14 |
---|---|
[WebSocket] 채팅부터 알림까지, 실시간 웹의 기반 (0) | 2025.04.14 |
[OSI 7계층과 TCP/IP 4계층] 네트워크의 설계도 (0) | 2025.04.13 |
[TCP와 UDP] 데이터 전송의 두 축 (0) | 2025.04.13 |
[HTTP와 HTTPS] 보안이 필요한 이유와 프로토콜의 차이 (0) | 2025.04.13 |