아래 부록에 용어정리를 해두었으니 모르는 단어가 있다면 참고하면 좋다.
0. DNS(Domain Name System) 란?
DNS(Domain Name System)은 호스트의 도메인 주소(http://www.google.com)를 IP 주소(142.250.196.110)로 변환하거나, 그 반대의 역할을 수행하는 시스템이다.
cmd에서 naver의 DN을 확인해보면 다음과 같다.
0-1. DNS가 필요한 이유
- 사람은 IP 주소보다 Domain 주소를 더 쉽게 기억한다.
- IP 주소는 변경될 수 있지만 도메인 이름은 일관성을 유지한다.
- 하나의 도메인으로 여러 서비스(웹, 이메일, FTP 등) 관리할 수 있다.
0-2. 가벼운 동작 원리
- 도메인 주소를 브라우저에 입력하게 되면, 도메인 주소들을 가지고 있는 네임서버(DNS 서버)에 접속
- 네임서버에 접속한 도메인과 연결된 IP 정보를 확인하고, IP를 사용자 PC에 전달
- 사용자 PC는 전달받은 서버의 IP 주소로 접속
- 서버의 IP로 연결된 브라우저에 서버의 내용(홈페이지)을 출력
1. DNS는 계층적 구조
DNS는 분산형 데이터베이스로, 트리 형태의 계층적 구조를 가지고 있다.
그 덕에 효율적인 도메인 이름 관리와 확장성을 제공한다.
1-1. Local DNS 서버
- URL에 Domain Name을 입력했을 때 해당 IP를 찾기 위해 가장 먼저 찾는 DNS 서버
- 보통 랜선으로 연결된 컴퓨터의 해당 통신사 서버로 연결됨
- KT를 사용하는 집이면 KT DNS가 되고, SK통신사 사용하는 집이면 SK DNS가 자동으로 셋팅
1-2. 루트(Root) 도메인 서버
- 계층의 최상위에 위치
- 점(.) 하나로 표시하지만 대개 생략
- 전 세계에 13개의 루트 서버 그룹이 존재(A부터 M까지)
- ICANN(국제인터넷주소관리기구)에서 관리
1-3. 최상위 도메인 서버(TLD, Top-Level Domain)
- 루트 바로 아래 계층
- 일반 TLD(gTLD): .com, .org, .net, .edu 등
- 국가 코드 TLD(ccTLD): .kr, .jp, .uk 등
- 새로운 gTLD: .app, .blog, .shop 등
1-4. 2차 도메인 서버(Second-Level Domain)
- TLD 바로 아래 계층
- example.com에서 'example' 부분
- 개인/기업이 등록하고 소유
1-5.서브 도메인 서버(Sub Domain)
- 2차 도메인 바로 아래 계층
- blog.example.com에서 `blog' 부분
- 도메인 소유자가 자유롭게 생성 가능
2. DNS 작동 원리
- 웹 브라우저에 www.naver.com을 입력하면 먼저 PC에 저장된 Local DNS(기지국 DNS 서버)에게 "www.naver.com"의 IP 주소를 요청한다.
- 예전에 접속했던 전적이 있다면, Local DNS에 캐싱이 되어 바로 IP 주소를 받을 수 있다.
- Local DNS는 IP주소를 찾아내기 위해 다른 DNS 서버들과 통신(DNS 쿼리)을 시작한다.
먼저 Root DNS 서버에게 요청한다. - Root DNS 서버는 IP주소를 찾을 수 없으니 다른 DNS 서버에 물어보라는 응답을 Local DNS에게 보낸다.
- Local DNS 서버는 com 도메인을 관리하는 TLD DNS 서버에 다시 "www.naver.com"에 대한 IP주소를 요청한다.
- com 도메인을 관리하는 DNS 서버에도 해당 정보가 없으면, Local DNS 서버에게 또 다시 다른 서버에게 물어보라는 응답을 한다.
- Local DNS 서버는 naver.com DNS 서버(Authoritative DNS 서버)에게 다시 IP 주소를 요청한다.
- naver.com DNS 서버에는 해당 주소가 있으므로, Local DNS 서버에게 IP 주소를 응답해준다.
- 응답을 수신한 Local DNS는 www.naver.com의 IP 주소를 캐싱하고, 해당 주소를 반환한다.
- 이 덕에 동일한 도메인 주소에서는 재귀적 쿼리(Recursive Query)가 발생하지 않게 된다.
3. 부록
- Domain 주소
- 인터넷에 연결된 컴퓨터를 사람이 쉽게 기억하고 입력할 수 있도록 문자로 만든 인터넷 주소
- IP 주소
- 인터넷 프로토콜 주소를 의미하며 숫자로 구성되어 인터넷에 연결된 장치를 식별하는 주소
- Authoritative DNS Server
- 실제 개인 도메인과 IP 주소의 관계가 기록/저장/변경되는 서버.
그래서 권한의 의미인 Authoritative가 붙는다.
일반적으로 도메인/호스팅 업체의 ‘네임서버’를 말하지만, 개인이나 회사 DNS 서버 구축을 한 경우에도 여기에 해당하게 된다.
- 실제 개인 도메인과 IP 주소의 관계가 기록/저장/변경되는 서버.
- 재귀적 쿼리(Recursive Query)
- Local DNS 서버가 여러 DNS 서버에 차례대로 요청하여 그 답을 찾는 과정
Root DNS 서버 → TLD DNS 서버(.com) → Authoritative DNS 서버(naver.com)
- Local DNS 서버가 여러 DNS 서버에 차례대로 요청하여 그 답을 찾는 과정
반응형