internet
DNS란.
도메인 이름을 IP 주소로 변환하는 DNS 조회 과정과 레코드
**DNS(Domain Name System)**는 example.com처럼 사람이 읽기 쉬운 도메인 이름을 서버의 IP 주소로 변환하는 분산 시스템입니다.
🔄 DNS 조회 흐름
브라우저가 도메인의 IP 주소를 찾는 일반적인 순서는 다음과 같습니다.
- 브라우저와 운영체제의 DNS 캐시를 확인합니다.
- 캐시에 없다면 ISP나 공용 DNS의 재귀 리졸버에 질의합니다.
- 리졸버가 루트 네임서버에서 TLD 네임서버의 위치를 찾습니다.
.com,.kr등을 담당하는 TLD 네임서버에 질의합니다.- 도메인의 권한 있는 네임서버에서 실제 레코드를 받습니다.
- IP 주소를 브라우저에 전달하고 TTL 동안 결과를 캐시합니다.
🗂️ 주요 DNS 레코드
- A: 도메인을 IPv4 주소에 연결합니다.
- AAAA: 도메인을 IPv6 주소에 연결합니다.
- CNAME: 한 도메인을 다른 도메인의 별칭으로 연결합니다.
- MX: 이메일을 받을 메일 서버를 지정합니다.
- TXT: 도메인 소유권 확인, 이메일 보안 정책 같은 텍스트 정보를 저장합니다.
- NS: 도메인의 권한 있는 네임서버를 지정합니다.
⏱️ TTL과 캐시
**TTL(Time To Live)**은 DNS 응답을 캐시할 수 있는 시간을 뜻합니다.
- TTL이 길면 DNS 조회 횟수와 지연이 줄어듭니다.
- TTL이 길면 레코드를 변경해도 기존 캐시가 오래 남습니다.
- DNS 변경 사항은 각 캐시의 TTL이 만료되면서 점진적으로 반영됩니다.
💡 같이 알아둘 것
DNS는 서버에 연결해 주는 시스템이지 HTTP 요청 자체를 전달하는 시스템은 아닙니다. DNS 조회로 IP 주소를 얻은 뒤에 브라우저가 해당 서버와 연결을 시작합니다.
🔗 참고 자료
- MDN: DNS — DNS의 역할과 조회 개념을 요약한다.
- DNS (MDN Glossary) — 도메인 이름과 IP 변환의 기본 개념을 설명한다.
- RFC 1034 — DNS 개념과 계층 구조의 표준 명세다.
- RFC 1035: Domain Names — DNS의 핵심 IETF 명세다.
