DNS
DNS는 사람이 읽는 도메인 이름을 IP 주소와 메일 서버 등 인터넷 자원 정보에 연결하는 분산형 계층 데이터베이스이자 질의 체계다.
1. 개요
DNS(Domain Name System)는 도메인 이름에 연결된 자원 레코드를 찾는 체계다. 단순한 ‘인터넷 전화번호부’보다 범위가 넓으며 주소뿐 아니라 메일 교환 서버, 별칭, 이름 서버, 소유권 검증 정보도 다룬다.[1]
2. 핵심 구성
| 구분 | 설명 |
|---|---|
| 이름 공간 | 루트에서 최상위 도메인과 하위 도메인으로 이어지는 계층 구조 |
| 리졸버 | 응용 프로그램을 대신해 이름 서버에 질의하고 결과를 캐시 |
| 권한 서버 | 자신이 맡은 존의 원본 레코드에 권한 있는 응답 제공 |
| 자원 레코드 | A·AAAA·CNAME·MX·NS·TXT 등 이름에 연결된 정보 |
3. 작동 원리
브라우저가 도메인을 사용하면 운영체제의 스텁 리졸버가 재귀 리졸버에 질의한다. 캐시에 답이 없으면 리졸버는 루트, 최상위 도메인, 권한 서버의 위임 정보를 따라가며 답을 찾는다. TTL이 남아 있는 결과는 재사용해 지연과 서버 부하를 줄인다. DNS의 대소문자 비교는 일반적인 현재 기능에서 구분하지 않는다.
4. 형성과 표준
초기 인터넷의 중앙 HOSTS.TXT 방식은 규모가 커지면서 유지하기 어려워졌다. 1980년대에 분산형 계층 구조가 설계됐고 RFC 1034와 RFC 1035가 개념과 구현 형식을 정리했다.[2] 이후 DNSSEC, 암호화 DNS 전송 등 보안·개인정보 보호 확장이 추가됐다.
5. 활용과 주의점
DNS 응답은 웹사이트 내용의 신뢰성을 보증하지 않는다. 운영자는 등록기관 계정과 DNS 변경 권한을 보호하고 TTL·DNSSEC·메일 인증 레코드를 목적에 맞게 관리해야 한다. 레코드 변경 직후에는 여러 캐시에 이전 값이 남을 수 있다.