호스트의 도메인 이름을 호스트의 네트워크 주소로 바꾸거나 그 반대의 변환을 수행할 수 있도록 하기 위한 TCP/IP 네트워크 서비스
예를 들어 naver.com, google.com 과 같은 주소는 모두 DNS을 가진 도메인 네임이다.
원래 naver.com의 형태는 210.89.164.90이다. 하지만 네이버에 접속할 때마다 이 긴 숫자들을 입력해야 한다고 생각해보자. 사이트 하나에 접속하는 것 조차 일이 될 것이다.
그래서 이 문제를 해결하기 위해 IP를 문자열의 형태로 나타낸 것이다. 도메인 네임이라는 것을 부여함으로써 그 사이트를 명확하게 알려주는 것이다.
예를 들어 유저가 웹브라우저에 naver.com에 접속하려한다고 생각해보자.
웹브라우저에 www.naver.com을 입력하면 먼저 Local DNS에게 www.naver.com의 호스트네임에 대한 IP주소를 질의(해당 도메인이 있는지 확인하는 과정)한다.
그런데 Local DNS에 그 호스트네임이 존재하지 않으면 Root DNS라는 정보를 받게되는데,
Root DNS에 대해 먼저 설명하고 다음으로 넘어가겠다.
Root DNS
인터넷의 도메인 네임 시스템의 "루트 존" , DNS의 최상위 도메인을 Root라고 부름.
그리고 그 하위 도메인은 TLD(Top Level Domain)이라고 하며 크게 세 개로 나뉜다.
TLD
1. gTLD ; genericTLD, 일반 최상위 도메인 ==> 기관의 유형을 분류
어떤 국가의 어떤 이용자도 등록이 가능한 일반적인 범주
● generic gTLD : com, org, net, info
● sponsored gTLD : aero, asia, cat, coop, edu, gov, int, jobs, mil, mobi, tel, travel, xxx
● generic-restricted gTLD : biz, name, pro
2. ccTLD ; country code TLD, 국가 코드 최장위 도메인 ==> 지정학적 구조
한국의 ccTLD는 .kr ex) co.kr, kr.go, ac.kr
3. ARPA ; infrastructure gTLD : 특수기반시설 최상위 도메인 ==> 원래 APRANET과 관련
👀정리
TLD : .com과 같은 최상위 도메인을 관리하는 서버
RootDNS : TLD의 각 권한이 어느 네임서버에 있는지에 대한 정보를 담고있는 것
- 유저가 웹브라우저에 www.naver.com 입력
- Root DNS 서버에 'www.naver.com' 질의
- Root DNS 서버로부터 '.com' 서버를 관리하는 TLD 이름과 서버 정보를 전달받음
- '.com'을 관리하는 TLD에 'www.naver.com' 질의
- '.com'을 관리하는 TLD에서 'naver.com' 도메인을 관리하는 DNS 정보를 전달
- 'naver.com'을 관리하는 DNS에 'www.naver.com'의 호스트네임에 대한 IP주소 질의
- Loval DNS 서버에 'www.naver.com'에 대한 IP주소 222.122.195.6 응답
- Local DNS 서버는 'www.naver.com'에 대한 IP주소 캐싱 및 전달
(* 2~8부터의 과정을 Recursive Query 라고 부름.
Local DNS에 정보가 없으므로 Root Dns -> com DNS 서버 -> naver.com DNS의
딘계로 접속하게 되기 때문이다. )