본문 바로가기

Web

DNS 서버


DNS는 Domain Name System의 약자이다. 

www.naver.com이라는 주소는 "네이버"이지만 실제로 기계가 접근하기 위해서는 IP 주소(202.131.30.11)가 필요하다. 
실제로 browser에서  www.naver.com로 접근하나 202.131.30.11로 접근하나 결과는 같다는 것을 볼 수 있다. 


< 네이버에 202.131.30.11로 접근한 모습 > 

그럼 생각해 보자 www.naver.com랑 202.131.30.11 중에 어떤게 더 외우기 쉬운가? 
그렇다. 외우기 쉬운 www.naver.com을 사람들이 외워서 치면 기계가 알아먹는 주소(IP)로 바꿔주는 것이 DNS 서버의 역할이다. 

여기서 www.naver.com과 같이 사람이 읽기 쉬운 이름을 Domain name이라 한다. 
또  기계가 이해할수 있는 주소(202.131.30.11)를 IP라고 한다. 
Domain nameIP로 변환하는 작업을 DNS resolving이라 한다. 
DNS resolver DNS resolving을 하는 프로그램이다. 

더 정확한 정의와 설명을 보고 싶다면 wikipedia를 보면 된다. 내 경험으로 모르는 것은 위키피디아를 보는 것이 가장 낫다. 
http://en.wikipedia.org/wiki/Domain_Name_System


변환하는 과정 !!!
그러면 DNS가 어떻게 domain name을 ip로 변환하는지 보자. 
domain name은 . 으로 구분된다. 
즉, www.wikipedia.org라는 domain name은 www/wikipedia/org 이렇게 세개로 나뉘어진다. 

DNS resolving은 아래와 같이 이루어진다. 
File:An example of theoretical DNS recursion.svg 
DNS resolver dns root name server에 맨 오른 쪽에 있던 org를 아냐고 물어본다. root nameserver가 org의 주소를 알려주면 다시 그 주로로 가서 이번에는 wikipedia의 주소 아냐고 물어본다. 그러면 wikipedia를 알고있는 서버가 ip주소를 알려 준다. 
동작 관련 위키 설명 : http://en.wikipedia.org/wiki/Domain_Name_System#Operation

별거 아니지 쉽지? 

root nameserverTop level domain을 알고 있는 서버로 이 서버들은 org를 포함해 com,net,kr 등 최상위 도메인(=top level domain)의 nameserver 주소를 가지고 있다. 

org. nameserver는 a.org, b.org 등에 org 하위 도메인 정보를 알고 있는 서버로서 이중에 wikipedia.org의 네임서버 주소도 들어있는 것이다. 

wikipedia.org nameserver 서버는 en.wikipedia.org, kr.wikipedia.org 등 wikipedia.org의 하위 도메인 정보를 알고 있는 서버로 이중에 www.wikipedia.org 의 주소도 알고 있다 그러므로 IP를 알려 줄 수 있다. 



DNS resolving 기능은 e-mail client(OutLook), internet exprorer, chrome 등에서 알아서 실행하며 한번 물어본 주소는 저장해 놓았다가 재사용한다. 
그래서 실제로는 아래와 같은 그림이 된다. 
File:DNS in the real world.svg
Windows 등의 운영체재에서 담당하기도 하고 web관련 프로그램들이 담당하기도 하는 것이다. 

Web Browser는 Operating System에 Operating system은 ISP의 DNS resolver에 질의 하고 ISP에서도 모르면 아까 위에서 설명했듯이 org-> wikipedia -> www 순서로 찾아낸다. 


그리고 마지막으로 상식 

Top level domain은 무었이냐? 
http://en.wikipedia.org/wiki/Top_level_domain

ICANN이 위임해서 Internet Assigned Numbers Authority (IANA)가 관리하는 최상위의 도메인으로 .com, .net등의 list이다. 여기서 인정하지 않는 최상위 도메인은 DNS resolving되지 않는다. 
가령 www.naver.com은 존재할 수 있어도 www.naver.compare 등은 존재하지 않는다.

이 Top level domain을 줄여 TLD라고 하는데 TLD list는 아래에서 구할 수 있다.
http://data.iana.org/TLD/tlds-alpha-by-domain.txt
 


'Web' 카테고리의 다른 글

MAC에서 PHP사용하기  (0) 2012.01.22
Proxy server (프록시 서버)  (0) 2011.12.08
손쉬운 홈페이지 만들기  (0) 2011.09.12
javascript tutorial 페이지  (0) 2011.05.03
web개발 관련 최신 정보가 올라와있네  (0) 2011.04.30