DNS
🌐 DNS(Domain Name System)란?
정의
DNS(Domain Name System)는 도메인 이름을 IP 주소로 변환해 주는 시스템이다. 사람이 기억하기 쉬운 주소를 사용하면서도, 실제 통신은 IP 주소 기반으로 처리할 수 있게 해 준다.
🧭 DNS가 필요한 이유
- 사용자는 숫자 형태의 IP보다 기억하기 쉬운 도메인 이름을 더 편하게 사용한다.
- 서버 IP가 바뀌어도 도메인 주소는 그대로 유지할 수 있다.
- 서비스의 실제 위치를 숨기고, 운영과 관리 기준을 통일할 수 있다.
- 하나의 도메인에 여러 서비스와 서버를 유연하게 연결할 수 있다.
🧱 DNS의 계층 구조
계층 구조
DNS는 계층형 분산 네임 시스템이다. 위에서 아래로 루트, TLD, 2차 도메인, 서브도메인 순서로 이어진다.
- Root
- TLD
- 2차 도메인
- 서브도메인
🔄 DNS 동작 흐름
- 사용자가 브라우저에 도메인을 입력한다.
- 브라우저 또는 OS의 로컬 캐시에서 먼저 확인한다.
- 캐시에 없으면 로컬 DNS 서버(ISP DNS)에 질의한다.
- 로컬 DNS 서버는 루트 네임서버, TLD 네임서버, 권한 네임서버 순으로 찾아간다.
- 최종 IP 주소를 응답받아 사용자는 해당 서버에 접속한다.

포인트
실제 서비스에서는 캐시가 매우 중요하다. 이미 조회한 도메인이라면 매번 전체 계층을 거치지 않고 빠르게 응답할 수 있다.
📝 주요 용어
| 용어 | 설명 |
|---|---|
| A 레코드 | IPv4 주소와 도메인을 연결한다. |
| AAAA 레코드 | IPv6 주소와 도메인을 연결한다. |
| CNAME 레코드 | 다른 도메인 이름을 별칭으로 연결한다. |
| MX 레코드 | 메일 서버를 연결한다. |
| NS 레코드 | 해당 도메인의 권한 있는 네임서버를 지정한다. |
| Record | DNS에 저장되는 각종 매핑 정보이다. |
🧊 DNS 캐시 계층
- 브라우저 캐시
- OS 레벨 캐시
- 로컬 DNS 서버 캐시
[!important] 확인 캐시가 남아 있으면 새 설정이 바로 반영되지 않을 수 있다. 문제가 계속되면 캐시 만료 여부와 갱신 상태를 함께 확인해야 한다.
🛠️ DNS 관련 명령어
nslookup www.example.com
host www.example.com
nslookup은 DNS 질의 결과를 확인할 때 자주 사용한다.host는 도메인과 IP의 매핑 정보를 간단히 확인할 때 유용하다.- Windows에서는
ipconfig /flushdns로 로컬 DNS 캐시를 비울 수 있다.
댓글남기기