Skip to content

2012.07.30 13:21

DNS 기본 동작 설명

조회 수 12149 추천 수 1 댓글 2
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

오늘은 DNS(Domain Name System)의 아주 기본적인 동작 원리에 대해서 설명드리겠습니다.


먼저 모든 단말(PC)은 DNS 서버의 IP 주소가 설정되어 있어야 합니다. 보통 PC는 DHCP 프로토콜로 IP 주소를 할당 받으면서 DNS 서버 IP 주소를 DHCP Option 6을 통해 함께 받습니다. (보통 2개의 DNS IP 주소를 받지요. Primary DNS 서버가 죽었을때 Secondary DNS 서버에 물어 보기 위해서...) 제 PC의 예를 보여 드리겠습니다.  DNS 서버 주소가 203.248.252.2와 164.124.101.2로 설정 되어 있습니다. 이 2개의 주소는 LG U+ DNS 서버 주소입니다. (www.whois.co.kr에서 IP 주소 관련 정보 확인이 가능함)



  1. 이제 아래 그림과 같이 PC 브라우저에서 www.naver.com을 입력합니다. 그러면 PC는 미리 설정되어 있는 DNS (단말에 설정되어 있는 이 DNS를 Local DNS라 부름, 제 PC의 경우는 203.248.252.2)에게 "www.naver.com이라는 hostname"에 대한 IP 주소를 물어봅니다.
  2. Local DNS에는 "www.naver.com에 대한 IP 주소"가 있을 수도 없을 수도 있습니다. 만약 있다면 Local DNS가 바로 PC에 IP 주소를 주고 끝나겠지요. 본 설명에서는 Local DNS에 "www.naver.com에 대한 IP 주소"가 없다고 가정합니다.
  3. Local DNS는 이제 "www.naver.com에 대한 IP 주소"를 찾아내기 위해 다른 DNS 서버들과 통신(DNS 메시지)을 시작합니다. 먼저 Root DNS 서버에게 "너 혹시 www.naver.com에 대한 IP 주소 아니?"라고 물어봅니다. 이를 위해 각 Local DNS 서버에는 Root DNS 서버의 정보 (IP 주소)가 미리 설정되어 있어야 합니다.
  4. 여기서 "Root DNS"라 함은 좀 특별한 녀석인데요(기능의 특별함이 아니고 그 존재감이..). 이 Root DNS 서버는 전세계에 13대가 구축되어 있습니다. 미국에 10대, 일본/네덜란드/노르웨이에 각 1대씩... 그리고 우리나라의 경우 Root DNS 서버가 존재하지는 않지만 Root DNS 서버에 대한 미러 서버를 3대 운용하고 있다고 합니다.
  5. Root DNS 서버는 "www.naver.com의 IP 주소"를 모릅니다. 그래서 Local DNS 서버에게 "난 www.naver.com에 대한 IP 주소 몰라. 나 말고 내가 알려주는 다른 DNS 서버에게 물어봐~"라고 응답을 합니다.
  6. 이 다른 DNS 서버는 "com 도메인"을 관리하는 DNS 서버입니다.
  7. 이제 Local DNS 서버는 "com 도메인을 관리하는 DNS 서버"에게 다시 "너 혹시 www.naver.com에 대한 IP 주소 아니?"라고 물어봅니다.
  8. 역시 "com 도메인을 관리하는 DNS 서버"에도 해당 정보가 없습니다. 그래서 이 DNS 서버는 Local DNS 서버에게 "난 www.naver.com에 대한 IP 주소 몰라. 나 말고 내가 알려주는 다른 DNS 서버에게 물어봐~"라고 응답을 합니다. 이 다른 DNS 서버는 "naver.com 도메인"을 관리하는 DNS 서버입니다.
  9. 이제 Local DNS 서버는 "naver.com 도메인을 관리하는 DNS 서버"에게 다시 "너 혹시 www.naver.com에 대한 IP 주소 있니?"라고 물어봅니다.
  10. "naver.com 도메인을 관리하는 DNS 서버"에는 "www.naver.com 호스트네임에 대한 IP 주소"가 있습니다. 그래서 Local DNS 서버에게 "응! www.naver.com에 대한 IP 주소는 222.122.195.6이야~"라고 응답을 해 줍니다.
  11. 이를 수신한 Local DNS는 www.naver.com에 대한 IP 주소를 캐싱을 하고(이후 다른 넘이 물어보면 바로 응답을 줄 수 있도록) 그 IP 주소 정보를 단말(PC)에 전달해 줍니다.


이와 같이 Local DNS 서버가 여러 DNS 서버를 차례대로 (Root DNS 서버 -> com DNS 서버 -> naver.com DNS 서버) 물어봐서 그 답을 찾는 과정을 Recursive Query라고 부릅니다.

Netmanias_2011_12_12-DNS_Basic.gif



그리고 한가지만 더!

  • http://www.naver.com/index.html  -> 이거는 URL이라 부릅니다.
  • www.naver.com                              -> 이거는 Host Name이라 부릅니다.
  • .com                                                 -> 이거는 Top-level Domain Name이라 부릅니다.
  • .naver.com                                       -> 이거는 Second-level Domain Name이라 부릅니다.

참고 동영상 : http://youtu.be/srBQSzRRNF4

  • ?
    머스탱 2012.08.03 01:19
    전체적으로 이해가 되는데요 그 DNS서버에게 어떻게 물어보는건가요??
  • ?
    인투더스카이 2013.10.24 19:25
    정말...설명 최고입니다.

  1. dnstop 설치

    Date2014.01.19 ByADMINPLAY Views5200
    Read More
  2. [DNS] Bind 9.x 로 업그레이드 하기

    Date2013.09.09 ByADMINPLAY Views7544
    Read More
  3. DNS 기본 동작 설명

    Date2012.07.30 ByADMINPLAY Views12149
    Read More
  4. DNS의 3가지 메시지 타입

    Date2012.07.30 ByADMINPLAY Views9910
    Read More
  5. [Contents Networking] [문제의 답] Google DNS와 Akamai CDN

    Date2012.07.30 ByADMINPLAY Views9237
    Read More
  6. [DNS] 응답의 종류: Non-authoritative Answer

    Date2010.09.02 ByADMINPLAY Views22182
    Read More
  7. 각 ISP 업체별 DNS 서버목록 입니다.

    Date2010.03.10 ByADMINPLAY Views17900
    Read More
  8. RedHat 8에 bind-9.3.2 소스설치

    Date2010.01.25 ByADMINPLAY Views17873
    Read More
  9. DNS 포워더 설정

    Date2010.01.05 ByADMINPLAY Views19270
    Read More
  10. DNS 싱크홀 (악성 봇 감염)

    Date2009.12.08 ByADMINPLAY Views23601
    Read More
  11. DNS 의 Cache Poisoning 취약점

    Date2009.12.08 ByADMINPLAY Views21060
    Read More
  12. lame server resoving

    Date2009.12.08 ByADMINPLAY Views17491
    Read More
  13. 서브도메인 유출 방지방법

    Date2009.11.11 ByADMINPLAY Views19081
    Read More
  14. DNS 개념을 위한 상식용어

    Date2009.11.04 ByADMINPLAY Views30185
    Read More
  15. bind 세부로그 남기기- named.conf logging설정 예제

    Date2009.10.31 ByADMINPLAY Views23544
    Read More
  16. CentOS5,Fedora7 네임서버 설정법

    Date2009.10.31 ByADMINPLAY Views18756
    Read More
  17. 'could not set file modification time' 와 같은 오류 메...

    Date2009.10.20 ByADMINPLAY Views19839
    Read More
  18. 네임서버 named.conf 파일과 zone파일 체크 방법

    Date2009.07.31 ByADMINPLAY Views17909
    Read More
  19. DNS TCP53, UDP53 용도

    Date2009.06.04 ByADMINPLAY Views18579
    Read More
  20. 인버스 도메인 신청,위임 및 서브도메인 위임

    Date2009.03.29 ByADMINPLAY Views17767
    Read More
Board Pagination Prev 1 2 Next
/ 2

Copyright ADMINPLAY corp. All rights reserved.

abcXYZ, 세종대왕,1234

abcXYZ, 세종대왕,1234