본문 바로가기

코딩공부/WEB2 - Domain Name System

[5] 도메인 이름의 구조

DNS Internal ( DNS 내부구조, 메커니즘 )

DNS server가 하는 역할을 크게 분리해보면 두가지가 있다.

1. 서버로 사용할 컴퓨터가 자신의 도메인네임과 IP를 보내서 등록하면 도메인에 대한 IP를 기억하는 것

2. 클라이언트로 사용되는 컴퓨터가 어떤 도메인네임을 물어보면 IP를 알려주는 것

 

DNS 서버는 전세계에 수천~수대의 dns서버가 흩어져 있어서 서로 분산되고 협력하는 것을 통해서 전 세계인들이 인터넷의 ip를 기억하지 않고도 쉽게 사용할 수 있도록 되어있다.

 

도메인

blog.example.com.

도메인 주소 뒤에는 루트 도메인을 의미하는 점(.)이 생략되어있다.

 

(맨뒤) . : 가장 최상위에 있다. 루트 도메인

com : 가장 높은 레벨의 도메인 ( net , co.kr , kr )

example : 두번째 높은 레벨의 도메인

blog : sub 도메인. Second-level 아래에 있는 도메인

 

 

도메인에 있는 각각의 부분들은 각각의 부분들을 담당하는 독자적인 서버 컴퓨터들이 존재한다. 동일한 기능을 하지만 전담하는 파트가 다르다. 

각 DNS 서버들은 '상위'가 '하위'를 알고 있어야 한다. (자신의 직속 하위 파트만 알고 있다.)

예를 들어, 루트 도메인을 담당하는 dns 서버는 바로 아래 하위 도메인인 'Top-level' 도메인을 담당하는 서버들의 목록을 알고 있어야 한다. 'Top-level'을 담당하는 서버들은 'Second-level' 도메인을 담당하는 서버들의 목록을 알아야 한다.

 

 

도메인에 대한 IP 주소를 알아오는 방법?

최종적으로 blog.example.com 이라고 하는 도메인의 IP주소는 'sub dns 서버'가 알고 있다.

하지만 필요한 IP를 어떤 sub dns 서버가 알고 있다는 것을 한 번에 알 수 있는 방법이 없다.

 

제일 먼저 Root dns 서버에게 물어본다. 최소한 모든 컴퓨터들은 Root dns 서버의 IP주소를 알고 있어야 한다.

Root dns 서버는 blog.example.com 의 ip를 모르고, 'com'을 전담하는 Top-level dns 서버들의 목록을 알려준다.

이렇게 하위 서버와 요청 응답을 주고받으며 최종적으로 sub 도메인을 전담하고 있는 sub dns 서버에게 접속이 되고, 해당 도메인에 대한 IP주소를 알게 된다.